白盒测试实例之二——答案

发表于:2009-1-20 12:31

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:胡添发    来源:CSDNBlog

  很多初学者一看到这个需求(详见白盒测试实例之一——需求说明收藏),都觉得很简单,然后立刻就开始动手写代码了,这并不是一个很好的习惯。如果你的第一直觉也是这样的,不妨耐心看到文章的最后。

  大部分人的思路:

  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或图形化界面来做输入,就得全部写过代码。

相关阅读:

白盒测试实例之一——需求说明收藏

白盒测试技术——方法与实践篇

白盒测试技术——白盒测试理论篇

如何编写单元测试用例(白盒测试)

白盒测试中的六种覆盖方法

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号