正交试验设计法 黑盒测试
- 格式:doc
- 大小:748.00 KB
- 文档页数:8
⿊盒测试——等价类划分、边界值分析、因果图、状态图、场景、正交试验法⿊盒测试常⽤测试⽅法的选择:1⾸先采⽤等价类划分法来编写测试⽤例2必要时采⽤边界值分析法进⾏补充测试⽤例3采⽤错误推测法再追加测试⽤例4对照程序逻辑,检查⾃⼰设计出的测试⽤例逻辑覆盖程度,若覆盖不够,则需要再补充其他的测试⽤例5如果程序功能含有输⼊条件的组合情况,应⼀开始就采⽤因果图法6如果程序某功能适合⾃动测试,可以采⽤⾃动化测试及随机测试。
什么是⿊盒测试以及优缺点?定义:⿊盒测试把测试对象看做⼀个⿊盒⼦,不⽤考虑程序内部结构和内部特性,依据程序需求规格说明书,检查程序功能是否符合功能说明。
优缺点:优:1功能性测试与软件如何实现⽆关,如果实现发⽣变化,功能性测试仍然可⽤;2测试⽤例编写与软件开发同时进⾏,节省软件开发时间3通过软件的⽤例可⽤设计出⼤部分功能性测试⽤例缺:1测试⽤例数量⼤2测试⽤例可能产⽣很多冗余3功能性测试的覆盖范围不可能达到100%⿊盒测试⽤例设计⽅法?答:1等价类划分法(有意义,合理的输⼊数据组成集合检查是否符合产品需求;⽆意义,不合理的输⼊数据组成的集合推测不符合需求的地⽅)、2边界值分析法(输⼊的边界值进⾏测试)、3因果图法(分析和表达多逻辑条件下执⾏不同操作)、4状态图法(和产品需求反着来,⽐如要求输⼊数字,就输⼊字母,要求输⼊正数,就输⼊负数等)、5场景法(利⽤图解法分析输⼊的各种组合情况,即输⼊多个条件的各种组合及输出情况之间的相互制约关系)、6正交试验法(⽐如要进⾏18次测试,最终选择具有代表性的9次进⾏试验)7其他测试⽅法有:错误推测法、通过测试与失败测试、随机测试边界值划分法:考虑的边界数据类型如数值、速度、字符、地址、位置、尺⼨、数量;以及考虑条件的等价区间:默认、空⽩、空值、零值和⽆。
还要考虑:⾮法、错误、不正确和垃圾数据。
还要测试:程序的状态及切换。
次边界条件:。
⿊盒测试⽤例设计⽅法⼀、等价类划分法 该⽅法是将系统的输⼊域划分为若⼲部分,然后从每个部分选取少数代表性数据进⾏测试,这样可以避免穷举法产⽣的⼤量⽤例。
等价类是指某个输⼊域的⼦集合,在该⼦集合中,各个输⼊数据对于揭露软件中的错误都是等效的。
并合理地假定:测试某等价类的代表值就等于对这⼀类其它值的测试。
有效等价类:是指对于系统的规格说明来说是合理的,有意义的输⼊数据构成的集合。
利⽤有效等价类可以验证程序是否实现了规格说明中所规定的功能和性能。
⽆效等价类:是指对于系统的规格说明来说是不合理或⽆意义的输⼊数据所构成的集合。
设计测试⽤例时,要同时考虑这两种等价类。
因为,软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具备有更⾼的可靠性。
1、划分等价类 基于特性测试⼦项所对应的 SRS ⽚段,可以参考下⾯⼏条原则:1.在输⼊条件规定了取值范围或值的个数的情况。
例⼦:在1<x<5中。
⼀个有效等价类:1<x<5,两个⽆效等价类:x>=5 和 x<=1。
2.在输⼊条件规定了输⼊值的集合或者规定了必定如何的条件的情况下,可确⽴⼀个有效等价类和⼀个⽆效等价类。
例⼦:规定字段”星期”是输⼊星期⼏。
该输⼊条件⼀个有效等价类是输⼊的值属于从星期⼀到星期⽇的集合,⼀个⽆效等价类是不属于星期⼀到星期⽇的其他值。
3.在输⼊条件是⼀个布尔量的情况。
例⼦:性别,如果规定输⼊“男”为有效,则⼀个有效等价类:“男”,⼀个⽆效等价类:“⼥”。
4.在规定了输⼊数据的⼀组值假定 n 个,并且程序要对每⼀个输⼊值分别处理的情况下,可确⽴ n 个有效等价类和⼀个⽆效等价类。
例⼦:PPT的打印效果分为幻灯⽚加框和幻灯⽚不加框,则对于打印效果这个输⼊条件,n (这⾥ n =2)个有效等价类:幻灯⽚加框,幻灯⽚不加框;⼀个⽆效等价类:加框和不加框外的其他值。
5.在规定了输⼊数据必须遵守的规则的情况下,可确⽴⼀个有效等价类符合规则和若⼲个⽆效等价类从不同⾓度违反规则。
测试用例设计方法之正交试验设计方法分析1.前言黑盒测试的典型方法:正交矩阵法或者正交分析法是减少测试用例的有效方法,是测试用例设计中比较常用的一种方法。
利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。
往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。
2.定义正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验设计方法。
正交表是一整套规则的设计表格,用 L为正交表的代号,n为试验的次数,t为水平数,c为列数,也就是可能安排最多的因素个数。
正交表的构造需要用到组合数学和概率学知识,而且如果正交表类型不同,则构造方法差异很大,甚至有些正交表其构造方法到目前还未解决。
3.核心正交分析法是用最少的测试用例来覆盖所有的组合,其核心在于:用最少的测试用例来覆盖多个变量取值的两两组合。
4.正交表4.1正交表的构成行数(Runs):正交表中的行的个数,即试验的次数。
因素数(Factors):正交表中列的个数。
水平数(Levels):任何单个因素能够取得的值的最大个数。
正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”正交表的表示形式: L行数(水平数因素数) 例如:L4(23).4.2正交表的正交性体现在:•整齐可比性在同一张正交表中,每个因素的每个水平出现的次数是完全相同的。
由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素水平的干扰。
因而,能最有效地进行比较和作出展望,容易找到好的试验条件。
黑盒测试是一种基于证明功能需求和用户最终需求的测试方法,设计黑盒测试用例的方法有如下8种:等价类划分法。
边界值分析法。
因果图法。
判定表驱动测试。
场景法。
功能图法。
错误推测法。
正交试验设计法。
在实际测试工作中,往往是综合使用各种方法才能有效地提高测试效率和测试覆盖率,这就需要认真掌握这些方法的原理,积累更多的测试经历,以有效地提高测试水平和测试效率。
下面就将主要介绍这8种设计黑盒测试用例的方法。
等价类划分等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据〔有效的和无效的〕划分成假设干个等价类。
然后从每个局部中选取具有代表性的数据当做测试用例进展合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。
利用这一方法设计测试用例可以不考虑程序的部构造,以需求规格说明书为依据,选择适当的典型子集,认真分析和推敲说明书的各项需求,特别是功能需求,尽可能多地发现错误。
由于等价类是在需求规格说明书的根底上进展划分的,并且等价类划分不仅可以用来确定测试用例中的数据的输入输出的准确取值围,也可以用来准备中间值、状态和与时间相关的数据以及接口参数等,所以等价类可以用在系统测试、集成测试和组件测试中,在有明确的条件和限制的情况下,利用等价类划分技术可以设计出完备的测试用例。
这种方法可以减少设计一些不必要的测试用例,因为这种测试用例一般使用一样的等价类数据,从而使测试对象得到同样的反映行为。
对于等价类我们从以下几个方面讨论它的划分方法。
1、等价类划分等价类可以划分为有效等价类和无效等价类。
〔1〕有效等价类有效等价类指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。
利用有效等价类可以检验程序是否实现了规格说明预先规定的功能和性能。
有效等价类可以是一个,也可以是多个,根据系统的输入域划分假设干局部,然后从每个局部中选取少数有代表性数据当做数据测试的测试用例,等价类是输入域的集合。
黑盒测试的7种测试方法黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
黑盒测试有7种测试方法分别是等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、功能图法、正交实验法。
下面将一一介绍。
等价类划分法等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
该方法是一种重要的,常用的黑盒测试用例设计方法。
1、划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。
因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。
取得较好的测试结果。
等价类划分可有两种不同的情况:有效等价类和无效等价类。
有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类:与有效等价类的定义恰巧相反。
设计测试用例时,要同时考虑这两种等价类。
因为,软件不仅要能接收合理的数据,也要能经受意外的考验。
这样的测试才能确保软件具有更高的可靠性。
2、划分等价类的方法:下面给出六条确定等价类的原则。
①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
⿊盒测试设计--正交实验法⼀.⽅法简介 利⽤因果图来设计测试⽤例时, 作为输⼊条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。
往往因果关系⾮常庞⼤,以⾄于据此因果图⽽得到的测试⽤例数⽬多的惊⼈,给软件测试带来沉重的负担,为了有效地,合理地减少测试的⼯时与费⽤,可利⽤正交实验设计⽅法进⾏测试⽤例的设计。
正交实验设计⽅法:依据Galois理论,从⼤量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从⽽合理地安排实验(测试)的⼀种科学实验设计⽅法.类似的⽅法有:聚类分析⽅法,因⼦⽅法⽅法等.利⽤正交实验设计测试⽤例的步骤:1.提取功能说明,构造因⼦--状态表把影响实验指标的条件称为因⼦.⽽影响实验因⼦的条件叫因⼦的状态.利⽤正交实验设计⽅法来设计测试⽤例时,⾸先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,把他们当作因⼦,⽽把各个因⼦的取值当作状态.对软件需求规格说明中的功能要求进⾏划分,把整体的概要性的功能要求进⾏层层分解与展开,分解成具体的有相对独⽴性的基本的功能要求.这样就可以把被测试软件中所有的因⼦都确定下来,并为确定个因⼦的权值提供参考的依据.确定因⼦与状态是设计测试⽤例的关键.因此要求尽可能全⾯的正确的确定取值,以确保测试⽤例的设计作到完整与有效。
2.加权筛选,⽣成因素分析表对因⼦与状态的选择可按其重要程度分别加权.可根据各个因⼦及状态的作⽤⼤⼩,出现频率的⼤⼩以及测试的需要,确定权值的⼤⼩。
3.利⽤正交表构造测试数据集利⽤正交实验设计⽅法设计测试⽤例,⽐使⽤等价类划分,边界值分析,因果图等⽅法有以下优点:节省测试⼯作⼯时;可控制⽣成的测试⽤例数量;测试⽤例具有⼀定的覆盖率。
4、正交表的下载地址:⼆、案例s1、选择合适的正交表1)找出因⼦状态,7因⼦5状态(上表中每⾏代表⼀个引⼦,每个因⼦不同的取值代表不同的状态,这⾥去取值最多的⼀个,作为整体的状态数)2)到中下载正交表;有时不⼀定有7因⼦5状态的表,那么就找最接近的,切因⼦数、状态数都要⼤于或等于需求中列出来的因⼦和状态数(请思考下为什么?)这些选择8因⼦7状态的正交表s2、下载下来的正交表如下s3、化简正交表原则:去掉多余的因⼦,每列代表⼀个因⼦,只有7个因⼦,将最后⼀列删除(但不能轻易删除⾏)s4、将正交表内数字替换成具体的因⼦状态,对照第⼀张表,每个数字代表对应因⼦的状态值s5、正交表合并:依据适⽤性合并部分相似的⽤例原则:前⾯⽤例都提到过的状态才能合并,没提到过的不能合并s6、删除⼀些不可能的组合注:(1)编写测试⽤例时,需遵循⼀些基本的原理,例如Linux上是⽆法安装IIS的,第9⾏和37⾏就不能作为⽤例,是不可能存在的组合,需排除(2)在运⾏时,你可以将余下的~单元格填充为最容易的测试,或者填充为最流⾏的配置,或者填充为可能会揭⽰缺陷的选项,⽆论你想使⽤什么标准来选填充值,都是可以的。
功能测试常用的十种策略和方法黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。
利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。
黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。
黑盒测试试图发现以下类型的错误:1)功能错误或遗漏;2)界面错误;3)数据结构或外部数据库访问错误;4)性能错误;5)初始化和终止错误。
一、黑盒测试的测试用例设计方法·等价类划分方法·边界值分析方法·错误推测方法·因果图方法·判定表驱动分析方法·正交实验设计方法·功能图分析方法等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
该方法是一种重要的,常用的黑盒测试用例设计方法。
1)划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。
因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。
取得较好的测试结果。
等价类划分可有两种不同的情况:有效等价类和无效等价类。
有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类:与有效等价类的定义恰巧相反。
设计测试用例时,要同时考虑这两种等价类。
因为,软件不仅要能接收合理的数据,也要能经受意外的考验。
⿊盒测试⽤例设计⽅法之正交实验法⼀、正交试验法介绍正交试验法是研究多因素、多⽔平的⼀种试验法,它是利⽤正交表来对试验进⾏设计,通过少数的试验替代全⾯试验,根据正交表的正交性从全⾯试验中挑选适量的、有代表性的点进⾏试验,这些有代表性的点具备了“均匀分散,整齐可⽐”的特点。
本规范只讨论各因素是相互独⽴的正交试验法,各因素相互影响的正交试验法在我们设计测试⽤例的时候⽤不到,所以不提。
正交表是⼀种特制的表格,⼀般⽤L n(m k)表⽰,L代表是正交表,n代表试验次数或正交表的⾏数,k代表最多可安排影响指标因素的个数或正交表的列数,m表⽰每个因素⽔平数,且有n=k*(m-1)+1。
正交试验法原理及特点见。
⼆、使⽤正交试验法的原因对于单因素或两因素试验,因其因素少,试验的设计、实施与分析都⽐较简单。
但在实际⼯作中,常常需要同时考察3个或3个以上的试验因素,若进⾏全⾯试验,试验的规模很⼤,由于时间和成本的限制我们不可能进⾏全⾯试验,但是具体挑其中的哪些测试⽤例进⾏测试我们⼼⾥拿不准,总担⼼不做不挑选的那些测试⽤例会遗漏⼀些严重缺陷。
为了有效的、合理地减少测试的⼯时与费⽤,我们利⽤正交试验法来设计测试⽤例。
正交试验法就是安排多因素试验、寻求最优⽔平组合的⼀种⾼效率的试验设计⽅法。
我们⽤测试实例来进⾏说明使⽤正交试验法设计测试⽤例的好处。
测试需求:某所⼤学通信系共2个班级,刚考完某⼀门课程,想通过“性别”、“班级”和“成绩”这三个查询条件对通信系这门课程的成绩分布,男⼥⽐例或班级⽐例进⾏⼈员查询:根据“性别”=“男,⼥”进⾏查询根据“班级”=“1班,2班”查询根据“成绩”=“及格,不及格”查询按照传统设计——全部测试分析上述测试需求,有3个被测元素,被测元素我们称为因素,每个因素有两个取值,我们称之为⽔平值,所以全部测试⽤例个数是2*2*2=8,参见下表序号性别班级成绩1⼥1班及格2⼥1班不及格3⼥2班及格4⼥2班不及格5男1班及格6男1班不及格7男2班及格8男2班不及格利⽤正交表设计测试⽤例,我们得到的测试⽤例个数是n=3*(2-1)+1=4,对于三因素两⽔平的刚好有L4(23)的正交表可以套⽤,于是⽤正交表试验法得出4个测试⽤例如下:序号性别班级成绩1⼥1班及格2⼥2班不及格3男1班不及格4男2班及格根据实际需要可以在⽤正交试验法设计⽤例的基础上补充⼀些测试⽤例。
软件测试的策略和方法软件测试是指对软件系统或应用程序进行验证、检验和评估的过程,以发现其中的错误和缺陷并提供改进和修复的方法。
测试的目的是确保软件系统能够如预期地工作,以满足用户和业务需求。
为达到这一目的,测试人员需要采取一些策略和方法,以确保测试的质量和有效性。
下面将介绍一些软件测试的策略和方法。
一、测试策略测试策略是测试的规划、设计和执行过程中的指导方针。
它包括测试目标、范围、资源、时间安排、测试级别、测试方法和质量标准等方面的内容。
测试策略的制定应该基于软件产品的特性、需求和风险,以确保测试能够覆盖这些方面,并有效地发现并报告缺陷。
以下是一些常见的测试策略:1. 风险导向测试风险导向测试是根据软件产品的特性和预期使用场景,确定测试范围和测试重点的策略。
它主要考虑的是哪些方面可能会造成最大的影响和损失,以便优先进行测试。
这样可以帮助测试人员提前发现和修复潜在的缺陷,减少风险和损失。
2. 静态测试静态测试指的是对软件开发过程中的文档、代码和设计等进行分析和评估的测试方法。
它包括代码审查、需求审查、设计审查等方式。
静态测试能够通过早期发现潜在缺陷,提高软件质量和效率。
3. 动态测试动态测试是指运行软件系统或应用程序进行检验和验证的测试方法。
它可以分为黑盒测试和白盒测试。
黑盒测试主要验证软件的功能是否符合需求和用户期望;白盒测试则更加关注软件的内部机制和代码执行的正确性。
4. 自动化测试自动化测试是指利用测试工具和脚本等方式,对软件系统或应用程序进行自动化测试的方法。
自动化测试可以加快测试效率,减少测试成本,并提高测试的精确性。
二、测试方法测试方法是测试人员进行测试操作的具体手段和步骤。
测试方法应该根据不同测试对象和测试场景进行选择和应用,以确保测试的准确性和有效性。
以下是一些常见的测试方法:1. 边界值分析边界值分析是一种针对输入、输出和中间值的测试方法。
它可以检验在软件边界值附近的输入、输出和中间值,以发现潜在的逻辑错误和边界问题。
3.2.2 边界值分析法边界值分析法(BVA,Boundary Value Analysis)是用于对输入或输出的边界值进行测试的一种黑盒测试方法。
在测试过程中,边界值分析法是作为对等价类划分法的补充,专注于每个等价类的边界值,两者的区别在于前者在等价类中随机选取一个测试点。
边界值分析法采用一到多个测试用例来测试一个边界,不仅重视输入条件边界值,而且重视输出域中导出的测试用例。
边界值分析法比较简单,仅用于考察正处于等价划分边界或边界附近的状态,考虑输出域边界产生的测试情况,针对各种边界情况设计测试用例,发现更多的错误。
边界值分析法的测试用例是由等价类的边界值产生的,根据输入输出等价类,选取稍高于边界值或稍低于边界值等特定情况作为测试用例。
下面介绍边界值分析方法需要注意的问题。
1.选择边界值测试原则选择边界值测试主要考虑以下几条原则:1)如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数小一的数、比最大个数大一的数作为测试数据。
2)如果输入条件规定了值的范围,则应取刚达到这个范围边界的值,以及刚刚超过这个范围边界的值作为测试输入数据。
3)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
5)分析程序规格说明,找出其他可能的边界条件。
2.常见的边界值常见的边界值通常表现在界面屏幕、数组、报表和循环等上,其表现方式如下:1)屏幕上光标在最左上、最右下位置。
2)数组元素的第一个和最后一个。
3)报表的第一行和最后一行。
4)循环的第0次、第1次、倒数第2次和最后一次使用因果图的好处1 考虑了多个输入之间的相互组合、相互制约关系2 能够帮助我们按一定步骤,高效率地选择测试用例,同时还能为我们指出,程序规格说明描述中存在着什么问题利用因果图导出测试用例需要经过的一般步骤1.分析程序规格说明的描述中,哪些是原因,哪些是结果。
黑盒测试黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
1作用黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误。
功能不正确或遗漏;界面错误;输入和输出错误;数据库访问错误;性能错误;初始化和终止错误等。
2测试方法概述从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。
实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。
这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。
黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。
具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法等。
2.1等价类划分法等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。
每一类的代表性数据在测试中的作用等价于这一类中的其他值。
该方法是一种重要的、常用的黑盒测试用例设计方法。
1)划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。
黑盒测试法是对软件功能进行测试黑盒测试法是软件测试中一种重要的测试方法,是指在测试过程中不需要了解程序的内部逻辑和结构,只需关注软件的输入和输出。
通过黑盒测试法,可以验证软件的功能是否满足需求,并检测软件的正确性、完备性、可靠性和安全性。
测试对象黑盒测试法主要针对软件的功能进行测试。
在测试过程中,测试人员只关注软件的输入参数和预期输出结果,而不关心软件的内部实现细节。
通过设计一系列测试用例,测试人员可以模拟用户的操作,从而验证软件的各项功能是否正常工作。
测试方法在进行黑盒测试时,测试人员通常采用以下几种测试方法:等价类划分等价类划分是指将输入域划分为若干等价类,从而设计测试用例。
通过选择代表性的测试用例来代表每个等价类,可以有效地覆盖所有可能的输入情况,并发现潜在的错误。
边界值分析边界值分析是一种测试方法,通过测试输入的边界值来检查软件的正确性。
这种方法可以有效地发现在边界值处的错误,提高测试的覆盖率。
因果图法因果图法是一种图形化的测试方法,通过绘制因果图来表示软件的输入、输出和中间过程之间的关系。
通过分析因果图,可以发现软件中的逻辑和控制流问题,从而提高测试的效率和准确性。
测试过程在进行黑盒测试时,测试人员通常按照以下步骤进行测试:1.测试计划:确定测试的目标、范围、资源和时间,编制测试计划。
2.测试设计:根据需求规格说明书设计测试用例,包括功能测试、性能测试、安全测试等。
3.测试执行:执行测试用例,并记录测试结果。
在测试过程中发现问题后,及时进行缺陷跟踪和修复。
4.测试评估:评估测试结果,输出测试报告,并提出改进建议。
测试技术在进行黑盒测试时,测试人员可以使用各种测试技术来提高测试效率和测试覆盖率。
常用的测试技术包括:•状态转换测试:测试软件在不同状态下的功能是否正确转换。
•界面测试:测试软件的用户界面是否符合设计要求。
•错误猜测:通过猜测可能存在的错误情况来设计测试用例。
•等效类划分测试:将输入域划分为等价类,设计测试用例。
黑盒测试案例设计技术--正交试验法
利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。
往往因果关系非常庞大,导致利用因果图而得到的测试用例数目多得惊人,给软件测试带来沉重的负担。
为了有效地、合理地减少测试的工时与费用,可利用正交试验法进行测试用例的设计。
正交试验设计方法
根据Galois理论,正交试验设计方法是从大量的试验数据中挑选适量的、有代表性的点,从而合理地安排测试的一种科学的试验设计方法。
正交试验法,就是使用已经造好了的表格---正交表来安排试验并进行数据分析的一种方法。
它简单易行并且计算表格化,应用性较好。
下面通过一个例子来说明正交试验法。
例:为提高某化工产品的转化率,选择了三个有关因素进行条件试验,反应温度(A),反应时间(B),用碱量(C),并确定了它们的试验范围如下:
● A:80~90C°
● B:90~150分钟
●C:5%~7%
试验目的是搞清楚因子A、B、C对转化率有什么影响,哪些是主要的,哪些是次要的,从而确定最适生产条件,即温度、时间及用碱量各为多少才能是转化率最高。
这里,对因子A、B、C,在试验范围内都选了三个水平,如下所示:
● A:A1=80C°, A2=85C°,A3=90C°
● B:B1=90分钟,B2=120分钟,B3=150分钟
● C:C1=5%,C2=6%,C3=7%
当然,在正交试验设计中,因子是可以定量的,也可以是定性的。
而定量因子各水平间的距离可以相等,也可以不相等。
这个三因子三水平的条件试验,通常有两种试验方法:
①取三因子所有水平之间的组合,即A1B1C1,A1B1C2,A1B2C1,……,A3B3C3,共有3×3×3=27次试验。
用下图表示立方体的27个结点。
这种试验法叫做全面试验法。
全面试验对各因子与指标间的关系剖析的比较清楚。
但试验次数太多,特别是当因子数目多,每个因子的水平数目也很多时,试验量非常大。
如选6个因子,每个因子取5个水平时,如要做全面试验,则需要5×5×5×5×5×5=15625次试验。
这实际上是不可能实现的。
如果应用将要介绍的正交试验法,只做 25次试验就行了。
而且在某种意义上讲,这25次试验就代表了15625次试验。
②简单对比法,即变化一个因素而固定其他因素,如首先固定B、C与B1、C1,使A变化:
如得出结果A3最好,则固定A于A3,C还是C1,使B变化:
如果得出结果以B2最好,则固定B于B2,A于A3,使C变化:
试验结果以C2最好,于是就认为最好的工艺条件是A3B2C2。
这种方法一般也有一定的效果,但缺点很多。
首先这种方法的选点代表性很差,如按上述方法进行试验,试验点完全分布在一个角上,而在一个很大的范围内没有选点,因此这种试验方法不全面,所选的工艺条件A3B2C2不一定是27个组合中最好的。
其次,用这种方法比较条件好坏时,是把单个的试验数据拿来,进行数值上的简单比较,而试验数据中必然包含着误差成分,所以单个数据的简单比较不能剔除误差,必然造成结论的不稳定。
简单对比法的最大优点就是试验次数少,例如,6因子5水平试验,在不重复时,只用5 + ( 6 - 1 ) × ( 5 - 1 ) = 5 + 5 × 4 = 25次试验就可以了。
考虑兼顾这两种试验方法的优点,从全面试验的点中选择具有典型性、代表性的点,使试验点在试验范围内分布得很均匀,能反映全面情况。
但我们又希望试验点尽量地少,为此还要具体考虑一些问题。
如上例,对应于A有A1、A2、A3共3个平面,对应于B、C也各有3个平面,共9个平面。
则这9个平面上的试验点都应当一样多,即对每个因子的每个水平都要同等看待。
具体来说,每个平面上都有3行、3列,要求在每行、每列上的点一样多。
这样,作出如下图
所示的设计,试验点用⊙表示。
我们看到,在9个平面中每个平面上都恰好有3个点,而每个平面的每行每列都有1个点,而且只有1个点,总共9个点。
这样的试验方案,试验点的分布很均匀,试验次数也不多。
当因子数和水平数都不太大时,尚可通过作图的办法来选择分布很均匀的试验点。
但是因子数和水平数多了,作图的方法就不行了。
试验工作者在长期的工作中总结出一套办法,创造出所谓的正交表。
按照正交表来安排试验,既能使试验点分布得很均匀,又能减少试验次数,而且计算分析简单,能够清晰地阐明试验条件与指标之间的关系。
用正交表来安排试验及分析试验结果,这种方法叫正交试验设计法。
一般用L代表正交表,常用的有等。
此符号各数字的意义如下。
例如:,其中7为此表列的数目(最多可安排的因子数);2为因子的水平数;8为此表行的数目(试验次数)。
又如:,有7列是3水平的,有1列是2水平的,的数字告诉我们,用它来安排试验,做18个试验最多可以考察1个2水平因子和7个3水平因子。
在行数为mn型的正交表中(m,n是正整数),试验次数(行数) = ∑( 每列水平数 - 1 ) + 1,如,8 = 7 × ( 2 - 1 ) + 1,利用上述关系式可以从所要考察的因子水平数来决定最低的试验次数,进而选择合适的正交表。
比如要考察5个3水平因子及1个2水平因子,则起码的试验次数为5 × ( 3 - 1 ) + 1 × ( 2 -1 ) + 1 = 12,这就是说,要在行数不小于12,既有2水品列又有3水平列的正交表中选择,适合。
正交表具有两条性质:每一列中各数字出现的次数一样多;任何两列所构成的各有序数对出现的次数都一样多。
所以称之为正交表。
例如,在中(如下表所示),各列中的1、2、3都各自出现3次;任意两列,例如3、4列,所构成的有序数对从上向下共有9种,既没有重复也没有遗漏。
其他任何两列所构成的有序数对也是这9种各出现一次。
这反映了试验点分布的均匀性。
试验方案应该如何设计呢?安排试验时,只要把所考察的每一个因子任意地对应
于正交表的一列(一个因子对应一列,不能让两个因子对应同一列),然后把每列的数字”翻译“成所对应因子的水平。
这样,每一行的各水平组合就构成了一个试验条件(不考虑没安排因子的列)。
对于上例,因子A、B、C都是3水平的,试验次数要不少于3 × ( 3 - 1 ) + 1 = 7,可考虑用。
因子A、B、C可任意地对应于的某三列,例如A、B、C分别放在1、2、3列,然后试验按行进
行,顺序不限,每一行中各因素的水平组合就是每一次的试验条件,从上到下就是这个正交试验的方案,如下表所示,这个方案的几何解释正好是正交试验设计图例。
3个3水平因子,做全面试验需要3的3次幂,即27次试验,现在用来设计试验方案,只要做9次,工作量减少了2/3,而在一定意义上代表了27次试验。
正交试验测试用例设计步骤
利用正交试验设计测试用例的步骤如下:
● 提取功能说明,构造因子“——”的状态表,把影响实验指标的条件称为因子,
而影响实验因子的条件叫做因子的状态。
利用正交试验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,首先把它们当作因子,而把各个因子的取值当作状态。
对软件需求规格说明中的功能要求进行划分,把整体的、概要性的功能要求进行层层分解与展开,分解成具体的、有相对独立性的基本的功能要求。
这样就可以把被测试软件中所有的因子都确定下来,并为确定因子的权值提供参考的依据。
确定因子与状态是设计测试用例的关键。
因此,要求尽可能全面地、正确地确定取值,以确保测试用例的设计做到完整有效。
●加权筛选,生成因素分析表。
对因子与状态的选择可按其重要程度分别加权。
可根据各个因子及状态作用的大小、出现频率的大小以及测试的需要,确定权值的大小。
● 利用正交表构造测试数据集,正交表的推导根据Galois理论。
利用正交试验设计方法设计测试用例,与使用等价类划分、边界值分析、因果图
等方法相比,有以下优点:节省测试工作工时;可控制生成的用例的数量;测试用例具有一定的覆盖率。
正交试验法在软件测试中是一种有效的方法,例如在平台参数配置方面,我们要选择哪种组合方式是最好的,每个参数可能就是一个因子,参数的不同取值就是水平,这样我们可以采用正交试验法设计出最少的测试组合,达到有效的测试目的。