首页 > 其他分享 >等价类划分法

等价类划分法

时间:2022-10-18 17:02:47浏览次数:140  
标签:无效 程序 等价 划分 测试用例 输入


一、什么是等价类划分法

1、等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。

2、等价类划分法是把所有可能的输入数据,即程序的输入划分成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。

3、原因:不可能实现穷举测试,可以从大量的可能数据中选取一部分具有代表性的数据作为测试用例。

效果:经过类别划分后,每一类的代表性数据在测试中的作用都等价于这一类中的其他值。

4、手段:在设计测试用例时,在需求说明的基础上划分等价类,列出等价表,从而确定测试用例。

5、等价类划分法设计测试用例要经历2个步骤:

-划分等价类(列出等价类表)

-选取测试用例

6、等价类的划分有2种不同的情况:

-有效等价类

-无效等价类

二、等价类的类型

1、有效等价类

-对需求规格说明而言,有意义,合理的输入数据所组成的集合。

-校验程序是否实现了需求规格说明预先规定的功能和性能。

2、无效等价类

-对需求规格说明而言,无意义、不合理的输入数据组成的集合

-检查被测对象的功能和性能的实现是否有不符合需求规格说明要求的地方。

三、如何划分等价类

1、先从程序的规格说明书中找出各个输入条件,再为每个输入条件划分等价类,形成若干互不相交的子集。

2、给出1到100之间2个整数相加的测试用例

等价类划分法_等价类

四、等价类的划分原则

1、按区间划分

在输入条件规定了取值范围的情况下,可以确定有效等价类和无效等价类。

例:程序输入条件为小于100大于10 的整数x,则有效等价类为

10<x<100,两个无效等价类x≤10和x≥100。

2、按照数值划分

在规定了一组输入数据(假设包括n个输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定n个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。

例如:程序输入x取值于一个固定的枚举类型{1,3,7,15},且程序中对这4个数值分别进行处理,则有等价有效类为x=1,x=3,x=7,x=15,无效等价类为x≠1,3,7,15的值的集合。

3、按照限制条件或规则划分

在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

例如:程序输入条件为奇数的整数x,则有效等价类为x的值为奇数的整数,无效等价类为x的值不为奇数的数。

例:程序输入用户口令的长度必须是4位的字符串,可以确定一个有效等价类是输入字符串的长度为4,一个无效的等价类长度不为4.细分等价类

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

例如:程序输入条件为以‘a’开头,长度为8的字符串,并且字符串不包含‘a’-'z'之外的其他字符,则有效等价类为满足上述所有条件的字符串,无效等价类为不以'a'开头的字符串,长度不为8的字符串和包含了'a'-‘z’之外其他字符的字符串。

五、等价类测试用例设计

针对是否对无效数据进行测试,可以将等价类测试分为标准等价测试类和健壮等价类测试。

1、标准等价类测试--不考虑无效数据值,测试用例使用每个等价类中的一个值。

2、健壮等价类测试--主要的出发点是考虑了无效等价类,对有效输入,测试用例从每个有效等价类中取一个值;对无效输入,一个测试用例有一个“无效值”,其他均值有效值”。

健壮等价类测试存在两个问题:

1)需要花费精力定义无效测试用例的期望输出

2)对强类型的语言没有必要考虑无效的输入,程序可以自己检测

六、等价类划分法设计测试用例的步骤

1、确定等价类

2、建立等价类表,列出所有划分出的等价类

3、从划分的等价类中按以下原则设计测试用例:

A、为每一个等价类规定一个唯一的编号

B、设计一个新的测试用例,使其尽可能多的覆盖未被覆盖的有效等价类,重复这一步。

C、设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步。

例一:

某城市的电话号码由三部分组成,分别是:

地区码-空白或三位数字

前缀-非‘0’或'1'开头的三位数字

后缀-4位数字

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。

划分等价类、列出等价类表

等价类划分法_等价类_02

等价类划分法_数据_03

例2:保险公司计算保险费费率的程序

某保险公司的人寿保险的保费计算方式为:投保额X保险费率,其中保险费率依点数不同而不同,10点及以上保险费率为0.6%,10点以下保险费率为0.1%;而点数由投保人年龄、性别、婚姻和抚养人数(最多9人)所得的点数的总和来决定,规则如下:

等价类划分法_数据_04

 

标签:无效,程序,等价,划分,测试用例,输入
From: https://blog.51cto.com/u_15834920/5767616

相关文章

  • FZU 2144 Shooting Game (贪心区域划分)
    Problem2144ShootingGameAccept:370Submit:1902TimeLimit:1000mSecMemoryLimit:32768KBProblemDescriptionFatbrotherandMazeareplayingak......
  • IPV4网段划分
    原文链接:https://www.cnblogs.com/GHzcx/p/8979077.htmlIPV4的地址分类及网络号的范围如下:  A类地址(1)A类地址第1字节为网络地址,其它3个字节为主机地址。(2)A......
  • Apache Doris 分析型数据库(三)数据划分
    一、数据划分1、 Doris支持单分区和复合分区两种建表方式在复合分区中:第一级称为Partition,即分区。用户可以指定某一维度列作为分区列(当前只支持整型和时间类型的列),......
  • 2. [2001年NOIP提高组] 数的划分
    2.[2001年NOIP提高组]数的划分将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5;1,5,1;5,1,1;问有多少种不同的分......
  • 数据职能划分 数据类岗位
    互联网公司数据职能的划分:1,数据开发/数仓/大数据dataengineer:数据源导入,数据模型,数据ETL,数据应用部署2,数据分析师dataanalysis:从数仓拿到提炼好的数据,业务分析模......
  • <一>关于进程虚拟地址空间区域内存划分和布局
    C++代码在编译完成后会生产.exe程序(windows平台),.EXE以文件的形式存储在磁盘上,当运行.exe程序的时候操作系统会将磁盘上的.exe文件加载到内存中,那么在加载到内存中的......
  • @网络通信之子网划分
    网络子网划分文章目录​​网络子网划分​​​​一.ip地址基本知识​​​​1.ip地址的结构和分类​​​​2.ip中特殊的ip地址​​​​3.子网掩码​​​​4.如何申请ip地址......
  • log4j日志按小时和大小划分
    <?xmlversion="1.0"encoding="UTF-8"?><!--日志规范:http://ydwiki.yidian-inc.com/pages/viewpage.action?pageId=95730245&focusedCommentId=95738856#comment-95738......
  • 【存储数据恢复】HP EVA存储中由FATA磁盘组成的DISK GROUP中划分的VDISK被删除的数据
    存储数据恢复环境:一台HPEVA某型号存储,2组扩展柜;12块FATA磁盘+10个FC磁盘,不确定LUN数量;WINDOWS操作系统,存储历史案例审理材料。存储故障原因不明。存储故障初检&分析:......
  • winserver2019不重装系统,对磁盘进行重新划分
    不重装系统进行分盘刚开始只有一块儿磁盘C盘,需要将C盘拆分成C盘和D盘第一步在c盘出右键->压缩卷压缩的大小为,总大小减去需要为原有的C盘剩余的大小,毕业C盘总大小为4......