测试用例的常用方法

  • 等价类划分法 
  • 边界值法
  • 因果图及判定表法
  • 正交表
  • 测试大纲法
  • 场景法
  • 错误推断法
  • 随机测试
  • 需求文档转化法
  •  

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. 所有项目需求达成的口头共 所有项目需求达成的口头共 识,需求确认的邮件沟通信 识,需求确认的邮件沟通信息,直接转化为测试用例

原文地址:https://www.cnblogs.com/c-jw/p/13806735.html