及之而后知,履之而后艰,乌有不行而能知者乎?。-- 魏源
释译:实际接触之后才知道真相,新自做了之后才知道困难,哪有不实践就能够知道的呢?
需求 -> 分析 -> 设计 -> 策略,理论是实践的基础,思想是实践的指导,理论与思想指导实践。
如何将理论与思想应用于实践,做就好了;遇到问题,使用理论、勤于思想,解决了问题,技能自然提高。
Just Do it !做就好了。
1. 测试用例是什么?
- 测试用例,Test Case
- 为验证软件某个特定项(功能/非功能),而设计的一系列配置、输入、环境及预期结果,用于验证软件实现对需求的满足度
- 软件需求、设计细化
- 测试用例是测试执行步骤的细节描述,目的是验证软件需求的达成度,是软件分析、设计(方法/技术)及策略(方式)的具体体现
2. 测试用例做什么?
- 软件测试分析、设计、策略所形成的方式、方法实例化
- 覆盖软件需求
- 模拟应用场景
- 指导软件执行
- 保障软件质量 - 记录软件测试内容变更,控制软件测试版本
- 分配软件测试任务,确认执行结果,评估软件质量
3. 测试用例组成要素
- 基本要素
用例要素 | 说明 |
用例编号 | |
功能模块/流程 | 测试对象/功能项 |
测试项 | 测试对象/功能项细化,分级描述,如1,1-1,1-1-1…… |
测试点 | 特定的验证/测试目的 |
关联模块 | 数据流入、流出模块,接口或设计用模块,Driver/Stub |
测试环境/前置条件 | 特殊要求/准备 |
测试数据 | 动作 -> 数据 -> 对象 |
操作步骤 | 每个步骤只完成一个操作 |
预期结果 | |
设计人 | |
设计时间 | |
更新人 | |
更新时间 | |
更新原因 |
- 补充要素 -- 建议项,作为软件测试用例公共项描述
补充要素 | 说明 |
项目/软件 | 应用系统名称 |
系统背景 | 应用环境/行业/基本规范 |
系统版本 | 测试对象版本 |
测试类型 | 单元/功能/集成/系统/性能……易用性/UI/链接/安全...... |
测试目的 | |
测试环境 | 操作系统/服务器/数据库/客户端/三方软件或插件/网络…… |
特殊说明 | 所需特定软件版本、权限(用户名、密码)…… |
测试参考 | 测试所需参考文件、资产库目录…… |
4. 测试用例设计原则
- 覆盖,价值最大化,目标 100%
- 软件需求定义
- 系统设计业务
- 实际应用场景 - 业务主场景(主流程) + 分支场景(分支流程)
- 正常操作 + 异常操作(系统能正常结束吗?能正常处理吗?足够健壮吗?安全吗?) - 清晰
- 目标明确:测试类型,测试对象,测试策略
- 每次只针一个测试点进行用例设计(特别是性能测试)
- 验证标准可操作、有指导性:具体数据 或 准确描述
- 预期结果的“好、正常”之类的描述,不能准确指导测试执行者,可以考虑使用图片 或 手绘示意进行说明或指明参考 - 简洁
- 动作 -> 数据 -> 验证对象
- 陈述句:步骤 + 预期结果
- 一般现在时,客观(尽量不使用形容词或副词) - 主次
- 识别主流程 和 分支流程
- 区分正常场景 和 异常场景
- 适用不同测试类型 和 测试策略(冒烟测试、验收测试、健壮性测试) - 改进
- 需求、设计、实现变更,及时更新测试用例
- 对业务理解深入,调整(增加/删减)测试用例
- 每轮测试结束后,依据实际执行调整(增加/删减)测试用例(数据/描述)
- 测试结束后,更新测试用例模版,方便后续使用;提取公共测试用例,提升测试设计和执行效率
- 梳理测试类型、测试工具,精简测试用例,提高测试用例复用率
5. 测试用例管理基础
说明:
- 目标:提高测试用例设计、更新、分配、执行、查询、统计分析的效率
- 过程中的当前数据 及 历史数据对测试过程是极其重要的,是质量评估和工作效率评价的基础
- 建议使用工具(系统)进行管理,当然EXCEL是不错的选择(大型系统,需要注意操作性能、查询统计功能)
- 软件过程管理工具中会有对测试用例管理的小模块(或是通过某种变化完成对测试用例设计及执行的管理),功能完备度一般
- ClearCase(IBM),JIRA(缺陷管理,通过第3方插件扩展可以实现用例管理),TestLink(开源,PHP)
- 测试用例设计/更新版本记录、执行任务分配,正在寻找更适合的工具(也在自我实现中)
- 测试公共项描述
- 测试用例设计 / 评审(review)/ 版本更新
- 基本要素 + 补充要素
- 更新人
- 更新时间
- 更新原因
- 用例状态(在用/弃用)
- 版本更新记录 -- 查询 / 对比测试用例更新原因 - 测试用例任务分配
- 执行版本
- 分配人
- 执行人
- 分配时间
- 计划完成时间 - 测试用例执行
- 执行人
- 执行时间
- 执行备注
- 提交缺陷链接
- 回归执行(问题验证)记录 - 测试用例分析/总结 -- 配合缺陷分析
- 需求项(需求列表)-> 测试用例设计数 -> 测试用例执行数 -> 测试用例通过数
- 用例类型(功能、易用性、UI)
- 展示方式:表、图 + 简要说明 + 质量说明(测试系统)
6. 再多一点
- 测试用例大纲
- 测试用例大纲:测试对象 -> 测试项 + 子测试项1 + 。。。子测试项2 -> 测试点
- 测试用例大纲是测试策略、测试用例设计的目录化(测试用例模版前4列,参考 基本要素)
- 明确测试用例逻辑,指导测试用例设计
* 明确测试对象、测试项
* 分级测试项、细化测试点
- 保障测试需求覆盖,对应验收测试确认