软件测试---功能分解、等价类、边界值、因果图、错误推测、正交实验、场景法

2023-11-03

一、黑盒测试

1、功能分解法

功能分解法就是把软件需求中的每一个功能加以分解,分解为功能单位,以功能单位为对象进行测试用例涉及。

例子:用户管理系统可以分为如下,当然也可以进一步往下分解。

根据上面的功能分解图可以对分解出来的最底层功能单元逐个进行测试用例设计和测试。同时可以从功能单元是否全部实现来判断上层功能的完备性。

2、等价类划分法

优点:每一个输入域都考虑到了。

缺点:产生的测试用例过多,可能产生一些无效的测试用例,也可能有一些特殊的点没有考虑。

等价类划分法是将需求中功能输入要求进行分解,将输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例,每一类的代表性数据在测试中的作用等价于这一类中的其它值。等价类划分法必须在分解输入要求的基础上列出等价类分解表,划分出有效等价类及无效等价类。

a) 有效等价类:对于功能需求来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验软件是否实现了软件需求规格说明中所规定的功能。

b) 无效等价类:与有效等价类相反。对于功能需求来说是非法的,但有意义的数据集合。利用无效等价类可检验软件在功能实现的基础上是否对异常输入进行了保护。

 例子:

 1)、创建等价类表(分析过程)

 2)、设计测试用例

一条测试用例尽可能覆盖多的有效等价类;每一个无效等价类都必须有一条测试用例覆盖他,在有一个无效等价类的时候,别的输入就必须是有效等价类

3、边界值分析法

03.黑盒测试-边界值-【软件测试实战教程】_哔哩哔哩_bilibili

等价类法中例子,用边界值法进行补充和修改之后

边界值分析法是针对软件边界情况进行验证。通常需要选择边界内、边界上及边界外的值对程序进行验证。对于边界值分析法主要步骤如下:

a) 分析软件文档,找出功能需求中所有可能存在的边界条件。

b) 对于边界条件,找出边界内、边界上及边界外的输入数据。

c) 根据输入数据设计测试用例。

4、因果图法

视频讲解:04.黑盒测试-因果图-【软件测试实战教程】_哔哩哔哩_bilibili

因果图法是从软件需求规格说明描述的自然语言中找出功能的因(输入)和果(输出或状态改变),通过因果图转换为判定表,根据判定表设计测试用例。

适用场景:1、需要描述多种条件的组合;2、不同组合会产生多个动作

  

 

例子:视频的11:40秒

 

(上图中 c和d互斥是错的,应该b和d互斥,画图可以省略)

然后把上面的图转化为表格的形式,如下:

接着分分析其余的情况: 

转化为判定表如下:

5、判定表法

05.黑盒测试方法论-判定表-【软件测试实战教程】_哔哩哔哩_bilibili

 

 

1)、确定条件桩

2)、确定动作桩

 判定表分析:

 3)、确定初始判定表

4)、简化判定表 

前八个只要条件桩c1=0,动作装A1=1,因此可以合并;还有12、14、15项时,不可能的结果我们就不用测试。最后剩下六条,然后按照每一条的规则设计测试用例就可以了。

 

 

6、错误推测法

错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。

例如,测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:

 输入的线性表为空表;

 1.  表中只含有一个元素;

 2.输入表中所有元素已排好序;

 3.   输入表已按逆序排好;

4.输入表中部分或全部元素相同。   

7、正交试验法

软件测试-正交实验法_哔哩哔哩_bilibili

当我们的输入项很多,每个输入项的取值也很多,这样我们的测试用例就很多,因果图也很乱很复杂。

正交试验法是从大量的试验点中挑出适量的、有挖根生的点,应用正交表,合理地安排试验的方法。该方法主要步骤如下:

a) 提取功能说明,构造因此状态表。把影响实验指标的条件称为因子,影响实验因子的条件叫做因子的状态。在设计测试用例时,首先要根据软件需求规格说明找出影响功能实现的操作对象或外部因素,把它们当作因子,把各个因子的取值当作状态。

b) 加权筛选,生成因素分析表。对因子与状态的选择可按重要程度分别加权。根据因子及状态作用的大小、出现频率等因素,确定权值大小。

c) 利用正交表进行各因子的状态组合,构造有效的测试输入数据集,形成测试用例。

 (正交表有人已经总结的,可以上网查找,也有自动生成的工具,比如:Slothman)

8、场景法

06.黑盒测试-场景法-【软件测试实战教程】_哔哩哔哩_bilibili

场景法是根据软件文档划分软件运行场景,根据软件运行场景设计测试场景。用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。基本流是经过用例最简单的路径,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入到基本流中,也可能起源于另一个备选流,或终止用例而不再重新加入某个流。

优点:特别适合有业务流程需求的验证。

缺点:只是验证了业务流程,但是没有验证每个功能点。单个功能点要用别的方法来验证,比如等价类、边界值、因果图等

1)、画流程图(如果需求说明书里面有,可以直接拿来用)

 2)、确定基本流(下图1)和备选流(图中很多颜色的那张)

 

 3)、构造场景

 4)、生成测试用例(下图中只是一部分,应该有8条用例,对应着8个场景)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件测试---功能分解、等价类、边界值、因果图、错误推测、正交实验、场景法 的相关文章

  • 基于python手动画出spectrogram(语谱图)

    Spectrogram是基于STFT变换得到的 非常有助于分析信号的时频特性 在语音信号处理中常被称为 语谱图 python中有一些写好的模块可以直接将时域的信号转化成spectrogram 但这并不利于对其原理的理解 而且横纵左边的转换也

随机推荐

  • Vue中token刷新及续期的功能实现

    在vue中如何实现token续期 刷新token 原因 最近公司项目有一个视频播放的功能 然后由于在测试环境登录时token过期时间较短导致一直在当前页面播放视频会出现token过期的现象 然后用户刷新会触发axios响应拦截器的操作退出系
  • Day01.二分查找、移除元素

    Day01 二分查找 移除元素 0704 二分查找 题目链接 0704 二分查找 思路 二分查找 仅对有序数组有效 每次需要数组的中间值 与目标值比较大小 如果中间值比目标值大 说明目标值位置在left与mid中间 区间缩小一半 同理 如果
  • 蓝桥杯试题联系

    题目 你有一架天平 现在你要设计一套砝码 使得利用这些砝码可以称出任意 小于等于 N 的正整数重量 那么这套砝码最少需要包含多少个砝码 注意砝码可以放在天平两边 输入格式 输入包含一个正整数 N 输出格式 输出一个整数代表答案 样例输入 7
  • 2D离散傅里叶变换及逆变换的matlab实现

    积分线性变换可以将信号或图像在更适合的域内表达 并且使得解决相关问题更容易 在图像分析中最常用的积分显示变换是傅里叶变换 离散余弦变换与小波变换 1d傅里叶变换由傅里叶 Fourier 提出 1d傅里叶变换将函数f x 变换到频率域F t
  • android 屏幕适配框架,Android屏幕适配

    为什么要进行Android屏幕适配 由于Android系统的开放性 任何用户 开发者 OEM厂商 运营商都可以对Android进行定制 于是导致 1 Android系统碎片化 小米定制的MIUI 魅族定制的flyme 华为定制的EMUI等等
  • 组合式 API - 生命周期钩子

    选项式 API Hook inside setup beforeCreate Not needed gt setup created Not needed gt setup beforeMount onBeforeMount mounted
  • 适配器设计模式

    目录 前言 适配器原理与实现 适配器模式的应用场景 1 封装有缺陷的接口 2 统一多个类的接口设计 3 替换依赖的外部系统 4 兼容老版本接口 5 适配不同格式的数据 代理 桥接 装饰器 适配器 4 种设计模式的区别 参考资料 前言 适配器
  • 【C++】拷贝构造函数(深拷贝,浅拷贝)详解

    一 什么是拷贝构造函数 首先对于普通类型的对象来说 它们之间的复制是很简单的 例如 int a 100 int b a 而类对象与普通对象不同 类对象内部结构一般较为复杂 存在各种成员变量 下面看一个类对象拷贝的简单例子 1 include
  • TypeScript从入门到放弃(一)

    先点赞后关注 防止会迷路 寄语 长风破浪会有时 直挂云帆济沧海 本文已收录至https github com likekk Blog欢迎大家star 共同学习 共同进步 如果文章有错误的地方 欢迎大家指出 后期将在将github上规划前端学
  • linux上的常用的一些操作

    Ubuntu 上安装程序 rpm 命令 https www cnblogs com ftl1012 p rpm html 查看硬盘分区和使用情况 df h 转载于 https www cnblogs com zach0812 p 11507
  • 拒绝拷贝,研读官方文档-小话Mysql锁

    实践出真知 跟着官方文档跑Demo 参考文档 由于中文站是机译 阅读拗口 更推荐阅读英文文档 Mysql官网文档 英文站 Mysql官网文档 中文站 范围 行锁 表锁 独占锁S 排他锁X 意向排他IX 意向独占IS 现状吐槽 自我理解 一针
  • 成员初始化列表-适用场合

    1 简述 主要的场合有四类 初始化对象成员 初始化基类的成员 初始化const成员 初始化引用成员 对于const成员和引用成员 比较简单 这两种变量都要求初始化后不能赋值 因此 只能在成员初始化列表中进行初始化 其他地方不行 本文主要介绍
  • MATLAB 气体扩散,放射性气体扩散方程有限差分法的MATLAB实现

    2017年11月 咸阳师范学院学报 Nov 2017 第32卷 第6期 Journal of Xianyang Normal University Vol 32 No 6 数理科学与信息科学研究 放射性气体扩散方程有限差分法的MATLAB实
  • Check Corners 【HDU - 2888】【二维线段树】

    题目链接 很多人写这道题都用的是二维RMQ 但是 我觉得这道题可以锻炼一下我二维线段树的思维 但是 无独有偶 这道题会卡一些二维线段树的模板 一开始我想也没想 直接敲了刚学的线段树 然后不停的RE 后来改了下 换成单点更新与区间更新二维线段
  • This inspection highlights unknown XML attributes in Android resource files and AndroidManifest.xml

    This inspection highlights unknown XML attributes in Android resource files and AndroidManifest xml Android studioXML报错
  • SQL中from后两个子查询的连接方式。

    SQL中from后两个子查询的连接方式 正确的 ALTER PROCEDURE dbo DM GZBJQYHZ HYFL BIXNDW DWJC AS VARCHAR 20 SJ AS INT AS BEGIN SELECT DISTINC
  • 上市公司-对外投资情况(2008-2022年)

    涵盖了2008年至2022年间上市公司的对外投资情况 数据包括各公司的对外投资总额以及股权投资 证券投资等详细信息 通过分析这些数据 可以了解上市公司在过去几年里对外投资的规模 领域以及投资策略的变化 从而揭示出公司的扩张战略和市场趋势 一
  • 高德地图marker事件监听-高德地图marker绑定事件就执行了[解决立即执行]

    init var map new AMap Map map location map location 是对应页面盒子的id resizeEnable true 自适应大小 zoom 15 初始视窗 var infoWindow new A
  • vue + echarts(5.2.1)仿3d地图

    地图json下载地址 https download csdn net download qq 42619759 87103469
  • 软件测试---功能分解、等价类、边界值、因果图、错误推测、正交实验、场景法

    一 黑盒测试 1 功能分解法 功能分解法就是把软件需求中的每一个功能加以分解 分解为功能单位 以功能单位为对象进行测试用例涉及 例子 用户管理系统可以分为如下 当然也可以进一步往下分解 根据上面的功能分解图可以对分解出来的最底层功能单元逐个