常用测试用例设计方法

八大方法及综合策略

一、等价类法
概述:
根据程序对数据的要求,把程序的输入域划分成若干个部分
区分出哪些数据是有效的,哪些数据是无效的,(有效等价类与无效等价类)
从每个部分中选取少数代表性数据作为测试用例

 

步骤:
划分等价类
细化等价类 (对等价类进行编号)
建立等价类表
编写测试用例

 

要点:
被选为测试用例的数据在测试中的作用等价于这一类中的其他值
如果等价类中的一个测试能够捕获一个缺陷,那么选择该等价类中的其他测试也能捕获该缺陷
如果等价类中的一个测试不能捕获缺陷,那么选择该类中的其他测试也不会捕获到缺陷

 

二、边界值法
概述
找到测试数据的边界点,也就是有效等价类和无效等价类的边界点
对边界点数据专门进行测试

步骤:
找到测试数据的边界点, 分析出上点、离点、内点
根据上点、离点、内点写出测试用例

要点:
如果输入条件规定了值的范围,则应取边界点数据,以及边界点两边的数据进行测试
如果输入条件规定了值的个数,则用最大个数及其两边的点、最小个数及其两边的点作为测试数据
根据规格说明的每个输出条件,使用前面的原则
根据规格说明的每个输出条件,应用前面的原则
如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例

 

三、因果图法
概述:
在一个模块或一个界面中,有多个控件,这些控件存在约束关系或组合关系,且输出依赖于输入条件,则可以使用因果图法

步骤:
找出所有的输入条件
找出所有的输出条件
明确所有输入条件之间的制约关系以及组合关系
明确所有输出条件之间的制约关系以及组合关系
找出怎么样的输入条件组合会产生那种输出结果
根据因果图写出判定表
根据判定表写出测试用例

 

要点:
恒等、或(V)、与(∧)、非(~)、互斥(E)、包含(I)、唯一(O)、要求(R)、屏蔽(M)
因果图法主要考虑控件之间条件的组合关系
每个控件的条件不宜过多,最好为2个
控件较多,或每个控件的条件过多,不宜用因果图法

 

四、判定表法
概述:
判断表主要侧重输入条件之间的逻辑关系(画因果图只是一个辅助工具,通过分析最终得到判定表,再通过判定表编写测试用例)

步骤:
找出所有的输入条件
找出所有的输出条件
明确所有输入条件之间的制约关系以及组合关系
明确所有输出条件之间的制约关系以及组合关系
找出怎么样的输入条件组合会产生那种输出结果
根据因果图写出判定表
根据判定表写出测试用例

要点:
判定表的组成:

适合使用判定表设计测试用例的条件:
规格说明以判定表的形式给出,或很容易转换成判定表
条件的排列顺序不影响执行哪些操作
规则的排列顺序不影响执行哪些操作
当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则
如果某一规则要执行多个操作,这些操作的执行顺序无关紧要

 

 

五、正交法
概述:
能够使用最小的测试过程集合获得最大的测试覆盖率

步骤:
根据所测程序中控件的个数以及每个控件的取值个数,选取一个合适的正交排列表
把控件以及取值列出来,并对取值进行编号
把控件以及取值映射到正交排列表中
根据映射好的正交排列表编写测试用例

要点:
一、 n阶拉丁方:
  用n个不同的拉丁字母排成一个n阶方阵, 每个字母在任一行、任一列中只出现一次

 

二、 正交拉丁方:
  设有两个n阶的拉丁方,如果将它们叠合在一起,恰好出n2个不同的有序数对

 

 

三、 正交表是一种特制的表,记为:
m是每个控件包含的取值个数
K表示控件的个数
n是表的行数, n=k(m-1)+1
n=k1(m1-1)+k2(m2-1)+…kx(mx-1)+1
L为正交表的代号
Ln(m1^k1 m2^k2…mx^kx)
正交排列法的局限性:
基本都要求每个控件中取值的个数要相等,这在实际软件中很少遇到
正交表的性质:
每一列中,不同的数字出现的次数相等
任意两列中数字的排列方式齐全而且均衡
即:
正交表的两大优越性,“均匀分散性,整齐可比性”
通俗的说,每个因素的每个水平与另一个因素各水平各碰一次,这就是正交性
种类:
各列水平数均相同的正交表
混合水平正交表
例:L8(4*24)——一个控件有4个属性,4个控件有2个属性

 

六.场景法
概述:
场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程
在冒烟测试时也主要采用场景法进行测试

步骤:
根据说明,描述出程序的基本流及各项备选流
根据基本流和各项备选流生成不同的场景
对每一个场景生成相应的测试用例

 

要点:
一、 基本流:
按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程)

 

二、 备选流 :
导致程序出现错误的操作流程(模拟错误的操作流程)

 

七.大纲法
概述:
在一个程序或程序的某个模块中,涉及到多个窗口,每个窗口中能够完成多个动作
这些窗口又相互联系, 为了弄清窗口和窗口之间的关系,或者说动 作和动作之间的关系,可以使用测试大纲方法

步骤:
找出所有的窗口以及每个窗口的输入动作
找到各个窗口之间的联系,并据此编写测试用例

要点: (综合策略)
为了测试程序的业务逻辑、业务流程、主要功能的正确性,错误处理能力,使用场景法设计测试用例
需要输入数据的地方,进行等价类划分,包括输入条件和输出条件的等价划分
使用边界值分析方法补充用例
可以用错误推测法追加一些测试用例
对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准或发现还有遗漏,应该再补充足够的测试用例
如果程序的功能说明中含有输入条件和输出条件的组合情况, 则一开始就可选用因果图法或判定表方法
对于参数配置类的软件,要考虑各个参数之间的组合情况,使用正交排列法
为了更真实模拟用户的操作流程、顺序,可以使用状态转换图方法设计测试用例
如果程序的模块有多个窗口,并有相关联的操作,可以使用测试大纲方法设计测试用例

 

八、状态转换图法
概念:
找出软件所有的状态以及导致这些状态发生变化的所有输入动作
进而用图形的方法把相关联的输入动作和状态联系在一起,真实模拟用户的操作顺序流程

步骤:
找出程序的所有输入动作,并进行编号
找出程序的所有状态
找出什么动作会导致什么状态发生,画出状态转换图
把相关联的动作和状态联系起来,设计测试用例

 

要点:
两个重要的概念::(核心)
软件的状态
输入的动作
状态转换图法小结:
每种状态至少访问一次 【无论用什么方法,每一种状态都必须测试】
测试看起来最常见最普遍的状态转换 【根据产品说明书,通过与客户、开发人员沟通,了解哪些操作更常用、更重要】
测试状态之间最不常用的分支 【这些分支是最容易被产品设计者和程序员忽视的】
测试所有错误状态及其返回值 【错误没有得到正确处理、错误提示信息不正确等情况是常有的】

 

九、综合策略
为了测试软件的业务流程,业务逻辑,基本功能的正确性,错误处理能力,采用场景法编写用例
需要输入数据的地方,进行等价类划分,包括输入条件和输出条件的等价划分
使用边界值分析方法补充测试用例
可以用错误分析法追加测试用例
对照程序的逻辑,检查测试用例的逻辑覆盖程度,如果没有达到覆盖标准或发现有遗漏,则要补齐用例
如果软件的功能说明里有输入条件和输出条件的组合情况,一开始就考虑用因果图和判定表方法
对于有参数配置的软件,要考虑各个参数的组合情况,则可以用正交排列表法来设计测试用例
为了模拟用户的操作流程,顺序,则可以用状态转换图法设计测试用例
如果一个软件或一个界面里有多个窗口,每个窗口可以完成多步动作,且每个窗口之间存在联系,可以采用大纲法来设计用例

 

posted @ 2020-06-18 14:06  岁月安好-成都  阅读(281)  评论(0编辑  收藏  举报