首页 > 其他分享 >第6课 测试用例设计

第6课 测试用例设计

时间:2024-10-21 20:00:17浏览次数:5  
标签:等价 测试用例 判定 输入 条件 设计 因果

1.黑盒测试方法

2.白盒测试方法

术语一:
• 动态测试(dynamic testing):通过运行软件的组
件或 系统来测试软件
• 静态测试(static testing):对组件的规格说明书
进行 评审,对静态代码进行走查
• 正式评审(formal review):对评审过程及需求文
档的 一种特定评审
• 度量(metric):测量所使用的方法或标准
• 评审员(reviewer):参与评审的人
• 记录员(scribe):记录评审会议上的会议纪要
术语二:
• 技术评审(Technical Review):同行间对技术进行的评审,
目的是技术实现达成共识。
• 走查(Walkthrough):由文档作者逐步陈述文档内容,以
收集信 息并对内容达成一致
• 复杂性(complexity):系统或组件的设计或内部结构比较
复杂, 导致难以理解,维护或验证的程度
• 圈复杂度(Cycloramic complexity):程序中独立路径的数
量。可 以衡量一个组件模块的判定结构的复杂程度。
• 控制流(Control Flow):执行组件或系统的一系列顺序的路

• 数据流(Data Flow):表示数据对象的顺利或状态发生变
化的过程
圈复杂度:
• 程序中独立路径的数量,可以衡量 一个组件模块
的判定结构的复杂程 度。三种计算方式:
a.圈复杂=区域数
b.圈复杂度=边数-节点数+2
c.圈复杂度=判定节点+1
用例设计方法
一、黑盒设计测试用例方法
1、等价类,边界值,判定表,因果图,正交表,场景 法,状态迁移法
2、错误推测法,异常分析法,随机测试
二、白盒测试设计用例方法
1、语句覆盖
2、判断覆盖
3、条件覆盖
4、判断条件覆盖
5、路径覆盖(独立路径覆盖,z路径)

等价类:指某个输入域的集合,在集合中各个输 入的条件都是等效的。
通常等价类划分为2种情况:
有效等价类:对程序规格说明有意义的、合理 的输入数据
无效等价类:对程序规格说明无意义的、不合 理的输入数据
**等价类划分的设计用例思路: **

  1. 找输入条件
  2. 为每个输入条件找有效、无效等价类
  3. 为每个等价类编号
  4. 用最少的用例覆盖最多的有效等价类
  5. 每一个无效等价类都是一个用例
  6. 并非所有有效等价类都有无效
  7. 等价类的覆盖可以重复覆
    等价类设计用例覆盖的原则:
    • 每个用例尽可能多的覆盖多个有效的等价类
    • 每个用例只能覆盖一个无效等价类
    常见的能够划分等价类的地方:
  8. 数值范围
  9. 重复次数
  10. 字符串长度
  11. 字符串组中字符的个数
  12. 文件命名
  13. 文件大小
  14. 屏幕的颜色种类
  15. 超时时间
    等价类的优缺点 优点:是考虑了单个输入域的各类情况, 避免
    了盲目或随机选取输入数据的不完整 性和覆盖
    的不稳定性。 缺点:方法虽然简单易用,但是没有对组 合情
    况进行充分的考虑。需要结合其他测 试用例设
    计的方法进行补充。比如边界值
    一、边界点定义:
    1)边界上的点
    (2)离点:离上点最近的点(即上点左右两边最邻近的点)
    (3)内点:在域范围内的点:
    边界条件分析:
  16. 输入条件明确了一个值的取值范围,或规定了值的个数
  17. 输入条件明确了一个有序集合边界值分析原则
  18. 如果输入(输出)条件规定了取值范围,则应该 以该范 围的边界内及边界附近的值作为测试用例
  19. 如果输入(输出)条件规定了值的个数,则用最 大个数,最小个数,比最小个数少一,比最大个 数多一的数作为 测试数据
  20. 如果程序规格说明中提到的输入或输出是一个有 序集合,应该注意选取有序集合的第一个和最后 一个元素作为测 试数据
    边界值是发现错误能力最强的设计用例方法
    判定表定义: 分析和表达多逻辑条件下的执行不同操作的情况
    2、作用:对组合情况设计用例
    利用判定表将复杂的问题按照各种可能的 情况全部列举出来,能针对不同逻辑条件 的组合值,
    分别执行不同的操作。
    3、组成部分:
    1)条件桩(condition stub):列出问题的 所有条件(通常条件次序无关紧要)。
    2)条件项(condition entry):列出针对 它条件的取值(所有情况下的真假值)
    3)动作桩(action stub):列出问题规定 可采取的动作(顺序无约束)。
    4)动作项(action entry):列出条件各种情况的应采取的 动作

    4、创建步骤:
    1)确定规则的个数:若有N个条件,每一个条件下有2个值,则有2^n种规则。
    2)列出所有条件桩与动作桩。
    3)输入条件项。
    4)输入动作项得到初始判定表。
    5)简化(合并相似规则)。
    6)编写测试用例
    案例1:
    对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……”。

理解:1、 功率大于50马力的机器 和维修记录不全(优先)
2、已运行10年以上的机器(优先)
备注:条件3个 2的3次方=8次, 8次可以覆盖所有的组合情况

a.初始化判定表

b.简化后的判定表

因果图:
(1)定义:因果图提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其 中,
原因是表示输入条件,结果是对输入执 行的一系列计算后得到的输出
(2)作用:因果图方法最终生成的就是判定表。它适合于检查软件输入条件的各种组合情况
(3)
a.因果图中的约束
在实际问题中输入状态相互之间、输出状 态相互之间可能存在某些依赖关系,称为“约 束”。对于输入条件的约束有E、I、O、R四种 约束,
对于输出条件的约束只有M约束。
ØE约束(异):a和b中最多有一个可能为1,即a和b不能 同时 为1。
ØI 约束(或):a、b、c中至少有一个必须为1,即 a、b、 c不能同时为0。
ØO约束(唯一):a和b必须有一个且仅有一个为1。
ØR约束(要求):a是1时,b必须是1,即a为1时,b不能 为0。
ØM约束(强制):若结果a为1,则结果b强制为0。
b.因果图中的4种基本关系
在因果图的基本符号中,图中的左结点ci 表示输入状态(或称原因),右结点ei表示输出 状态(或称结果)。
ci与ei取值0或1,0表示某 状态不出现,1则表示某状态出现。
Ø恒等:若 c1 是1,则 e1 也为1,否则 e1 为0。案例1:有钱=富豪
Ø非:若 c1 是1,则 e1 为0,否则e1为1。案例2:有钱
=穷人
Ø或:若 c1 或 c2 或 c3 是1,则 e1 为1,否则 e1 为0。案例3:
有车、
有房、 满足一个有钱人
有存款
Ø与:若 c1 和 c2 都是1,则 e1 为1,否则 e1 为0。案例4:
有车、
有房、 满足三个是:有钱人
有存款
(4)
因果图转换判定表的方法:

  1. 将因果图中的所有条件(因)填入判定表 的条件桩中;
  2. 将因果图中的所有动作(果)填入判定表 的动作桩中;
  3. 根据因果图确定各个条件组合对应的动作, 并且确定判定表中各个规则的条件项和动 作项,
    在需要时优化判定表。
    (5)

    1.把大的系统规格划分解成可以测试的规格片段
    2.分析分解后待测的系统规格,找出哪些是原因,哪些是结果
    3.画出因果图
    4.把因果图转换成判定表
    5.简化判定表
    6.用判定表中的每一列生成测试用例
    (6)
    因果图的优点/缺点
    优点:
  4. 等价类法尽管各个输入条件可能出错的情况都考虑 到了,但是多个输入条件组合起来出错的情况却被 忽略了
  5. 因果图法能够帮助我们按照一定步骤,高效的选择 测试用例,设计多个输入条件组合用例
  6. 因果图分析还能为我们指出,程序规格说明描述中 存在什么问题
    缺点:
  7. 输入条件与输出结果的因果关系,有时难以从软件 需求规格说明书得到
  8. 即使得到了这些因果关系,也会因为因果关系复杂 导致因果图非常庞大,测试用例数目及其庞大
    场景法
    (1)定义:场景法主要是针对测试场景类型的,顾也称场景流程分析法
    (2)流程分析:是将软件系统的某个流程看成路径,用路径分析的方法来设计测试用例。根据流程的顺序依次进行组合,使得流程的各个分支都能走到

    (3)熟悉xmind思维导图(也称脑图),梳理测试点,和测试流程
    (4)流程分析步骤:
  9. 画出业务流程图 注:描述正常流程和异常流程
  10. 确定条件分支(功能路径) 注:设计路径的优先级
  11. 确认测试路径 注:考虑路径覆盖率
  12. 选择数据构造用例 注:选数据要结合等价类边界值分析
    正交试验
    (1)定义:
    正交试验设计法,是从大量的试验点中挑选出适量的、有代表性的点,应用依据迦罗瓦理论导出的“正交表”,合理的安排试验的一种科学的试验设计方法。
    设计测试用例方法之状态迁移法(重要
    (1)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为
    (2)状态迁移图设计测试用例步骤:
    1.画出状态迁移图
    2.通过状态迁移图出状态转换树
    3.从状态转换树推导出测试路径
    4.根据测试路径编写合法(正常)测试用例或非法(异常)测试用例
    注意:保证从状态转换树的根节点到每个叶节点的每一条路径都至少设计出一个测试用例



    设计测试用例方法之经验测试法(重要)
    一.错误推测法、
    基于经验的测试技术之错误推测法
    错误推测法也叫错误猜测法,就是根据经验猜想,已有的缺陷,测试经验和失败数据等可能有什么问题并依此设计测试用例.

    二、异常分析法
    基于经验的测试技术之异常分析法
    系统异常分析法就是针对系统有可能存在的异常操作、软硬件缺陷引起的故障进行分析,依此设计测试用例。
    主要针对系统的容错能力、故障恢复能力进行测试
    三、随机测试
    基于经验的测试技术之随机测试
    随机测试指的是测试中的所有的输入数据都是随机生成的,其目标是模拟用户的操作。真实环境中,尤其是软件刚刚发布时,会有成千上万的人在上面乱敲乱试;
    因此在发布软件前,用模拟用户的随机测试就可能发现其它方式漏掉的软件缺陷
    设计测试用例方法之正交实验法_
    (1)定义:正交试验设计法,是从大量的试验点中挑选出适量的、有代表性的点,应用依据迦罗瓦理论导出的“正交表”,合理的安排试验的一种科学的试验设计方法。
    (2)正交常用的术语
    指标:通常把判断试验结果优劣的标准叫做试验的指标
    因子:所有影响试验指标的条件
    水平值:影响试验因子的取值
    (3)正交表特点
    正交表特点:
    1》整齐可比性
    在同一张正交表中,每个因素的每个水平出现的次数是完全相同的。由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素水平的干扰。
    2》均衡分散性
    在同一张正交表中,任意两列(两个因素)的水平搭配(横向形成的数字对)是完全相同的。这样就保证了试验条件均衡地分散在因素水平的完全组合之中,,因而具有很强的代表性,容易得到好的试验条件
    (4)用正交表设计测试用例的步骤:
    (1)有哪些因素(变量或条件)
    (2) 每个因素有哪几个水平(变量或条件的取值)
    (3) 为了满足整齐可比性,选择一个合适的正交表
    (4) 把变量的值映射到表中(建议第1行是全真或全假)
    (5) 把每一行的各因素水平的组合做为一个测试用例
    (6) 加上你认为可疑且没有在表中出现的组合

标签:等价,测试用例,判定,输入,条件,设计,因果
From: https://www.cnblogs.com/qq3074699547/p/18490231

相关文章

  • jsp甘肃特产销售系统的设计与实现4q21k(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,特产商品,特产分类,促销特产开题报告内容一、研究背景与意义甘肃省因其独特的地理环境和气候条件,孕育了丰富的特产资源,如苹果、百合、枸杞、中药材等,深受......
  • jsp房屋租赁系统的设计与实现v1s9o(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表租客,房东,中介,小区信息,房源信息,房源类型,求租信息,房源委托,托管类别,租赁订单开题报告内容一、项目背景随着城市化进程的加速,房屋租赁市场日益繁荣,但传统......
  • 第6课—设计测试用例方法之场景法(重要)
    场景法(1)定义:场景法主要是针对测试场景类型的,顾也称场景流程分析法(2)流程分析:是将软件系统的某个流程看成路径,用路径分析的方法来设计测试用例。根据流程的顺序依次进行组合,使得流程的各个分支都能走到案例:1》人事考勤系统:离职流程有哪些?2》网购商品流程有哪些?(3)熟悉xmind思......
  • 【开题报告】基于django+vue企业合同管理系统(论文+源码)计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在当今商业环境中,企业合同管理扮演着至关重要的角色。随着企业规模的扩大和业务范围的拓展,合同数量急剧增加,管理难度也随之加大。传统的合......
  • 测试用例的方法
    测试用例的方法一、黑盒设计测试用例方法1、等价类,边界值,判定表,因果图,正交表,场景法,状态迁移法2、错误推测法,异常分析法,随机测试二、白盒测试设计用例方法1、语句覆盖2、判断覆盖3、条件覆盖4、判断条件覆盖5、路径覆盖(独立路径覆盖,z路径)等价类:定义:指某个输入域的集合......
  • 结构化分析与设计(绪论)
    结构化分析与设计的由来结构化分析与设计最初由结构化程序设计扩展而来瀑布模型的首次实践SA与SD的流程结构化分析(工具:DFD、PSPEC)    分析模型(分层DFD图)+SRS结构化设计(工具:SC图)  映射    初始设计模型(初始SC图)初始设计模型(初始SC图)  优化    最终设计......
  • 【设计模式】一文搞懂策略模式
    目录什么是策略模式策略模式结构策略模式的优点和缺点项目实战实际场景代码实现(策略模式+工厂模式)优惠券折扣金额的策略接口优惠金额策略打折直减满减工厂类环境类总结什么是策略模式策略模式是一种行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使......
  • 基于node.js+vue基于Android的商品房验收服务平台设计与实现(开题+程序+论文)计算机毕业
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景随着房地产市场的不断发展,商品房的质量验收成为购房者关注的焦点。关于商品房验收的研究,现有研究主要以整体建筑质量评估、相关法律法规探讨为主 1。专......
  • 基于node.js+vue基于Android的租房平台的设计与实现(开题+程序+论文)计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于租房平台的研究,现有研究主要以传统租房模式或Web端租房平台为主。在移动互联网迅速发展的当下,专门针对基于Android的租房平台的研究较少。随着智能......
  • C++程序设计基础实验1
    任务一:源代码task1.cpp#include<iostream>#include<string>#include<vector>#include<algorithm>usingnamespacestd;//声明//模板函数声明template<typenameT>voidoutput(constT&c);//普通函数声明voidtest1();voidtest2();void......