一、测试用例设计的基本要素和常用方法
测试用例设计的四个基本要素:
- 测试环境
- 操作步骤
- 测试数据
- 预期结果
测试用例设计的七个常用方法:
- 基于需求进行测试用例的设计
- 等价类
- 边界值
- 因果图/判定表
- 正交表法/正交排列
- 场景设计法
- 错误猜测法
1、基于需求进行测试用例的设计
(1)什么是基于需求进行测试用例的设计?
- 基于需求设计测试用例是测试设计和开发测试用例的基础。
- 这种设计需要分析测试需求,验证需求是否正确、完整、无二义性,并且逻辑自洽。
- 在需求正确的基础上细化测试需求,从测试需求提炼出测试点或者测试项,根据每一个测试点进行测试用例的设计。
(2)基于需求进行测试用例应该如何设计?
通常会从以下八个方面进行分析:
- 功能
- 性能
- 界面
- 易用性
- 兼容
- 安全
- 网络
- 安装卸载
思考逻辑:
- 给出某某功能时,列出操作步骤。基于上述八个方面分析。按操作步骤顺序,逐个逐个考虑。
- 同时结合等价类和边界值补充。(出现属性、值等概念时,需要特别注意等价类和边界值)
2、等价类
(1)什么是等价类?
等价类是指:依据需求对输入域进行划分,划分为若干个子集,从子集中选出少量代表性数据作为测试用例,如果该测试用例测试通过,则认为所代表的数据子集测试通过,是一种常用的黑盒测试方法。
(2)等价类测试用例的优缺点?
- 优点:用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
- 缺点:等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。
(3)什么是有效等价类和无效等价类?
有效等价类:
- 对于程序的规格说明书是合理的、有意义的输入数据构成的集合。
- 利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能。
无效等价类:
- 根据需求说明书,不满足需求的集合。
(4)等价类测试用例设计的步骤?
- 理解需求
- 划分有效等价类和无效等价类
- 从有效等价类中抽取少量数据进行测试,从无效等价类中抽取少量数据进行测试
3、边界值
(1)什么是边界值分析法?
边界值分析法,就是对输入或输出的边界值进行测试的一种黑盒测试方法,通常边界值分析法是作为对等价类划分法的补充,其测试用例来自等价类的边界。
(2)什么是边界点?
边界点分为上点、内点、离点。
- 上点:指刚好位于边界上的点,与开闭区间无关
- 内点:指位于边界内的点,与开闭区间无关
- 离点:指边界值附近的点
- 如果是闭区间,取区间外离上点最近的点
- 如果是开区间,取区间内离上点最近的点
4、因果图/判定表
(1)什么是因果图?
- 因果图是一种描述输入条件的组合以及每种组合对应的输出的图形化工具。
- 可以在因果图的基础上转化为判定表,并根据判定表设计测试用例。
(2)因果图关系定义
基本符号:
- 恒等:条件为真,结果也为真;条件为假,结果也为假;
- 非:条件为真,结果却为假;条件为假,结果却为真;
- 与:所有条件为真,结果为真;一个条件为假,则结果为假;
- 或:一个条件为真,则结果为真;多个条件都为假,则结果为假;
约束条件:
- 互斥(E):最多一个条件成立;
- 包含(I):至少有一个条件成立;
- 屏蔽(M):条件A成立,条件B必然不成立;条件A不成立时,不影响条件B的结果;
- 唯一(O):多个条件中有且只有一个条件成立;
- 要求(R):一个条件成立,另一个条件必然成立;
(3)如何将因果图转化为判定表,并设计测试用例?
判定表是一种表达逻辑判断的工具。
从因果图分析,到转换判定表,到编写测试用例,通常经过以下步骤:
- 分析所有可能的输入(条件)和输出(条件);
- 找出输入条件之间,输出条件之间和输入输出条件之间的因果关系;(可以通过画出因果图表示)
- 根据因果关系(或因果图)设计判定表并填写;
- 根据判定表编写具体测试用例;
(4)因果图/判定表具体使用示例
一个简单示例:“售货机售卖饮料”
5、正交表法/正交排列
(1)什么是正交表法?
- 正交试验设计是一种基于正交表的、高效率、快速、经济的试验。
- 根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验。
- 通过对试验结果的分析了解全面试验的情况,找出最优的水平组合。
- 正交法的目的是为了减少用例数目,用尽量少的用例覆盖输入的两两组合。
(2)正交表法常用概念
- 因素(Factor):凡欲考察的变量称为因素(变量)
- 水平(位级)(Level):每一因素的取值称为水平(变量的取值)
正交表的构成
- 行数(Runs):正交表中的行数,即试验的次数,用N代表
- 因素数(Factors):正交表中列的个数,用C代表
- 水平数(Levels):
- 任何单个因素能够取得的值的最大个数
- 正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”,用T代表
正交表的表示形式
- L N ( T C ) L_{N}(T^C) LN(TC) —— L_{行数}(水平数^因素数)
- 以上公式没有任何数学公式关系,只是一种表示形式
(3)如何使用正交法设计测试用例?
- 确定因素(变量)
- 确定每个因素的每个水平值(变量的取值):充分利用等价类和边界值方法进行取值
- 选择合适的正交表
- 把变量的值映射到表中
- 把每一行的各因素水平的组合作为一个测试用例
- 加上其他没有在表中出现,但可能出现问题的测试用例组合
(4)如何选择合适的正交表?
- 正交表的性质:
- 每一列中各数字出现的次数都一样多。
- 任何两列中的各有序数对出现的次数都一样多。
- 只有特定的因素数和水平数才有对应的正交表。
- 选择正交表时需要使用最贴近实际的正交表。
- 正交表的因素数和水平数一般大于实际的因素数和水平数。
(5)正交表设计软件 allpairs
3、调出cmd控制台,使用命令行,进入allpairs所在文件夹,并执行
allpairs.exe 刚刚保存的txt名>需要新建的txt名
命令
6、场景设计法
(1)什么是场景设计法?
场景设计法是指:
- 模拟用户的操作行为和操作环境,根据场景进行测试。
- 场景设计法必须且只能存在一个主事件流,而次事件流则没有限制。
场景设计法适合的使用场景:
- 适用于解决业务流程清晰的系统或功能。
(2)什么是主事件流和次事件流?
- 主事件流是指软件功能正确实现的流程。
- 次事件流是指基本功能之外的流程。
(3)场景设计法的测试用例设计步骤?
- 描述程序的主事件流和次事件流。
- 根据主事件流和次事件流生成不同场景。
- 针对每一场景生成对应的测试用例。
- 复审测试用例,去除多余用例。
- 确定每一测试用例的测试数据。
(4)场景设计法具体使用示例
1、以场景法设计测试用例时,列出基本流和备选流,一个备选流写一个支线语句即可。
2、根据基本流和备选流,列出可能出现的场景。
3、根据场景写出具体场景描述和和分析表。
4、根据分析表中的测试用例写出具体数据和预期结果。
二、测试用例设计方法的综合选择流程
进行测试用例设计时,整体的思路:
- 首先必须使用等价类划分和边界值分析。
- 如果程序的功能说明中含有输入条件的组合情况,则可以使用因果图/判定表法。
- 如果软件存在参数配置相关,则可以使用正交实验法,以达到选择较少的组合方式进行测试的目的。
- 如果软件业务流清晰,可以使用场景法贯穿整个测试案例过程。
- 正交实验法适用场景不多,视具体情况使用。
- 可以使用错误猜测法,追加、完善测试用例。
- 最后总览程序逻辑,检查逻辑覆盖程度,不足时再行补充测试用例。