测试设计与测试用例

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

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

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

确定测试条件

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

测试用例

测试用例来源于测试依据,测试依据来源于测试需求
测试用例是通过使用在测试计划中确定的测试技术,对于已确定的测试条件进行逐步推敲,精炼而设计出来的重点说明如何具体操作产生何种结果的文档。
测试用例应该具有可重复性可验证性需求可追踪性

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

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

测试用例常用的设计方法

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

等价类划分法

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

等价类划分法:

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

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

等价类划分原则

  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的值。还应当注意非类型数据,比如要求数字,实际输入却是英文字母

因果图&判定表法

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

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

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

  • 判定表是分析和表达多逻辑条件下执行不同操作的工具,在程序设计发展的初期,判定表已经被当做编写程序的辅助工具,因为它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确

    判定表由四个部分组成:
    条件桩(Condition Stub):列出了问题的所有条件,通常认为列出的条件的次序无关紧要
    动作桩(Action Stub):列出了问题规定可能采取的操作,这些操作的排列顺序没有约束。
    条件项(Condition Entry):列出针对它左列条件的取值,在所有可能情况下的真假值
    动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。

设计步骤

  1. 分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符(寻找输入输出条件)
  2. 分析软件规格说明中语义的内容,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。(分析条件互斥)
  3. 由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。
  4. 把因果图转换为判定表
  5. 根据判定表中的每一列设计测试用例

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

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

关键值

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

正交实验法设计步骤

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

  2. 加权筛选,生成因素分析表(即计算各因子和状态的权值,删去一部分权值较小,即重要性较小的因子或状态,使最后生成的测试用例集缩减到允许的测试范围)

  3. 利用正交表构造测试数据集
    3.1 如果各个因子的状态数是不统一的,几乎不可能出现军运的情况,必须首先用逻辑命令来组合各因子的状态,作出布尔图
    3.2 根据布尔图得到相应阶数的正交表
    3.3 依照因果图上根节点到叶子节点的顺序逐步替换正交表上的中间节点,得到最终的正交表

  4. 利用正交表每行数据构造测试用例
    查找已有官方的正交表:http://support.sas.com/techsup/technote/ts723_Designs.txt

测试场景设计

针对测试场景设计测试用例

场景法原理

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景形成了场景,而同一事件不同触发顺序和处理结果就形成了事件流。这种在软件设计方面的思想可以引入到软件测试中,可以生动地描绘出事件触发时的情景,有利于设计测试用例,同时使测试用例更容易理解和执行。

场景法基础设计

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

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

测试用例综合设计

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

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

  1. 黑盒测试——因果图/判定表/正交排列法/场景法

    一.实验目的 能够掌握黑盒测试的因果图.判定表.正交排列法.场景法原理 能够运用因果图.判定表.正交排列法.场景法写测试用例 二.实验任务 根据地铁购票系统的要求用因果图.判定表写测试用例 根据字符属 ...

  2. 其他测试用例设计方法-错误推测法与正交实验法

    常用的测试用例设计方法,前面基本都介绍完了,其中等价类划分法.边界值法与场景法是最常用的. 本篇文章介绍剩余两种测试方法--错误推测法与正交实验法. 错误推测法 基于经验和直觉推测程序中所有可能存在的 ...

  3. 测试用例---常用设计方法,等价类,边界值,因果图判定表,正交表,场景法,大纲法

    等价类划分 1.概念:等价类划分属于典型的功能测试方法,根据程序对数据的要求,把程序的输入域划分成若干个部分,区分出那些是有效的,那些是无效的,每个区域选取典型数据为测试用例.每个区域中的输入时等价的 ...

  4. 软件测试(用例Ⅰ)· 测试用例的基本概念 · 万能公式 · 设计测试用例的方法(等价类、边界值、判定表法、正交法、场景设计法、错误猜测法)

    一.测试用例 基本要素 好处 设计方法 - 万能公式 二.设计测试用例的方法 等价类 边界值 判定表法 正交法 场景设计法 错误猜测法 一.测试用例 基本要素 测试用例(Test Case)是为了实施 ...

  5. 测试用例之因果图/判定表

    测试用例之因果图/判定表 测试用例   因果图和判定表(网上搜集的案例,不喜勿喷) 一. 适应场合: 在一个界面中有多个控件,如果控件之间存在组合关系或者限制关系,不同的控件组合会产生不同的输出结果, ...

  6. 等价划分测试c语言测试三角形,软件测试--等价类划分与判定表判断三角形.doc...

    软件测试--等价类划分与判定表判断三角形 软件测试实验报告 课程名称:软件测试 实验项目:判断三角形 专业班级:计091 姓名:叶修拓 学号:0913023001 一.实验题目 输入三个整数作为三边的 ...

  7. 黑盒测试用例设计方法-边界值分析法

    目录 一.边界值定义 二.边界值的考虑 三.边界值的优化 四.边界值的设计用例的步骤 五.案例 六.边界值的类型 一.边界值定义 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边 ...

  8. 软件测试怎么测边界值,软件测试用例设计之边界值分析法(示例代码)

    软件测试用例设计之边界值分析法 一.定义 对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充,其测试用例来自等价类的边界 二.与等价类划分的区别 边界值分析法首 ...

  9. 功能测试笔记PART2-测试用例设计方法与实战【等价类划分、边界值、因果图判定表、正交实验法】

    如何设计软件设计[测试用例设计] 一.测试设计与测试用例 测试设计:将概括的测试目标转化为具体的测试条件和测试用例的一系列活动. 测试分析和设计的主要任务: 评审测试依据 (需求.系统架构.设计.接口 ...

  10. 编写测试用例方法----因果图判定表

    因果图: 一.应用场合 在一个界面中,有多个控件,测试的时候要考虑控件的组合关系,不同的控件组合会产生不同的输出结果的组合,为了弄清什么样的输入组合会产生什么样的输出组合,使用因果图法. 二.因果图核 ...

最新文章

  1. Python2和Python3关于reload()用法的区别
  2. c语言字符串化简,华为面试题:一元多项式的化简 C语言实现源码
  3. Assert(断言) 的用法
  4. Groovy与Java集成常见的坑--转
  5. IPSec逻辑体系架构
  6. 使用three.js实现炫酷的酸性风格3D页面
  7. 【神经网络架构】Pyramidal Convlution(PyConv):金字塔卷积,“即插即用“,提升你的网络性能
  8. 《Stellaris》游戏分析报告
  9. python3性能还低吗_谁说Python性能差的?-- 让python比awk快 (3)
  10. JMS学习一(JMS介绍)
  11. toadstool sql格式化
  12. Mycat读写分离以及拆库拆表综合实验3:通过日志分析mycat路由过程
  13. paip.提升用户体验----记住用户名与自动登录
  14. 中小企业信息化建设管理方案规划设计1
  15. 密码系列-Base16
  16. 【Derivation】 条件数学期望公式泊松分布推导(Poisson distribution)
  17. 巨杉分布式数据库-学习笔记
  18. 虚拟运营商出牌:流量不清零难成杀手锏
  19. Linux驱动之DMA
  20. 分享过几个【贪吃蛇】了,再分享一下也不过分吧?(妙趣横生)

热门文章

  1. windows 任务栏桌面消失怎么办
  2. 2.光栅图形显示技术
  3. 基于spring cloud 免费搭建开源的企业知识库
  4. 消费者与电商变革传统企业
  5. AWS EC2 云服务器 Red Hat Enterprise Linux Server release 7.4 (Maipo) vnc远程连接教程
  6. java addlast_java linkedlist addlast()不能指定元素追加在此列表的末尾
  7. 原画 机器人总动员_《机器人瓦力》导演执导 科幻史诗巨制《火星上的约翰·卡特》首支震撼预告...
  8. 个人赛 A 题 传球游戏(ball)
  9. “身、口、意”三业,而其中尤其以口业为重,认为口业是:患苦之门,祸累之始。
  10. IBMV7000存储电源模块PSU报错“Power Supply Fault type 2“