基于需求的设计⽅法
基于需求的设计⽅法也是总的设计测试⽤例的⽅法,在⼯作中,
我们需要参考需求⽂档/产品规格说明书来设计测试⽤例。测试⼈员接到需求之后,
要对需求进⾏分析和验证,从合理的需求中进⼀步分析细化需求,
从细化的需求中找出测试点,根据这些测试点再去设计测试⽤例。
具体的设计⽅法
等价类
依据需求将输⼊(特殊情况下会考虑输出)划分为若⼲个等价类,从等价类中选出⼀个测试⽤例,如果这个测试⽤例测试通过,则认为所代表的等价类测试通过,这样就可以⽤较少的测试⽤例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
⽣活中等价类的案例:
原则上讲,⽼师应该依据每个学⽣⾃⾝的情况,指定符合的学习⽅案.但是实际上学⽣太多⽼师管不过来,只能分成⼏类:优等⽣强调知识⾯的扩展和综合能⼒的提升;中等⽣强调夯实基础,查缺补漏;差等⽣强调优先掌握重点,暂时跳过难点...
思路:输⼊的集合是⽆穷的,不能全都覆盖到
等价类分类:
• 有效等价类:对于程序的规格说明书是合理的、有意义的输⼊数据构成的集合,利⽤有效等价类验
证程序是否实现了规格说明中所规定的功能和性能
• ⽆效等价类:根据需求说明书,不满⾜需求的集合。
根据等价类设计测试⽤例的⽅式:
1.确定有效等价类和⽆效等价类
2.编写测试⽤例,设计具体测试数据
例:
假设我们有一个输入年龄的功能,要求用户输入年龄在 0 到 120 之间。可以将输入数据划分为以下等价类:
有效年龄范围的等价类:
- 有效类:0 到 120 之间的年龄。例如:25岁、60岁。
无效年龄范围的等价类:
- 小于下限的无效类:小于0的年龄。例如:-5岁。
- 大于上限的无效类:大于120的年龄。例如:130岁。
缺点:等价类只考虑输⼊域的分类,没有考虑输⼊域的组合,需要其他的设计⽅法和补充。
边界值
边界值分析法就是对输⼊或输出的边界值进⾏测试的⼀种⿊盒测试⽅法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试⽤例来⾃等价类的边界。
边界值包含:边界值+次边界值
1.输⼊框⻓度为1-11,取边界值为:1、11、12、0
2.运动员的参赛项⽬为1-3项,取边界值为:0项、1项、3项、4项
3.查询⾯⻚⾯有999⾏,每50⾏为⼀⻚,取边界值为:输出0⾏、1⾏、50⾏、51⾏、999⾏
例:
正交法
正交法的⽬的是为了减少⽤例数⽬。⽤尽量少的⽤例覆盖输⼊的两两组合。
正交试验设计(Orthogonal?experimentaldesign)是研究多因素多⽔平的⼀种设计⽅法,它是根据正交性,由试验因素的全部⽔平组合中挑选出部分有代表性的点进⾏试验,通过对这部分试验结果的分析了解全⾯试验的情况,找出最优的⽔平组合。正交试验设计是⼀种基于正交表的、⾼效率、快速、经济的试验。
正交表:
如图最简单的正交表是L(4)(2(3)),含意如下:“L”代表正交表;L下⻆的数字“4”表⽰有4横⾏,
简称⾏,即要做四次试验;括号内的指数“3”表⽰有3纵列,简称列,即最多允许安排的因素是3
个;括号内的数“2”表⽰表的主要部分只有2?种数字,即因素有两种⽔平1与2。
在正交表的表示中,L(4)(2(3)) 是一种特定的正交表的标记方式。它描述了正交表的结构,包括因素的水平、因素的数量以及实验的行数。下面是对这个表示法的解释:
L: 表示正交表的类型或形式。通常是 L 字母表示正交表。
4: 这是正交表的总行数(即实验的总次数),通常被称为“实验运行数”。在这里,正交表包含 4 行,表示需要进行 4 次实验。
2(3): 这是对因素及其水平的描述。具体来说:
- 2 表示正交表中有 2 个因素。
- (3) 表示每个因素都有 3 个水平(例如,每个因素有 3 种不同的取值)。
因此,𝐿(4)(2(3))L(4)(2(3)) 表示这是一个正交表,有 4 行(即进行 4 次实验),并且有 2 个因素,每个因素都有 3 个不同的水平。
正交表的构成:因素数、⽔平数、⾏数。
因素:对指标的影响条件,通常是正交表中的⼀列。
⽔平:因素对应的可选项。
正交表的性质:
• 每⼀列中,不同的数字出现的次数相等。
• 任意两列中数字的排列⽅式⻬全⽽且均衡
根据正交表的性质,⼀般⼈很难通过⼿动设计出正交表,
正交法设计测试⽤例的步骤:
1. 找到因素和⽔平
2. ⽤allparis⼯具⽣成正交表
a. 将因素和⽔平写⼊Excel表格中
b. allparis⽬录下创建新的⽂本⽂件new.txt,复制Excel中的因素和⽔平,直接粘贴到⽂本中保存并退出
c. 使⽤allparis命令⽣成正交表:allparis.exe new.txt>zhengjiao.txt
3. 根据正交表编写测试⽤例
4. 补充遗漏的重要测试⽤例
注意:使⽤allparis⽣成的正交表和预期有出⼊,但是不影响我们⽤来设计测试⽤例。
判定表法
判定表是⼀种表达逻辑判断的⼯具,形如:
通过该图,可以把所有条件对应的结果清晰的表达出来。我们就需要借助该表来清晰的写出测试⽤例。
根据判定表法设计测试⽤例的步骤:
1. 确认需求中输⼊条件和输出条件
2. 找出输⼊条件和输出条件之间的关系
3. 画判定表
4. 根据判定表编写测试⽤例
场景法
现在的软件⼏乎都是⽤事件触发来控制流程的,事件触发时的情景便形成了场景,⽽同⼀事件不同的触发顺序和处理结果就形成事件流。
通过运⽤场景来对系统的功能点或业务流程的描述,从⽽提⾼测试效果的⼀种⽅法。
⽤例场景来测试需求是指模拟特定场景边界发⽣的事情,
通过事件来触发某个动作的发⽣,
观察事件的最终结果,从⽽⽤来发现需求中存在的问题。
我们通常以正常的⽤例场景分析开始,然后再着⼿其他的场景分析。
场景法⼀般包含基本流和备⽤流,从⼀个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备⽤流来完成整个场景。场景主要包括4种主要的类型:
正常的⽤例场景,备选的⽤例场景,异常的⽤例场景,假定推测的场景。
读完上⾯的概念是不是⼀脸懵,场景法就是⼀个常规的流程中,某些阶段可能会出现⼀些意想不到的情况,常规流程是基本流,从阶段中分析出来的不同情况被称之为备选流。
该⽅法可以⽐较⽣动地描绘出事件触发时的情景,有利于测试设计者设计测试⽤例,是测试⽤例更容易理解和执⾏。
根据场景法设计测试⽤例的步骤
1.确定基本流
2.确定备选流
3.根据备选流补充测试⽤例
4.编写测试⽤例
错误猜测法
错误猜测法是对被测试软件设计的理解,过往经验以及个⼈直觉,推测出软件可能存在的缺陷,从⽽针对性地设计测试⽤例的⽅法。
这个⽅法强调的是对被测试软件的需求理解以及设计实现的细节把握,还有个⼈的经验和直觉。
错误推测法和⽬前流⾏的“探索式测试⽅法”的基本思想⼀致,这类⽅法在敏捷开发模式下的投⼊产
出⽐很⾼,被⼴泛应⽤于测试。
当我们⼀提到某个⾮常熟悉的⼈的名字,脑海会⽴刻浮现对他的评价
“武⼤郎”:憨厚,⽼实,为⼈坦诚,乐于助⼈
“潘⾦莲”:美丽,“温柔”,“疼爱丈夫”,“善于交友”,“精通制⾐”
张三要去卖⽠⽤例1:张三这⼈不实诚,⼩⼼他缺⽄少两
⽤例2:张三这⼈粗⼼,⼩⼼他的⽠被压坏了
⽤例3:张三这⼈⼩⽓,⼩⼼不要把他惹哭了
这个⽅法的缺点是难以系统化,并且过度依赖个⼈能⼒。