六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 151|回复: 0

(二)白盒测试实例

[复制链接]

升级  86.67%

50

主题

50

主题

50

主题

秀才

Rank: 2

积分
180
 楼主| 发表于 2013-2-5 02:10:46 | 显示全部楼层 |阅读模式
在教学的过程中发现,很多学生一看到这个需求,都觉得很简单,然后立刻就开始动手写代码了,这并不是一个很好的习惯。如果你的第一直觉也是这样的,不妨耐心看到文章的最后。
大部分学生的思路:
1、首先建立一个main函数, main函数第一件事是提示用户输入三角形的三边,然后获取用户的输入(假设用户的输入都是整数的情况),用C语言来写,这一步基本上不是问题(printf和scanf),但是要求用java来写的话,很多学生就马上遇到问题了,java5.0及之前的版本不容易获取用户的输入。 
点评:这样的思路做出来的程序只能通过手工方式来测试所有业务逻辑,而且这个程序只能是DOS界面版本了,要是想使用图形化界面来做输入,就得全部写过代码。
2、业务处理流程的思路用流程图表示如下:
 
 
3、C语言代码:
<div class="highlighter">

  • #include<stdio.h>
  • void main()
  • {
  •     int a, b, c;
  •     printf("please enter three integer:");
  •     scanf("%d%d%d", &a, &b, &c);
  •     if(0<a && a<200 && 0<b && b<200 && 0<c && c<200)
  •     {
  •         if(a+b>c && a+c>b && c+b>a)
  •         {
  •             if(a==b && b==c && a==c)   //这里可以省掉一个判断
  •             {
  •                 printf("1是等边三角形");
  •             }
  •             else
  •             {
  •                 if(a==b || b==c || a==c)
  •                 {
  •                     printf("2是等腰三角形");
  •                 }
  •                 else
  •                 {
  •                     if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a)
  •                     {
  •                         printf("3是直角三角形");
  •                     }
  •                     else
  •                     {
  •                         printf("4是一般三角形");
  •                     }
  •                 }
  •             }
  •         }
  •         else
  •         {
  •             printf("5不能组成三角形");
  •         }
  •     }
  •     else
  •     {
  •         printf("6某些边不满足限制");
  •     }
  • }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表