测试用例设计

前言

黑盒测试用例测试方法: 按需求设计测试用例法, 等价类划分法, 边界值法, 判定表.

测试用例

为什么需要测试用例

在前面的文章中已经介绍过

  1. 测试用例可以提高测试效率, 避免重复测试
  2. 测试用例是自动化测试的基础

测试用例设计方法

1. 基于需求设计测试用例

基于需求设计测试用例的方法是仔细阅读需求文档, 分析测试需求, 检查需求是否正确完整, 以及逻辑是否正确. 确保需求正确并且掌握需求之后, 根据需求来提炼测试点, 在测试点的基础上设计测试用例(测试用例是测试点的详细介绍, 包含了测试用例的几大要素).

一般将测试分为两点. 分别是功能测试和非功能测试.

对于功能测试, 通常包括以下几点:

  • 业务流程(参照需求规格说明书): 在业务流程中, 测试各个功能, 并将功能串起来进行测试.
  • 界面(参照UI设计稿): 测试各个界面是否美观, 检查页面元素大小, 布局等是否与设计稿相符.
  • 易用性: 测试用户操作的易用性. 也就是测试用户的体验. 测试用户使用起来是否流畅, 比如回车触发登录或注册按钮, 按tab键换行, 账号已注册点击注册之后跳转到登陆界面,密码输入错误后是否立即飘红, 是否提示开启大小写等.

对于非功能测试, 有以下几点:

  • 兼容性: 对于兼容性可以测试不同的操作系统以及操作系统版本, 不同的浏览器以及浏览器的版本
  • 性能: 对于性能可以测试接口的响应时间, 接口的承载量,接口的吞吐量, 占用的CPU以及耗电量.
  • 安全: 测试密码是否加密展示, 加密存储, 加密传输, 是否预防了sql注入.
  • 网络: 测试在弱网的情况下接口的响应速度.

以下例子中只写到了测试点, 测试用例还应根据测试用例的几大元素进行详细设计.
在这里插入图片描述

2. 等价类法设计测试用例

等价类法是从有效等价类集合和无效等价类集合中各选出一例用于测试, 如果测试结果都符合预期结果, 则认为有效等价类集合和无效等价类集合中的所有用例都符合预期结果.

有效等价类: 有效等价类是在需求规格说明书中, 符合输入规则的用例集合.

无效等价类: 无效等价类是在需求规格说明书中, 不符合输入规则的用例集合.

等价类法设计测试用例首先要求测试人员掌握需求, 然后划分有效等价类和无效等价类, 最后分别从有效等价类和无效等价类中选出一个数据作为用例进行测试.

举个栗子:
功能需求: 密码位数须在8到16位.

在这里插入图片描述

3. 边界值分析法设计测试用例

边界值法与等价类划分法类似, 但是边界值法比等价类划分法的测试用例更加全面, 测试覆盖率更广, 两者通常结合使用.

边界值法首先也是要充分理解需求, 然后找到边界点, 最后针对边界点设计测试用例.

边界点有以下三种:

  • 上点: 边界上的点
  • 内点: 边界内的点
  • 离点: 对于闭区间, 离点是区间外距离上点最近的点. 对于开区间, 离点是区间内距离上点最近的点. (此规则符合半开半闭区间中寻找离点)

举个例子
功能需求: 密码位数须在8到16位(包括8不包括16).
此时上点为8和16, 内点为8到16之间的任意值, 离点为7和16.

在这里插入图片描述

4. 判定表法设计测试用例

这里需要先介绍一下因果图法, 因为因果图法最终也需要转换成判定表从而设计测试用例, 因此这里标题写成了判定表法.

首先需要了解因果图法中的几个输入和输出间的关系:

  • 与: 所有条件全部满足结果才一定
  • 或: 部分条件满足结果就可一定
  • 恒等: 只要条件一定, 结果恒定
  • 非: 条件为假, 结果才为真

判定表法首先需要分析出所有可能的输入和输出, 然后找出输入和输出间的对应关系, 画出判定表, 最后吧表对判定表对应到每一个测试用例.
比如: 订单提交后, 如果金额满200或有优惠券, 则优惠.

  • 所有可能的输入和输出
    输入: 订单是否提交, 金额是否满200, 是否有优惠券.
    输出: 是否优惠.

  • 输入和输出间的关系
    订单提交, 金额满200, 有优惠券, 优惠
    订单提交, 金额满200, 没有优惠券, 优惠
    订单提交, 金额不满200, 有优惠券, 优惠
    订单提交, 金额不满200, 没有优惠券, 不优惠
    订单未提交, 金额满200, 有优惠券, 不优惠
    订单未提交, 金额满200, 没有优惠券, 不优惠
    订单未提交, 金额不满200, 有优惠券, 不优惠
    订单未提交, 金额不满200, 没有优惠券, 不优惠

  • 画出判定表
    在这里插入图片描述

  • 对应测试用例
    在这里插入图片描述

5. 正交排列法设计测试用例

正交排列法是用更少的用例覆盖判定法输入的两两组合. 是研究多因素多水平的一种设计方法. 在元素的所有水平组合中挑选部分组合设计测试用例, 用部分组合的测试结果代表全部组合的测试结果. 正交设计实验是一种基于正交表的高效率, 快速的实验.

因素: 要考察的变量称为因素.
水平(位级): 变量的值称为水平. 也叫位级. \

正交表有两个性质:

  1. 每列中的各个数字出现的次数一样.
  2. 任意两列中的各有序数对出现的次数一样.

可以使用allpairs来快速生成正交表.

正交法首先要充分了解需求, 然后找出因素和水平. 之后将因素和水平写入一个excle表中. 在allpairs同级目录下, 创建一个txt文件, 然后将excle表中的数据复制到txt文件中. 最后使用cmd生成正交表.

举个例子, 要完成一个注册功能, 用户必须输入用户名, 邮箱, 密码, 确认密码, 验证码才能继续注册.

  • 因素和水平:
    因素: 用户名, 邮箱, 密码, 确认密码, 验证码.
    水平: 填写, 未填写.

  • 建立excle表
    在这里插入图片描述

  • 建立txt文件
    在这里插入图片描述

  • 使用allpairs建立正交表

在这里插入图片描述在这里插入图片描述 ~ 表示可以填写, 也可以不填写.

  • 生成测试用例
    对照正交表设计出测试用例.
    在这里插入图片描述

  • 填补测试用例
    发散思维, 填补必要的测试用例.
    上述例子中正交表中的数据没必要填补, 用例也没必要填补.

6. 场景设计法设计测试用例

通常情况下是通过时间来触发流程, 对同一时间的不同处理结果形成了不同的事件流. 使用场景设计法可以描绘出事件触发时的情景.

使用场景设计法设计测试用例就是用业务流将孤立的功能串联起来, 首先要充分理解业务需求, 确认主事件流和次事件流, 每一条事件流就是一个测试用例. 通常情况下是将用户经常使用的功能模块串联到一起进行测试, 从而确保用户经常使用的功能模块不会出问题.

比如ATM取款:

在这里插入图片描述

7. 错误猜测法

依靠测试经验猜测哪块功能可能会出现错误, 通常是细节上的错误.

  • 24
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

With Order @!147

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值