首页天道酬勤常见的黑盒测试类型有,属于黑盒测试的方法有哪些

常见的黑盒测试类型有,属于黑盒测试的方法有哪些

admin 06-23 20:54 233次浏览

本文的目录测试用例黑匣子测试等值类划分法边界值分析法(BVA )判定表法因果图法组合覆盖法正交实验法比较pairwise与OTDM因果图、决策表与pairwise选择建议功能图法(黑白箱混合)场景设计法错误估计法

测试用例配置

测试用例=输入(测试步骤和测试数据)输出(预期结果)测试环境(系统环境设定)生成时间

通常用测试设计阶段编写,《需求规格说明书》和《测试计划》都完成了之后。 制定标准

唯一标准:用户需求参考资料

《需求规格说明书》和软件原型。 作用

测试过程的重要参考依据是重用好的用例可以提高测试过程的效率。 黑匣子测试的原因

任何程序都可以看作是从输入定义域到输出值域的映射,可以看作是不打开被测程序的黑匣子。 完全不知道黑匣子的内容(实现),只知道软件会做什么。 即不关心结构、只关心输入输出。 定义

现代黑匣子测试是从软件的外部对软件执行的测试,也称为基于规格说明的测试。

黑匣子测试是从用户观点开始的测试,目的是尽可能地发现软件的外部行为错误。 检测内容

检查软件功能是否按要求规格书规定正常运行,有无功能遗漏;

检测是否存在人为错误,是否存在数据结构和外部数据库访问错误,是否能够正确接收数据并保持数据库和文件等外部信息的完整性

检查行为、性能等特性是否符合要求等;

检测程序初始化和结束相关的错误等。 好处

即使软件实现发生更改,测试用例也可以继续使用;

由于可以与软件实现同时进行,所以可以缩短项目的总开发时间。

介绍黑匣子测试中常用的9种方法。

等价类划分法的定义

基于程序规范,将所有可能的输入数据,即程序输入字段,划分为称为等价类的几个互不相交的子集,从各个等价类别中提取少数具有代表性的数据作为测试用例等价类

等价类是某个输入字段的子集,该子集中每个输入数据的作用是等效的

分为有效等价类和无效等价类

有效等价类别:输入数据结构的集合,对程序规格说明来说是合理且有意义的。 利用有效的等价类,可以验证程序是否实现了说明书规定的功能和性能。

无效等价类:与有效等价类的定义完全相反。

设计测试用例时,必须同时考虑这两个等价类。 因为软件不仅要接收合理的数据,还要承受异常数量

通过的考验。 经过完全相反的测试,可以确保软件具有更高的可靠性确定等价类的六条原则

输入条件中规定取值范围或取值个数的,可以建立一个有效等价类和两个无效等价类。

如果输入条件规定了输入值的集合,或者规定了“必须怎么办”的条件,则可以建立一个有效等价类和3358www.Sina.com/无效等价类。

输入条件为布尔1个时,可确定一个有效等价类和一个无效等价类。

多输入的或关系

如果规定了一组输入数据值,并且程序针对每个输入值单独处理,则可建立一个有效等价类别和3358www.Sina.com/无效等价类别。

多输入且相关

如果规定了输入数据必须遵守的规则,则可以建立n个有效等价类(按照规则)和http://www.Sina.com)个无效等价类。

细分等价类

在分类的等价类中,如果知道各要素在程序处理中如何不同,则应该将该等价类一个分类为更小的等价类。一个

(a )编制等价类表,列出所有分类的等价类;

) b )为每个等价类确定唯一的号码

设计新的测试用例以涵盖3http://www.Sina.com/未涵盖的3358www.Sina.com/等价类别

(d )重复,最后达到所有有效等值类若干测试用例覆盖;

(e )设计新的测试用例,使其仅覆盖进一步地无功等值类。

(f )重复) e )涵盖所有根据等价类创建测试用例的步骤无效等价类。

尽可能多进一步理解等价类划分法

规格的说明中,很多情况下没有定义3358www.Sina.com/的有效应该是什么样的。 因此,测试人员需要很多时间来定义这些测试用例的预期输出。

等价分类的目标是可能的均被

组合缩减到仍然足以满足软件测试需求为止。选择了不完全测试,就要冒一定的风险,所以必须仔细选择分类。
测试同一个复杂程序的两个软件测试人员,可能会指定出两组不同的等价区间。只要审查认为足以覆盖测试对象就可以了。小试牛刀(作业)


参考答案
边界值分析法(BVA)

全称Boundary Value Analysis
首先明确,需要在等价类划分的基础上进行

来由
边界值和等价类密切相关,输入等价类和输出等价类的边界是要着重测试的边界情况。在等价类的划分过程中就产生了许多等价类边界。边界是最容易出错的地方,所以,从等价类中选取测试数据时应该关注边界值。基本思想
选取正好等于刚刚大于刚刚小于等价类边界的值作为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。边界
边界是指相对于输入等价类和输出等价类而言,稍高于边界值及稍低于其边界值的一些特定情况。

具体有以下几种情况(我觉得这很白痴,ppt上还说是确定边界值的原则):
a. 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
b. 如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少、比最大个数多1的数作为测试数据。
c. 很多如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
d. 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
一些可能与边界有关的数据类型:数值,速度,字符,地址,位置,尺寸,数量等。
考虑数据类型的下述特征

4. 次边界条件
普通边界条件最容易找到,在产品说明书中有定义,或者在使用软件的过程中确定。
有些边界在软件的内部,最终用户几乎看不到,但是软件测试仍有必要检查。这种边界条件称为次边界条件或者内部边界条件
寻找这样的边界不要求软件测试人员具有程序员那样阅读源代码的能力,但要求大体了解软件的工作方式。

5. 单故障假设

如图,有x1和x2两个输入域,每次只让一个出故障,取值不在矩形的四个角,而在边上。
对于一个n变量的程序,BVA测试会产生4n+1个测试用例。
4的来由:min,min+,max,max-
1的来由:各个维度都取正常值的那个测试用例

健壮性BVA测试会产生6n+1个测试用例,多出的是min-与max+

实例
以下实例同时用上了等价类和BVA测试方法



评价:该测试方法的涉及违反了单故障假设,并不好。

背景:当输入之间有了关联,如:约束关系和组合关系,等价类划分和BVA将不再适用,必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法(指先因果图后判定表)。

判定表法

判定表方法是借助表格方法完成对输入条件的组合设计,以达到完全组合覆盖的测试效果。
在所有的黑盒测试方法中,基于判定表的测试是最严格,最具有逻辑性的测试方法。又称决策表法。
它能够将复杂的问题按照各种可能的情况全部列举出来,bldsg并避免遗漏。

判定表
判定表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。
条件(作为输入)和活动(作为输出)两部分组成。
组成元素

判定表的制定

适合使用判定表设计测试用例的条件
a. 规则说明以判定表的形式给出,或很容易转换成判定表。
b. 条件和规则的排列顺序不影响执行哪些操作。
c. 当某一条规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
d. 如果某一规则要执行多个操作,这些操作的执行顺序无关紧要。

示例

因果图法 定义
借助图形,着重分析输入条件的各种组合,每种组合条件就是“因”,输出的结果就是“果”。
因果图是一种形式化的图形语言,实质上是使用简化记号表示数字逻辑图,不仅能发现输入、输出中的错误,还能指出程序规范中的不完全性和二义性。因果图法生成测试用例的步骤

①分析软件规格说明文档描述的哪些是原因(输入条件),哪些是结果(输出条件)。
原因常是输入条件或输入条件的等价类,结果是输出条件。
②分析程序规格说明的描述中的语义内容,将其表示成连接各个原因与各个结果的“因果图”。
③标明约束条件。在因果图上标上哪些不可能发生的因果关系,表明约束或限制条件。
④根据因果图,创建判定表,将复杂的逻辑关系和多种条件组合很具体明确的表示出来。
⑤把判定表的每一列作为依据设计测试用例。

符号分析
分为基本符号(即输入和输出之间)和约束符号(即输入之间、输出之间)两大类
基本符号有:恒等、非、或、与四类,图形都很好记
约束符号有:
互斥(Exclusion)
或(不知道为啥写成I)
唯一(Only)
要求(Require)
屏蔽(Mask)

背景:实际中每个条件不只有“是”“否”两个值,当输入条件的个数和输入条件的取值可能都很多,组合数就是很大的数字,决策表已经无能为力。 组合覆盖法

最常用的是Pair-wise方法,即将众多因素的值两两组合起来而大大减少测试用例组合,该方法经济有效。
Pair-wise方法基本原理:
不要测试所有的组合,测试所有的“Pairwise ”即可。(覆盖任意2个因素所有状态的测试用例集合)


如果完全组合,其组合数是3 x 4 x 4 x 3 = 144种,但如果采用两两组合,其组合数只有17项

可以靠工具自动生成组合,典型有微软的PICT。

正交实验法

Orthogonal Test Design Method, OTDM
正交测试法使用已经构造好了的正交表格来安排试验并进行数据分析。
正交表的两大优越性,即“均匀分散,整齐可比”。

其中9是实验次数,4是因子的个数,3是因子的水平数(即状态数)。
试验次数 = m*(n-1)+1 m是因子个数 ,n是水平数。
步骤

确定影响功能的因子与状态选择一个合适的正交表利用正交表构造测试数据集 对比pairwise和OTDM

共同点
两者使用频率最高的均是两两组合,前提也都是基于“缺陷大部分发生在参数两两组合的情况下,三个参数组合导致的缺陷并不多见”。
两者的父集均是笛卡尔集。
不同点
两者采用的筛选方式稍显不同,配对测试选择的是所有的两两组合所构成的测试用例;
正交表在此基础上做了更进一步的筛选,使得结果更加精炼。
选择建议
在因子水平数比较少的情况下,采用配对测试方法。因为测试组合数更加全面一些,当然在某些因子水平数时,两者最后筛选出的结果可能是一致的。
在因子水平数比较多的情况下,采用正交表测试,因为可以得到更加精炼的测试组合,从而使测试效率得到提升。

因果图、决策表和pairwise选用建议

如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法和判定表法。
对于配置参数类软件,用正交试验法选择较好的组合方式达到最佳效果。

功能图法(黑白盒混合)

功能图法就是使用功能图形式化地表示程序的功能说明,并机械地生成功能图地测试用例。

功能图的两个组成部分——状态迁移图(state transition diagram STD)和逻辑功能模型(logic function model LFM)。

STD用于表示输入数据序列以及相应的输出数据,由输入和当前地状态决定输出数据和后续状态。

LFM用于表示在状态输入条件和输出条件之间的对应关系。LFM只适合于描述静态说明,输出数据仅由输入数据决定。

后续要用到基本路径覆盖法。

场景设计法

多数软件系统都是用事件触发来控制业务流程,事件触发时的情景便形成了场景,场景的不同触发顺序构成了用例。
特点:测试人员要充分发挥对用户实际业务场景的想象,关心用户做什么,而不是关心产品做什么。
优点:实用性强,有效,设计出来的用例有价值。
缺点:可能使用的场景不一定能对事件系列进行全面的分析,设计出来的用例不完整。

错误推测法 定义
测试者根据经验、知识和直觉来发现软件的错误,来推测程序中可能存在的各种错误,从而有针对性地进行测试。特点
没有依据,只能靠测试者自身实力;优点
快速切入体会到程序易用与否;缺点
难以准确知道测试覆盖率。地位
作为辅助方法(不像BVA是必用的黑盒测试方法)基本思想
软件测试的原则5-错误存在集群现象
GITLAB-CI-加入由docker-compose创建的网络【容器云 UK8S】最佳实践:节点亲和与反亲和性(nodeAffinity)Angular怎么结合dygraphs实现annotation功能Java Log框架源码分析【容器云 UK8S】最佳实践:权限管理之了解RBAC和权限管理实践镜像Android桌面插件AppWidget用法分析【容器实例 Cube】产品介绍:Kubernetes中的最小业务单元Pod一篇文章带你了解JAVA面对对象之继承与修饰符
arm架构的存储,arm架构是哪个国家的 常见的黑盒测试技术有哪些,黑盒测试内部的常用方法
相关内容