计算器软件测试报告

  • 格式:doc
  • 大小:179.57 KB
  • 文档页数:16

下载文档原格式

  / 16
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

江西工业职业技术学院

毕业综合实践

课题名称:安卓手机计算器

作者:廖杰学号:20112715 分院:电子与信息工程分院

专业:计算机网络技术

指导老师:占华为专业技术职务讲师

2013年 11 月 14日

一、问题描述:

用Java实现求两整数的加、减、乘、除运算结果,要求两整数的范围都是[0,100]。从键盘输入数m,数n,判断他们的范围,若不在[0,100]范围内,则输出提示语,要求重新输入,并且在做除法运算时,当除数为0时,输出提示语,说明除数不能为0。

将两数的范围定在[0,100],以更好的进行边界值分析,等价类测试等黑盒测试方法;为充分体现白盒测试的特点,有些地方故意用了if-else语句,while循环;另外,加、减、乘、除运算分别用了四个函数来计算,这样既可以在主函数中调用,又可以在Junit框架中分别对这四种运算进行测试。

二、程序源代码:

1. import java.util.Scanner;

2. public class Computer {

3. private int a;

4. private int b;

5. public Computer (int x,int y) //构造函数,初始化

6. {

7. a=x; //注意:Juint中需要输入测试值在0~100范围内

8. b=y;

9. }

10. public double add() //加法

11. {

12. return a+b;

13. }

14. public double minus() //减法

15. {

16. return a-b;

17. }

18. public double multiply() //乘法

19. {

20. return a*b;

21. }

22. public double divide() //除法,要求除数不能为0,否则输出提示语

23. {

24. if(b!=0)

25. return a/b;

26. else

27. System.out.println("除数不能为0!");

28. return 0;

29. }

30. public static void main(String[] args)

31. {

32. Scanner scanner = null;

33. scanner = new Scanner(System.in);

34. System.out.println("请输入0~100的两个m,n整数:");

35. System.out.println("请输入第一个数:");

36. while(true){ //若输入值不在要求范围内,则有循环直到输入正确为止

37. int m = scanner.nextInt();

38. if(m>=0&&m<=100)

39. {

40. System.out.println("请输入第二个数:");

41. while(true){

42. int n = scanner.nextInt();

43. if(n>=0&&n<=100)

44. {

45. Computer cpt=new Computer(m,n);

46. System.out.println("运算结果是:");

47. System.out.println("加法:"+m+"+"+n+"="+cpt.add());

48. System.out.println("减法:"+m+"-"+n+"="+cpt.minus());

49. System.out.println("乘法:"+m+"*"+n+"="+cpt.multiply();

50. System.out.println("除法:"+m+"/"+n+"="+cpt.divide());

51. }

52. else

53. System.out.print("输入n值不在要求区间,请重新输入n:\n");

54. }

55. }

56. else

57. System.out.print("输入m值不在要求区间,请重新输入m:\n");

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 边界值分析测试用例

用例m n 预期输出(+、-、*、/) 实际输出(+、-、*、/)

1 50 0 50.0、50.0、0.0、除数不为0!50.0、50.0、0.0、0.0

2 50 1 51.0、49.0、50.0、50.0 51.0、49.0、50.0、50.0

3 50 50 100.0、0.0、2500.0、1.0 100.0、0.0、2500.0、1.0

4 50 99 149.0、-49.0、4950.0、0.50

5 109.0、-9.0、2950.0、

0.5050505050505051

5 50 100 150.0、-50.0、5000.0、0.5 150.0、-50.0、5000.0、0.5

6 0 50 50.0、-50.0、0.0、0.0 50.0、-50.0、0.0、0.0

7 1 50 51.0、-49.0、50.0、0.02 51.0、-49.0、50.0、0.02

8 99 50 149.0、49.0、4950.0、1.98 149.0、49.0、4950.0、1.98

9 100 50 150.0、50.0、500.0、2.0 150.0、50.0、500.0、2.0

在该测试时,发现(50,0)这个测试的除法的预期输出和实际输出不一致,是因为代码中return 0;当除数n=0时,实际返回的是0.0。

public double divide()

{

if(b!=0)

return a/b;

else

System.out.println("除数不能为0!");

return 0; //出现Bug

}

相关主题