测试用例设计
软件测试设计方法:
等价类(五星)
边界值(五星)
判定表(五星)
场景法(流程图)(五星)
错误推测法(二星)
1.等价类划分法(五星)——复习知识
作用:从穷举测试中解放出来,找到具有共同特性的测试输入子集。
概念:代表性的测试输入集
分类:
有效等价类(满足需求)
无效等价类(不满足需求)
设计测试用例的步骤:
需求分析
划分等价类
设计测试用例
典型应用场景:
具有典型输入框的场景
2.边界值(五星)
作用:对等价类的补充,统计表明程序最容易出错的地方就是在边界附近。
概念:基于边界值【有效等价类和无效等价类的分界点】设计测试用例的一种【黑盒】方法
边界值:
上点:边界之上的点
内点:边界之内的点
离点:离边界最近的左右两点
设计测试用例步骤:
需求分析
划分等价类
确定边界:上点、内点、离点
设计测试用例
典型应用场景:
存在边界 > >= < <= 大于 小于等于
扩展知识:边界值优化【7点变5点】
结论:
上点:必选(不考虑区间开闭)
内点:必选(建议选择中间范围)
离点:开内闭外(考虑开闭区间,开区间选择内部离点,闭区间选择外部离点)
3.判定表(五星)
概念:存在多个输入条件、多个输出结果,输入和输入之间有组合关系,输入和输出之间有依赖或制约关系。
判定表组成:
条件桩:所有输入条件,如欠费状态、关机状态
动作桩:所有的可能的输出结果,如允许主被叫、不允许主被叫
条件项:单个条件的取值范围,一般都是有效等价类和无效等价类
表示方式
字符:
真/有效等价类/Y
假/无效等价类/N
数字:
真/有效等价类/1
假/无效等价类/0
动作项:基于每一种条件的组合,得到确认的结果,如打不通等
设计测试用例的步骤:
1. 明确条件桩(找到所有的输入条件)
2. 明确动作桩(找到所有的输出结果)
3. 对条件桩进行全组合
4. 明确每个组合对应的动作桩(基于每一种条件的组合情况,确定本组合下的输出结果。)
5. 设计测试用例,每行数据对应一条测试用例
真假表示说明:
使用场景:多条件组合情况
4.因果图(扩展)
概念:用图解的方法表示输入的各组合关系,写出判定表,进而设计测试用例的一种【黑盒测试】方法。
适用范围:适用于分析程序输入条件的各种组合情况,以及输入和输出之间的依赖关系。
核心:
因:条件
果:结果
基本符号(掌握)
恒等(-):条件成立,结果成立。
非(~)NOT:条件成立,结果不成立;条件不成立,结果成立。
或(V)OR:只要有一个条件成立,结果就成立;所有条件都不成立时,结果才不成立。
与/且(^)AND:多个条件必须同时成立,结果成立;只要有一个不成立,结果就不成立。
设计测试用例的步骤:
需求分析
画出因果图
将因果图转换为判定表
生成测试用例
小结:
输入条件比较少(2,3,4),推荐直接使用判定表。
输入条件比较多(>4),推荐使用因果图。
5.正交法(扩展)
核心思想
用最小的测试用例获得最大的测试覆盖率。
正交表
基于正交表设计测试用例
步骤:
1.需求分析
2.确定因素与水平(因素:控件名称;水平:每个控件对应的取值)
3.确定要采用的正交表
4.将正交表中的字母用文字代替
5.设计测试用例(一行就是一条测试用例)
基于allpairs设计测试用例
步骤:
需求分析
确定因素与水平(因素:控件名称;水平:每个控件对应的取值)
将确定的因素与水平复制到txt文件中
打开DOS窗口,进入allpairs目录,运行命令:allpairs.exe test.txt > result.txt
根据生成的新文件编写测试用例(一行就是一条测试用例)
6.场景法(流程图法)
概念:场景法就是模拟用户操作软件时的场景,主要用于测试多个功能之间的组合使用情况。
使用测试阶段:
集成测试
系统测试
验收测试
设计测试用例的步骤:
需求分析
绘制流程图
设计测试用例(一条流程路径就是一条测试用例)
流程图常用符号
开始或结束:椭圆
方向或路径:箭头
处理或操作:长方形
判断:菱形
输入或输出:平行四边形
绘制流程图
第1步:确认场景中关键业务步骤
第2步:确定业务之间的先后顺序
第3步:用箭头连接即可
绘制工具
Microsoft Visio
软件介绍
Visio的安装:
以管理员身份运行Visio2003_SP3.exe
默认安装即可,中间不需要修改或填写任何内容
Visio的基本使用:
新建
画图:
选中---del---删除操作
ctrl 鼠标左键 拖拽 画纸边缘 -- 扩大画纸
ctrl 滚轮 -- 放大缩小
组合与取消组合
操作练习:
新建一个流程图
熟悉几个主要的组成元素
熟悉visio的两个工具
使用一下Del删除无关元素操作
调整一下纸张大小(Ctrl+鼠标左键)
组合与取消组合操作练习
7.错误推测法
概念:利用经验或智慧发现程序中可能犯错的地方。
使用场景:
重要功能
使用同类型产品
任务急、时间紧、资源少
8.测试用例设计方法总结
具有输入功能,但输入之间没有组合关系==》【等价类】
输入有边界 如长度、类型==》【边界值】
多输入、多输出、输入与输入之间存在组合关系、输入与输出之间存在依赖或制约关系==》【判定表、因果图】
用最少的测试用例获得最大测试覆盖率时 ==》【正交法】
多个功能的组合测试 ==> 【场景法、流程图】
最后推荐使用【错误推测法】来进一步补充测试用例