三角形设计测试用例

转载自:http://blog.csdn.net/jxtrg20111218/article/details/6437949

三角形设计测试用例的问题在面试的时候经常遇到。

  假设输入三个整数a、b、c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时!要求画出程序的流程图和时序图,并且用自己熟悉的一种语言实现这个功能!用java语言也可以实现,流程图免了。

 

 

  程序如下:

package sanj;
/**
 *
 * @author jxtrg
 */
import java.io.*;
class sanj{
public static int a,b,c;
 public static void main(String arg[]) throws IOException{
try{
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in)); //接收键值
System.out.println("输入三边值,每个值输入后回车");
System.out.println("请输入:");
a=Integer.valueOf(stdin.readLine());
b=Integer.valueOf(stdin.readLine());
c=Integer.valueOf(stdin.readLine());
}catch(IOException e){
System.out.println("出现异常!");
System.exit(0);
}
if(a+b<c || a+c<b || b+c<a){
System.out.println("你输入的不能构成三角形");
}
if(a==b || a==c || b==c)
{
if(a==b && b==c) System.out.println("等边三角形");
else System.out.println("等腰三角形");
}
else System.out.println("一般三角形");
}
}


【解】

  第一步:确定测试策略。在本例中,对被测程序的功能有明确的要求,即:

  (1)判断能否组成三角形;

  (2)识别等边三角形;

  (3)识别等腰三角形;

  (4)识别任意三角形。因此可首先用黑盒法设计测试用例,然后用白盒法验证其完整性,必要时再进行补充。

  第二步:根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。

  等价分类法:

  有效等价类

  输入3个正整数:

  (1)3数相等

  (2)3数中有2个数相等,比如AB相等

  (3)3数中有2个数相等,比如BC相等

  (4)3数中有2个数相等,比如AC相等

  (5)3数均不相等

  (6)2数之和不大于第3数,比如最大数是A

  (7)2数之和不大于第3数,比如最大数是B

  (8)2数之和不大于第3数,比如最大数是C

  无效等价类:

  (9)含有零数据

  (10)含有负整数

  (11)少于3个整数

  (12)含有非整数

  (13)含有非数字符

  边界值法:

  (14)2数之和等于第3数

  猜错法:

  (15)输入3个零

  (16)输入3个负数

  第三步:提出一组初步的测试用例,如下表所示:

  第四步:用白盒法验证第三步产生的测试用例的充分性。结果表明,上表中的前8个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值