从黑盒测试延伸到等价类划分法

一,黑盒测试

话不多说,先上黑盒测试的定义:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

其实上面那冗长的一段话总结起来就一个意思:就是测试软件的时候,不用管软件内部到底是怎么写的,有没有错误,布局排版有没有问题,测试人员就开始根据要求尽量把要求的输入试个遍,看看结果有没有问题,属于傻瓜都能做的工作。

既然是这个样子,短小,功能较少的程序可能让测试人员测试一下午就搞定了,但是程序很大呢,输出是1到1亿呢,还能一个个试么,当然不能,因此就引入了简化黑盒测试的方法,下面就要介绍。

二,等价类划分

等价类划分就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现“合理的”覆盖,覆盖了更多的可能数据,以发现更多的软件缺陷。

这个介绍言简意赅了好多,优化,一直是人类进步的主旋律,在黑盒测试的优化上,就是通过选择适当的数据子集来代替全体,放在概率论上这就是抽样调查。

既然是抽样调查,不是,是选择适当的数据子集,那么问题来了,如何选择呢?

来,首先了解下什么是等价类,既然等价嘛,就是基本上没有太大的区别,测试的时候,从一个没有什么大的区别的等价类中选择一个测试即可代表整个等价类。

等价类都有什么呢,大体上可以分成有效等价类和无效等价类。

上定义:

1有效等价类

是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

2无效等价类

与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。   设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。

简单来说,有效等价类就是功能上要求的,而无效等价类都是意外情况。

划分等价类的方法有很多,在此不赘述,因为这并不是我的重点,举个例子,大家理解下就好。

学生能选四到七门课,这是个区间,而四到七的整数就成了有效等价类,而其他的任何数字都是无效等价类,这个例子就是按照区间划分的。

好,既然已经开始划分了,那么究竟怎么测试呢,在之前我也一头雾水,知道我看到了一篇去年的博客,一个例子深深打动了我,我自认除了在幽默方面外,并不能讲解得比原作者更加明了,特此转载其中的一个例子,多谢前辈。

上例子:

    某程序规定:"输入三个整数 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)

覆盖无效等价类的测试用例:

功成名就,万事大吉,此处应有喝彩,掌声。

给这位前辈~

时间: 2024-10-22 10:40:02

从黑盒测试延伸到等价类划分法的相关文章

等价类划分法

等价类划分法设计测试用例完全不考虑程序内部结构,只需要根据需求规格说明书,对其输入和输出的要求提取区分出来即划分等价类,然后列出等价类表 等价类划分采用的办法就是:把程序的输入域划分成若干部门,然后从每个部分中选取少数代表性数据作为测试用例 等价类划分结果有两种:有效等价类(对于需求规格来说合理的数据集合).无效等价类(对于需求规格来说异常的数据集合) 等价类划分6条确认原则: 1:输入条件规定了取值范围或值的个数情况下,可以确立一个有效等价类和两个无效等价类 a:输入条件规定了取值范围等价类表

黑盒测试用例设计技术--等价类划分法

本文通过案例的形式,详细讲解黑盒测试用例设计技术中的等价类划分法. 等价类划分是一种典型的黑盒测试方法,其原理是把程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例. 通过等价类划分,可以在尽可能覆盖所有测试路径的前提下,大幅度减少测试用例的数目. 本文的主要内容有: 等价类的概念介绍 划分等价类的原则 根据等价类设计测试用例的方法 案例演示 划分等价类 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理的假设,

软件测试方法-等价类划分法

等价类划分法 等价类划分法是测试工作中频繁使用的方法,每一步的测试工作都与它密切相关,对这个方法的深入理解,以及灵活使用是软件测试工作的基础 等价类划分法是把所有的可能的输入数据,即程序的输入域划分为若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例 等价类是指某个输入域的子集盒.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,可以合理的假定:测试某等价类的代表值就等于对这一类其他值的测试. 等价类划分有两种不同的情况:有效等价类和无效等价类.设计时要同时考虑这两

等价类划分法设计测试用例

序内部结构,设计测试用例的唯一依据是软件需求规格说明书. 等价类 所谓等价类,是输入条件的一个子集合,该输入集合中的数据对于揭示程序中的错误是等价的.等价类又分为有效等价类和无效等价类.有效等价类代表对程序有效的输入,而无效等价类则是其他任何可能的输入(即不正确的输入值).有效等价类和无效等价类都是使用等价类划分法设计用例时所必须的,因为被测程序若是正确的,就应该既能接受有效的输入,也能接受无效输入的考验. 划分等价类的标准: 1.完备测试.避免冗余; 2.划分等价类重要的是:集合的划分,划分为

某程序规定:"输入三个非0正整数 a 、 b 、 c 分别作为三边的边长构成三角形(暂不考虑特殊三角形的情况)。请根据给出的说明,用等价类划分法进行划分,并给每个等价类规定唯一的编号。

有效值   3 4 5 无效值(含有0)  0 1 0 (含有空值) 1 2 null (含有负数) -1 2 3 (含有字符)+ 1 3 (不成立的情况) 6 6 6 (含有非法字符) 我 2 6

黑盒测试--等价类划分

等价类划分 等价类划分,指的是一种典型的.重要的黑盒测试方法.其就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现“合理的”覆盖,以此来发现更多的软件缺陷,统计好数据后由此对软件进行改进升级. 概述 等价类划分法将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类.然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性.利用这一方法设计测试用例可以不考虑程序的内部结构,以需

等价类划分--EditBox问题

众所周知,等价类划分法是黑盒测试中的一种典型方法.在实现时完全不用去考虑程序的内部结构,而是只根据程序对应的规格说明书对要进行的输入范围进行划分,分成若干个互不相交的子集,即为等价类.常用的等价类划分原则有以下几种: 1.按区间划分. 2.按数值划分. 3.按数值集合划分. 4.按限制条件或规则划分. 5.细分等价类. 在设计测试用例时,测试人员应同时考虑有效等价类和无效等价类测试用例的设计. 例:EditBox测试用例设计 允许输入1到6个英文字符或数字,按OK结束 考虑有效等价类:长度:1到

测试相关理解(二)等价类划分实例

设计测试用例 在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类.无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例: 1)为每一个等价类规定一个唯一的编号: 2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止: 3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止. 1.设有一个档案管理系统,要求用户输入以年月表示的日期.假设日期限定在199

等价类分析法

一.首先,什么是等价类划分法呢? 等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例.它把程序的输入域划分成若干个部分,然后从每一部分选取少数有代表性的数据作为测试用例. 等价类事指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.测试某等价类的代表值就等价于对这一类其他值的测试. 注意:所有等价类的并集就是整个输入域. 因此,等价类测试对于测试有两个重要的意义.一.完备性-整个输入域提供一种形式的完备性.