软件测试文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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健壮性测试用例

相关文档
最新文档