测试用例设计(等价类、边界值、因果图、判定表、正交实验)

测试设计与测试用例

测试设计是将概括的测试目标转化为具体的测试条件测试用例的一系列活动。

测试分析和设计的主要任务

评审测试依据(需求,系统架构、设计和接口说明),根据依据,确定哪些部分需要测试
评估测试依据和测试对象的可靠性(比如文档没有改变,但是项目具体改变了,因此需要评审测试依据是否可靠),所以测试人员需要参加开发的会议
通过对测试项、规格说明、测试对象行为和结构的分析,识别测试条件并确定优先级
设计测试用例,并确定优先级
确定测试条件和测试用例所需的必要的测试数据

确定测试条件

依据在测试策略或测试计划中确定的测试技术
通过对测试依据和饥饿测试目标的分析,可以确定需要测试的内容,获得测试条件(站在产品角度,用户方的角度去测试)
需求 – > 测试内容

测试用例

测试用例设计包括的关键点:

  • 前提条件,如项目或局部测试环境的需求,及其交付计划
  • 测试步骤,一步一步地操作
  • 测试数据
  • 预期结果(测试成功应该要展示什么的正确结果)

测试用例常用的设计方法

  • 等价类划分法
  • 边界值法
  • 因果图设计法
  • 判定表设计法
  • 正交实验法

等价类划分法

有效等价类定义:由那些对程序的规格说明有意义的、合理的输入数据所构成的集合,反之,就是无效等价类

等价类划分法:

  • 等价类划分的办法是把程序的输入域划分成若干部分
  • 然后从每个部分中选取少数代表性数据当作测试用例
  • 每一类的代表性数据在测试中的作用等价于这一类中的其他值

也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误。反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会差出错误。

等价类划分原则

  1. 如果输入条件规定了取值的范围或值的个数,则可确定一个有效等价类和两个无效等价类(比如 取值范围是0-10,那么小于0和大于10就是两个无效等价类;取值只能取五个,那么小于五个或大于五个都是无效等价类)
  2. 如果一个输入条件说明了一个“必须成立”的情况,则可划分一个有效等价类和一个无效等价类
  3. 如果输入条件规定了输入数据的一组可能的值,而且程序是用不同的方式处理每一种值,则可为每一种值划分一个有效等价类,并划分一个无效等价类(对某一种数的处理模式不同就是一个等价有效类)
  4. 如果我们确定,已划分的某等价类中的各元素(例子)在程序中的处理方式是不同的,则应据此将此等价类进一步划分成更小的等价类
  5. 在确定了等价类之后,建立等价类表,列出所有划分出的等价类

基于等价类划分的用例设计

  1. 明确测试对象对象,非测试对象保证正确
  2. 为每个等价类规定一个唯一的编
  3. 设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖
  4. 设计一个新得测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖。

等价类的特点

  1. 测试相同的内容,等价类是相同意义上的内容
  2. 如果等价类中的一个测试能够捕获一个缺陷,那么选择该等价类中的其他测试也能捕获该缺陷
  3. 如果等价类种得一个测试不能捕获缺陷,那么选择该等价类中的其他测试也不会捕获缺陷
  4. 如果正确的划分等价类,可以大大降低测试用例的数量,测试会准确有效
  5. 如果错误的将两个等价类当作一个等价类,那就会遗漏一种测试情况
  6. 不但要考虑有效等价类,也要考虑无效等价类
  7. 仔细划分,审查划分
  8. 过于粗略会漏掉软件缺陷
  9. 组织评审

边界值分析法

边界值分析法是一种补充等价划分的测试用例设计技术,他不是选择等价类的任意元素,而是选择等价类边界的测试用例

边界值分析法不仅充实输入条件边界,而且也从输出域到处测试用例

边界值设计的原则

如果输入条件规定了取值范围,应以该范围的边界内及刚刚超范围的边界外的值作为测试用例(最后一个符合和第一个不符合)
比如以a和b为边界,测试用例应当包含a和b以及略大于a和略小于b的值。还应当注意非类型数据,比如要求数字,实际输入却是英文字母

因果图&判定表法

等价类划分法和边界值分析方法都是着重考虑输入条件,而不考虑输入条件的各种组合、输入条件之间的相互制约关系
如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多中条件的组合、产生多个相应动作的测试方法,这就需要利用因果图(逻辑模型)

因果图法基于这样的思想:一些程序的功能可以用决策表的形式来表示,并根据输入条件的组合情况规定相应的操作。因此,可以考虑为决策表中的每一列设计一个测试用例,以便测试程序在输入条件的某种组合下的输出是否正确。

概括的说,因果图方法就是从程序规格说明书的描述中找出因(输入条件)和果(输出结果或程序状态的改变),**将因果图转换为判定表,为决策表中的每一列设计一个测试用例,**这种方法考虑倒了输入情况的各种组合以及各个输入情况的相互制约关系

    正交实验法(穷举的时候才会用到)

    定义:从大量的试验点中挑选出适量的、有代表性的点,应用依据迦罗卡瓦理论导出的“正交表”,合理的安排试验的一种科学的试验设计方法。

    关键值

    • 指标:通常把判断试验结果优劣的标准叫做试验的指标
    • 因此(因素):所有影响试验指标的条件
    • 因子的状态(水平level):而影响实验因子的,叫做因子的状态(因子变量的取值)

    正交实验法设计步骤

    1. 提供功能说明,构造因子——状态表;

      • 每个经过用例的可能路径,可以确定不同的用例场景
      • 从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景(一笔画问题) 测试用例设计(等价类、边界值、因果图、判定表、正交实验)
      • 根据说明,描述出程序的基本流及各项备选流
      • 根据基本流和各项备选流生成不同的场景
      • 对每一个场景生成相应的测试用例
      • 对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值

      实际测试中用例设计的综合运用

      测试用例综合设计

      1. 测试用例项划分
        划分方法的经典方法是瀑布模型,从上到下,逐渐细分,大模块包括小模块,小模块包括更小的模块;要从更多的角度切入系统,把系统切分成一块一块的来进行测试,从而确保测试大项的完整性
      2. 切面设计
        功能点切面:最常见的切面,通常认为页面上的一个按钮就是一个功能点。根据功能的复杂程度,按每个功能进行用例的撰写;隐含切面:完整业务流程的测试,从需求、业务角度进行编写。
      3. 功能点用例设计
        (1)任何情况下都必须使用边界值分析方法,
        经验表明用这种方法设计出测试用例发现程序错误的能力最强
        (2)必要时用等价类划分方法补充一些测试用例
        (3)如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用因果图法
        (4)如果程序业务复杂度比较高,则适当使用场景补充一部分测试用例

      声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年7月11日
下一篇 2020年7月11日

相关推荐