软件工程导论实验报告 白盒测试 黑盒测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程导论》实验报告
学生姓名:
学号:
班级:
指导老师:
专业:
实验日期:
白盒测试
一、实验目的
通过简单程序白盒测试,熟悉测试过程,对软件测试形成初步了解,并养成良好的测试习惯。熟练掌握如何运用基路径测试方法进行测试用例设计,初步熟悉如何利用程序插装技术进行逻辑覆盖率分析。
二、实验内容:
1、被测试程序功能:求解系数为整数的方程ax2+bx+c=0
2、程序定义:键盘输入3个数字a,b,c,求解方程ax2+bx+c=0
3、测试环境:Windows 8.1、Eclipse
4、说明:本次测试采用插桩测试法,由于程序比较简单,手动输入测试用例。
四、实验步骤
1、程序流程图
2、代码:
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入3个整数a,b,c:");
String as;
String bs;
String cs;
int a=0;
int b=0;
int c=0;
double x, x1, x2;
as=sc.nextLine();
bs=sc.nextLine();
cs=sc.nextLine();
try{
a=Integer.parseInt(as);
b=Integer.parseInt(bs);
c=Integer.parseInt(cs);
}catch(Exception e){
System.out.println("输入错误");
System.exit(0);
}
if (a == 0)
{
if (b == 0)
{
if (c == 0)
System.out.println("无穷多解" );
else
System.out.println("无解");
}
else
{
x = -(c / b);
System.out.println("x="+x);
}
}
else
{
double h = b*b - 4 * a*c;
if (h<0)
System.out.println("无解");
else
{
x1 = (-b + Math.sqrt(h)) / (2 * a);
x2 = (-b - Math.sqrt(h)) / (2 * a);
System.out.println("x1="+x1+ "\tx2="+x2);
}
}
}
}
3、流图:
4、程序基本路径:
(1) 1 2 3 4 5 11 预期输出:无穷多解
(2) 1 2 3 4 6 11 预期输出:无解
(3) 1 2 3 7 11 预期输出:x=
(4) 1 2 8 9 11 预期输出:x1= x2=
(5) 1 2 3 10 11 预期输出:无解
5、测试实验用例:
路径覆盖
黑盒测试
一、实验目的
黑盒测试是常用的软件测试的方法,用这种方法测试时,把被测试程序当作一个黑盒,在不考虑程序内部结构和内部特性,测试者只知道该程序的输入和输出之间的关系或程序的功能的情况下,依靠能反应这一关系和程序功能需求规格的说明书,来确定测试用例和推断测试结构的正确性。软件的黑盒测试被用来证实软件功能的争正确性和可操作性。其应用领域十分广泛,因此掌握好黑盒测试很重要。通过实验理解黑盒测试的基本方法,掌握等价类划分法和边界值方法
设计测试用例。
二、实验内容
1、被测程序功能同白盒实验
2、测试环境:Windows 8.1、Eclipse
三、测试方法
手工利用黑盒测试中的等价类划分法进行测试,主要测试目标为检验输出是否符合题目所给要求。即:输入是否符合规定条件,及程序的鲁棒性。
四、等价类划分和测试用例设计
1、等价类划分表如下
2、选择测试用例,使之覆盖所有等价类情况。
五、实验总结
在试验中,由于所用的代码输入要求比较简单,所以黑盒测试比较难写,有效等价类只用一个测试用例便可全部覆盖,也不需要边界值判定,因此没有和无效等价类分开覆盖。在白盒测试中,该程序的路径覆盖即包含了语句覆盖和判定覆盖。在黑盒测试中,最后一个测试用例并没有得到预期输出,这和程序的代码设计有关,因为一旦用户输入了3个数,程序便会往下执行,所以用户没有机会输入第四个数,因此得到了最后一张截图的输出。
通过这次实验,我基本了解了软件测试中进行白盒测试和黑盒测试的基本方法。能够对等价类进行划分,对测试用例做出设计。