软件系统黑盒测试方法研究

2016-03-12 22:15北京电子科技职业学院梁金宏赵利民廉诗阳
电子世界 2016年22期
关键词:黑盒测试用例等价

北京电子科技职业学院 梁金宏 刘 威 赵利民 廉诗阳

软件系统黑盒测试方法研究

北京电子科技职业学院 梁金宏 刘 威 赵利民 廉诗阳

黑盒测试对于软件系统来说非常重要,主要是进行功能性测试,是在不考虑系统内部代码的实现逻辑的情况下进行的测验,是从使用者的角度进行数据输入及数据输出对应的匹配关系进行检测而进行的测试,测试方法的研究对于软件系统的测试至关重要。

软件系统黑盒测试;测试方法

1.黑盒测试定义

黑盒测试是进行软件系统测试的主要方法之一,是在完全不考虑软件内部结构和逻辑的情况下,对软件进行功能测试,主要是按照需求分析规定的内容,检查软件是否达到正常使用的目的,能否达到接受正常输入,并产生正常输出的目的。黑盒测试主要测试软件的功能和界面。测试者不需要了解程序的内部情况,只从输入的合法性及正确性,规范性,范围性中监测系统的输入输出结果是否与预期的一致而进行的测试。

正因为黑盒测试不需要了解软件的实现逻辑与编程的具体过程,只从功能性中去探讨软件系统是否功能完备,为此系统在中间性测试及最终的验收测试时大都采用黑盒测试的方法进行。而且黑盒测试非系统的设计人员也可以完成,当然整个测试过程还需要甲方去参与。

2.黑盒测试的作用

黑盒测试主要是注重功能的测试,主要包括:

功能的完整性,正确性测试

系统界面的显示错误

输入数据与输出数据差异错误

数据库访问溢出,驱动等错误

系统的性能检测错误

系统数据初始化、完备化、及系统停顿、中断错误等等

3.软件系统黑盒测试常用方法

目前在进行软件系统的黑盒测试时一般有如下几种常用的测试设计方法:划分等价类法、分析边界法、推测错误法和因果图示法。

3.1划分等价类法

划分等价类法是一种比较常用的软件系统黑盒测试方法,是把软件系统所可能涉及到的所有数据按照某些规则划分成几个部分,简单的说就是把数据子集划分,然后在每部分中选取少量的具备代表性的数据来设计测试用例,以此来代替该部分中的所有数据,而不是为所有数据都设计测试用例进行测试,此种方法叫划分等价类法。在此种测试方法中比较重要的是如何等价类的划分。

3.1.1等价类划分

等价类是首先是对整个输入数据的区域进行分片,等价类是某个输入域的子集。在该子集中,各个数据对于程序来讲所产生的输入输出错误逻辑是相同的或大致类似的。对于此种情况我们假定选择的代表性的数据能代替所有数据。我们在进行软件系统黑盒测试时要根据系统的所有的功能性把所涉及的所有数据划分成不同的区域形成子集即等价类,在等价类中选取代表性的数据代替其他数据进行测试。等价类分有效与无效两类。

有效等价类:是指对于所设计的软件系统按照规格来说合情合理的数据集合,是规范范围内的数据用来检测软件系统的功能及性能。

无效等价类:是对于软件系统来说不合理的数据,属于意外性的数据,用来测试系统的边缘性。

在进行软件系统的测试用例时,有效等价类与无效等价类的数据都需要考虑,采用保证测试的完整性和系统的合理及完备性。

3.1.2等价类的划分原则

①确定了输入的取值范围和个数时,可以确定一个有效等价类,边缘两个无效等价类。

②在输入中确定必须点即必须满足某一条件时,可确定一个有效等价类一个无效等价类。

③输入数据有选择分支情况下,可确立有效与无效等价类各一个。

④在输入中确立多种不同输入值,且每一种输入值皆可产生不同结果时,可确立有效类多个,无效类一个。

⑤在确立数据输入必须遵守某项规定时,确立有效类一个,无效类多个。

⑥已确立的等价类程序处理方式不同时说明没有细化到位需要进一步细化。

3.1.3等价类划分法的测试用例设计原则

在确立好等价类后要根据所有的有效等价类与无效等价类进行测试用例的设计。而在设计测试用例时要保证做到所有的有效等价类与无效等价类都要被覆盖,才能满足设计要求,为此要对有效等价类与无效等价类进行编号,每一个有效等价类至少需要一个至多个合理代表数据,每一个无效等价类需要一个代表数据。

3.2分析边界法

分析边界法是对软件系统所涉及的边界值进行分析并进行测试设计的黑盒测试法。在实际的软件系统测试工作中发现,考虑了边界并进行了测试修正的系统比没经过边界测试设计的系统具备更好的系统回报率,并且系统不易崩溃,而没有进过边界测试的系统在数据达到边界值时常易发生系统崩溃的现象。这里的边界是指数据正好处于边缘状态,或靠近及在边缘以下的状态时。

分析边界法设计测试用例的原则:

(1)输入数据规定了范围,对于范围边界设计有效等价类用例,刚越界的设计无效等价类用例。

(2)系统中用了内部数据结构的情况下要设计内部数据结构的用例。

(3)若输入数据范围为有序范围集合,则对数据范围边界的第一值与最后一值设计测试用例。

3.3推测错误法

推测错误法也是软件系统进行黑盒测试常用的方法之一,其基本思路是设计者根据经验和设计感觉推测出软件系统所有可能存在的错误,并且设计测试用例对这些错误进行测试并修正系统。

基本做法是测试设计人员根据系统思路列举出系统中所有可能有的错误和可能产生的特殊情景,并由此设计测试用例,而这一类做法往往需要系统的设计者做可能产生的错误及特殊情景的推断,系统为设计者所设计,设计者最清楚错误的产生点和软件系统的弱点。另外经验丰富的测试人员在此类方法的使用上也颇具优越性,他们往往比较清楚一般软件系统的薄弱点,而为此进行系统测试用例设计并进行测试。比如系统初始化数据为空,计算数据为0,数据库中提取数据为空,或表格不存在等情况都是常见的系统错误,经验丰富者对这些常见错误很有经验设计测试用例时得心应手。然而无论何人都很难利用此法列出系统的所有错误,只能尽可能的减少,而只利用此法做到万物一失的可能性几乎没有,只能依靠经验值和敏锐的洞察力。为此,此法有一定的局限性,对于初学者相对困难。

3.4因果图示法

因果图示法是软件系统黑盒测试中常用的一种方法。测试人员所绘制的因果图能比较清晰的描述输入条件与输入结果之间的因果关系,是一种逻辑因果关系图,该图能帮助测试人员把注意力集中在输入数据的条件判定上。

因果图示法是适合于在输入数据时存在多种输入条件组合的情况下。我们一般根据输入数据的条件组合及相互的约束和输出结果之间的因果关系,分析归纳所有的输入数据组合,为每一种组合设计测试用例并检测输出结果。

此种方法适合于检测输入数据存在多种组合的条件之下。

因果图示法软件系统黑盒测试的步骤:

(1)将软件系统的数据规格划分成多个可执行的片段,片段量不易过于庞大。

(2)分析每一个片段的结果及原因。

(3)为分析出的每一种情况划画出因果示意图。

(4)跟踪示意图中的每一种数据变化情况,并由不同的数据状态设计数据判定表。为数据判定表的每一种情况设计测试用例,并进行测试。

4.测试方法分析结论

黑盒测试对于软件系统的测试来说至关重要,而进行黑盒测试之前要做大量的数据准备调研及设计工作,力求保证数据的准确性与完备性,而进行完整的黑盒测试需要进行多方因素的考虑,且要根据软件系统的应用情况利用不同的方法进行测试,且往往多种方法结合使用,才能满足软件系统测试需求,为此黑盒测试是一项系统工作,也是值得我们深入研究的一项系统工程。

猜你喜欢
黑盒测试用例等价
一种基于局部平均有限差分的黑盒对抗攻击方法
等价转化
回归测试中测试用例优化技术研究与探索
基于SmartUnit的安全通信系统单元测试用例自动生成
n次自然数幂和的一个等价无穷大
收敛的非线性迭代数列xn+1=g(xn)的等价数列
基于依赖结构的测试用例优先级技术
环Fpm+uFpm+…+uk-1Fpm上常循环码的等价性
软件回归测试用例选取方法研究