测试用例分析方法,测试用例分析方法
测试用例设计方法之异常分析法
什么是异常分析法
异常分析法就是针对系统有可能存在的异常操作、软硬件缺陷引起的故障进行分析,依此设计测试用例。主要针对系统的容错能力、故障恢复能力进行测试。简单一点说就是人为让系统出现故障,然后检查系统的故障恢复能力。
如何使用异常分析法
该方法的步骤非常简单,依赖于测试者的经验。
步骤1:针对系统罗列可能的故障
这些故障包含软件和硬件方面的故障,常见的故障有:
1. 断电
2. 断网
3. 硬件损坏
4. 数据损坏
5. 内存不够
6. .......
为了能更好的罗列故障,需要多查看用户反馈的故障报告,多深入了解被测的系统。
步骤2:针对每种可能故障设计测试用例
设计测试用例时主要要考虑如何更有效更经济的制造各种故障。
案例
例如:针对某在线音乐播放器进行测试,需要考虑断网的异常。从测试用例的角度来说,就是先用该播放器播放歌曲,然后拔掉网线,人为制造断网的故障,过一段时间后再接上网线,恢复网络,这时候来查看一下播放器是否还能正常工作。
异常分析法可以作为典型的测试用例设计方法的一个补充。
测试用例设计方法有哪些?
可以采用软件测试常用的基该方法:等价类划分法、边界值分析法、错误推测法、因果图法、逻辑覆盖法等设计测试用例。视软件的不同性质采用不同的方法。如何灵活运用各种基该方法来设计完整的测试用例,并最终实现暴露隐藏的缺陷,全凭测试设计人员的丰富经验和精心设计。
编写测试用例文档应有文档模板,须符合内部的规范要求。测试用例文档将受制于测试用例管理软件的约束。 软件产品或软件开发项目的测试用例一般以该产品的软件模块或子系统为单位,形成一个测试用例文档,但并不是绝对的。
测试用例文档由简介和测试用例两部分组成。简介部分编制了测试目的、测试范围、定义术语、参考文档、概述等。测试用例部分逐一列示各测试用例。每个具体测试用例都将包括下列详细信息:版本号、模块名称、用例编号、用例名称、用例级别、预知条件、验证步骤、期望结果(含判断标准)、测试结果、测试时间、测试人员等。
扩展资料
测试用例设计一般遵循以下原则:
(1)正确性。输入用户实际数据以验证系统是否满足需求规格说明书的要求;测试用例中的测试点应首先保证要至少覆盖需求规格说明书中的各项功能,并且正常。
(2)全面性。覆盖所有的需求功能项;设计的用例除对测试点本身的测试外,还需考虑用户实际使用的情况、与其他部分关联使用的情况、非正常情况(不合理、非法、越界以及极限输入数据)操作和环境设置等。
(3)连贯性。用例组织有条理、主次分明,尤其体现在业务测试用例上;用例执行粒度尽量保持每个用例都有测点,不能同时覆盖很多功能点,否则执行起来牵连太大,所以每个用例间保持连贯性很重要。
(4)可判定性。测试执行结果的正确性是可判定的,每一个测试用例都有相应的期望结果
(5)可操作性。测试用例中要写清楚测试的操作步骤,以及与不同的操作步骤相对应的测试结果。
编写测试用例方法-流程分析法
优先写这个方法是原因
????????因为此设计方法是站在业务的角度上,对于快速熟悉业务更有帮助。而工作多年后如果没有偶尔复习也会对这些理论模糊。
? ? ? ? 流程分析法又叫场景分析法,是编写测试用例时最常见的方法,我们在测试过程中将软件系统分析成多个路径,根据路径的不同组合来进行测试,在测试的过程中使得软件的各个分支都能得到测试。但这个编写方法的不校验单个功能节点的正确性,只关心流程能不能走通。所以在此之前需要用其他方法保证单功能的正确性。
流程分类
? ? ? ?1. 基本流:在实现业务流程时,每个步骤操作均正确,完成期望的业务。[举例登录流程:首次输入正确的用户名、密码,登录成功]
? ? ? ? 2.备选流:在实现业务流程时,因错误操作或者是异常操作,导致流程反复,最终完成期望的业务。
[举例登录流程:首次输入正确的用户名、错误的密码,登录失败;再次尝试输入正确的用户名、密码,登录成功]
? ? ? ?3. 异常流:在实现业务流程时,因错误操作或者是异常操作,导致流程反复,但最终未完成期望的业务。[举例登录流程:首次输入正确的用户名、错误的密码,登录失败;总共输入3次正确的用户名、错误的密码,账号被锁定。]
使用方法
? ? ? ? ?1. ?需要理解需求,分析业务流程,提炼出什么是基本、备选流、异常流;
? ? ? ? 2.尝试画出流程图,图形化展示以上三类流程;
? ? ? ? 3.根据流程图,分析各种不同的业务场景路径;
? ? ? ? 4.编写测试用例。
流程图举例
? ? ? ? 我查看了网上多个流程图的画法,是表达出了这个意思。不过相对来说路径没那么容易理解。对于画一个让人很容易就理解的流程图暂时还没想到画怎样的。
下一篇
? ? ? ? 下一篇我将补上以上的流程图,以及一个完整的例子。并且针对于此方法设计到的很多路径,对路径的提炼,将详细谈谈 判定表 这个方法。
编写测试用例常用的五种方法
一,等价类法。
? ? ? 此方法多适用于输入的参数存在有效规则和无效规则;
其运用步骤1,罗列有效无效规则,绘制有效无效规则表;如下图注册用户时用户名的有效无效规则表:
第2步,构造数据,根据有效无效规则构造一些测试数据;
其中构造数据需遵从两个规则:
1,一条有效数据尽可能多的包含有效规则,目的是为了减少用例的冗余;
2,一条无效数据只能包含一条无效规则,目的是精确定位问题。
第3步,编写测试用例。
用到等价类法通常考虑:长度、组成(数字字母符号等)、是否区分大小写、是否含有空格、是否为空、是否重复、是否检验空格、全角半角输入。
二,边界值法
? ? 此种方法适用范围是输入的参数存在边界;比如密码规定长度6到18位;
在这应注意三个点:上点、内点和离点。
上点指边界上的点(比如6或者18);
内点指范围内的点(比如9就在6到18这个范围内);
离点指离边界最近的点(比如5或者7)。
其中取点规则是闭外开内;也就是说闭区间取外面的点,开区间取里面的点。
三,判定表法
适用范围输入的参数存在约束关系,不同的逻辑组合形成不同的结果;比如注册时密码与确认密码之间。
步骤1,将输入的参数转化为条件桩,
? ? 2,将输出的结果转化为动作桩,
? ? 3,会形成2的n次方个条件项(n指条件桩的个数),
? ? 4,其中表格中的每一列就是一条测试用例。
四,正交试验法
适用范围:1,输入的参数之间不存在约束关系,
? ? ? ? ? ? 2,输入的参数全部都是正确有效的,
? ? ? ? ? ? 3,不同的逻辑组合形成不同的结果,
其运用步骤,1,将输入的参数转化为因子状态表:
2,用字母替换因子状态表中的状态:
3,在allpairs文件夹中创建一个新的文本文档xxx.txt;
4.把步骤2中生成字母的因子状态表拷贝到xxx.txt中保存;
5,Ctrl(Windows)/command(Mac本)+R ?输入cmd回车打开doc窗口;
6,进去allpairs所在路径(cd allpairs的路径 回车);
7,执行allpairs.exe(allpairs xxx.txtxxx01.txt);
8,打开xxx01.txt把其中Test case的内容拷贝到Excel中;
9,用文字把字母替换回去:
10,其中每一行就是一条用例。
五,流程分析法
这类方法先把流程图画出来,然后根据里面的判定框编写测试用例。
如何设计好测试用例
什么是测试用例
测试用例也叫测试案例,是在执行测试之前由测试人员编写的指导测试过程的重要文档,主要包括:用例编号、测试目的、测试步骤、预期结果等
注意:不同公司使用的用例模板可能存在差异,但都大同小异
为什么要写测试用例
1、防止测试点的遗漏,让测试覆盖的更全面
2、方便做版本的回归测试
3、监督测试过程,评估结果
4、提高测试效率,避免盲目测试
5、缩短周期,比如当版本更新或升级时,只需修正少部分测试用例即可,用例资源可以做到重复使用
测试用例编写依据
1、业务需求文档或需求规格说明书
2、开发文档,比如概要设计文档、详细设计文档
3、参考已开发出来的程序,即一边对照程序+需求文档,一边写测试用例
4、与开发人员、需求人员、客户进行沟通确认
什么是好的测试用例
1、用例覆盖率最大化:好的测试用例是完整的用例集合,能够完全覆盖测试需求
2、测试数据的准确性:等价类划分准确,每个等价类范围的数据,测试效果一致
3、测试数据的全面性:保证所有可能的边界值和边界条件涵盖在内,且正确识别
设计测试用例的常见方法
1、等价类划分法
2、边界值分析法
3、错误推测法
4、因果图法
5、判定表法
6、正交排列法
7、功能图分析法
8、场景法等
其中,等价类划分法、边界值法、错误推测法是平时工作中最常用的方法,也是设计好一个测试用例的装备武器,本节课主讲等价类划分法和边界值分析法。
方法一:等价类划分法
将所有可能的输入数据划分为若干子集,从每一个子集中,挑选任意输入数据,测试效果是一样的。那么这样的子集就是一个等价类。
比如有一个需求是:某输入框只能输入-99(含)至99(含)之间的整数,且不能为空
有效等价类(有效数据)可划分为:
-99至0之间的任意整数
0至99之间的任意整数
无效等价类(无效数据)可划分为:
小于-99的整数
大于99的整数
为空的情况
非整数的情况(浮点数、字母、特殊字符、中文字符)
如下图:
方法二:边界值分析法
对输入或输出的边界值进行测试的一种黑盒测试方法,即选取边界值进行测试。因为测试数据的边界值在程序中最容易出错,所以边界值应该重点测试。
还是以上面需求为例:某输入框只能输入-99(含)至99(含)之间的整数,且不能为空
有效边界值包括:
-99(最小边界值)
-98(有效最小次边界值)
-1(边界值)
0(边界值)
1(边界值)
98(有效最大次边界值)
99(最大边界值)
无效边界值包括:
-100(无效最小次边界值)
100(无效最大次边界值)
备注:测试过程中,只要是需要输入数据的地方,就可以使用等价类划分法和边界值分析法,这两个方法一般是搭配使用的。
方法三:错误推测法
基于对被测软件系统的理解、过往经验以及个人直觉,推测出软件可能存在的缺陷,从而有针对性地设计测试用例的方法。
即错误的操作,比如输入输出数据为0或空格等容易错误的情况。将其作为测试用例来执行。
测试用例的几种常见设计方法
一、等价类划分
? ?????? 定义: 把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,用少量代表性的测试数据,取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。
1)确定等价类
? ?????????? 有效等价类: ? ? 满足输入条件的
? ?????????? 无效等价类: ? ? 不能满足输入条件的? ?? 超出范围的数值??
????????????空值? ?
????????????特殊字符? ?
? ? ? ? ? ? 有空格(前、中、后)
2)生成测试用例
每个等价类编写一个测试用例;
设计一条测试用例,尽可能多地覆盖所有还未被覆盖的有效等价类;
设计一条测试用例,覆盖一条还未被覆盖到的无效等价类。
等价类划分的六大原则:
1)输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
例如:手机号码由11位数字组成
有效:11位符合电话号码规则的数字
无效:1、小于11位数字;2、大于11位数字
2)在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。
3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。布尔量是一个二值枚举类型,一个布尔量具有两种状态:true和false
4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
例如:
输入条件说明输入为:中文、英文、数字三种之一,则分别取这三种值作为三个有效等价类,另外把这三种字符以外的任何字符作为无效等价类
5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
例如:输入条件说明每个学生可选修1~3门课程
有效:选修1~3门课程
无效:1、未选修课程
? ? ? ? ? ? 2、选修课程超过3门
6)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
等价类划分法要点:长度、类型、字母、汉字、特殊字符、空、空格
二、边界值分析法
边界值分析方法是对等价类划分方法的补充。
使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是着重测试边界的情况。选取正好等于,刚刚大于或刚刚小于边界值的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
1)如果输入条件规定了一个输入值范围,那么应针对范围的边界设计测试用例,针对刚刚越界的情况设计无效输入测试用例;
比如:需求规定输入的数字在0~100范围内,此时测试数据应该有一下几类:
a.刚刚等于边界:0、100;
b.刚刚超出边界范围:-1、101:;
c.刚刚在范围内:1、99
2)如果输入条件规定了输入值的数量,那么应针对最小数量输入值、最大数量输入值,以及比最小数量少一个、比最大数量多一个的情况设计测试用例;
例1:输入手机号码有:
a 输入11位合法数字;b 输入10 位合法数字;c 输入12位合法数字
例2:输入6~8位数字密码:
a 输入6位数字;b 输入8位数字c 输入5位数字;d 输入9位数字
3)如果程序输入或输出是一个有序序列,则应该特别注意该序列的第一个和最后一个元素。
三、错误推测法
错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。需要多实践,且在实践时多积累常见问题。
? ? ? 错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例-例如, 在单元测试时曾列出的许多在模块中常见的错误-以前产品测试中曾经发现的错误等, 这些就是经验的总结。还有, 输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行-这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。
四、因果图法
????????因果图法适用于描述对于多种输入条件组合的测试方法。(有多步输入操作)
? ? ? ? 根据输入条件的组合、约束条件和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适用于检查程序输入条件涉及的各种组合情况。
例题:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。
分析:
输入条件:a? 投入1元5角硬币? ? ? b? 投入2元硬币
1? 按“可乐”按钮? ? ? ? 2? 按“雪碧”按钮? ? ? 3? 按“红茶”按钮
中间状态:1? 已投币? ? ? 2? 已按按钮
输出结果:A? 送出可乐? B? 送出雪碧? ? C? 送出红茶? ? D? 退还5角硬币
测试用例:
1)投币1元5角,按“可乐”按钮,送出可乐
2)投币1元5角,按“雪碧”按钮,送出雪碧
3)投币1元5角,按“红茶”按钮,送出红茶
4)投币2元,按“可乐”按钮,送出可乐,退5角硬币
5)投币2元,按“雪碧”按钮,送出雪碧,退5角硬币
6)投币2元,按“红茶”按钮,送出红茶,退5角硬币
输入组合:投硬币+按按钮
结果组合:送出饮料+退钱