测试用例设计

测试用例设计方法:等价类、边界值、判定表、因果图、正交试验、状态迁移、流程分析。

1.测试用例格式

测试用例格式主要包括10个方面:用例编号、测试项、测试标题、用例属性、重要级别、预置条件、测试输入、操作步骤、预期结果、实际输出。

其中ST:系统测试;IT:集成测试;UT:单元测试。

2.用例设计方法-等价类

等价类:等价定义→等价类划分→等价类划分规则→进行用例设计

无效等价类不做组合

等价

定义

具有相同属性或者方法的事物集合

 

这个集合中某个个体所表现的特征与其他个体完全一致

 

对于某个被测对象的测试输入而言,某个个体能够被接受或被拒绝,则该个体在集合中的任意个体都应该被接受或被拒绝

等价类

划分

有效等价类

针对被测对象而言,合理的、有意义的、系统接受的输入

用户名长度在[6,18]

 

无效等价类

针对被测对象而言,不合理的、无意义的、系统不能接受的输入

用户名长度大于18位,或者小于6位

等价类

划分规则

如果需求规定了输入域的取值个数或确定了某个范围时,则可确定一个有效等价类及两个无效等价类

有效等价类

用户名长度在[6,18]

 

 

无效等价类

用户名长度大于18位,或者小于6位

 

如果需求规定了某个输入域的集合,或者必须如何的情况下,可确定一个有效等价类及一个无效等价类

有效等价类

以字母开头

 

 

无效等价类

非字母开头

 

如果需求规定了某个输入域是真假值时,可确定一个有效等价类和一个无效等价类

 

如果用户需求规定了输入域是一组值,则可确定若干个有效等价类及一个无效等价类

京东商城

砖石会员、金牌会员、铜牌会员和普通注册用户

 

用户需求规定必须遵守某种规则时,可确定一个有效等价类及若干个从不同角度违反规则的无效等价类

以字母开头

有效等价类:以字母开头;

无效等价类:以数字、汉字或者特殊符号开头

进行

用例设计

根据需求,划分有效及无效等价类,有效等价类统一编号,无效等价类统一编号

 

设计一个新的测试用例,使其尽可能的覆盖所有尚未覆盖的有效等价类,直到所有有效等价类都被覆盖

 

设计一个新的测试用例,使其仅覆盖一个无效等价类,直到所有无效等价类都被覆盖

等价类四则运算法

不考虑需求其他子项,细致分解当前测试点及详细需求,做累加

 

根据业务规则减少,排除相关不可能出现的规则,减少不可能出现的组合

 

如果有效等价类中具有互斥条件的需求时,可进行相乘得到用例个数

 

排除所有具有重复特性的等价类,尽可能做到有效等价类之间的交集为空,无效等价类之间的交集也为空,有效及无效等价类的并集为整个输入域

3.用例设计方法-边界值

例:用户名长度为6-18位

边界值

三点

上点

边界上的点

6

8

离点

离上点最近的点

5

19

根据上点的精度确定

 

 

内点

边界有效范围内的任一一点

10

 

如何确定离点

如果边界是闭区间,则离点在外

[6,18]

上点:6,18

离点:5,19

内点:10

如果边界是开区间,则离点在内

(6,18)

上点:6,18

离点:7,17

内点:10

 

边界值

应用场景

如果需求规定了取值范围或规定了取值个数时,可利用该范围的边界内及边界附近的数据进行测试

[6,18]

6,18,5,19,10

如果需求规定了取值的个数,则少于个数一个或多于个数一个的值进行进行测试

购买5件商品则打8折

4或5或6件商品

如果需求规定了一个有序集合的时候,可使用该集合的第一个和最后一个值进行测试

下拉列表有4个城市名可供选择

第一个和最后一个城市

如果程序中使用一个内部数据结构的话,则应从该数据结构的边界进行考虑

Int型

 

在int长度范围内

边界值

方法应用步骤

根据等价类方法划分有效等价类和无效等价类,确定上点、离点及内点,每个点统一编号

设计一个新的用例,使其尽可能的覆盖所有尚未覆盖的有效等价类,直到所有有效等价类完全覆盖

设计一个新的测试用例,使其仅覆盖一个无效等价类,直到所有无效等价类完全覆盖

4.用例设计方法-判定表(电商类)

判定表定义

分析和表述若干输入条件下,被测对象针对这些输入做出的响应一种工具

 

在遇到复杂业务逻辑时,可以利用该表理清业务逻辑关系

重要概念

条件

条件桩

需求规格说明书定义的被测对象的所有输入

 

 

条件项

针对条件桩所有可能的输入数据的真假值

 

动作

动作桩

针对条件被测对象可能采取的所有操作

 

 

动作项

针对动作桩被测对象响应的可能取值

 

规则

 

动作项和条件项组合在一起,形成的业务逻辑处理规则

判定表

应用步骤

1、理解需求,确定条件桩、动作桩

 

2、设计和优化判定表

 

3、填写动作项

 

4、根据判定表中输出结果的表现,进行判定表的合并(非必须)

合并(即简化判定表)条件:如果输出相同,在其对应输入中,有且只有一个条件的取值对动作不产生任何影响则可合并(合并存在一定风险)

 

5、抽取测试用例

5.用例设计方法-因果图

鱼骨图

 

输入与输入

关系

所有输入条件中最多有一个产生,也可以一个没有

 

或(or)

所有输入条件中,最少有一个产生、或者多个、或者所有

 

唯一

所有输入条件中,有且只有一个条件产生

 

要求

所有输入条件,只要有一个产生,其他跟着也会出现

输入与输出关系

恒等

当输入条件发生时,结果一定会出现

 

 

当输入条件发生时,结果一定会出现

 

非(not)

当输入条件发生时,结果一定会发生

 

 

当输入条件发生时,结果一定会出现

 

与(and)

当多个输入条件中,只有所有输入条件都发生,结果会出现

 

或(or)

当多个输入条件中,只要有一个发生,结果会出现

6.用例设计方法-正交实验

t因子c水平的正交表通过查表可得

名词

因子

所有参与试验的影响试验结果的条件称为因子

水平

影响试验因子的取值或输入称为水平

特点

整齐可比

在同一张正交表中,每个因子每个水平出现的次数完全相同,试验中,每个因子的每个水平与其他因子的水平参与试验的机率完全相同

均匀分撒

同一张正交表中,任意两列的水平搭配是完全相同的

设计流程

分析测试需求获取因子及水平

根据因子水平选择合适的正交表

替换因子水平,获取试验次数

根据经验或其他因素补充试验次数

细化输出获得测试用例

注意

选择正交表时,因子与水平恰好与正交表相同

被测对象因子与正交表中的因子数不同时,选择正交表中因子稍大于被测对象因子数,且试验次数最少的、多余的因子弃用

被测对象水平与正交表中的水平不同时,可根据实际情况进行合并,然后拆分

因子、水平都不相同时,则可选择因子、水平稍大于被测对象的,且试验次数最少的

缺点:没有办法考虑实际因子之间的关系问题。

7.用例设计方法-状态迁移

定义

关注被测对象的状态变化,在需求规格说明书中是否有不可达到的状态和非法的状态,是否产生非法的状态转移

状态

被测对象在特定输入条件下所保持的响应形式

方法流程

根据需求明确状态节点

 

绘制状态迁移图

 

绘制状态迁移树

 

抽取测试用例

8.用例设计方法-流程分析(场景设计法)

场景设计-三个流程

基本流

通过业务流程输入都为正确的,能够最后达到目标的流程

ATM取款:插入银行卡,输入密码,输入取款金额,取款,取卡

备选流

通过实现业务流程时,因错误操作或异常输入,导致流程存在反复,但最终能够完成期望业务的流程

ATM取款:插入银行卡,输入密码(第一次输入错误,重新输入后完成剩余操作)

异常流

通过实现业务流程时,因错误操作或异常输入,导致业务没有正确完成

ATM取款:插入银行卡,输入密码,错误3次,吞卡

使用方法

理解需求,确定业务流程(基本流、备选流、异常流)

绘制流程图,再次明确流程路径

根据业务流程图,抽取测试路径,每次路径需包含一个从未走过的路径

细化路径设计测试用例

注意点:需使用等价类、边界值、正交试验、判定表、因果图等方法保证单个功能的正确性

缺点:本身不校验单个功能节点的正确性,只关心流程能不能走通。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值