如何设计完整的测试用例

一、完整的测试用例

一个完整的测试用例不止是测试点,它有以下要素(可以补充其它的):

  1. 用例编号:项目-模块-编号
  2. 用例标题:预期结果(测试点)
  3. 模块/项目:所属项目或模块
  4. 优先级:表示用例的重要程度或者影响力P0 ~ Px(P0最高)
  5. 前置条件:要执行此条用例,有哪些前置操作。
  6. 测试步骤:描述操作步骤。
  7. 测试数据:操作的数据,没有的话可以为空。
  8. 预期结果:期望达到的结果。

下面是结合测试用例设计方法来设计完整的测试用例设计,测试用例设计方法的介绍:黑盒测试的测试用例设计方法(很全!!!) - 掘金 (juejin.cn)

二、等价类划分法

针对:需要有大量数据测试输入,但是没法穷举测试的地方。

典型代表:页面的输入框类测试。

(一)验证某城市电话号码正确性

要求:

  1. 区号:空或者是三位数字。
  2. 前缀码:非"O"且非"1"开头的三位数字。
  3. 后缀码:四位数字。

设计测试用例:

  1. 需求:就是上面的要求。
  2. 划分有效和无效等价:分为三个板块来划分。

在列有效数据的时候,保证三个板块同时满足。

在列无效数据的时候,保证当前板块不满足,而其它板块满足,这是因为无效数据的焦点是当前板块。如果它不满足多个板块,那么测试的时候我们就不知道到底是哪个板块不满足。

  1. 测试用例:罗列测试用例的时候有一条口诀:正向,一条用例覆盖多条;负向,每一条都是测试用例;对于负向测试用例,要保证测试用例单独覆盖我们想要测试的点。

二、边界值法

使用步骤:

  1. 明确需求
  2. 确定有效和无效等价类
  3. 确定边界范围值
  4. 提取数据编写测试用例

有了边界值法,对于确定有效和无效等价类我们不再考虑位数以及规则,这由边界值法来考虑。

使用场景:

  • 在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)。
  • 常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语。
  • 典型代表:有边界范围的输入框类测试。

(一)QQ校验

要求:6~10位自然数

  1. 明确需求:即要求。
  2. 划分有效、无效等价:
    1. 有效:自然数
    2. 无效:非自然数
  3. 确定边界范围:
    1. 上点:6位、10位
    2. 离点:5位、11位
    3. 内点:8位

三、判定表法

适用场景:有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系;判定表一般适用于条件组合数量较少的情况(比如4个条件以下)。

步骤:

  1. 明确需求
  2. 画出判定表
    1. 列出条件桩与动作桩
    2. 填写条件项,对条件进行全组合
    3. 根据条件项的组合确定动作项
    4. 简化、合并相似规则
  3. 根据规则编写测试用例

(一)订购单检查

要求:

  1. 如果金额大于500元,又未过期,则发出批准单和提货单。
  2. 如果金额大于500元,但过期了,则不发批准单与提货单。
  3. 如果金额小于等于500元,则不论是否过期都发出批准单和提货单。
  4. 在过期的情况下不论金额大小还需要发出通知单。

(1)需求:上面的要求。

(2)判断表:

(3)测试用例

四、场景法

场景法主要用于设计业务用例。

(一)ATM 取款

  1. 流程图
  1. 根据流程图设计测试用例

将每一个分支看作一个测试用例。

相关推荐
孤蓬&听雨3 天前
Kafka自动生产消息软件(自动化测试Kafka)
分布式·kafka·自动化·测试·生产者
帅得不敢出门6 天前
Python+Appium+Pytest+Allure自动化测试框架-安装篇
python·appium·自动化·pytest·测试·allure
陈明勇7 天前
自动化测试在 Go 开源库中的应用与实践
后端·go·测试
帅得不敢出门8 天前
Python+Appium+Pytest+Allure自动化测试框架-代码篇
python·appium·自动化·pytest·测试·allure
Dylanioucn8 天前
《解锁 TDD 魔法:高效软件开发的利器》
后端·功能测试·测试·测试驱动开发·tdd
北京_宏哥9 天前
《最新出炉》系列入门篇-Python+Playwright自动化测试-41-录制视频
前端·python·测试
努力的小雨10 天前
新手入门Java自动化测试的利器:Selenium WebDriver
后端·测试
画江湖Test15 天前
pytest 单元框架里,前置条件
python·自动化·pytest·测试·1024程序员节
城下秋草21 天前
AI测试之 TestGPT
测试工具·单元测试·ai编程·测试
Pandaconda21 天前
【新人系列】Python 入门(二):Python IDE 介绍
开发语言·ide·后端·python·面试·职场和发展·测试