转载:测试用例的书写方式及测试模板
测试用例的书写方式及测试模板大全
一个优秀的测试用例,应该包含以下信息:
1 ) 软件或项目的名称
2 ) 软件或项目的版本(内部版本号)
3 ) 功能模块名
4 ) 测试用例的简单描述,即该用例执行的目的或方法
5 ) 测试用例的参考信息(便于跟踪和参考)
6 ) 本测试用例与其他测试用例间的依赖关系
7 ) 本用例的前置条件,即执行本用例必须要满足的条件,如对数据库的访问权限
8 ) 用例的编号( ID ),如可以是 软件名称简写 - 功能块简写 -NO. 。
9 ) 步骤号、操作步骤描述、测试数据描述
10 )预期结果(这是最重要的)和实际结果(如果有 BUG 管理工具,这条可以省略)
11 )开发人员(必须有)和测试人员(可有可无)
12 )测试执行日期
例如以下这个模板:
项目 / 软件 |
技术出口合同网络申领系统 |
程序版本 |
1.0.25 |
|
|
|
功能模块名 |
Login |
编制人 |
xxx |
|
|
|
用例编号 - |
TC-TEP_Login_1 |
编制时间 |
2010.10.12 |
|
|
|
相关的用例 |
无 |
|
|
|
|
|
功能特性 |
用户身份验证 |
|
|
|
|
|
测试目的 |
验证是否输入合法的信息,允许合法登陆,阻止非法登陆 |
|
|
|
|
|
预置条件 |
无 |
特殊规程说明 |
如数据库访问权限 |
|
|
|
参考信息 |
需求说明中关于 “ 登陆 ” 的说明 |
|
|
|
|
|
测试数据 |
用户名 =yiyh 密码 =1 |
|||||
操作步骤 |
操作描述 |
数 据 |
期望结果 |
实际结果 |
实际结果 |
测试状态 |
1 |
输入用户名称,按 “ 登陆 ” 按钮。 |
用户名 =yiyh ,密码为空 |
显示警告信息 “ 请输入用户名和密码! ” |
|
|
|
2 |
输入密码,按 “ 登陆 ” 按钮。 |
用户名为空,密码 =1 |
显示警告信息 “ 请输入用户名和密码! ” |
|
|
|
------------>>> |
||||||
测试人员 |
|
开发人员 |
|
|
项目负责人 |
|
=====需求测试用例=======
客户需求列表-需求说明书 | 开发人员-系统说明书-功能列表 | 测试人员--功能点测试列表 |
1注册功能 | 1用户可以自动注册 | (对比发现问题) |
===== 接口测试用例===
接口 A 的函数原型 |
|
||
输入 / 动作 |
期望的输出 / 相应 |
实际情况 |
|
典型值 … |
|
|
|
边界值 … |
|
|
|
异常值 … |
|
|
|
接口 B 的函数原型 |
|
||
输入 / 动作 |
期望的输出 / 相应 |
实际情况 |
|
典型值 … |
|
|
|
边界值 … |
|
|
|
异常值 … |
|
|
|
… |
|
|
==== 路径测试的检查用例====
检查项 |
结论 |
数据类型问题 |
|
变量值问题 |
|
逻辑判断问题 |
|
循环问题 |
|
内存问题 |
|
文件 I/O 问题 |
|
错误处理问题 |
|
… |
|
=====功能测试用例=====
功能 A 描述 |
|
||
用例目的 |
|
||
前提条件 |
|
||
输入 / 动作 |
期望的输出 / 相应 |
实际情况 |
|
示例:典型值 … |
|
|
|
示例:边界值 … |
|
|
|
示例:异常值 … |
|
|
|
功能 B 描述 |
|
||
用例目的 |
|
||
前提条件 |
|
||
输入 / 动作 |
期望的输出 / 相应 |
实际情况 |
|
…… |
======健壮性测试- 容错能力 / 恢复能力测试用例=====
异常输入 / 动作 |
容错能力 / 恢复能力 |
造成的危害、损失 |
示例:错误的数据类型 … |
|
|
示例:定义域外的值 … |
|
|
示例:错误的操作顺序 … |
|
|
示例:异常中断通信 … |
|
|
示例:异常关闭某个功能 … |
|
|
示例:负荷超出了极限 … |
|
|
|
|
|
|
|
|
======性能测试用例=======
性能 A 描述 |
|
||
用例目的 |
|
||
前提条件 |
|
||
输入数据 |
期望的性能(平均值) |
实际性能(平均值) |
|
|
|
|
|
|
|
|
|
|
|
|
|
性能 B 描述 |
|
||
用例目的 |
|
||
前提条件 |
|
||
输入数据 |
期望的性能(平均值) |
实际性能(平均值) |
|
…… |
|||
|
=====界面测试用例-界面检查表=======
检查项 |
测试人员的类别及其评价 |
窗口切换、移动、改变大小时正常吗? |
|
各种界面元素的文字正确吗?(如标题、提示等) |
|
各种界面元素的状态正确吗?(如有效、无效、选中等状态) |
|
各种界面元素支持键盘操作吗? |
|
各种界面元素支持鼠标操作吗? |
|
对话框中的缺省焦点正确吗? |
|
数据项能正确回显吗? |
|
对于常用的功能,用户能否不必阅读手册就能使用? |
|
执行有风险的操作时,有“确认”、“放弃”等提示吗? |
|
操作顺序合理吗? |
|
有联机帮助吗? |
|
各种界面元素的布局合理吗?美观吗? |
|
各种界面元素的颜色协调吗? |
|
各种界面元素的形状美观吗? |
|
字体美观吗? |
|
图标直观吗? |
|
|
|
… |
|
======信息安全测试用例=========
假想目标 A |
|
||
前提条件 |
|
||
非法入侵手段 |
是否实现目标 |
代价-利益分析 |
|
…… |
|
|
|
|
|
|
|
假想目标 B |
|
||
前提条件 |
|
||
非法入侵手段 |
是否实现目标 |
代价-利益分析 |
|
…… |
|
|
|
|
|
|
======压力测试用例===========
极限名称 A |
例如“最大并发用户数量” |
||
前提条件 |
|
||
输入 / 动作 |
输出 / 响应 |
是否能正常运行 |
|
例如 10 个用户并发操作 |
|
|
|
例如 20 个用户并发操作 |
|
|
|
… |
|
|
|
极限名称 B |
|
||
前提条件 |
|
||
输入 / 动作 |
输出 / 响应 |
是否能正常运行 |
|
|
|
|
|
… |
|
|
======可靠性测试用例========
任务 A 描述 |
|
连续运行时间 |
|
故障发生的时刻 |
故障描述 |
|
|
|
|
…… |
|
统计分析 |
|
任务 A 无故障运行的平均时间间隔 |
( CPU 小时) |
任务 A 无故障运行的最小时间间隔 |
( CPU 小时) |
任务 A 无故障运行的最大时间间隔 |
( CPU 小时) |
任务 B 描述 |
|
连续运行时间 |
|
故障发生的时刻 |
故障描述 |
|
|
|
|
…… |
|
统计分析 |
|
任务 B 无故障运行的平均时间间隔 |
( CPU 小时) |
任务 B 无故障运行的最小时间间隔 |
( CPU 小时) |
任务 B 无故障运行的最大时间间隔 |
( CPU 小时) |
====== 安装 / 反安装测试用例============
配置说明 |
|
|
安装选项 |
描述是否正常 |
使用难易程度 |
全部 |
|
|
部分 |
|
|
升级 |
|
|
其它 |
|
|
反安装选项 |
描述是否正常 |
使用难易程度 |
|
|
|
|
|
|