软件测试用例设计方法

测试用例的设计方法

等价类法(解决穷举类):

  1. 有效等价:在有效的数据集合里取其一
  2. 无效等价:在无效的数据集合里取其一
具体工作流程:
  1. 明确需求
  2. 确定有效和无效等价类
  3. 提取数据编写用例
具体操作举例

一个密码需要6-10位自然数:

  1. 明确需求:密码为6-10位的自然数
  2. 有效类:6-10位的自然数;无效类:6-10位的非自然数、不是6-10位的自然数;
  3. 有效类中提取8位自然数;无效类中提取8位非自然数、5位自然数。
用例编号 用例标题 项目/模块 前置条件 优先级 测试步骤 测试数据 预期结果 实际结果
pwd_001 合法(8位自然数) 登录 打开程序 P0 1.输入密码
2.点击验证
12345678 合法 合法
pwd_002 不合法(5位自然数) 登录 打开程序 P0 1.输入密码
2.点击验证
12345 不合法 不合法
pwd_003 不合法(8位非自然数) 登录 打开程序 P0 1.输入密码
2.点击验证
a1234567 不合法 不合法

边界值法(解决有限定规则类):

边界范围节点:

  1. 要选取刚好等于,刚好大于,刚好小于边界的值作为测试的数据
  2. 上点:边界上的点,刚好等于的点
  3. 离点:距离点上最近的点,就是刚好大于,刚好小于的点
  4. 内点:范围内的点,区间范围内的数据
具体工作流程:
  1. 明确需求
  2. 确定有效和无效等价类
  3. 确定边界范围值
  4. 提取数据编写用例
具体操作举例

密码长度大于8,小于等于25个字符:

  1. 明确需求:密码长度大于8,小于等于25个字符

  2. 确定有效和无效等价类:有效:8-25个字符;无效:不是8-25个字符,小于等于8/大于25

  3. 边界为8-25:

    上点取数据8和25;离点取7、9、24、26;内点取8-25的中间点17

  4. 提取数据编写用例:8、25、7、9、24、26、17

    有效 无效
    9 7
    17 8
    24 26
    25
    用例编号 用例标题 项目/模块 前置条件 优先级 测试步骤 测试数据 预期结果 实际结果
    pwd_001 合法(9位字符) 登录 打开程序 P0 1.输入密码
    2.点击验证
    9个a 合法 合法
    pwd_002 合法(17位字符) 登录 打开程序 P0 1.输入密码
    2.点击验证
    17个a 合法 合法
    pwd_003 合法(24位字符) 登录 打开程序 P0 1.输入密码
    2.点击验证
    24个a 合法 合法
    pwd_004 合法(25位字符) 登录 打开程序 P0 1.输入密码
    2.点击验证
    25个a 合法 合法
    pwd_005 不合法(7位字符) 登录 打开程序 P0 1.输入密码
    2.点击验证
    7个a 不合法 不合法
    pwd_006 不合法(8位字符) 登录 打开程序 P0 1.输入密码
    2.点击验证
    8个a 不合法 不合法
    pwd_007 不合法(26位字符) 登录 打开程序 P0 1.输入密码
    2.点击验证
    26个a 不合法 不合法
优化边界值离店只用选四个中的两个:上点内点必须取,离点选择开内闭外(开区间选内部的点,闭区间选外部的点)

判定表法(解决多条件依赖(重要的是需要满足多条件和依赖两个条件))

解决多个条件以及条件和结果之间有制约关系的测试(也叫决策表)

由4个部分组成

  1. 条件桩:所有条件的名称,先后顺序没有约束
  2. 动作桩:指所以可能采取的操作,顺序没有约束
  3. 条件项:条件桩中条件所有可能的取值
  4. 动作项:与条件项密切相关,列出在条件项下的各组取值情况下应该采取的动作

规则:

  • 判定表中贯穿条件项和动作项的一列就是一条规则
  • 假如有n个条件,每个条件的取值有a个,则全组合有a^n种规则
具体工作流程:
  1. 明确需求(需求分析)
  2. 画出判定表
    • 列出所有的条件桩和条件项
    • 列出所有的动作桩和动作项
    • 根据规则,确定动作项设计初始判定表
    • 简化判定表,合并相似规则,设计测试用例
  3. 根据规则编写测试用例
具体操作举例

超市产品销售:

超市中如果某产品的销售好且库存低,则继续销售并添加该产品的进货;如果该产品销售好,但库存不低,则继续销售;如果该产品销售不好,但库存低,则下架该产品;如果该产品销售不好,且库存量不低,如果有空货架则继续销售,如果没有空货架,则下架该产品

(销售量大于等于1000为销售好,库存低于100则库存低)

  1. 明确需求
条件桩 动作桩
销售好 继续销售
库存低 增加进货
有空货架

2.判定表制作:

此为方便操作添加的编号

1 2 3 4 5 6 7 8
条件 销售好 T T T T F F F F
条件 库存低 T F T F F T F T
条件 有空货架 T T F F F F T T
动作 继续销售
动作 增加进货
动作 产品下架

测试时,其中相似动作的可以合并为一个测试测试结果,所以只需要测试合并前的其中一个数据即可:

  • 如1可以和3合并
  • 2可以和4合并
  • 5可以和6合并

3.编写测试用例

用例编号 用例标题 项目/模块 前置条件 优先级 测试步骤 测试数据 预期结果 实际结果
market_001 继续销售,增加进货(销售量大于等于1000,库存小于100,有空货架) 超市 打开软件 P1 1.填写销量
2.填写库存量
3.查看有无空货架
4.点击验证
销售量2000,库存量50,有空货架 继续销售,增加进货 继续销售,增加进货
market_002 继续销售(销售量大于等于1000,库存大于100,有空货架) 超市 打开软件 P1 1.填写销量
2.填写库存量
3.查看有无空货架
4.点击验证
销售量1100,库存量110,有空货架 继续销售 继续销售
market_003 继续销售,增加进货(销售量大于等于1000,库存小于100,无空货架) 超市 打开软件 P1 1.填写销量
2.填写库存量
3.查看有无空货架
4.点击验证
销售量3100,库存量50,无空货架 继续销售,增加进货 继续销售,增加进货
market_004 继续销售(销售量大于等于1000,库存大于100,无空货架) 超市 打开软件 P1 1.填写销量
2.填写库存量
3.查看有无空货架
4.点击验证
销售量3100,库存量150,无空货架 继续销售 继续销售
market_005 产品下架(销售量小于1000,库存小于100,无空货架) 超市 打开软件 P1 1.填写销量
2.填写库存量
3.查看有无空货架
4.点击验证
销售量800,库存量50,无空货架 产品下架 产品下架
market_006 产品下架(销售量小于1000,库存大于等于100,无空货架) 超市 打开软件 P1 1.填写销量
2.填写库存量
3.查看有无空货架
4.点击验证
销售量800,库存量150,无空货架 产品下架 产品下架
market_007 继续销售(销售量小于1000,库存量大于等于100,有空货架) 超市 打开软件 P1 1.填写销量
2.填写库存量
3.查看有无空货架
4.点击验证
销售量800,库存量150,有空货架 继续销售 继续销售
market_008 产品下架(销售量小于1000,库存量小于100,有空货架) 超市 打开软件 P1 1.填写销量
2.填写库存量
3.查看有无空货架
4.点击验证
销售量800,库存量50,有空货架 产品下架 产品下架

场景法(流程图法)

主要是模拟真实使用场景来进行测试。通过执行和设计各种场景来模拟用户的操作行为

具体工作流程:
  1. 需求分析
  2. 根据基本流和各项备选流来生成不同场景
  3. 编写测试用例
具体操作举例:

图书管理系统测试:
图书卡办理人员在注册界面录入读者登记信息,系统验证录入信息是否有效,并验证此信息是否被录入过,如果有效且唯一,办理人员录入图书卡卡号收取押金,系统将读者信息增加到读者信息表,并将卡号与读者绑定,办理人员将图书卡和押金收据交于读者。

(ps:读者信息为4位字符,卡号为6位数字)

  1. 需求分析

基本流:

  1. 开始

  2. 办理人员录入读者信息

  3. 系统验证有效

  4. 系统验证读者信息没有被注册

  5. 办理人员录入图书卡卡号

  6. 办理人员收取押金

  7. 系统将读者信息增加到读者信息表

  8. 系统将卡号与读者绑定

  9. 办理人员将图书卡和押金收据交于读者

  10. 结束

备选流:

3a. 系统验证无效

4a.系统验证读者信息被注册

6a.办理人员收取押金失败

  1. 根据基本流和各项备选流来生成不同场景

    根据基本流和备选流画出流程图

  2. 编写测试用例:

    用例编号 用例标题 项目/模块 前置条件 优先级 测试步骤 测试数据 预期结果 实际结果
    library_001 注册成功 图书管理系统 打开程序 P0 1. 录入信息
    2.录入卡号
    3.收取押金
    4.把卡号和押金条给读者
    读者信息:abcd
    卡号123456
    押金收取成功
    注册成功 注册成功
    library_002 注册失败(信息无效) 图书管理系统 打开程序 P0 1. 录入信息
    2.录入卡号
    3.收取押金
    4.把卡号和押金条给读者
    读者信息:abc 注册失败 注册失败
    library_003 注册失败(信息不唯一) 图书管理系统 打开程序 P0 1. 录入信息
    2.录入卡号
    3.收取押金
    4.把卡号和押金条给读者
    读者信息:abcd 注册失败 注册失败
    library_004 注册失败(押金未收取) 图书管理系统 打开程序 P0 1. 录入信息
    2.录入卡号
    3.收取押金
    4.把卡号和押金条给读者
    读者信息:ASDF
    卡号123459
    押金收取失败
    注册失败 注册失败
posted @ 2026-07-26 21:47  星之奔流  阅读(4)  评论(0)    收藏  举报