文档介绍:
软件测试课程设计报告
题目:计算器程序测试
专业:软件工程(嵌入式)
班级:14419042
姓名:
指导老师:
一、问题描述:
用Java实现求两整数的加、减、乘、除运算结果,要求两整数的范围都是[0,100]。从键盘输入数m,数n,判断他们的范围,若不在[0,100]范围内,则输出提示语,要求重新输入,并且在做除法运算时,当除数为0时,输出提示语,
说明除数不能为0。
将两数的范围定在[0,100],以更好的进行边界值分析,等价类测试等黑盒测试方法;为充分体现白盒测试的特点,有些地方故意用了if-else语句,while循环;另外,加、减、乘、除运算分别用了四个函数来计算,这样既可以在主函数中调用,又可以在Junit框架中分别对这四种运算进行测试。
二、程序源代码:
1. import java.util.Scanner;
2. public puter {
3. private int a;
4. private int b;
5. puter (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=puter(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
内容来自淘豆网www.taodocs.com转载请标明出处.