软件白盒测试实例之二——答案 白盒测试工具
很多初学者一看到这个需求(详见白盒测试实例之一——需求说明收藏),都觉得很简单,然后立刻就开始动手写代码了,这并不是一个很好的习惯。如果你的第一直觉也是这样的,不妨耐心看到文章的最后。
大部分人的思路:
1、首先建立一个main函数, main函数第一件事是提示用户输入三角形的三边,然后获取用户的输入(假设用户的输入都是整数的情况),用C语言来写,这一步基本上不是问题(printf和scanf),但是要求用java来写的话,很多学生就马上遇到问题了,java5.0及之前的版本不容易获取用户的输入。
点评:这样的思路做出来的程序只能通过手工方式来测试所有业务逻辑,而且这个程序只能是DOS界面版本了,要是想使用图形化界面来做输入,就得全部写过代码。
2、业务处理流程的思路用流程图表示如下:
3、C语言代码:
1. #include<stdio.h>
2. void main()
3. {
4. int a, b, c;
5. printf("please enter three integer:");
6. scanf("%d%d%d", &a, &b, &c);
7. if(0<a && a<200 && 0<b && b<200 && 0<c && c<200)
8. {
9. if(a+b>c && a+c>b && c+b>a)
10. {
11. if(a==b && b==c && a==c) //这里可以省掉一个判断
12. {
13. printf("1是等边三角形");
14. }
15. else
16. {
17. if(a==b || b==c || a==c)
18. {
19. printf("2是等腰三角形");
20. }
21. else
22. {
23. if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a)
24. {
25. printf("3是直角三角形");
26. }
27. else
28. {
29. printf("4是一般三角形");
30. }
31. }
32. }
33. }
34. else
35. {
36. printf("5不能组成三角形");
37. }
38. }
39. else
40. {
41. printf("6某些边不满足限制");
42. }
43. }
点评:这样的思路做出来的程序只能通过手工方式来测试所有业务逻辑,而且这个程序只能是DOS界面版本了,要是想使用web或图形化界面来做输入,就得全部写过代码。
文章来源于领测软件测试网 https://www.ltesting.net/