2021-01-03

今天主要分享第一个测试用例设计方法: 等价类划分法

一、等价类
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其他值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分有两种不同的情况:有效等价类和无效等价类。
1、有效等价类
是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明所规定的功能和性能。
2、无效等价类
指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能多个。
设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。
3、划分等价类的标准

  1. 完备测试、避免冗余
  2. 划分等价类重要的是:集合的划分、划分为互不相交的一组子集,而子集的并是整个集合
  3. 并是整个集合:备性
  4. 子集互不相交:保证一种形式的无冗余性
  5. 同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到“相同的执行路径”。

下面是一个简单例子

三角形问题
1、某程序规定:“输入三个整数a、b、c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形、等边三角形时,分别做计算。。。”用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。)
分析题目中给出和隐含的对输入条件的要求:
(1)整数
(2)三个数
(3)非零数
(4)整数
(5)两边之和大于第三边
(6)等腰
(7)等边
如果a、b、c满足条件(1)~(4),则输出下列四种情况之一:
1)如果不满足条件(5),则程序输出为“非三角形”
2)如果三条边相等即满足条件(7),则程序输出为“等边三角形”
3)如果只有两条边相等,及满足条件(6),则程序输出为“等腰三角形”
4)如果三条边都不相等,则程序输出为“一般三角形”
列出等价类表并编号

覆盖有效等价类的测试用例:
a b c覆盖等价类号码
3 4 5 (1) (7)
4 4 5(1)(7) (8)
4 5 5 (1) (7) (9)
5 4 5 (1) (7) (10)
4 4 4 (1) (7) (11)
覆盖无效等价类的测试用例
在这里插入图片描述

在这里插入图片描述

大部分内容来源:百度–科普中国

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值