zoukankan      html  css  js  c++  java
  • 【测试基础】测试用例的设计方法

    常用的用例设计方法包括等价类、边界值、判定表、因果图、正交试验、状态迁移、流程分析等。

    等价类

          等价类划分法将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。

    有效等价类:针对被测对象而言,合理的,有意义的,系统接受的输入
    无效等价类:针对被测对象而言,不合理的,没有意义的,系统不能接受的输入

    划分规则

    1、如果需求规定了输入域的取值个数或确定了某个范围时,则可确定一个有效等价类及两个无效等价类
    2、如果需求规定了某个输入域的集合,或者必须如何的情况下,看确定一个有效等价类及一个无效等价类
    3、如果需求规定了某个输入域是真假值时,可确定一个有效等价类和一个无效等价类
    4、如果需求规定了输入域时一组值,则可确定若干个有效等价类及一个无效等价类
    5、用户需求规定必须遵守某种规则时,可确定一个有效等价类及若干个不同角度违反规则的无效等价类

    四则算法

    1、加:不考虑需求其他子项,细致分解当期测试点及详细需求,做累加
    2、减:根据业务规则减少,排除相关不可能出现的规则,减少不可能出现的组合
    3、乘:如果有效等价类中具有互斥条件的需求时,可进行相乘得到用例个数
    4、除:排除所有具有重复特性的等价类,尽可能做到有效等价类之间的交集为空,无效等价类之间交集也为空,有效及无效等价类的并集为整个输入域

    案例演示

    边界值

          边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

    边界值与等价类的区别:
    (1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
    (2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。

    边界三点

    1、上点:边界上的点
    2、离点:离上点最近的点
    3、内点:边界有效范围内的任一点

    如何确定离点?

    1、如果边界是闭区间,则离点在外,如:
    用户名长度在[6,18]之间。上点:6/18;离点:5/19;内点:10
    2、如果边界是开区间,则离点在内如:
    用户名长度在(6,18)之间。上点:6/18;离点:7/17;内点:10

    应用场景

    1、如果需求规定了取值范围或规定了取值个数时,可利用该范围的边界内及边界附近的数据进行测试
    2、如果需求规定了取值的个数,则少于个数一个,或多余个数一个的值进行测试
    3、如果需求规定了一个有序集合的时候,可使用该集合的第一个和最后一个值进行测试
    4、如果程序中使用了一个内部数据结构的话,则应该从该数据结构的边界进行考虑

    应用步骤

    1、根据等价类方法划分有效及无效等价类,确定上点、离点及内点,每个点统一编号
    2、设计一个新的测试用例,使其尽可能覆盖所有尚未覆盖的有效等价类,直至所有有效等价类完全覆盖
    3、设计一个新的测试用例,使其仅覆盖一个无效等价类,直到所有所有无效等价类完全覆盖

    案例演示

    判定表

          判定表是分析和表达多种输入条件下系统执行不同动作的工具,它可以把复杂的逻辑关系和多种条件组合的情况表达的既准确又明确。

    组成

    1、条件桩:需求规格说明书定义的被测对象的所有输入
    2、条件项:针对条件桩多有可能的输入数据的真假值
    3、动作桩:针对条件被测对象可能采取的所有操作
    4、动作项:针对动作桩,被测对象相应的可能取值

    应用步骤

    1、理解需求,确定条件桩、动作桩
    2、设计及优化判定表
    3、填写动作项
    4、根据判定表中输出结果的表现,进行判定表的合并(非必须)

    案例演示

    因果图

          因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。

    输入与输入的关系

    1、异:所有输入条件中最多有一个产生,也可以一个没有
    2、或:所有输入条件中,最少有一个产生,或者多个,或所有
    3、唯一:所有输入条件中,有且只有一个条件产生
    4、要求:所有输入条件,只要有一个产生,其他也会跟着出现

    输入与输出的关系

    1、恒等:当输入条件发生时,结果一定会出现
                     当输入条件不发生时,结果一定不会出现
    2、非:当输入条件发生时,结果一定不会出现
                 当输入条件不发生时,结果一定会出现
    3、与:当多个输入条件中,具有所有输入条件都发生,结果才会出现
    4、或:当多个输入条件中,只要有一个发生,结果就会出现

    案例演示

    正交试验

          正交试验法是从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法.类似的方法有:聚类分析方法,因子方法方法等。

    所有参与试验的影响试验结果的条件称为因子
    影响试验因子的取值或输入称为水平
    在同一条正交表中,每个因子的每个水平出现的次数完全相同,试验中,每个因子的每个水平与其它因子的水平参与试验的几率完全相同

    设计流程

    1、分析需求获取因子及水平
    2、根据因子水平选择合适的正交表
    3、替换因子水平,获取试验次数
    4、根据经验或其他因素补充试验次数
    5、细化输出获取测试用例

    注意点

    1、选择正交表时,因子与水平恰好与正交表相同
    2、被测对象因子与正交表中的因子数不同,选择正交表中因子稍大于被测对象因子数,且试验次数最少的,多余的因子弃用
    3、被测对象水平与正交表中的水平不同,可根据实际情况进行合并,然后拆分
    4、因子水平都不相同,则可选择因子,水平稍大于被测对象的,且实验次数最少的

    案例演示

    状态迁移

          状态—迁移图(STD)或状态—迁移表被用来描述系统或对象的状态,以及导致系统或对象的状态改变的事件,从而描述系统的行为。属于结构化分析方法使用工具。

    关注被测对象的状态变化,在需求规格说明书中是否有不可达到的状态和非法的状态,是否产生非法的状态迁移

    方法流程

    1、根据需求明确状态节点
    2、绘制状态迁移图
    3、绘制状态迁移树
    4、抽取测试用例

    案例演示

    流程分析

    场景设计法

    基本流:通过业务流程输入都为正确的,能够最后达标的目标流程
    备选流:通过实现业务流程时,因错误操作或异常输入,导致流程存在反复,但最终能够完成期望业务的流程
    异常流:通过实现业务流程时,因错误操作或异常输入,导致业务没有正确完成

    使用方法

    1、理解需求,确定业务流程
    2、绘制流程图,再次明确流程路径
    3、根据业务流程图,抽取测试路径,每次路径需包含一个从未走过的路径
    4、细化路径设计测试用例
    注意点:需使用等价类、边界值、正交实验、判定表、因果图等方法保证单个功能的正确性

    案例演示

  • 相关阅读:
    ffmpeg和opencv 播放视频文件和显示器
    ExtJS学习笔记:定义extjs类别
    debian软件安装基础(同tomcat案件)
    java逼出来的递归中间
    HDOJ 1047 Integer Inquiry
    BZOJ 3589 动态树 树链拆分+纳入和排除定理
    hdu 4884 TIANKENG’s rice shop(模拟)
    JQuery EasyUI学习框架
    excel
    Java和C#中String直接赋值与使用new创建(==与equals进行比较)的区别
  • 原文地址:https://www.cnblogs.com/CSgarcia/p/9705539.html
Copyright © 2011-2022 走看看