测试用例的设计方法

测试用例的总体设计方法

基于需求的设计

RBT( Requirements-Based Testing)是基于需求的测试方法,会使测试更加有效。是因为它使测试专注于质量问题产生的根源,即需求。

基于需求的测试是一种最根本的软件测试,重点关注以下两大关键问题,(1)验证需求是否正确、完整、无二义性,并且逻辑一致。 (2)要从“黑盒”的角度,设计出充分并且必要的测试集,以保证设计和代码都能完全符合需求。

具体的设计方法

等价类

因材施教的例子:
原则上讲, 老师应该依据每个学生自身的情况, 指定符合的学习方案. 但是实际上学生太多老湿管不过来, 只能分成几类: 优等生强调知识面的扩展和综合能力的提升; 中等生强调夯实基础, 查缺补漏; 差等生强调优先掌握重点, 暂时跳过难点…
思路:输入的集合是无穷的, 不能全都覆盖到

依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。

有效等价类和无效等价类

  1. 有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能。
  2. 无效等价类:根据需求说明书,不满足需求的集合。

等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。

超市买水果
有效等价类:苹果、桃子、梨
无效等价类:青菜、米、饮料,…

边界值

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

日常语言中的"边界"漏洞
考完试发成绩了, 老师布置寒假作业: 超过60分的, 所有题目抄写1遍, 低于60分的, 所有题目抄写3遍.
于是小明就没有写作业~~, 因为他刚好60分。

  1. 输入框长度为1-11,取边界值为:1、11、12、0
  2. 运动员的参赛项目为1-3项,取边界值为:0项、1项、3项、4项
  3. 查询面页面有999行,每50行为一页,取边界值为:输出0行、1行、50行、51行、999行

因果图

因果图是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系。因果图法是借助图形来设计测试用例的一种系统方法,特别适用于被测试程序具有多种输入条件、程序的输出又依赖于输入条件的各种情况。
因果图基本知识:

  • 恒等
    测试用例的设计方法_第1张图片恒等:如果原因为真,那么结果必定为真。 例如:动物园运来大熊猫,动物园一定有大熊猫

  • 测试用例的设计方法_第2张图片只有2个原因都为真,那么结果为真 .

  • 测试用例的设计方法_第3张图片2个原因中有一个为真时,结果就为真.

  • 测试用例的设计方法_第4张图片
    只有原因为假,结果才为真。

因果图法设计测试用例的步骤如下。
(1)分析所有可能的输入和可能的输出。
(2)找出输入与输出之间的对应关系。
(3)画出因果图。
(4)把因果图转换成判定表。
(5)把判定表对应到每一个测试用例。

案例:
假设业务单据的处理规则为:“淘宝618活动,提单已提交,订单合计金额大于300元或有红包,则进优惠”。

  1. 对于这条业务规则,首先通过分析所有可能的输入和可能的输出,可以得到如下结果:
    ● 输入:订单已提交、金额大于300、有红包。
    ● 输出:优惠、不优惠。
  2. 然后,进行第二步,找出输入与输出之间的对应关系。通过分析,可以看出有以下的对应关系。
    (1)订单已提交,订单金额大于300元,则优惠。
    (2)订单已提交,订单金额小于等于300元,无红包,不优惠
    (3)订单已提交,有红包,则优惠。
    (4)订单已提交,订单金额大于300元,有红包,则优惠。
    (5)订单未提交,不优惠。
  3. 为了方便画出因果图和判定表,需要对所有输入和输出编号,现在编号如下。
    1:订单已提交。
    2:订单金额大于300元。
    3:有红包
    21:优惠
    22:不优惠
  4. 画因果图
    测试用例的设计方法_第5张图片
  5. 画判定表:有3个条件,输出有2个取值,所以表的列数为2x2x2=8
    测试用例的设计方法_第6张图片
  6. 最终的测试用例
    1,2,3,4,5(包含6,7,8)。

你可能感兴趣的:(测试)