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

目录:

①等价类划分法的介绍和概念服务器

②等价类的类型划分性能

③等价类测试用例的类别测试

④等价类划分的原则spa

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

⑥边界值分析法的实例分析blog

一、等价类划分法的介绍和概念

  • 划分

指互不相交的一组子集,这些子集的并是整个集合。get

对测试的意义:完备性和无冗余性。it

  • 等价类

等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,具备等价特性class

  • 等价类合理地假设

测试某等价类的表明值就等于对这一类其它值的测试。基础

  • 等价类划分

等价类划分是一种典型的黑盒测试方法。

等价类测试方法是把全部可能的输入数据,即程序的输入域划分红若干部分,而后从每一部分中选取少数有表明性的数据做为测试用例。使用等价类划分方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具备完整性和表明性。

二、等价类的类型划分

等价类划分可有两种不一样的状况:有效等价类和无效等价类。

  • 有效等价类

是指对于程序的需求规格说明来讲是合理的,有意义的输入数据构成的集合。

利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能(确认过程)。

  • 无效等价类(与有效等价类的定义恰巧相反)

是指对于程序的需求规格说明来讲是不合理的,无心义的输入数据构成的集合。

利用无效等价类可检验程序对于无效数据的异常处理能力(检验过程)。

设计测试用例时,要同时考虑这两种等价类。由于,软件不只要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具备更高的可靠性。

三、等价类测试用例的类别

根据测试用例的完整性能够划分

  • 弱等价类测试
  1. 弱通常等价类测试
  2. 弱健壮等价类测试
  • 强等价类测试
  1. 强通常等价类测试
  2. 强健壮等价类测试

PS:健壮性测试

健壮性有两层含义:容错能力和恢复能力

容错性测试一般构造一些不合理的输入来引诱软件错误,例如
•输入错误的数据类型:如“猴”年“马”月
•输入定义域以外的数值

粗暴一些方式俗称“大猩猩”测试法。除了不能拳打脚踢嘴咬以外,什么招术均可以使出来。例如在测试客户机-服务器模式的软件时,把网线拔掉,形成通讯异常中断。

恢复测试重点考察如下几项:
•系统可否从新运行;
•有无重要的数据丢失;
•是否毁坏了其余相关的软件硬件。
 

3.1弱通常等价类

遵循单缺陷原则,要求用例覆盖每个变量的一种取值便可,取值为有效值。

image

3.2弱健壮等价类

在弱通常等价类的基础上,增长取值为无效值的状况。

对于有效输入,使用每一个有效值类的一个值

对于无效输入,测试用例将拥有一个无效值,并保持其他的值是有效的。

image

3.3强通常等价类

遵循多缺陷原则,要求用例覆盖每一个变量的每种取值之间的迪卡尔乘积,即全部变量全部取值的全部组合,取值为有效值

覆盖全部的等价类

有可能的输入组合中的一个

image

3.4强健壮等价类

在强通常等价类的基础上,增长取值为无效值的状况。

“健壮”考虑无效值,全部等价类都有考虑

“强”多缺陷假设

image

四、等价类划分的原则

4.1按照区间划分

在输入条件规定了取值范围或值的个数的状况下,则能够确立一个有效等价类和两个无效等价类。

例子:输入值是学生成绩,范围是0~100之间

image

有效等价类:0≤并≤100,如0,1,10等

无效等价类:<0 或 >100,如-1,101等

弱通常等价类:0~100中任意一个数为测试数据,只设计1个用例便可
强通常等价类:分为0、 1~9九、 100三个等价类,须要设计3个用例
弱健壮等价类:考虑到60分在实际状况中为特殊数字,划分0、 1~99(除60外)、 100、 60四个等价类
强健壮等价类:考虑各类非法输入,如负数、其余字符等等

4.2按照数值划分

在规定了输入数据的一组值(假定n个),而且程序要对每个输入值分别处理的状况下,可确立n个有效等价类和一个无效等价类。

例子:输入条件说明输入学历为本科、硕士和博士3种之一

有效等价类:本科、硕士和博士其中一种

无效等价类:除要求的2种外其余字符,如小学、专科等

4.3按照数值集合划分

在输入条件规定了输入值的集合或者规定了“必须如何”的条件的状况下,可确立一个有效等价类和一个无效等价类。

例子:密码输入框,要求密码必须是数字或字母

有效等价类:密码是数字和字母的组合(还能够细分)

无效等价类:密码包括中文、密码包括其余符号等

4.4按限制条件或规则划分

在规定了输入数据必须遵照的规则的状况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不一样角度违反规则)。

例子:校内电话号码拨外线为9开头

有效等价类:9+外线号码

无效等价类:非9开头+外线号码,9+非外线号码等

4.5细分等价类

在确知已划分的等价类中各元素在程序处理中的方式不一样的状况下,则应再将该等价类进一步的划分为更小的等价类,并创建等价类表。

例子:肯定了等价类后,再列表形式列出全部划分出的等价类表

image

五、等价类划分法的测试用例应用

  • 按照[输入条件][有效等价类][无效等价类] 创建等价类表,列出全部划分出的等价类
  • 为每个等价类规定一个惟一的编号
  • 设计一个新的测试用例,使其尽量多地覆盖还没有被覆盖地有效等价类,重复这一步,直到全部的有效等价类都被覆盖为止。
  • 设计一个新的测试用例,使其仅覆盖一个还没有被覆盖的无效等价类,重复这一步,直到全部的无效等价类都被覆盖为止。

六、等价类划分法的实例分析

某程序规定:"输入三个整数 a 、 b 、 c 分别做为三边的边长构成三角形。经过程序断定所构成的三角形的类型,当此三角形为通常三角形、等腰三角形及等边三角形时,分别做计算 … "。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。)

分析题目中给出和隐含的对输入条件的要求:

(1)整数 (2)三个数 (3)非零数 (4)正数
(5)两边之和大于第三边 (6)等腰 (7)等边
若是 a 、 b 、 c 知足条件( 1 ) ~ ( 4 ),则输出下列四种状况之一:
1)若是不知足条件(5),则程序输出为 " 非三角形 " 。
2)若是三条边相等即知足条件(7),则程序输出为 " 等边三角形 " 。
3)若是只有两条边相等、即知足条件(6),则程序输出为 " 等腰三角形 " 。
4)若是三条边都不相等,则程序输出为 " 通常三角形 " 。

请各位列出等价类表并编号

image

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

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)

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

image

相关文章
相关标签/搜索