用例的核心要素(16个)
主要内容
用例编号:命名方法:项目名_表格名_模块名_编号名
用例标题:验证谁在什么情况下,去做什么,最后的结果是什么
所属模块:软件测试的模块
优先级别:测试数据的级别
前置条件:需以用例标题的来编写
操作步骤:测试数据流程
测试数据:测试数据
预期结果
实际结果
辅助内容
是否通过
BugID
编写人员
编写时间
测试时间
测试人员
备注

高质量测试用例
* 测试用例覆盖所有的用户需求
* 测试用例简单明了
* 各类型的测试用例要齐全
* 用最少的用例覆盖最多的要求
黑盒、白盒、接口测试一系列用例设计方法
黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景图法等。
(一)等价类划分法
定义:等价类划分法是把所有可能输入的数据,即程序的输入域划分策划国内若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。方法是一种重要的、常用的黑盒测试用例设计方法。
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其他值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分有两种不同的情况:有效等价类和无效等价类。
有效等价类,是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明所规定的功能和性能。
无效等价类 指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能多个。
划分标准:
●完备测试、避免冗余
●划分等价类重要的是:集合的划分、划分为互不相交的一组子集,而子集的并是整个集合
●并是整个集合:备性
●子集互不相交:保证一种形式的无冗余性
●同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到“相同的执行路径”。
划分方法:
1) 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0~100;
2)在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类:
3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。布尔量是一个二值枚举类型, 一个布尔量具有两种状态: true 和 false 。
4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种的四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。
5)在规定了输入数据必须遵守的规则情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);
6)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应在将该等价类进一步的划分为更小的等价类
实例1:三角形问题
某程序规定:“输入三个整数a、b、c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形、等边三角形时,分别做计算。。。”用等价类划分方法为该程序进行测试用例设计。
分析题目中给出和隐含的对输入条件的要求:
(1)整数(2)三个数(3)非零数(4)正数
(5)两边之和大于第三边(6)等腰(7)等边
如果a、b、c满足条件(1)~(4),则输出下列四种情况之一:
1)如果不满足条件(5),则程序输出为“非三角形”
2)如果三条边相等即满足条件(7),则程序输出为“等边三角形”
3)如果只有两条边相等,及满足条件(6),则程序输出为“等腰三角形”
4)如果三条边都不相等,则程序输出为“一般三角形
列出等价类表并编号

案例二:

划分等价类并编号,下表为等价类划分的结果

边界值分析法
定义:边界值分析是取稍高与或稍低于边界的一些数据进行测试
确定边界值的方法
* 上点:指边界上的点,无论此时的域是开区间还是闭区间,开区间的话,上点是域外,闭区间的话,上点是域内
* 离点:指离上点最近的点,这里就跟闭区间还是开区间就有关系了,如果是开区间,那么离点就是域内,如果是闭区间,那么离点就在域外(开内比外)
遵循的原则:开内闭外 开区间往中间找,闭区间往外找
* 内点:域内的任意点都是内点

案例一:

分析:

因果图法:
定义:因果途达比较适合输入条件比较多的情况,测试所有的输入条件的排列组合,所谓的原因就是输入,所谓的结果就是输出
因果图测试用例的编写过程
1、确定原因,结果,中间过程
2、连接因果图
3、标明约束条件
4、输出测试用例
错误推测法
定义:错误猜测大师测试经验丰富的人喜欢使用的一种测试用例设计方法,一般这种方法是基于经验和直觉推测程序中可能发送的各种错误,有针对性地设计,只能作为一种补充
技巧:最重要的是要思考和分析测试对象的各个方面,多参考以前发现的bug的相关数据,中介的经验,个人多考虑异常的情况,反面的情况,特殊的输入,以一个攻击者的态度对待程序,就能设计出比较完善的测试用例来
判定表法
定义:设计测试用例时,分析和表达多输入条件执行不同操作的黑盒测试方法,该方法和因果图法相似
判定表测试用例编写过程
1、确定原因和动作
2、排列组合
3、标明结果关系
4、输出测试用例
正交实验法
使用工具:正交表
正交实验法概述:是利用排列整齐的表,正交表来对实验进行整体设计,综合比较,统计分析,实现通过少数的实验次数找到较好的生产条件,已达到最高生产工艺效果
这种实验设计发是从大量的试验点中条选适量的具有代表性的点,利用已经造好的表格一正交表来安排并进行数据分析的方法
正交表能够在因素变化范围内均衡抽样,使每次实验都具有较强的代表性,由于正交表具备均衡分散的特点,保证了全面实验的某些要求,这些实验往往能否较好的更好的到达实验的目的
正交实验设计包括两部分:
第一:是怎样安排实验的
第二:是怎样分析实验结果
正交表测试用例设计方法的特点:
1、用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是复杂
2、对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来,但是更深的缺陷更复杂的缺陷,还是无能为力
3、体的环境下,正交表一般都很难做,大多数,只在系统测试的时候使用此方法
因用场景:
使用正交设计助手
(1)下载解压正交设计助手
(2)文件新建工程
(3)实验新建实验
场景法
定义:通过模拟业务场景来对系统的功能点或业务流程描述,从而提高测试效果的黑盒测试方法
案例:
ATM引入场景法


两个流程:
基本流:正确完成的流程
备选流:存在异常的流程,对于基本流每一步都取反
场景法编写用例过程
1、分析用户场景
2、设计场景覆盖基本流和备选流
3、输出测试用例