一、测试用例的定义
测试用例即在测试执行之前,由测试人员编写的指导测试过程的重要文档,主要包括:用例编号,测试目的,测试步骤(用例描述)、预期结果。
测试用例的标准:让其他测试人员按照测试用例执行测试,能够执行出来。
测试用例的评审:互评互审、测试组开评审会、有用户参加的评审会。
测试用例的用途:
(1)版本的重复测试会很方便,可以快速正确的进行
(2)防止遗漏
(3)提高测试效率
(4)监督测试过程
(5)评估结果
(6)缩短测试周期:版本更新或者升级时,只需修改少部分的测试用例,可以资源复用
编写用例的注意事项:
(1)在编写用例之前应该先确认好用例编号的命名规则,文档、附件的命名规则以及存储,提交的位置。
(2)测试用例编写完成是有评审过程的。
互评互审、测试组评审、甲方的参加的评审会
(3)基本要求:
1条用例先写好(标准:别人按照你写的测试步骤能够顺利执行)
高标准的要求:
能够分析,形成完善的测试思路(方案),实现更好的测试覆盖率和更少的缺陷遗漏
二、测试用例的七种设计方法
编写测试用例可以参考:需求文档、被测系统、开发设计文档、与开发&产品&客户等进行沟通。
等价类划分法、边界值法、因果图法、判定表法、正交排列法、测试大纲法、场景法
应用场合:有数据输入的地方
测试思想:每个数据范围测试效果是等价的,所以每个范围是一个等价类,然后从每个范围内抽取数据进行测试,这些测试结果代表这一类数据的测试结果。
有效等价类:有意义、合理的输入数据集合--用来测试功能是否正确实现
无效等价类:无意义、不合理的输入数据集合--用来测试程序是否有强大的异常处理能力(程序的健壮性)
**案例**
被测程序:加法器
被测对象:两个加数文本框
步骤:
1.分析需求,根据需求划分等价类
需求:输入数为-99~99之间的整数,不能为空
有效等价类:
-99~99之间的整数
无效等价类:
>99的整数
<-99的整数
非整数
输入为空
2.细化等价类
有效等价类:
-99~(-1)之间的负整数
0~99之间的正整数
无效等价类:
>99的整数
<-99的整数
非整数(小数、字母、汉字、特殊字符)
输入为空
3.编写测试用例
从每个等价类范围中至少挑选一个代表数据进行测试
用例编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 |
---|---|---|---|---|
加法器_j01 | 第一个加数取-99~(-1)之间的负整数,第二个加数正确取值,检查是否可以正确计算 | 1.输入第一个加数-60 2.输入第二个数34 3.点击计算按钮 |
在结果文本框中显示:26 | 通过测试 |
加法器_j02 | 第一个加数取0~99之间的正整数,第二个加数正确取值,检查是否可以正确计算 | 1.输入第一个加数30 2.输入第二个数34 3.点击计算按钮 |
在结果文本框中显示:64 | 通过测试 |
加法器_j03 | 第一个加数取>99的正整数,第二个加数正确取值,检查是否可以正确计算 | 1.输入第一个加数100 2.输入第二个数34 3.点击计算按钮 |
1.弹出错误提示框,提示“第一个加数应为 -99~99之间的整数” 2.关闭提示框,程序继续运行(光标位于第一个加数的文本框,并清空或选蓝) |
测试失败,光标定位于第一个文本框,没有清空或选蓝 |
案例中的问题:
1、在测试有效等价类时,当测试对象为多个控件时,会出现测试用例冗余(重复)的问题--优化用例可以解决
2、当测试无效等价类时,没有考虑多个控件都为无效的情况--强化用例解决
应用场合:有数据输入的地方
测试思想:实际的开发过程中,数据范围的边界是最容易产生BUG 的地方,为了保证测试质量,我们通常加强边界测试,所以就有了边界值这样的测试方法。
**案例**
被测程序:加法器
被测对象:两个加数文本框
步骤:
1.分析需求,根据需求找出边界值点和次边界值点
需求:输入数为-99~99之间的整数,不能为空
边界值点:
最大值99
最小值-99
次边界值点:
有效最小次边界-98
无效最小次边界-100
有效最大次边界98
有效最大次边界100
2.编写测试用例
**案例-----等价类划分法+边界值法的综合使用**
信息注册(控件包括姓名和年龄、注册)
1.分析需求,分别将姓名、年龄的等价类和边界值进行分析,填入数据分析表
2.根据数据分析结果编写测试用例
注意事项:
1、有效数据(有效等价类+有效边界值)
问题产生:如果单个控件的有效数据单独测试,会产生用例冗余(重复)的问题
如何解决—优化用例
就是一条用例中尽可能多的将多个控件的1个有效数据组合起来测试(简单来说:就是多个控件的有效数据组合起来 测)
效果:用例数减少,测试质量不变,测试效率提高
2、无效数据(无效等价类+无效边界)
首先:要每个控件的无效数据单独测试(1条用例只测1个控件的1个无效数据),不能开始就无效数据组合,为了避免“屏 蔽现象”
“屏蔽现象”—前面控件的错误提示出现后,后面控件的错误提示就不弹出了
最后:适当的做强化测试
1)多个控件的无效数据组合测试(就是多个控件都是错误数据的情况,例如:姓名,年龄都为空)
2)1个控件将多个无效数据组合起来测试(例如:年龄既超范围又是小数又有汉字又有符号 ,95.5(岁))
无效数据的组合强化测试,适当去做即可(可以根据时间调整),不需要所有无效数据组合都测。常常测试: 1)经常使用的组合(例如:都为空)2)在使用中容易出错的组合(例如:54.5岁)
小数类型,等价类+边界值测试时的注意事项:
有效等价类:除了有效的小数外,有效的整数也需要测(小数中默认包含了整数,除非需求中明确的说:小数中 不包含整数)
无效等价类:
A)小数类型—非小数(非数):字母、汉字、特殊字符
B)小数位数—超出小数的有效位数(例如:最多两位,那么>2位就是无效等价类)
3)边界值
A)小数的次边界与边界之间的相差单位是与精确度相关的,例如:精确到小数点后2位,那么相差单位就是 0.01
例如:最小值是:1.00那么次边界就是 0.99 和1.01
B)要考虑小数位数的边界问题。例如:小数位数最大值:小数点后2位
那么次边界是:小数点后1位和小数点后3位
总结:
有效等价类:比较容易找,一般在需求中可以直接找到。数量较少。所以有效等价类测试也称为正向测试或者通过测试
无效等价类:一般数量较多,也被称为“反向测试”或“失败测试”
无效等价类的考虑因素:
说明:
不能为空:为空
不能重复:重复
不能包含**:包含**
类型
整数:非整数(小数,字母,汉字,特殊字符)
小数:非小数(非数:字母,汉字,特殊字符)
字符:如果没有特殊说明不需要细分。字符包含(字母,数字0-9,特殊字符,汉字)
范围
--超出范围的情况
数字范围:比最小值小,比最大值大
字符串长度:不在正确的长度范围的就是无效的
因果图:用画图的方式表达输入条件和输出结果之间的关系。
应用场合:界面中有多个控件,控件之间有组合或者限制关系,不同的控件组合就会输出不同的结果。为了弄清楚输入组合能产生出怎样的输出结果,可以使用因果图法或者判定表法。
测试思想:一般适合测试组合比较少的情况。
因(原因):输入条件
果(结果):输出结果
**案例**
被测程序:加法器
被测对象:两个加数文本框
步骤:
1.分析需求,找出所有的输入条件
2.找出所有的输出结果,将因和果填入判定表中
3.找出条件之间的组合和限制关系
4.明确不同的输入组合会产生什么对应的输出结果,画因果图,填写判定表(实际工作中可以只写判定表,省略因果图)
*******一般图形符合(表示因和果的关系):恒等、与、或、非
恒等和非对应1个输入条件;
与和或对应多个输入条件;
恒等 a=1 b=1;a=0 b=0
非 a=1 b=0 ;a=0 b=1
与 全1则1,有0则0
或 全0为0,有1为1
********限制关系图形符合:互斥(E)、唯一(O)、包含(I)、要求(R)、屏蔽(M)
互斥和唯一为单选,互斥可以不选,唯一必须
包含为多选,不能不选
要求:当a=1,要求b=1,当a=0,b不要求
屏蔽:当a=1,b=0;当a=0,b无所谓
https://www.cnblogs.com/KalosOwen/p/8244770.html
https://www.cnblogs.com/WuYeqian/p/6836243.html
http://www.51testing.com/html/30/n-3719130.html