软件测试文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试报告
一、问题描述:
用Java 实现求两整数的加、减、乘、除运算结果,要求两整数的范围都是[0,100]。从键盘输入数m,数n,判断他们的范围,若不在[0,100]范围内,则输出提示语,要求重新输入,并且在做除法运算时,当除数为0 时,输出提示语,
1.
说明除数不能为0
将两数的范围定在[0,100],以更好的进行边界值分析,等价类测试等黑盒测 试方法;为充分体现白盒测试的特点,有些地方故意用了 if-else 语句,while 循 环;另外,加、减、乘、除运算分别用了四个函数来计算,这样既可以在主函数 中调用,又可以在Junit 框架中分别对这四种运算进行测试。
】、程序源代码:
import java.util.Sca nner;
2. public class Computer {
3. privat e int a;
4. privat e int b;
5. publi c
Computer ( int x,int y) // 构造函数,初始化
6. 7. a=x;
II 注意:Juint 中需要输入测试值在0~100范围内
8. 9. 10. publi
c
double add() 〃加法
11. 12. return a+ b;
14. public double minu s()
II 减法
return a-b;
}
public double multiply() // 乘法
{
return a*b;
}
public double divide() // 除法,要求除数不能为 0 ,否则输出提示语
{
if (b !=0)
return a/b;
else
System. out .println( "除数不能为 0! ");
return 0;
}
public static void main(String[] args)
{
Scanner scanner = null ;
scanner = new Scanner(System. in );
System. out .println( " 请输入 0~100 的两个 m,n 整数 :");
System. out .println( "请输入第一个数: ");
while (true ){ // 若输入值不在要求范围内,则有循环直到输入正确为止
int m = scanner.nextInt();
16. 17. 18. 19. 20.
21. 22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
if (m>=0&&m<=100) {
System. out .println( "请输入第二个数: "); while (true ){ int n = scanner.nextInt();
if (n>=0&&n<=100) Computer cpt= new Computer(m,n); System.
out .println( "运算结果是: ");
System.
out .println( " 加法 :"+m+ "+" +n+ "=" +cpt.add()); System.
out .println( " 减法 :"+m+ "-" +n+ "=" +cpt.minus());
System.
out .println( " 乘法 :"+m+ "*" +n+ "=" +cpt.multiply(); System.
out .println(
" 除法 :"+m+ "/" +n+ "=" +cpt.divide());
}
else System. out .print("输入n 值不在要求区间,请重新输入n : \n");
}
}
else
System. out .print ("输入m 值不在要求区间,请重新输入m : \n");38. 39. 40. 41. 42.
43. 44.
45. 46. 47. 48. 49. 50.
51.
52. 53.
54. 55. 56. 57. 58. 59.
60. }
三、黑盒测试:
1、边界值测试:
1.1、边界值分析:
输入要求是0~100之间的整数,因此产生了0和100两个边界,边界值分
析可产生4*2+1=9 个测试用例。可构造(50,0)、(50,1)、(50,50)、(50,99)、
(50, 100)、(0,50)、(1,50)、(99,50)、(100,50)这9 组测试用例。
表1边界值分析测试用例
在该测试时,发现(50,0)这个测试的除法的预期输出和实际输出不一致, 是因为代码中return 0;当除数n=0时,实际返回的是0.0。
public double divide()
{
if (b !=0)
retur n a/b;
else
System. out .println(”除数不能为 0!");
return 0; // 出现 Bug
}
1.2健壮性测试:
健壮性测试可产生6*2+1=13 个测试用例,在上面边界值分析测试用例的
基础上再添加(50,-1)、(50,101)、(-1,50)、(101,50)这4个测试用例即可。
表2健壮性测试用例