本文大纲
《我的敏捷软件项目管理实践》
编写测试用例-正方
输入与输出
输入:
- 脑图+功能清单
- 产品原型图
- 《需求规格说明书》或《产品需求文档》(PRD)
- 《概要设计文档》
过程活动:编写测试用例
参与者:测试工程师
输出:《测试用例文档》
干货
- 编写高质量的测试用例是确保软件质量和可靠性的关键步骤。通过“5种边界值”等测试思想编写测试使用,可以发现更隐蔽问题。
- 开发工程师都需要树立“交付合格代码”的理想信念,之前的“单元测试”保障了这一点。
- QA人员不是为了找出开发人员低级的bug,QA人员能够创造更大的价值,他们做探索性测试、创建测试自动化、与产品负责人紧密合作完善需求和验收条件。
1. 明确目标与范围
- **目标:**测试用例的目标是验证系统功能是否符合需求,覆盖正常场景和异常场景,确保系统的稳定性、性能和安全性。
- **范围:**根据需求文档和概要设计,确保理解所有功能和非功能需求,明确需要测试的功能模块和接口,避免遗漏或冗余。
- **功能分解:**将大功能分解为多个小功能点,便于逐一测试。
- 优先级排序:根据业务重要性和技术复杂度,确定各功能点的优先级。
2. 测试用例的设计原则
- 明确性:每个测试用例应清晰、简洁,避免歧义。
- 独立性:测试用例应相互独立,不依赖其他用例的执行结果。
- 可重复性:在相同条件下,测试用例的执行结果应一致。
- 高效性:覆盖核心功能和高风险区域,减少冗余。
3. 测试用例结构
一个完整的测试用例应包含以下要素:
| 要素 | 描述 |
|---|---|
| 用例编号 | 唯一标识符,便于管理和追踪(如:TC_001)。 |
| 用例标题 | 简洁描述测试内容,突出测试目标(如:“验证登录功能正常”)。 |
| 前置条件 | 执行测试前必须满足的条件(如:“用户已注册且未登录”)。 |
| 输入数据 | 测试时使用的具体输入值(如:“用户名=‘test’,密码=‘123456’”)。 |
| 操作步骤 | 详细的操作流程,确保测试过程可重复执行。 |
| 预期结果 | 测试通过的标准结果(如:“跳转至首页,显示欢迎信息”)。 |
| 实际结果 | 测试执行后的实际结果(用于记录,便于问题追踪)。 |
| 优先级 | 标明测试用例的重要程度(如:高、中、低)。 |
4. 测试的5种值
为了确保系统在各种情况下都能正常运行,测试用例应覆盖以下场景:
- 正常值:验证系统在预期条件下的正常工作情况。
- 空值:测试系统对空输入的处理能力(如:未填写必填字段)。
- 最大值、最小值:测试边界条件,确保程序能处理极端值。
- 边界值:测试最大值、最小值及其临界值(如:输入字符长度为1或最大限制)。
- 错误值:验证系统对无效输入的响应(如:输入非法字符)。
5. 测试用例设计方法
采用科学的方法设计测试用例,可以提高覆盖率和效率:
- 等价类划分:将输入数据划分为有效和无效等价类,减少冗余测试。
- 边界值分析:重点测试边界条件,发现潜在问题。
- 因果图法:分析输入与输出之间的因果关系,生成测试用例。
- 状态转移法:适用于涉及状态变化的功能模块(如订单状态流转)。
- 错误推测法:基于经验,推测可能存在的问题并设计针对性测试。
6. 测试用例评审与优化
- 评审:组织团队成员(开发、测试、产品经理)对测试用例进行评审,确保其完整性和准确性。
- 优化:根据评审反馈调整测试用例,删除冗余部分,补充遗漏场景。
7. 测试用例的管理
- 使用工具(如TAPD、JIRA、TestLink)管理测试用例,方便跟踪执行情况。
- 定期更新测试用例,以适应需求变更和系统迭代。
8. 示例:测试用例模板

需要模板的读者,请下载附件。
