zoukankan      html  css  js  c++  java
  • 【黑盒测试】测试用例的常用方法

    测试用例的常用方法

    1 等价类划分法 

    2 边界值法

    3 因果图及判定表法

    4 正交表

    5 测试大纲法

    6 场景法

    7 错误推断法

    8 随机测试

    9 需求文档转化法


    1、等价类划分法

      应用场合:界面中只要有数据输入的地方,就可以使用等价类划分法。从无穷多的数据中,挑选少量代表数据进行测试。

    1)分析需求,划分等价类:有效等价类和无效等价类

    2)从每个等价类中,至少挑选1个代表数据进行测试

    如:姓名3-20个字符

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

      无效数据:小于3个字符

                   大于20个字符

    2、  边界值法

     应用场合:界面中有数据输入的地方,一般可以使用,边界值法往往和等价类划分法一起使用,形成一套更为完善的测试方案。

    找到有效数据和无效数据之间的分界点(边界值)

    测试:最小边界值-1,最小边界值,最大边界值+1,最大边界值

    如:姓名3-20个字符

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

      无效数据:小于3个字符

                   大于20个字符 

           最小边界值:3个字符

           最大边界值:4个字符

           最小边界值-1:2个字符

           最大边界值+1:5个字符

    3、因果图及判定表法

       应用场合:在一个界面中有多个控件,如果控件之间有组合关系或者限制关系,不同的控件组合会产生不同的输出结果。为了弄清不同的输入组合会产生怎样的输出结果,可以使用因果图或判定表法。

    1)基本 :  表达的是因(输入结果)和果(输出结果)之间的关系。

      A 恒等

             如果a=0那么b=0;如果a=1那么b=1

      B 与(^)

            几个输入条件都成立结果才成立,如果输入其中任何一个输入条件不成立,结果都不成立。

      C 或(v)

            多个输入条件有任何1个成立结果都成立,只有所有的输入条件都不成立的时候,结果才不成立。

         D 非

            A=1时B=0;A=0时B=1

    2)约束(限制):  限制的是同一类的,要么限制的同为输入条件,要么限制的同为输出结果

      A 互斥E(Exclude)

            只能有1个是成立(1),但是可以都不选(都是0)

           B 唯一O(Only)

                 表示在多个条件中,有且仅有1个成立。

           C 要求R(Required)

            若a=1则要求b必须为1,不允许出现a=1,b=0的情况,反之a=0时b的值无所谓。

           D 包含 I ( include )  [多选]

                 必须得选,但是可以多选

           E 屏蔽 M ( Masked )

                 当a=1时b必须是0;当a=0时b的值不一定。

     4、正交表

    适用场合:在一个界面中有多个控件,每个控件有多个取值,测试时考虑不同的控件不同取值之间的多种组合,但组合数量巨大(>20种,20种以下一般考虑判定表因果图),没有必要全部测试,如何从所有的组合中挑选最少、最优的组合进行测试,可以使用正交排列法。 

    正交表公式Ln(mk)

      m:根据每个控件有几个值确定

      K:根据控件的个数进行确定。

      n:表示有几条测试用例。

    如果没有合适的正交表:

     1)选择K(控件的个数),如果没有正好符合的值,选择最接近的在一点的,用不到的列可以删掉。
        2)选择m(每个控件的取值),如果每个控件的取值个数不同
      方案1、少数服从多数原则:取值数相同的控件个数最多的那个值。
        分析案例:取3个值的控件有两个是最多的,所以m=3;
        公式是:34
        注意:1)尽量保证公平、均匀的添加。
              2)检查是滞有完全重复的等式,如果发现可以修改或删除(尽量改)
      方案2、最大值原则(推荐):看哪个控件的取值个数最多,m就选这个值。
        此案例:打印内容的控件取值是4个,是最多的,所以m=4
        公式是:应该是44,实际上44没有,选择45,然后删除1列

    正交表的测试思想

       1)使用每个控件的每个取值参与组合的次数是基本相等的(均匀的)

       2)在所有的组合数据中,选取数据时,应该均匀的选取,而不能从局部选取。

       3)如果时间允许,尽可能的多测一些组合

     5、测试大纲法

    适用场合:程序包含多个窗口,每个窗口中又有多个功能,这些功能之间又有一定的联系。为了梳理清楚窗口之间以及窗口不同功能之间的联系,使用测试大纲法。

    如:安装程序的测试

      1)  分析需求列出窗口以及每个窗口中的功能

      2)  根据大纲,找到窗口及功能之间的关系,编写测试用例

     6、场景法

    适用场合:大多数的业务比较复杂的软件系统都适合使用场景法(便于将各个功能点串起来,便于形成完整的业务感觉)是一种基于软件业务的测试方法,把自己当成最终用户,尽可能的模拟用户在使用此软件的操作。 

    熟悉所测软件的业务逻辑:

    1)模拟用户正确操作的业务流程---验证软件的业务功能是否实现

    2)模拟用户错误的操作的情形---验证软件的异常处理能力(健壮性)

    总结:先关注功能的整体业务流程是否能够实现(场景法),当整体业务流程完成之后,再去关注细节(等价类、边界值等方法)。

    注意一个场景可能对应多条测试用例,或者一条用例可能对应多个场景。

     7、错误推断法

     基于经验和直觉推测程序中所有可能存在的各种错误 , 从而有针对性的设 计测试用例的方法 .

    1)程序中所有可能的错误

    2) 容易发生错误的特殊情况

    3) 以前产品测试中曾经发现的错误

    8、随机测试

    随意测试,不考虑任何用例和需求,完全站在一个用户或者的角度对产品进行使用。

    适用场景:

       1) 所有之前设定的用例已经 执行完毕

       2)海量的条件组合无法一遍 历的时候

    9、需求文档转化法

    所见即得的思想:

      1. 所有的需求文档描述字 所有的需求文档描述字 信息,转化为用例
      2. 所有的示意图、流程状 所有的示意图、流程状 态图等信息,直接转化为测 态图等信息,直接转化为测 试用例
      3. 所有项目需求达成的口头共 所有项目需求达成的口头共 识,需求确认的邮件沟通信 识,需求确认的邮件沟通信息,直

  • 相关阅读:
    指定的 LINQ 表达式包含对与不同上下文关联的查询的引用
    无法为具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序类
    获取路径 GetModuleFileName() GetModuleFileName() GetCurrentDirectory
    重启动界面 ShellExecute() ShellExecute()
    MFC 强大功能函数
    extern 头文件 定义&声明
    全局变量/常量
    有时不需要头文件包含也能编译过
    字符串(3):字符串与函数
    函数不能传递动态内存
  • 原文地址:https://www.cnblogs.com/zhuzhubaoya/p/10478194.html
Copyright © 2011-2022 走看看