本文详细介绍了如何通过等价类划分法有效测试一个单功能软件应用的核心需求。本篇文章参考黑马程序员1 单功能单功能指软件程序或应用程序专注于提供一项核心功能或特性,而不包含其他附加功能。 2 等价划分法①定义等价类划分法是一种软件测试技术,用于将输入数据划分为多个等价类,以减少测试用例的数量。 ④适用于单功能应用的测试简化测试:单功能应用通常有明确的输入和输出,等价类划分法可以帮助测试人员将输入数据分为有效和无效的类,减少测试用例的数量,从而简化测试过程。 覆盖不同场景:通过识别有效和无效的输入,等价类划分法确保测试覆盖了各种使用情况,包括边界条件和常见错误,帮助发现潜在缺陷。 提高效率:在单功能应用中,由于其关注点单一,使用等价类划分法可以更高效地选择测试数据,快速验证功能的正确性,避免冗余的测试。
测试用例之等价类划分法 测试用例之等价类划分 一、 关于测试用例的知识 1、 测试用例的基本概念: 测试用例(案例):test case / test instance 是在测试执行之前, 二、等价类划分 1、应用场合:在程序界面中有数据输入的地方,就可以使用等价类划分法。挑选少量的代表数据进行测试。 3、“等价类划分法”的基本测试思想: 从大量数据中划分范围(等价类),然后从每个范围中挑选代表数据,这些代表数据要能反应这个范围内数据的测试结果 4、 两个基本概念 1) 有效等价类: 对程序来说有意义的 、合理的输入数据集合 2) 无效等价类: 对程序来说无意义的、不合理的输入数据集合 软件的基本特征: 1) 功能实现—有效等价类 2) 很强的异常处理能力(健壮性)—无效等价类 三、案例:有一个注册的程序 : 然后根据等价类表去编写测试用例,愿各位初学者有所收获。
前言 我们知道黑盒测试里面有很多的测试方法,有等价类划分,边界值分析,错误推测法,随机数,因果图,判定表,正交试验,场景法等等,今天来聊聊等价类划分 一、什么是等价类划分法 太专业的词汇可能不容易理解, [78bek9vv4g.png] 先分析题目,题目要求是输入的是整数,很显然整数肯定是一个有效的输入,即有效等价类,输入一个整数输出正确的数值 [043f7o837l.png] 那如果,我输入的是小数、 Boolean值只有两个结果,true和false 4.在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。 缺点:遇到组合的情况的话,等价类划分法是不足以解决问题的,同时等价类划分基于等价类中的输入都能产生相同的效果,在很多情况下用例选择不当会产生问题(如边界),还需要结合其他的方法来解决问题 五、小结 当出现边界值的时候 ,仅仅用等价类划分法是无法准确来判断的时候,就需要结合黑盒测试另外一个方法,边界值分析法。
最后,要想使用等价类划分这种方法来设计测试用例,一定要先根据需求规格说明划分等价类,列出等价类表。 3. 等价类和等价类表 >等价类 等价类就是指某个输入域的子集合,并且在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并且合理的假定测试某等价类的代表值就等效于测试了这个等价类集合中的所有值。 >等价类表 在确定被测对象的输入域等价类后,就可以将有效等价类和无效等价类根据一定的格式形成等价类表,等价类表的绘制可以参考以下两个图: 4. 确定等价类的原则 在划分等价类时,我们遵循以下6个原则: 若输入条件规定了取值范围或值的个数时,可以确立一个有效等价类和两个无效等价类。 若确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则要再将该等价类进一步的划分为更小的等价类。 5.
问题 构造下述三角形问题的弱健壮的等价类测试用例。 三角形问题:输入三个不超过100的正整数作为三角形的三条边,判断三角形是等边三角形、等腰不等边三角形、完全不等边三角形还是不能构成三角形。 解答 有效等价类划分: R1 = {<a, b, c>: the triangle with sides a, b, and c is equilateral} R2 = {<a, b, c>: the with sides a, b, and c is isosceles} R3 = {<a, b, c>: the triangle with sides a, b, and c is scalene} R4 not form a triangle} Test Case a b c Expected Output WR1 5 5 5 Equilateral WR2 2 2 3 Isosceles WR3 3 4 5 Scalene WR4 4 1 2 Not a triangle WR5 -1 5 5 Value of a is out of range WR6 5 -1 5 Value of b is out
等价类划分法 等价类划分法是一种常用的、典型的黑盒测试方法。 由于做到穷举测试不可能,因此需要从大量的数据中选取一部分数据用于测试,这也是等价类划分法的意义所在。 等价类划分法概述 (1)等价类概念 等价类指输入域的某个互不相交的子集,所有等价类的集便是整个输入域。 这4种值相互间没有必然关系,都需测试到,就需有4个有效等价类。 再比如输入条件说明学历可为专科、本科、硕士、博士四种之一,则有效等价类有4个,即①专科,②本科,③硕士,④博士;无效等价类一个,即其他任何学历。 (4)等价类划分法设计测试用例步骤 确立了等价类后,需要建立等价类表,列出所有划分出的等价类,用以设计测试用例。 ①为每个等价类规定一个唯一的编号。
步骤一:划分有效等价类和无效等价类 输入条件 有效等价类 无效等价类 报表日期的类型 ①数字字符 ②非数字字符 日期长度 ③6位 ④少于6位 ⑤多于6位 年份范围 ⑥1990年到1999年 ⑦小于1990 ⑧大于1999 月份范围 ⑨1月到12月 ⑩小于1 ⑾大于12 步骤二:为有效及无效等价类设计测试用例 1.有效等价类测试用例 测试数据 期望结果 覆盖范围 对应等价类 19920518 有效 1、3、6、9 ①数字字符 ③ 6位 ⑥1990年到1999年 ⑨1月到12月 2.每个无效等价类测试用例 测试数据 期望结果 覆盖范围 对应等价类 1992xxss 无效 2 非数字字符 199212 无效 4 少于6位 199212115 无效 5 多于6位 19801012 无效 7 年份小于1990 20220507 无效 8 年份大于1999 19920005 无效 10 月份小于1 19921818
优先级从等价类划分法,边界值分析法方向排序。每种设计方法,我都会分析,今天我们先一起看看什么是等价类划分法。 等价类划分法: 官方定义:将程序所有可能的输入数据划分成若干个等价类。 举例说明: 拓展: 等价类划分法,基本上是测试人员耳熟能详的一种方法,所以这个方法是必须要掌握的,面试或笔试的时候都可能会被问到。 等价类划分法一般和边界值分析法相结合,来完善我们的测试用例。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
一、分析问题 如果我们需要对下面的这个两位数加法器设计测试用例,在测试了1+1,1+2,(-1)+1和(-1)+2之后,是否有必要测试1+3,1+4 ,1+(-3)和1+(-4)呢? 实践证明,这种假设是成立的,所以等价类划分法也是有效的。 等价类划分法是一种最常用、也是最重要的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 4、进行等价类划分的依据 (1)按照区间划分 在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。 例:程序输入x取值于一个固定的枚举类型{1,3,7,15},且程序 中对这4个数值分别进行了处理,则有效等价类为x=1、x=3、 x=7、x=15,无效等价类为x≠1,3,7,15的值的集合。 (4)按照限制条件或规则划分 在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
问题 构造 NextDate 问题的弱一般的等价类测试用例。 month day year Expected Output WN1 2 28 2008 2/29/2008 WN2 2 29 2008 3/1/2008 WN3 2 28 2009 3/1/2009 WN4 12 31 2008 1/1/2009 WN5 1 31 2008 2/1/2008 WN6 4 30 2008 5/1/2008 WN7 5 15 2008 5/16/2008
)和若干个无效等价类; Eg.系统的初始资金只可输入数字 (4)若只要求输入数据符合某几个原则,这时可能存在多个有效类和若干个无效等价类; Eg. (2) 输出值域的等价类:R1={不构成三角形}、R2={一般三角形}、R3={等腰三角形}、R4={等边三角形}; <问题解答> (1) 列出等价类表并编号 (2) 设计覆盖有效等价类的测试用例 <问题解答> (1)划分法一 (1.1)划分等价类 A. 【注:“强”是指含多缺陷假设,“强”是指含多缺陷假设;“健壮”是指考虑无效值】 (2)划分法二 显然地,在用划分法一测试NextDate函数时,既没有考虑2月份的天数问题,又没有考虑闰年的问题 在本问题中,变量mouth等价类数量为4、变量day等价类数量为4、变量year等价类数量为2,故强一般等价类测试用例数量为4*4*2=32。 (2.3) 健壮等价类测试 A.
(2)解决要测什么,怎么测和如何衡量的问题 3.测试用例方法 (1)等价类划分法 (2)边界值法 (3)因果图法 (4)判定表法 (5)正交排列法 (6)场景法 (7)测试大纲法 4.编写测试用例参考内容 (1)参考相关文档 需求文档 开发文档 用户手册 (2)参考已经开发出来的软件(或者早期版本) (3)与相关人员讨论 4.等价类划分法基本概念 等价类划分法属于典型的功能测试方法,根据程序对数据的要求 2)如果用户输入无效等价类中的数据,程序应该给予错误提示或者根本不允许用户输入 5.等价类划分法应用场合 只要有数据输入的地方就可以采用等价类划分法。 6.等价类划分发的步骤概述 (1)明确测试对象(测试什么) (2)划分等价类(按照需求分有效、无效) (3)细化等价类(有效、无效进行细化) (4)建立等价类表(将有效和无效等价类做表) (5) 编写测试用例 划分等价类: 细化等价类: 建立等价类表: 编写测试用例(有效): 编写测试用例(无效): 小结: 上面编写的测试用例,满足等价类划分法的要求
目录 等价类划分法概念 有效等价类和无效等价类 等价类设计测试用例步骤 案例1 案例2 案例3 ---- 等价类划分法概念 等价类划分法是把所有可能的输入数据,即程序的输入数据集合划分成若干个子集即等价类 有效等价类和无效等价类 有效等价类:只完全满足产品规则说明的输入数据,即有效的、有意义的输入数据的集合。 利用有效等价类可以检验程序是否满足规则说明所规定的功能性要求。 等价类设计测试用例步骤 (1)划分等价类(有效等价类和无效等价类) (2)选取测试用例 ①对于有效等价类,使其尽可能多地覆盖尚未覆盖的有效等价类,直到所有的有效等价类均被覆盖。 ②对于无效等价类,一个测试用例覆盖一个无效等价类,直到所有的无效等价类均被覆盖。因为如果一个测试用例中覆盖多个无效等价类,则测试过程中可能只发现一个缺陷,而屏蔽了对其他输入错误的检查。 位或4位数字 案例3 非0、非1开头的7位或八位数字 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
今天我们就来看看最最最重要的测试理论:黑盒测试用例设计方法——等价类,可以说,这个不会,你的软件测试理论约等于0、 目录 1.为什么要掌握等价类用例设计方法 2.等价类划分法是什么 3.等价类划分法的设计步骤 4.等价类划分实例走起 步骤1:划分等价类 步骤2:设计用例覆盖有效等价类 步骤3:设计用例覆盖无效等价类 步骤4:确定用例 ---- 1.为什么要掌握等价类用例设计方法 先让我们问号三连击??? 2.等价类划分法是什么 等价类法把程序的所有可能的输入数据划分为为若干子集。每一子集的代表性数据在测试中的作用等价于这一子集的其他值。 每一个子集就是一个等价类。 3.等价类划分法的设计步骤 划分等价类,为每个等价类分配一个编号; 设计用例应覆盖尽可能多的尚未覆盖的有效等价类,直到所有有效等价类被覆盖; 设计用例覆盖一个无效等价类,直到所有无效等价类被覆盖。 确定测试用例,覆盖所有等价类; 4.等价类划分实例走起 下面是传智播客的注册页面,我们可以看到页面上有多个数据项,我们先分析每个数据项的等价类,然后综合起来形成页面的等价类划分的用例。
基于上述需求,使用等价类划分法编写测试用例的步骤如下: 1.根据需求分析,建立“第一个数”和“第二个数”两个控件的等价类表。 注意:表格中字体颜色为红色的有效等价类可以组合成一条用例,是为了减少测试用例的数量,但是无效等价类只能一条一条编写测试用例,是为了避免“屏蔽”现象发生。 2.根据等价类表编写测试用例 在该案例中,使用等价类划分法并没有将所有测试点考虑周全,这将涉及到边界值法的使用。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
输入条件 有效等价类 无效等价类 是否三角形的三条边 (A>0), (1) (B>0), (2) (C>0) (3) (A+B>C)(4) (B+C>A)(5) (A+C>B)(6) (A≤0), =B)and(B=C)and(C=A) (17) (A≠B), (18) (B≠C), (19) (C≠A), (20) 序号 【A,B,C】 覆盖等价类 2,3】 (10) 6 【1,3,2】 (11) 7 【3,1,2】 (12) 8 【3,3,4】 (1),(2),(3),(4),(5),(6),(13) 等腰三角形 9 【3,4,4】 (1) ,(2),(3),(4),(5),(6),(14) 10 【3,4,3】 (1),(2),(3),(4),(5),(6),(15) 11 【3,4,5】 (1),(2),(3),(4),(5),(6 ),(16) 非等腰三角形 12 【3,3,3】 (1),(2),(3),(4),(5),(6),(17) 是等边三角形 13 【3,4,4】 (1),(2),(3),(4),(5),(6),(14),
2-3-4树查找算法 2-3-4树的查找类似二分搜索树的查找。 2-3-4树插入算法 2-3-4树的插入算法是消除当前节点是4-节点,将4-节点分解成多个2-节点,中间的2-节点与父节点合并成3-节点或4-节点。 4-节点; ? 替换3-节点和4-节点 ? 图:替换3-节点 ? 图:替换4-节点 但是存在一个问题,2-3-4树因为3-节点的不同表示会有很多种不同的红黑树,3-节点既可以左倾,也可以右倾。 旋转 旋转是将不满足红黑树性质的3-节点和4-节点进行旋转,如果3-节点出现右链接,则将右链接通过左旋转变成左链接;如果4-节点出现一个红节点连着两条红链接,则将4-节点配平。 左旋转 ?
正规式和正规文法的等价性 ① 为何等价? 正规文法(四元式)定义了某种正规语言,正规式表示了某个正规集,它也定义了某种正规语言,因此可以说正规式和正规文法是等价的。 因为 6,7 经过输入 a 都是到达 4,但是 5 却是到达 7,所以划分为 {6,7} 和 {5} 那么 6,7 是不是就等价了,可以合并了呢?并不是,还需要看 b 弧。 因为 1,2 到达 6,7,3,4 到达 1,4,所以这里划分为 {1,2} 和 {3,4}。 自此,当前已划分的状态集合为 {1,2} ,{3,4}, {5},{6,7}。 接着看 b 弧。 ⑤ 等价状态的合并 在同一个集合中的状态都是等价的,要考虑将它们进行合并。还是来看这张图: image.png 首先,6 和 7 是等价的,考虑去掉 7 与它的各条线。 7–4 线与 6–4 线等价,把 7–4 线去除;5–7 线等价于 5–6 线,将 5–7 线替换为 5–6 线;7–2 线、2–7 线有等价的 6–1 线、1–6 线(因为 1 和 2 等价),可以将
等价类划分法等价类划分法是指依据需求对输入的范围进行分类,然后在分出的每一个区域内选取一个有代表性的测试数据开展测试。 等价类划分法是比较容易理解的,我们现在设计测试用例用等价类划分法比较多,它适用的场景也比较多。我们为什么使用等价类划分法呢? 等价类划分法的划分方法等价类是指某个输入域的子集合。分为有效等价类和无效等价类。 例如:某系统注册页面用户密码规定为4位的串。分析:有效等价类:长度为4位的串无效等价类:长度不是4位的串等价类划分法常用方法3在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。 分析:有效等价类:输入true无效等价类:输入false等价类划分法常用方法4在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
一、等价类划分法简介 1.1 什么是等价类划分法? 等价类划分法是黑盒测试中非常重要的测试方法,采用等价类划分法时,无需考虑程序内部结构,设计测试用例是依据游戏策划案进行设计的 等价类是输入条件的一个子数据集合,该输入集合中的数据对于揭示程序中的错误是等价的 有效等价类和无效等价类都是使用等价类划分法设计用例时所必须的,被测程序需要能够保证正确的数据输入以及错误的输入数据检验,这样才能确保游戏具有更高的可靠性 1.2 等价类划分法的优缺点 优点: 而子集的并是整个集合; 3、并是整个集合:完备性; 4、子集互不相交:保证一种形式的无冗余性; 5、同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到”相同的执行路径 ),假设无最大购买上限,最小购买点数为100点,我们也可以这样设计: 三、等价类划分法补充说明 等价类划分法除了对基础的输入输出数据做等价划分,还有额外完整性的补充说明,顺序依次为:弱一般等价类测试