zoukankan      html  css  js  c++  java
  • 常用的测试用例设计方法

    测试用例是在测试执行之前编写的,用以指导测试的重要文档,主要包括(各公司模板都有自己的模板)如:编号、日期、测试人员、项目、分项目、预置条件、测试过程、接收标准、测试说明等。

    测试用例的设计方法主要有七种:

    1.等价类划分

    应用场景:只要有数据输入的地方,就可以使用,从无穷多的数据中挑选少数代表进行测试(把所有可能的数据全测一遍时间成本太高,实际中是不可能采用,所以要用最少的成本(时间、数据)达到最大的测试效果)。

    核心:

    按照需求把无穷多的数据进行分类,区分出有效的(有效等价类)、无效的(无效等价类),从每个数据范围中挑选一个代表进行测试。

    有效等价类:符合需求说明合理、有意义(合法)的数据集合

    无效等价类:不符合需求说明、不合理、无意义的数据集合

    如:姓名3-20个字符

    有效数据:大于等于3个字符,小于等于20个字符

    无效数据:小于3个字符

             大于20个字符

    2. 边界值

    应用场景:

    一般有数据输入的地方可以使用,边界值往往和等价类划分一起使用比较好,如有效数据和无效数据的分界点容易出现边界错误。

    如:年龄18-60

    有效数据:大于等于18且小于等于60的整数

    无效数据:

    小于18

    大于60

    字母、小数、汉字、特殊符号

    其中,18,60,19,59是有效边界和次边界

          17,61是无效次边界

    3. 因果图

    应用场合:

    一个界面,有多个操作,操作和操作之间有一定的组合关系和限制关系,不同组合会产生不同的输出结果,可以使用因果图

    在一个界面,有多个操作,操作和操作之间有一定的组合关系和限制关系,不同和组合会产生不同的输出结果,就可以使用因果图

    基本因果关系有:

    恒等:

    如:a=1-->b=1

    :

    如:a=1,b=1,c=1-->y=1

    非:

    a=1-->b=0

    或:

    a=0,b=0,c=0-->y=0

    限制因果关系:

    互斥(E):

    abc最多只有一个1(允许全为0)

    唯一(O):

    abc有且仅有一个1(不允许全为0)

    要求(R):

    a=1,要求必须b=1

    屏蔽(M):

    a=1,要求必须b=0

    包含(I):

    至少包含一个1(不允许全为0)

    4. 判定表

    判定表是因果图的简化,本质上是一种方法

    判定表适合组合数据较少的情况(一般<20种);

    正交排列适合组合较多的情况(一般>20种);

    5. 正交排列

    应用场合:

    一个界面有多个控件,每个控件又有多个取值,要考虑不同控件不同取值之间的组合,

    但是组合数据较大(几百、上千),需要从这些组合中挑选典型的组合的代表进行

    测试,需要使用正交排列法。

    正交表中的Ln(m**k)表示什么意思:

    n:表示正交表的行数(即需要测试的次数)

    次幂k:表示正交表的列数

    m:正交表允许出现的最大值

    (说明 :使用正交表法,就是根据控件的个数和每个控件的取值个数决定k和m即可,

    k和m确定了,n的值就是固定的)

     

    如何选择合适的正交表:

    根据控件的个数和每个控件的取值个数,选择适合的正交表(即确定k和m的值)

    1)控件的个数,决定k(正交表的列数)

    2)每个控件的取值个数,决定m(正交表中允许出现的最大值)

    如:有3个控件,每个控件都有4个值(或最多的是4个值)

        k=3,m=4

        选择合适的正交表,把正交表的列名和取值用控件名称和控件真正的取值

    替代(映射)

     

    6. 测试大纲

    应用场合:

    一个程序涉及到多个窗口,每个窗口又包含多个操作,操作和操作之间有一定

    的联系(即一个完整的流程涉及到多个界面),可以使用测试大纲法

    如:安装程序的测试

    7. 场景法

    应用场合:

    界面中没有太多填写项,所有的操作主要通过鼠标单(双)击、拖拽等完成。

    场景法适合业务逻辑功能较为复杂的程序(游戏、银行、保险),模拟用户

    所有正确的操作和所有错误的操作。

    如:ATM取款业务,取款失败需模拟的场景:

    1)无效的银行卡

    2)密码错误(3次错误)

    3)账户余额不足

    4)超出当日可取最大限额

    5)ATM机余额不足

      ......

    场景和用例并不一定是一对一的关系;可能一个场景测试多条用例,也

    可能一条用例测试多个场景。

    很多时候需要多种方法综合运用达到更好的效果。

  • 相关阅读:
    __weak&__block&__unsafe__unretain
    Unable to convert MySQL date/time value to System.DateTime 错误
    做最好的自己,人生十件事(事业,人生,情感)
    52张扑克牌的Suit(花色)和Rank(牌面大小)排序算法
    windows service在服务器上部署时的问题
    "Unable to compile template. Check the Errors list for details" 问题解决办法
    Javascript中的一些自有方法
    winform中的webbrowser里面操作html代码问题
    Javascript,Jquery实现页面图片预加载百分比展现
    【delphi XE 】 Margin属性 转
  • 原文地址:https://www.cnblogs.com/reyinever/p/7875293.html
Copyright © 2011-2022 走看看