如何设计完整的测试用例

一、完整的测试用例

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

  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. 根据流程图设计测试用例

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

相关推荐
大柏怎么被偷了19 小时前
【软件测试】测试的岗位有哪些?
软件测试·测试
革斤要加油6 天前
测试开发基础——软件测试中的bug
bug·测试
Amd79410 天前
使用 nuxi upgrade 升级现有nuxt项目版本
测试·开发·命令·升级·nuxt 3·nuxi·项目创建
bug菌¹14 天前
滚雪球学MyBatis-Plus(13):测试与部署
部署·测试·mybatis-plus·零基础入门教学
开测开测21 天前
day31-测试之性能测试工具JMeter的功能概要、元件作用域和执行顺序
测试开发·测试工具·jmeter·单元测试·压力测试·性能测试·测试
开测开测22 天前
day35-测试之性能测试JMeter的测试报告、并发数计算和性能监控
测试开发·测试工具·jmeter·压力测试·性能测试·测试·监控
small_snowball24 天前
三种自动化测试(接口自动化,UI 自动化,单元测试)保姆级教程
java-ee·测试
让开,我要吃人了25 天前
OpenHarmony实战开发: unittest单元测试的编写
linux·华为·log4j·移动开发·测试·harmonyos·鸿蒙
多则惑少则明1 个月前
软件测试第1章 软件测试是什么
测试·测试与质量保证
Serendipity_筱楠1 个月前
解决Pytest UnknownMarkWarning: Unknown pytest.mark.single - is this a typo?
python·pytest·测试