Python自动化训练营2期——测试用例设计实战2-课程贴

课后调查表

因果图

概念

利用图解的方法,分析输入的各种组合的情况。

适用场景

输入条件有很多个

因果

因 – 输入条件
果 – 输出结果

例子

交通一卡通自动充值软件系统需求
系统只接收50或100元纸币,一次只能使用一张纸币,一次充值金额只能为50元或100元。
若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功;
若输入50元纸币,并选择充值100元,提示输入金额不足,并退回50元;
若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找零50元;
若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功;
若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误;
若选择充值按钮后不输入纸币,提示错误

1. 列出输入条件

1、投入50元
2、投入100元
3、选择充值50元按钮
4、选择充值100元按钮

2. 列出输出的结果

a. 完成充值后退卡
b. 提示充值成功
c. 找零
d, 提示错误

3. 分析对应关系

条件1、3组合 – 输出 a、b
条件1、4组合 – c、d
条件2、3组合 – a、b、c
条件2、4组合 – a、b
条件1单独出现 – c、d
条件2单独出现 – c、d
条件3单独出现 – d
条件4单独出现 – d

4. 转化成判定表

判定表

判定表组成

条件桩:问题的所有条件
动作桩:问题的所有输出
条件项:针对条件桩的取值
动作项:条件项的各种取值情况下的输出结果

设计步骤

  1. 列出所有的条件桩和动作桩
  2. 确定规则数
  3. 填入条件项
  4. 填入动作项。得到初始判定表
  5. 简化判定表

例子

判断三角形
输入三个正整数a、b、c,分别作为三角形的三条边,通过程序判断三条边是否能构成三角形?
如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形、一般三角形)。

1、确定条件桩
C1: a,b,c 是否能构成三角形?两边和大于第三边
C2: a = b?
C3: b = c?
C4: a = c?

2、确定动作桩
A1: 不是三角形
A2: 一般三角形
A3: 等腰三角形
A4: 等边的
A5: 不可能出现

确定规则数

2^ 4 = 16条规则
条件项取值的可能个数 ^ 条件项的个数

写判定表

转化为测试用例

image

场景法

定义

  • 基本流
  • 备选流

设计步骤

1、根据需求规格说明,画出功能模块流程图
2、根据流程图,描述出程序的基本流及备选流
3、根据基本流和备选流生成不同的场景,构造场景列表
4、对每一个场景生成相应的测试用例
5、对生成的所有测试用例重新复审,去掉多余的测试用例
6、测试用例确定后,为每一个测试用例确定测试数据值

例子:QQ登录

1、画流程图
image
2、确定基本流
输入正确的账号和密码,点击登录按钮,登录成功
3、备选流

  • 错误的密码
  • 错误的账号
  • 不输入密码
  • 不输入账号
  • 不输入账号密码

4、构造场景

  • 输入正确的账号和密码,点击登录按钮,登录成功
  • 输入正确的账号,错误的密码,点击登录按钮,登录失败,给出错误提示
  • 输入错误的账号,正确的密码,点击登录按钮
  • 不输入账号,输入正确的密码,点击登录按钮
  • 输入正确的账号,不输入密码,点击登录按钮
  • 账号和密码都不输入,直接点击登录按钮

正交法

正交排列法能够使用最小的测试过程集合获得最大的测试覆盖率。当可能的输入数据或者输入数据的组合数量很大时,由于不可能为每个输入组合都创建测试用例,可以采用这种方法。

测试用例设计方法的选择

  • 需要输入数据的地方,考虑采用等价类划分法,将无限测试变成有限测试
  • 在任何情况下都必须采用边界值分析法
  • 关注它的主要功能和业务流程、业务逻辑是否正确实现,考虑使用场景法
  • 如果程序的功能说明中含有输入条件的组合情况,则一开始就应考虑选用因果图和判定表法
  • 对于参数配置类的软件,需要考虑参数之间的组合情况,考虑使用正交排列法选择较少的组合方式
  • 采用错误推断法再追加测试用例

课堂 ppt

课后作业

关闭