[测试]测试用例的概念及设计方法

发布于:2025-03-18 ⋅ 阅读:(18) ⋅ 点赞:(0)

1. 测试用例的概念

什么是测试用例?

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。

设计测试用例原则一:
测试用例中一个必需部分是对预期输出或结果进行定义。

测试用例要素:

用例编号 test-01
标题 成功注册网易邮箱
测试方式 手工测试
功能模块 注册登陆
重要性 重要
测试前提 系统运行正常,邮件服务器已开启
测试环境 win10 Chrome版本103.0.5060.66(正式版本)(64位)
测试数据 邮箱地址:1111111111@qq.com
密码:123456
手机号:12312341234
测试步骤 1. 打开谷歌浏览器,输入网易注册地址:https://mail.163.com/register/index.html
2. 输入邮箱地址,密码,手机号,获取验证码并输入正确的验证码,勾选协议
3. 点击注册按钮
期望结果 展现注册成功的结果页,并且使用注册的账号可以正常登陆并进入邮箱首页

2. 设计测试用例的万能公式

设计测试用例的万能公式:
功能测试 + 界面测试 + 性能测试 + 兼容性测试 + 易用性测试 + 安全测试

2.1 功能测试

功能测试是一个试图发现程序与外部规格说明之间存在不一致的过程。外部规格说明是一份从最终用户的角度对程序行为的精确描述。

需求不明确时, 如何进行功能测试?

  • 查找其他相关文档,帮助理解产品目标
  • 参加项目组内的会议,加深对产品的理解
  • 召集相关人员,评审整理的结果
  • 使用已上线产品,了解历史bug
2.2 界面测试

对软件界面上所有的内容都需要进行测试。

要求:

  • 整体界面测试:界面的实现与设计图要求一致
  • 界面元素测试:控件操作验证
2.3 性能测试

性能测试和功能测试的区别是:功能测试检查软件是否做了,而性能测试测试软件做的好不好。

2.4 兼容性测试

软件是否能够在不同的环境下正确运行需要测试人员进行验证。

兼容性测试的选取标准:

  • 优先选择使用当前产品top级别的机型进行测试
  • 选择主流的浏览器/机型进行测试
2.5 易用性测试

易用性测试的标准是检查产品是否具备简单易上手的属性。

2.6 安全测试

安全测试和性能测试一样都是比较大的领域。常见的安全问题如:

  • 隐私数据明文显示
  • 参数未强校验导致SQL注入
  • 越权:普通用户也可以执行管理员权限的操作
  • 除了万能公式之外,还有⼀个⽐较常⽤的测试类型:弱⽹测试、安装卸载测试
2.7 弱网测试

弱网测试的目的就是尽可能保证用户体验,关注的关键点包括:

  • 页面响应时间是否可以接受,关注包括热启动、冷启动时间、页面切换、前后台切换、首字时间,首屏时间等。
  • 页面呈现是否完成一致。
  • 超时文案是否符合定义,异常信息是否显⽰正常。
  • 是否有超时重连。
  • 安全角度:是否会发生dns劫持、登陆ip更换频繁、单点登陆异常等。
  • 大流量事件风险:是否会在弱网下进⾏更新apk包、下载文件等大流量动作。

在这里插入图片描述
弱网需要借助工具来构造弱网,这里推荐使用fiddler

  1. fiddler配置代理
  2. fiddler进行抓包(桌面/移动端)
  3. fiddler如何构造弱网条件
    在这里插入图片描述
2.8 安装卸载测试
  • 针对需要进行部署的软件,除了软件功能外,我们还需要关注软件的能够成功安装和卸载

3. 设计测试用例的方法

3.1 基于需求的设计方法

基于需求的设计方法也是总的设计测试用例的方法,在工作中,我们需要参考需求文档/产品规格说明书来设计测试用例。

步骤:

  1. 明确需求中的功能点
  2. 结合万能公式设计测试点
    在这里插入图片描述

在这里插入图片描述

3.2 具体的设计方法
3.2.1 等价类

等价类法依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过。

等价类分类:

  • 有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合
  • 无效等价类:根据需求说明书,不满足需求的集合

根据等价类设计测试用例的方式:

  1. 确定有效等价类和无效等价类
  2. 编写测试用例,设计具体测试数据
    在这里插入图片描述
3.2.2 边界值

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充。

边界值包含:

  • 边界值 + 次边界值
    在这里插入图片描述
3.2.3 正交法

正交法的目的是为了减少用例数目。用尽量少的用例覆盖输入的两两组合。

正交试验设计:
正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验。

正交表的构成:

  • 因素数
  • 水平数
  • 行数

正交法设计测试用例的步骤:

  1. 找到因素和水平

  2. 用allparis工具生成正交表
    a. 将因素和水平写⼊Excel表格中
    b. allparis目录下创建新的文本文件new.txt,复制Excel中的因素和水平,直接粘贴到文本中保存并退出
    c. 使用allparis命令生成正交表:allparis.exe new.txt>zhengjiao.txt

  3. 根据正交表编写测试用例

  4. 补充遗漏的重要测试用例

继续以邮箱注册为例, 采用正交法补全剩下的测试用例。
5. 找到因素和水平
因素:姓名、电子邮箱、密码、确认密码、验证码
水平:填写、不填写
6. 用allparis工具生成正交表
a. 将因素和水平写入Excel表格中
b. allparis目录下创建新的文本文件0714.txt,复制Excel中的因素和水平,直接粘贴到文本中保存并退出
c. 使用allparis命令生成正交表:allparis.exe 0714.txt>0714jg.txt(将生成的正交表数据放入0714jg.txt文件中)
在这里插入图片描述

  1. 根据正交表编写测试用例
    在这里插入图片描述

  2. 补充遗漏的重要测试用例
    在这里插入图片描述

3.2.4 判定表法

判定表是一种表达逻辑判断的工具,通过判定表可以清晰地表达出所有条件对应的结果。

根据判定表法设计测试用例的步骤:

  1. 确认需求中输入条件和输出条件
  2. 找出输入条件和输出条件之间的关系
  3. 画判定表
  4. 根据判定表编写测试用例

假设存在以下需求:
用户输入的账号中包含admin字符,或者通过内部链接进入注册页面,提交注册按钮成为管理员身份;反之无管理员身份。

  1. 确认需求中输入条件和输出条件
    输入条件:账号包含admin字符(a)、内部注册链接(b)、点击注册按钮©
    输出条件:管理员(1)、⽆管理员(2)

  2. 找出输入条件和输出条件之间的关系
    输入条件:ac ab bc abc a b c 非abc
    对应结果:1 2 1 1 2 2 2 2

  3. 画判定表
    在这里插入图片描述

  4. 根据判定表编写测试用例
    a. 账号包含admin,非内部注册链接,点击注册按钮,为管理员⾝份
    b. 账号包含admin,内部注册链接,不点击注册按钮,非管理员⾝份
    c. 账号不包含admin,内部注册链接,点击注册按钮,为管理员⾝份
    d. 账号包含admin,内部注册链接,点击注册按钮,为管理员⾝份
    e. 账号包含admin,非内部注册链接,不点击注册按钮,非管理员⾝份
    f. 账号不包含admin,非内部注册链接,点击注册按钮,非管理员⾝份
    g. 账号不包含admin,非内部注册链接,不点击注册按钮,非管理员⾝份

3.2.5 场景法

场景法是通过运用场景对系统的功能点或业务流程的描述,从而提高测试效果的一种方法。
在这里插入图片描述

场景法设计测试用例的步骤:

  1. 确定基本流
  2. 确定备选流
  3. 根据备选流补充测试用例
  4. 编写测试用例
3.2.6 错误猜测法

错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。

错误猜测法的缺点:

  • 难以系统化
  • 过度依赖个人能力

以注册为例
1、校验中特殊字符空格的处理?
2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文


4. 更多用例练习

4.1 命令行程序

zip命令的测试用例:

  • 功能测试:对不同的文件类型进行测试
  • 界面测试:文件压缩成功命令行提示是否美观
  • 性能测试:文件大小超过1G时文件是否可以压缩
  • 兼容性测试:zip工具可以在多系统上使用
  • 易用性测试:zip命令有使用帮助教程
  • 安全性:使用zip命令不会泄漏文件内容
4.2 Web程序

博客系统接口的测试用例:

  • 不同的请求方式:GET、POST
  • 参数组合:空参数、多参数、少参数
  • 不同的参数格式:url拼参、form-data格式、raw格式
  • 接口性能:一千万个请求同时发起,是否能够返回响应