• 测试用例---常用设计方法,等价类,边界值,因果图判定表,正交表,场景法,大纲法


    等价类划分

    1.概念:等价类划分属于典型的功能测试方法,根据程序对数据的要求,把程序的输入域划分成若干个部分,区分出那些是有效的,那些是无效的,每个区域选取典型数据为测试用例。每个区域中的输入时等价的。

    2. a.有效等价类

       对程序规格有意义,合理的输入数据集合,程序接收到有效等价类数据,可以正确执行计算。

       b.无效等价类

       对程序规格无意义,不合理的输入数据集合,程序接收到无效等价类数据,不可以正确执行计算。

    3.应用场景:只要有数据输入的地方就可以使用,从无线多的数据中选取少数代表性的数据进行测试。

    边界值方法

    找出边界值及左右临界点进行测试用例设计

    用例的优化

    1.对于不同控件的有效等价类及有效边界值尽可能的在一条测试用例中测试。

    2.在一条用例中,先一次只测试一个控件的无效等价类,无效等价类在开始的时候不能组合,避免屏蔽现象的发生。最后在适当考虑无效等价类的组合。——验证软件处理极端数据的能力

    等价类划分经验

    1.有效等价类一般可以直接在需求中找到

    2.无效等价类a为空;b重复;c数据有范围要求-超出范围的;d有字符个数要求;f填写项的格式,样式(要求整数,小数,字符)

    因果图判定表

    应用场景:界面有多个控件,控件之间有不同的组合,得到不同的结果。如按钮,复选框,单选框。一般一个控件的的可选项不超过3个。组合最终用例不超过20条比较好。

    步骤:找出输入项,找出输出项,找出输入项的关系,找出输出项的关系,找到输入与输出的关系,画因果图,得判定表

    正交表

    应用场景:在一个界面中有多个控件,每个控件有多个取值,控件之间可以相互组合,不可能(也没有必要)为每一种组合编写一条用例,如何使用最少最优的组合进行测试。——正交排列法

    判定表,因果图也是考虑控件组合,但是组合数量较少(一般不会超过20中)Ln(mk)

    n是表的行数,也就是需要测试组合的次数

    k是表的列数,表示控件的个数(因数个数)

    m是每个控件的取值个数(因数水平)

    步骤:列出所有输入及取值,选取合适的正交表,编写组合测试用例。


    正交表的局限性:现有的正交表的个数有限,要求每个控件的取值个数相等,在实践中很难遇到。

    正交表选择数据的思想:公平,均匀

    a.每个控件都要参与组合,每个控件的取值与参与组合的次数尽量相等。

    b.从所有的组合数据中,均匀,零星的挑选作为用例的组合数据。

    没有现成正交表的解决如

    A因子有3个水平

    B因子有4个水平

    C因子有3个水平

    D因子有2个水平

     

    控件个数(k):4,要确定每个控件的取值(m)

    次幂m的处理方式两种:a.服从多数选值为3,b.服从最大数选值为4

    正交表中没有,就选择一个接近的。

    A.若选择4因子3水平,正交表做如下修改

     

    均匀的对每个控件的因子进行补填

     

    B.若选择4因子4水平,没有现成的则选择4因子5水平的正交表做修改,正交表做如下修改

     

    原正交表,标红的因子没有,需要用有的均匀补齐

     

    修改后的正交表

    场景法

    应用场景:

    a.界面特点:没有太多填写项,主要通过鼠标的点击,双击,拖拽等完成操作

    b.把自己当做最终的用户,在使用该软件的时候可能会遇到哪些场景,目的是测试软件的主要业务流程,主要功能的正确性和主要错误处理能力。

    核心概念

    a.基本流(正确流)模拟用户正确的操作流程---验证软件的业务流程和主要功能

    b.备选流(错误流)模拟用户错误的操作流程—验证软件的异常处理能力

    总结:场景法是基于等价类划分的一种测试方法(技术),场景法的应用时基于对软件业务的深入理解。

    测试大纲法

    大纲着眼于需求,为了列出各种测试条件,将需求转化为大纲;在根和每个叶点之间存在唯一路径,每条路径定义了一个特定的输入条件集合,用于定义测试用例。

    涉及到多个窗口,每个窗口包含多个动作,找到每个窗口的动作之间的联系。

  • 相关阅读:
    day 30 粘包 自定义报头
    day29 网络基础之网络协议和通信
    day28 面向对象的进阶 反射 和类的内置方法
    day 27 模块和包 面向对象的复习
    CGI,FastCGI,PHP-CGI和PHP-FPM的区别
    跨平台的移动应用开发引擎CrossApp简介
    element-ui组件中的select等的change事件中传递自定义参数
    关于setInterval和setTImeout中的this指向问题
    懒加载和预加载的区别
    vueX的五个核心属性
  • 原文地址:https://www.cnblogs.com/Snail-offort/p/10631703.html
Copyright © 2020-2023  润新知