軟件白盒測試實例之二——答案 白盒測試工具
很多初學者一看到這個需求(詳見白盒測試實例之一——需求說明收藏),都覺得很簡單,然后立刻就開始動手寫代碼了,這并不是一個很好的習慣。如果你的第一直覺也是這樣的,不妨耐心看到文章的最后。
大部分人的思路:
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或圖形化界面來做輸入,就得全部寫過代碼。
文章來源于領測軟件測試網 http://www.kjueaiud.com/