黑盒测验也称功用测验,它是经过测验来检测每个功用是否都能正常运用。在测验中,把程序看作一个不能翻开的黑盒子,在彻底不考虑程序内部结构和内部特性的状况下,在程序接口进行测验,它只查看程序功用是否依照需求规范阐明书的规矩正常运用,程序是否能适当地接纳输入数据而发生正确的输出信息。黑盒测验着眼于程序外部结构,不考虑内部逻辑结构,首要针对软件界面和软件功用进行测验。
黑盒测验是以用户的视点,从输入数据与输出数据的对应联络动身进行测验的。很明显,假如外部特性自身规划有问题或规范阐明的规矩有误,用黑盒测验办法是发现不了的。
黑盒测验有7种测验办法别离是等价类区分法、鸿沟值剖析法、过错估测法、因果图法、断定表驱动法、功用图法、正交实验法。下面将逐个介绍。
等价类区分法
等价类区分是把一切或许的输入数据,即程序的输入域区分红若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测验用例。该办法是一种重要的,常用的黑盒测验用例规划办法。
1、区分等价类:
等价类是指某个输入域的子调集。在该子调集中,各个输入数据关于揭穿程序中的过错都是等效的。并合理地假定:测验某等价类的代表值就等于对这一类其它值的测验。因而,能够把悉数输入数据合理区分为若干等价类,在每一个等价类中取一个数据作为测验的输入条件,就能够用少数代表性的测验数据。获得较好的测验成果。等价类区分可有两种不同的状况:有用等价类和无效等价类。
有用等价类:是指关于程序的规范阐明来说是合理的,有意义的输入数据构成的调集。运用有用等价类可查验程序是否完成了规范阐明中所规矩的功用和功用。
无效等价类:与有用等价类的界说恰巧相反。规划测验用例时,要一起考虑这两种等价类。因为,软件不只要能接纳合理的数据,也要能饱尝意外的检测。这样的测验才干保证软件具有更高的可靠性。
2、区分等价类的办法:
下面给出六条确认等价类的准则。
①在输入条件规矩了取值规模或值的个数的状况下,则能够树立一个有用等价类和两个无效等价类。
②在输入条件规矩了输入值的调集或许规矩了“有必要怎么”的条件的状况下,可树立一个有用等价类和一个无效等价类。
③在输入条件是一个布尔量的状况下,可确认一个有用等价类和一个无效等价类。
④在规矩了输入数据的一组值(假定n个),而且程序要对每一个输入值别离处理的状况下,可树立n个有用等价类和一个无效等价类。
⑤在规矩了输入数据有必要恪守的规矩的状况下,可树立一个有用等价类(契合规矩)和若干个无效等价类(从不同视点违背规矩)。
⑥在确知已区分的等价类中各元素在程序处理中的办法不同的状况下,则应再将该等价类进一步的区分为更小的等价类。
3、规划测验用例:
在树立了等价类后,可树立等价类表,列出一切区分出的等价类:输入条件 有用等价类 无效等价类
4、规划准则:
然后从区分出的等价类中按以下三个准则规划测验用例:
①为每一个等价类规矩一个仅有的编号。
②规划一个新的测验用例,使其尽或许多地掩盖没有被掩盖地有用等价类,重复这一步。直到一切的有用等价类都被掩盖停止。
③规划一个新的测验用例,使其仅掩盖一个没有被掩盖的无效等价类,重复这一步,直到一切的无效等价类都被掩盖停止。
鸿沟值剖析法
鸿沟值剖析办法是对等价类区分办法的弥补。
(1)鸿沟值剖析办法的考虑:
长时间的测验作业经历告知咱们,很多的过错是发生在输入或输出规模的鸿沟上,而不是发生在输入输出规模的内部。因而针对各种鸿沟状况规划测验用例,能够查出更多的过错。运用鸿沟值剖析办法规划测验用例,首要应确认鸿沟状况。一般输入和输出等价类的鸿沟,便是应侧重测验的鸿沟状况。应当选取正好等于,刚刚大于或刚刚小于鸿沟的值作为测验数据,而不是选取等价类中的典型值或恣意值作为测验数据。
(2)根据鸿沟值剖析办法挑选测验用例的准则:
1、假如输入条件规矩了值的规模,则应取刚抵达这个规模的鸿沟的值,以及刚刚逾越这个规模鸿沟的值作为测验输入数据。
2、假如输入条件规矩了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测验数据。
3、根据规范阐明的每个输出条件,运用前面的准则1。
4、根据规范阐明的每个输出条件,运用前面的准则2。
5、假如程序的规范阐明给出的输入域或输出域是有序调集,则应选取调集的第一个元素和终究一个元素作为测验用例。
6、假如程序中运用了一个内部数据结构,则应当挑选这个内部数据结构的鸿沟上的值作为测验用例。
7、剖析规范阐明,找出其它或许的鸿沟条件。
过错估测法
根据经历和直觉估测程序中一切或许存在的各种过错,然后有针对性的规划测验用例的办法。
过错估测办法的根本思想: 列举出程序中一切或许有的过错和简单发生过错的特殊状况,根据他们挑选测验用例。例如,在单元测验时曾列出的许多在模块中常见的过错。从前产品测验中从前发现的过错等,这些便是经历的总结。还有,输入数据和输出数据为0的状况。输入表格为空格或输入表格只要一行。这些都是简单发生过错的状况。可挑选这些状况下的比如作为测验用例。
因果图法
前面介绍的等价类区分办法和鸿沟值剖析办法,都是侧重考虑输入条件,但未考虑输入条件之间的联络, 彼此组合等。 考虑输入条件之间的彼此组合,或许会发生一些新的状况。但要查看输入条件的组合不是一件简单的作业,即便把一切输入条件区分红等价类,他们之间的组合状况也相当多。因而有必要考虑选用一种合适于描绘关于多种条件的组合,相应发生多个动作的方式来考虑规划测验用例。这就需求运用因果图(逻辑模型)。
因果图办法终究生成的便是断定表。它合适于查看程序输入条件的各种组合状况。
运用因果图生成测验用例的根本进程:
(1)剖析软件规范阐明描绘中,那些是原因(即输入条件或输入条件的等价类),那些是成果(即输出条件),并给每个原因和成果赋予一个标识符。
(2)剖析软件规范阐明描绘中的语义。找出原因与成果之间, 原因与原因之间对应的联络。 根据这些联络,画出因果图。
(3)因为语法或环境束缚,有些原因与原因之间,原因与成果之间的组合状况不或许呈现。为标明这些特殊状况,在因果图上用一些记号标明束缚或束缚条件。
(4)把因果图转换为断定表。
(5)把断定表的每一列拿出来作为根据,规划测验用例。从因果图生成的测验用例(部分,组合联络下的)包含了一切输入数据的取TRUE与取FALSE的状况,构成的测验用例数目抵达最少,且测验用例数目随输入数据数目的添加而线性地添加。
判别表驱动法
1、条件桩:列出问题一切条件。一般以为列出的条件的次第不重要。
2、动作桩:列出问题规矩或许采纳的操作。这些操作的摆放次序没有束缚。
3、条件项:列出针对它所列条件的取值,在一切或许的状况下的真假值。
4、动作项:列出针对它所列条件的取值,在一切或许状况下的真假值。
5、规矩:任何一个条件组合的特定取值及其相应要履行的操作。在断定表中贯穿条件项和动作项的一列便是一条规矩。明显,断定表中列出多少组条件取值,也就有多少条规矩,条件项和动作项就有多少列。
判别表树立根据和进程:
1、确认规矩的个数。假如有N个条件,每个条件有两个取值(0、1),故2N种规矩。
2、列出一切的条件桩和动作桩。
3、填入条件项。
4、填入动作项。拟定初始断定表。
5、简化。兼并类似规矩或许相同动作。
合适运用规矩断定表规划用例的条件:
1、规矩阐明以断定表的方式给出,或很简单转换成断定表。
2、条件的排序次序不影响履行那些操作。
3、规矩的摆放次序不影响履行那些操作。
4、当某一规矩的条件现已满意,并确认要履行的操作后,不用查验其他规矩。
5、假如某一规矩要履行多个操作,这些操作的履行次序无关紧要。
功用图法
用功用图形象地表明程序的功用阐明,机械的生成功用图的用例。功用图是一个黑盒、白盒混合用例规划办法。
功用图由状况搬迁图和逻辑功用模型构成:
1、状况搬迁图用于表明输入数据序列及其相应的输入数据。在状况搬迁图中,有输入数据和当时状况决议输出数据和后续状况。
2、逻辑功用模型用于表明在状况中输入条件和输出条件之间的对应联络。逻辑功用模型只合适于描绘静态阐明,输出数据仅由输入数据决议。测验用例则由测验中经过的一系列状况和每个状况中有必要依托输入/输出数据满意的一对条件组成。
功用图办法中要用到逻辑掩盖和途径测验的概念和办法。要求规划人员对程序逻辑结构有清楚的了解。
生成用例:
1、生成部分测验用例:在每个状况中,从因果图生成部分测验用例。部分测验库有原因值(输入数据)组合与对应的成果值(输出数据或状况)构成。
2、测验途径生成:运用上面的规矩生成从初始化状况到终究状况的测验途径。
3、测验用例组成:组成测验途径与功用图中每个状况的部分测验用例。成果是视状况到终究状况的一个状况序列,以及每个状况中输入数据与对应输出数据组合。
4、测验用例的组成算法:选用条件结构树。
正交实验法
从很多的实验数据中挑选适量的、有代表性的点,合理安排测验的规划办法。
1、提取功用阐明,结构因子–状况表把影响实验目标的条件称为因子,而影响实验因子的条件叫因子的状况。运用正交实验规划办法来规划测验用例时,首要要根据被测验软件的规范阐明书找出影响其功用完成的操作目标和外部要素,把他们当作因子;而把各个因子的取值当作状况。对软件需求规范阐明中的功用要求进行区分,把全体的、概要性的功用要求进行层层分化与打开,分化成详细的有相对独立性的、根本的功用要求。这样就能够把被测验软件中一切的因子都确认下来,并为确认每个因子的权值供给参阅的根据。确认因子与状况是规划测验用例的要害。因而要求尽或许全面的、正确的确认取值,以保证测验用例的规划作到完好与有用。
2、加权挑选,生成要素剖析表对因子与状况的挑选可按其重要程度别离加权。可根据各个因子及状况的作用巨细、呈现频率的巨细以及测验的需求,确认权值的巨细。
3、运用正交表结构测验数据集运用正交实验规划办法规划测验用例,比运用等价类区分、鸿沟值剖析、因果图等办法有以下长处:节约测验作业工时;可操控生成的测验用例数量;测验用例具有必定的掩盖率。
测验办法的归纳战略:
1、首要进行等价区分,包含输入、输出条件的等价区分,将无限测验变成有限测验。
2、运用鸿沟值剖析法。
3、运用过错估测发,追加一些用例。
4、对照程序逻辑,查看用例规划的逻辑掩盖,力求抵达掩盖规范。
5、程序功用阐明中有输入条件组合,就可选用因果图和断定表驱动法。
6、关于参数装备类软件,用正交实验法挑选较少组合抵达最佳作用。
7、功用图是用例规划的好办法,经过不一起期条件的有用性规划不同的测验数据。对应业务流程明晰的体系,用场景法贯穿测验进程,在事例中归纳运用各种测验办法。