软件测试用例设计总结
一、通用原则
- 等价类划分法,将无限的测试变成有限的测试
- 边界值分析法,是在任何用例中都必须用到的方法
- 错误值推测法,能帮助我们在原有用例的基础上追加补充一些用例
- 若输入条件需要考虑组合情况,则可用因果图法和判定表法
- 参数配置类的测试,可结合正交试验法筛选用例
- 业务流程清晰的系统,可选用场景法设计测试用例
- 对于有状态迁移和逻辑功能路径组合的情况,考虑使用功能图法。
对照程序逻辑,检查已设计出的测试用例逻辑覆盖度,如果没有达到要求的覆盖标准,应再补充足够的测试用例。
二、设计思想
(1)化大为小&模块化
整体分析得出简易用例
细节分析细化用例
填充数据完善用例
(2)优化
利用设计测试用例的8种方法不断的分解合并测试用例,利用发散的思维构造测试用例。
三、实例之新建岗位
业务描述:
- superuser用户登录岗位之后可以请求新建岗位
- 进入“岗位信息查询”页面可以点击新建岗位
- 新建岗位时,可以设定新建的岗位名称,所在部门,岗位描述信息
- 新建岗位信息不能缺失,如果某一项没写要给出提示
- 岗位名称长度不超过100个字符
- 岗位描述长度不超过1000个字符
- 保存时岗位名不能重复
- 填写完信息后可选择保存或取消操作,然后返回“岗位信息描述”页面,结束流程
整体分析得出简易用例
基本流 | 1.superuser用户登录 2.进入 “岗位信息查询”页面点击新建 3.打开新建岗位页面 4.输入新建岗位信息 5.点击保存 |
备选流1 | 基本流步骤3岗位信息没有输入完整 |
备选流2 | 基本流步骤3岗位名称超过100个字符 |
备选流3 | 基本流步骤3岗位描述超过1000个字符 |
备选流4 | 保存时岗位名重复 |
备选流5 | 保存时选择取消操作 |
生成简易用例
场景1 | 基本流 |
场景2 | 基本流→备选流1 |
场景3 | 基本流→备选流2 |
场景4 | 基本流→备选流3 |
场景5 | 基本流→备选流4 |
场景6 | 基本流→备选流5 |
用例ID | 场景 | 场景描述 | 预期结果 |
---|---|---|---|
TC001 | 场景1 | 输入有效岗位信息并保存 | 成功创建岗位并返回岗位信息描述页面 |
TC002 | 场景2 | 输入不完整岗位信息并保存 | 提示输入信息不完整,岗位信息不被保存,返回步骤4 |
TC003 | 场景3 | 输入岗位名称超过100字符并保存 | 提示岗位名称超过100字符,岗位信息不被保存,返回步骤4 |
TC004 | 场景4 | 输入岗位描述超过1000字符 | 提示岗位描述超过1000字符,岗位信息不被保存,返回步骤4 |
TC005 | 场景5 | 保存时岗位名称重复 | 提示岗位已存在,保存失败并返回步骤4 |
TC006 | 场景6 | 保存时选择取消 | 岗位信息未保存,返回岗位信息描述页面 |
细节分析细化用例
用例ID | 场景 | 场景描述 | 预期结果 |
---|---|---|---|
TC001 | 场景1 | 输入有效岗位信息并保存 | 成功创建岗位并返回岗位信息描述页面 |
TC002 | 场景1 | 输入无效岗位信息并保存(岗位名称里含有非法字符) | 提示岗位信息中含有非法字符,保存失败,返回步骤4 |
TC003 | 场景1 | 输入无效岗位信息并保存(所在部门中含有非法字符) | 提示岗位信息中含有非法字符,保存失败,返回步骤4 |
TC004 | 场景1 | 输入无效岗位信息并保存(岗位描述中含有非法字符) | 提示岗位信息中含有非法字符,保存失败,返回步骤4 |
TC005 | 场景2 | 输入不完整岗位信息并保存(岗位名称为空) | 提示输入信息不完整,岗位信息不被保存,返回步骤4 |
TC006 | 场景2 | 输入不完整岗位信息并保存(所在部门为空) | 提示输入信息不完整,岗位信息不被保存,返回步骤4 |
TC007 | 场景2 | 输入不完整岗位信息并保存(岗位描述为空) | 提示输入信息不完整,岗位信息不被保存,返回步骤4 |
TC008 | 场景3 | 输入岗位名称99字符并保存 | 成功创建岗位并返回岗位信息描述页面 |
TC009 | 场景3 | 输入岗位名称100字符并保存 | 成功创建岗位并返回岗位信息描述页面 |
TC010 | 场景3 | 输入岗位名称101字符并保存 | 提示岗位名称超过100字符,岗位信息不被保存,返回步骤4 |
TC011 | 场景4 | 输入岗位描述999字符 | 成功创建岗位并返回岗位信息描述页面 |
TC012 | 场景4 | 输入岗位描述1000字符 | 成功创建岗位并返回岗位信息描述页面 |
TC013 | 场景4 | 输入岗位描述1001字符 | 提示岗位描述超过1000字符,岗位信息不被保存,返回步骤4 |
TC014 | 场景5 | 保存时岗位名称重复 | 提示岗位已存在,保存失败并返回步骤4 |
TC015 | 场景6 | 保存时选择取消 | 岗位信息未保存,返回岗位信息描述页面 |
TC016 | 异常事件流1 | 保存时数据库服务器故障,网络故障 | 岗位信息未保存,提示系统异常 |
填充数据完善用例略。
四、方法应用
功能划分要简单清晰,一个测试用例只检查一个功能模块
测试用例的划分也要单一,一个测试用例只检查功能点的一种情况
测试用例要有简单的目的描述,要有明确的执行前提,包括环境,场景,数据,要有明确的测试数据
一般设计步骤
根据设计规格得出基本测试用例
1.补充边界值测试用例
2.补充错误猜测测试用例
3.补充异常测试用例
4.补充性能测试用例
Web类常用控件测试用例设计思路
Textbox实例1:要求一个textbox控件不能为空,可以填写任何字符,长度不能超过20,设计测试用例。
按长度用边界值法设计测试用例
1.输入0个字符(报错)
2.输入1个字符(正常)
3.输入19个字符(正常)
4.输入20个字符(正常)
5.输入21个字符(报错)
按字符类型设计测试用例
输入汉字(正常)
输入英文字符串(正常)
输入数字(正常)
输入符号(正常)
安全性方面设计测试用例
XSS攻击(正常)
Textbox实例2:一个textbox表示金额,小数点后最多2位,字符长度不超过10,设计测试用例
字符长度边界值测试
输入9位字符(正常)
输入10位字符(正常)
输入11位字符(报错)
小数位数边界值测试
输入为空(报错)
输入2位小数(正常)
输入3位小数(报错)
字符类型测试
输入汉字(报错)
输入string字符串(报错)
输入空格(报错)
输入除.外的符号(报错)
输入超过1个.(报错)
Select实例:一个下拉菜单框,默认值为空,有A,B,C3个选项,单选,不可写,设计测试用例
默认值为空检查(正常)
不可写检查(正常)
选择A(正常)
选择B(正常)
选择C(正常)
单选检查(正常)
Web网页通常分为展示型和提交型。
展示型页面测试用例设计:一个web页面,含有table数据,用来展示数据库中的名字,金额。设计测试用例
页面元素检查
检查Table格式(正常)
检查其他页面样式(正常)
页面数据检查
名字为空(正常)
名字含有汉字(正常)
名字最大长度(正常)
金额为空(正常)
金额为0(正常)
金额带2位小数(正常)
金额最大长度(正常)
注:其他无效等价类自行设计。