第4章节 测试用例篇总结
一、测试用例基础
(一)概念
测试用例(Test Case)是实施测试的核心集合,包含测试环境、操作步骤、测试数据、预期结果等关键要素,核心必需部分是定义预期输出或结果。
(二)核心作用
- 确保功能测试全面,可衡量测试覆盖率;
- 支持新版本回归测试,避免重复冗余测试,提升效率;
- 明确测试责任,避免测试人员不必要的责任纠纷。
(三)编写形式
传统形式为表格化呈现(含用例编号、标题、测试方式等要素),当前主流企业采用思维导图/脑图形式,更适配敏捷模型。
二、测试用例设计核心思维与万能公式
(一)核心思维
需结合常规思维+逆向思维+发散性思维,遵循两大原则:
- 既要覆盖有效/预料输入,也要包含无效/未预料输入;
- 既要验证程序"做了该做的",也要检查"没做不该做的",不默认程序无错。
(二)万能公式
设计维度全覆盖:功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试,补充常用测试类型:弱网测试、安装卸载测试。
- 功能测试:验证程序与外部规格说明的一致性,需求不明确时可通过查文档、参会、实测产品、参考历史Bug等方式补充;
- 界面测试:确保整体实现与设计图一致,验证所有界面元素及控件操作;
- 性能测试:关注软件"做得好不好",如响应速度、稳定性等;
- 兼容性测试:验证软件在不同硬件、系统(iOS/Android)、浏览器/机型的适配性,优先选择Top级、主流设备覆盖;
- 易用性测试:检查产品是否简单易上手,适配新用户快速熟悉流程;
- 安全测试:防范隐私数据泄露、SQL注入、越权操作等问题;
- 弱网测试:借助Fiddler工具构造弱网环境,验证页面响应、呈现一致性、超时处理、重连机制等,需覆盖不同网络制式(WI-FI/4G/3G/2G)及切换场景;
- 安装卸载测试:针对需部署的软件,验证其安装、卸载过程的完整性和正确性。
三、测试用例设计方法
(一)基于需求的设计方法
- 核心逻辑:分析需求文档/产品规格说明书,提炼合理且细化的需求,拆解测试点,再设计用例;
- 示例:以邮箱注册需求为例,先明确账号注册、登录等功能点,再结合万能公式补充测试维度。
(二)具体设计方法
| 方法 | 核心逻辑 | 适用场景 | 步骤/要点 |
|---|---|---|---|
| 等价类 | 将输入/输出划分为有效(符合需求)和无效(不符合需求)等价类,每个类选一个用例代表,减少冗余 | 输入域范围较大,无法穷举测试 | 1. 划分有效/无效等价类;2. 设计测试数据验证 |
| 边界值 | 对输入/输出的边界及次边界值测试,作为等价类补充 | 有明确数值范围的输入/输出场景 | 取边界值(如1-11取1、11)和次边界值(如0、12) |
| 正交法 | 基于正交表挑选代表性测试点,覆盖输入两两组合,减少用例数 | 多因素、多水平的输入组合场景 | 1. 确定因素(如注册项)和水平(填写/不填写);2. 用allparis工具生成正交表;3. 编写用例并补充遗漏重点 |
| 判定表法 | 用表格清晰表达输入条件组合与输出结果的对应关系 | 输入条件组合影响输出结果的场景 | 1. 明确输入/输出条件;2. 梳理条件与结果的关联;3. 绘制判定表;4. 编写用例 |
| 场景法 | 模拟事件触发的流程场景,覆盖基本流(常规流程)和备选流(异常/特殊流程) | 业务流程类功能测试 | 1. 确定基本流;2. 识别备选流;3. 补充场景用例;4. 编写用例 |
| 错误猜测法 | 基于对软件的理解、过往经验和直觉,推测可能缺陷 | 补充其他方法未覆盖的潜在问题 | 关注特殊场景(如特殊字符、大小写、明文显示等),依赖个人能力 |
四、不同场景测试用例设计示例
(一)命令行程序(如zip/unzip)
- 功能测试:验证不同文件类型(txt/图片/视频)、多文件、空文件夹的压缩/解压,错误命令处理;
- 界面测试:命令行提示的美观性和友好性;
- 性能测试:大文件(超1G)压缩的可行性和耗时;
- 兼容性测试:多系统(Windows/Linux/Mac)适配;
- 易用性测试:是否提供帮助教程(如zip --help);
- 安全测试:避免文件内容泄露。
(二)Web接口(如博客详情页接口)
- 请求方式:GET/POST等不同方式的响应验证;
- 参数测试:空参数、多参数、少参数、参数值异常(空/过长/特殊字符);
- 参数格式:url拼参、form-data、raw等格式适配;
- 性能测试:高并发(如千万级请求)下的响应能力和响应时间;
- 工具使用:推荐Postman导入请求、保存接口、执行测试,提升效率。
(三)Linux命令(如cd)
需覆盖功能(切换目录、相对/绝对路径)、边界(不存在的目录、特殊字符目录名)、异常(权限不足、目录被删除)等场景(作业要求)。