第三章 黑盒测试用例设计方法
- 格式:ppt
- 大小:697.50 KB
- 文档页数:101
黑盒测试用例设计方法June 24, 2013目录黑盒测试用例设计方法错误!未定义书签。
1.概述12.等价类划分法12.1.概念12.2.等价类划分法的应用12.3.等价类划分实例23.边界值分析法73.1.概念73.2.边界值分析法的应用73.3.实例104.错误推断法144.1.概念144.2.错误推断法的应用145.因果图法145.1.概念155.2.因果图法的应用155.3.实例176.判定表驱动法206.1.概念206.2.判定表驱动法206.3.实例247.正交试验法287.1.概念287.2.正交试验法288.功能图法298.1.概念298.2.功能图法的应用299.场景法309.1.概念309.2.场景法的应用309.3.实例3110.测试用例设计综合策略341.概述黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。
2.等价类划分法2.1.概念等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。
每一类的代表性数据在测试中的作用等价于这一类中的其他值。
2.2.等价类划分法的应用1.。
•有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
•无效等价类:与有效等价类的定义恰巧相反。
设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性。
2.划分等价类的六大原则:•在输入条件规定了取值围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.例:输入值是学生成绩,围是0~100:•在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.•在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.布尔量是一个二值枚举类型, 一个布尔量具有两种状态: true 和false 。
⿊盒测试⽤例设计⽅法⼀、等价类划分法 该⽅法是将系统的输⼊域划分为若⼲部分,然后从每个部分选取少数代表性数据进⾏测试,这样可以避免穷举法产⽣的⼤量⽤例。
等价类是指某个输⼊域的⼦集合,在该⼦集合中,各个输⼊数据对于揭露软件中的错误都是等效的。
并合理地假定:测试某等价类的代表值就等于对这⼀类其它值的测试。
有效等价类:是指对于系统的规格说明来说是合理的,有意义的输⼊数据构成的集合。
利⽤有效等价类可以验证程序是否实现了规格说明中所规定的功能和性能。
⽆效等价类:是指对于系统的规格说明来说是不合理或⽆意义的输⼊数据所构成的集合。
设计测试⽤例时,要同时考虑这两种等价类。
因为,软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具备有更⾼的可靠性。
1、划分等价类 基于特性测试⼦项所对应的 SRS ⽚段,可以参考下⾯⼏条原则:1.在输⼊条件规定了取值范围或值的个数的情况。
例⼦:在1<x<5中。
⼀个有效等价类:1<x<5,两个⽆效等价类:x>=5 和 x<=1。
2.在输⼊条件规定了输⼊值的集合或者规定了必定如何的条件的情况下,可确⽴⼀个有效等价类和⼀个⽆效等价类。
例⼦:规定字段”星期”是输⼊星期⼏。
该输⼊条件⼀个有效等价类是输⼊的值属于从星期⼀到星期⽇的集合,⼀个⽆效等价类是不属于星期⼀到星期⽇的其他值。
3.在输⼊条件是⼀个布尔量的情况。
例⼦:性别,如果规定输⼊“男”为有效,则⼀个有效等价类:“男”,⼀个⽆效等价类:“⼥”。
4.在规定了输⼊数据的⼀组值假定 n 个,并且程序要对每⼀个输⼊值分别处理的情况下,可确⽴ n 个有效等价类和⼀个⽆效等价类。
例⼦:PPT的打印效果分为幻灯⽚加框和幻灯⽚不加框,则对于打印效果这个输⼊条件,n (这⾥ n =2)个有效等价类:幻灯⽚加框,幻灯⽚不加框;⼀个⽆效等价类:加框和不加框外的其他值。
5.在规定了输⼊数据必须遵守的规则的情况下,可确⽴⼀个有效等价类符合规则和若⼲个⽆效等价类从不同⾓度违反规则。
黑盒测试的用例设计方法包括在软件开发过程中,黑盒测试是一种重要的测试方法,它着重于测试软件的功能而不关注内部结构和实现细节。
为了有效地进行黑盒测试,需要设计合适的测试用例。
下面将介绍一些常见的黑盒测试的用例设计方法。
等价类划分等价类划分是一种常见的黑盒测试用例设计方法,它将输入数据划分成若干个等价类,确保每个等价类的测试用例具有相同的测试效果。
在进行等价类划分时,应该覆盖正常情况、边界情况和异常情况。
例如,对于一个要求输入年龄的软件功能,可以将年龄等价类划分为少于0岁、0-18岁、18-60岁和大于60岁等四个类别,然后设计测试用例来覆盖每个等价类。
边界值分析边界值分析是一种基于输入和输出的黑盒测试用例设计方法,它关注在输入的边界处发生的行为。
通过设计边界值测试用例,可以有效地发现因边界条件引起的错误。
以输入年龄为例,如果规定输入的年龄必须在0-120岁之间,那么设计测试用例时应该包括0岁、1岁、119岁和120岁等边界值情况。
因果图法因果图法是一种将输入和输出之间的因果关系可视化的黑盒测试用例设计方法。
通过绘制因果图,可以发现输入与输出之间的潜在关系,并设计相应的测试用例。
以一个简单的登录功能为例,登录成功的条件可能包括输入正确的用户名和密码,并点击登录按钮。
通过因果图法,可以将这些因果关系清晰地表示出来,在设计测试用例时有针对性地覆盖这些关系。
错误推测法错误推测法是一种黑盒测试用例设计方法,基于对软件功能和用户需求的理解来推测可能出现的错误,并设计相应的测试用例。
通过错误推测法,可以发现潜在的错误,并提高测试用例的覆盖率。
例如,在一个涉及数据处理的软件功能中,可能存在数据输入错误、计算错误等情况。
通过错误推测法,可以设计针对这些错误的测试用例,以确保软件在面对各种异常情况时仍能正确处理。
决策表法决策表法是一种结构化的黑盒测试用例设计方法,通过构建决策表来描述软件的各种可能输入组合和对应的输出。
黑盒测试用例设计方法包括哪些黑盒测试是一种软件测试方法,主要关注软件的功能性和接口,而不考虑内部结构。
黑盒测试用例设计方法是为了测试这些功能性和接口,确保软件按照需求规格说明书或用户期望的方式运行。
下面将介绍几种常用的黑盒测试用例设计方法:等价类划分法等价类划分法是一种常用的黑盒测试用例设计方法,它将输入数据划分为几个等价类,每个等价类的输入数据被认为是等效的。
设计测试用例时,只需选择代表每个等价类的一个测试用例进行测试,这样可以有效减少测试用例的数量,提高测试效率。
举例:假设有一个验证用户年龄的功能,要求输入用户的年龄,系统会根据年龄判断是否满足条件。
等价类划分法将年龄分为三个等价类:小于18岁、18到65岁、大于65岁。
我们可以选择分别输入17岁、25岁、70岁的三个测试用例来覆盖这三个等价类。
边界值分析法边界值分析法是一种常用的黑盒测试用例设计方法,它基于输入数据的边界条件来设计测试用例。
通常情况下,程序在边界处容易出现错误,因此通过设计边界值测试用例可以有效发现潜在的问题。
举例:假设有一个接收用户输入的功能,要求输入的数字在1到100之间。
边界值分析法会选择1和100作为测试用例的边界值,同时也会选择2和99作为边界内的测试值。
这样可以覆盖边界条件下的各种情况。
决策表测试法决策表测试法是一种通过列出所有可能的输入条件和相应的输出结果来设计测试用例的方法。
它适用于输入条件较多且相互影响的情况,通过建立决策表可以清晰地查看不同输入条件组合的覆盖情况,从而设计出全面的测试用例。
举例:假设有一个根据用户输入的成绩来判断其等级的功能,需要考虑成绩的范围、是否及格、是否优秀等情况。
通过建立一个决策表,列出不同成绩区间和对应的等级,可以设计出全面的测试用例来覆盖各种情况。
以上是几种常用的黑盒测试用例设计方法,通过合理选择和结合这些方法,可以设计出全面有效的测试用例,确保软件的功能正常运行。
黑盒测试用例设计是软件测试工作中至关重要的一环,希望以上介绍对您有所帮助。
⿊盒测试⽤例设计⽅法本⽂根据Vince整理的《测试⽤例设计⽩⽪书》整理Word版本下载地址:⼀、⿊盒测试⽤例⽅法⿊盒测试⽤例设计⽅法,主要包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动发、正交试验设计法、功能图法等1.等价类划分法等价类划分法是把程序的输⼊域分成若⼲部分,然后从每个部分中选取少数代表性数据作为测试⽤例。
每⼀类的代表性数据在测试中的作⽤等价于这⼀类中的其他值。
应⽤场景:某程序规定:“输⼊三个整数a,b,c分别作为三边的边长构成三⾓形.通过程序判定所构成的三⾓形的类型,当此三⾓形为⼀般三⾓形\等腰三⾓形及等边三⾓形时,分别作计算...”.⽤等价类划分⽅法为该程序进⾏测试⽤例设计.分析题⽬中给出和隐含的对输⼊条件的要求:⑴整数⑵三个数⑶⾮零数⑷正数⑸两边之和⼤于第三边⑹等腰⑺等边如果a、b、c满⾜条件1-4,则输⼊下列四种情况之⼀:①如果不满⾜条件5,则呈现输出为“⾮三⾓形”②如果三条边相等即满⾜条件7,则呈现输出为“等边三⾓形”③如果只有两条边相等,即满⾜条件6,则呈现输出为“等腰三⾓形”④如果三条边都不相等,则程序输出为“⼀般三⾓形”覆盖有效等价类的测试⽤例:a b c 覆盖等价类号码3 4 5 1-74 45 1-7,84 45 1-7,95 4 5 1-7,104 4 4 1-7,11覆盖⽆效等价类的测试⽤例:2.边界值分析法边界值分析法就是对输⼊⽕输出的边界值进⾏测试的⼀种⿊盒测试⽅法.同城边界值分析法是作为对等价类划分法的补充.使⽤边界值分析⽅法设计测试⽤例,⾸先应确定边界情况.通常输⼊和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚⼤于或者刚刚⼩于边界的值作为测试数据.通常情况下,软件测试所包含的边界检验有⼏种类型:数字,字符,位置,重量,⼤⼩,速度,⽅位,尺⼨,空间等相应地,以上类型的边界值应该在:最⼤/最⼩,⾸位/末位,上/下,最快/最慢,最⾼/最低,最短/最长,空/满等情况下,利⽤边界值作为测试数据.项边界值测试⽤例的设计思路字符起始-1个字符/结束+1个字符假设⼀个⽂本输⼊区域允许输⼊1个到255个字符,输⼊1个和255个字符作为有效等价类;输⼊0个和256个字符作为⽆效等价类,这⼏个数值都属于边界条件值。
黑盒测试用例的设计方法
边界值分析法也超有趣哦。
这就像是专门盯着边缘情况。
还是说年龄输入框,最小年龄0岁,最大年龄150岁(假设哈),那这0和150就是边界值呀。
还有边界值的邻居,像 -1和1,149和151。
这些边界值和边界附近的值往往是最容易出问题的地方呢。
就好比住在河边的房子,最容易受到洪水影响一样,软件在边界值这里也可能会有小脾气,所以一定要重点测试这些值。
决策表法呀,就像是做选择题的一个大表格。
假如有个系统,根据用户的会员等级(普通、银卡、金卡)和消费金额(低、中、高)来决定折扣。
那咱就可以画个表格,把各种组合都列出来。
普通会员低消费、普通会员高消费、银卡会员中消费等等,然后在表格里写出对应的折扣。
这样就很清楚地知道每个情况该怎么测试啦,就像按照菜单点菜一样,明明白白的。
因果图法就有点像找事情的因果关系呢。
比如说,有个功能是注册账号,用户名存在、密码符合要求、验证码正确这些原因,会导致注册成功这个结果。
那咱们就可以画出因果图来表示它们之间的关系。
如果用户名不存在,那注册肯定不成功啦。
这就像是破案一样,找到原因和结果之间的联系,然后根据这个来设计测试用例。
宝子,黑盒测试用例设计方法就是这么些啦,是不是还挺好玩的呢?掌握了这些方法,就能更好地找出软件里的小毛病啦。
。
1.白盒测试方法语句覆盖语句覆盖就是设计若干个测试用例, 运行所测程序,使得每一可执行语句至少执行一次. 对上面例子, 正好所有的可执行语句都在路径L1上, 所以选择路径L1来设计测试用例,就可覆盖所有的可执行语句.测试用例的设计格式如下:[输入(A,B,X), 预期的输出(A,B,X)]可设计出满足语句覆盖的测试用例是:[(2,0,4), (2,0,3)], 覆盖ace [L1]从每个执行语句都得到执行这一点来看, 语句覆盖的方法似乎能够比较全面地经验每个可执行语句. 但实际上并非如此.不足:假如该程序段中的两个逻辑运算有问题, 例如, 第一个判断中的逻辑运算符"∧"错写成了"∨", 或者第二个判断中的逻辑运算符"∨"错写成了"∧", 利用上面的测试用例, 仍然可覆盖所有4个可执行语句. 这说明虽然做到了语句覆盖测试, 但可能发现不了判断中逻辑运算中出现的错误.语句覆盖是最弱的逻辑覆盖准则.判定覆盖判定覆盖就是设计若干个测试用例, 运行所测程序, 使得程序中每个判断的取TURE分支和取FALSE分支至少经历一次. 判断覆盖又称分支覆盖.根据定义,可分别选择路径L1 和L2 或路径L3和L4设计测试用例.如果选择路径L1 和L2, 可得到满足要求的测试用例:[(2,0,4), (2,0,3)], 覆盖ace[L1][(1,1,1), (1,1,1)], 覆盖abd[L2]如果选择路径L3和L4, 可设计另一组测试用例:[(2,1,1), (2,1,2)], 覆盖abe[L3][(3,0,3), (3,1,1)], 覆盖acd[L4]可看出,测试用例的选择不唯一.不足: 假如第二个判断中的条件x>1被错写成了x<1, 利用上面两组测试用例, 仍能得到同样的结果. 这表明, 只是判断覆盖, 还不能保证一定能查出在判断的条件中存在的错误. 条件覆盖条件覆盖就是设计若干个测试用例, 运行所测程序, 使得程序中每个判断的每个条件的可能取值至少执行一次. 因此首先要对所有的条件加以标记:对第一个判断: 条件A>1 取TURE 时为T1, 取FALSE时为F1条件B=0 取TURE 时为T2, 取FALSE时为F2 对第二个判断: 条件A=2 取TURE 时为T3, 取FALSE时为F3条件x>1 取TURE 时为T4, 取FALSE时为F4根据这8个条件取值, 可分别设计如下两组测试用例:表1(第一组):表2(第二组)从表1和2可看出, 两组测试用例都满足了条件覆盖, 即覆盖了所有的条件取值.不足: 第一组测试用例不满足判定(分支)覆盖要求.判定-条件覆盖判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行一次. 也就是说要求各个判断的所有可能的条件取值组合至少执行一次.根据判定-条件覆盖的定义,只需设计下面两个测试用例便可覆盖例子的8个条件取值以及4个判断分支.不足: 表面来看, 判断-条件覆盖测试了所有条件的取值, 但实际上并非如此, 而是某些条件掩盖了另一些条件(由于多重条件判定). 例如, 对条件表达式(A>1) AND (B=0) 来说, 若(A>1)的测试结果为FALSE 时, 可以立即确定表达式的结果为FALSE, 这时往往就不再测试(B=0)的取值了, 因此, 条件(B=0)就没有被检查. 同样, 对条件表达式(A=2) OR (x>1)来说, 若(A=2)的测试结果为TURE时, 就立即确定表达式的结果为TURE, 这时, 条件(x>1)就没有被检查.因此, 采用判定-条件覆盖测试, 逻辑表达式中的错误不一定能够查得出来.条件组合覆盖条件组合覆盖就是实际足够得测试用例, 运行所测程序, 使得每个判断得所有可能得条件取值组合至少执行一次.针对上面的例子, 先对各个判断的条件取值组合加以标记:对每个判断,要求所有可能的条件取值的组合都必须取到. 每个判断各有两个条件, 所以各有4个条件取值的组合. 注: 这里没有要求第一个判断的4个组合再与第二个判断的4 个组合进行组合(16).设计4个测试用例, 就可覆盖上面8种条件组合.这些测试用例覆盖了所有条件的可能取值的组合, 覆盖了所有判断的可取分支.不足: 没有覆盖路径L4, 这样测试还不完全.路径覆盖路径测试就是设计足够的测试用例, 覆盖程序中所有可能的路径. 可设计下面的4个测试用例覆盖全部4条路径.不足: 没有全部覆盖判断的条件取值的组合. 如②③⑥测试用例的组合和优化对该例子, 采用逻辑覆盖方法中的一种,都不能满足所有需求, 如果每种方法都采用, 又有测试用例的重复. 如何用最少的测试例而实现最多的需求? 在测试设计中, 是一个值得考虑和解决的问题. 对本例子, 我们采用条件组合覆盖和路径覆盖两种方法设计测试用例, 并进行优化, 可得采用上面的6个测试用例, 可满足所有逻辑覆盖测试.注1:基本路径测试: 实际中, 一个模块中的路径可能非常多, 由于时间和资源, 不可能一一测试到. 这就需要把测试所有可能路径的目标减少到测试足够多的路径以获得对于模块的信心. 要测试的最小路径集--基本测试路径集要保证: ①每个确定语句的每一个方向要测试到;②每条语句最少执行一次.由于时间, 有关基本路径测试的方法这里省略.注2: 循环测试: 测试循环是一种特殊的路径测试. 因为循环比其他语句都复杂一些,循环测试值得一提.循环中错误的发生机会比其他代码构成部分都多.因此对于任何给定的循环的测试应该包括测试下面每一个条件的测试用例:①循环不执行;②执行一次循环;③执行两次循环;④反映执行典型的循环的执行次数;⑤如果有最大循环次数,最大循环次数减一;⑥最大循环次数;⑦大于最大循环次数. 对于增量和减量不是 1 的FOR 语句,要特别注意, 因为程序员习惯1 增量.注3: 循环嵌套: 循环嵌套使逻辑的次数呈几何级数增长. 设计测试嵌套循环的测试用例应该包括的测试条件有: ①把外循环设置为最小值并运行内循环所有可能的情况;②把内循环设置为最小值并运行外循环所有可能的情况;③把所有的循环变量都设置为最小值运行;④把所有的循环变量都设置为最大值运行;⑤把外循环设置为最大值并运行内循环所有可能的情况;⑥把内循环设置为最大值并运行外循环所有可能的情况.注4: 边界值测试: 是指专门设计用来测试当条件语句中引用的值处在边界或边界附近时系统反映的测试. 被测试语句的最好的例子就是"IF--THEN...ELSE-ENDIF"部分.这样语句的例子如:IF a<=123 THENb=1ELSEIF a>=123 THENb=2ELSEb=31ENDIF上面例子的边界值测试用例应该至少包括a的以下值: 122,123,124. 当A=123时, b=1还是2?.2.黑盒测试规范(规格)导出法规范导出的测试是根据相关的规范描述来设计测试用例。
黑盒测试用例的设计方法
黑盒测试用例的设计方法有以下几种常见的方法:
1. 等价类划分法:将输入数据划分成不同等价类,然后选择代表性的测试用例进行测试。
例如,如果输入要求为0-100之间的数字,可以选择一个小于0的数、一个在0-100范围内的数和一个大于100的数来进行测试。
2. 边界值分析法:选择测试用例使得能够覆盖输入的边界值情况。
例如,如果输入要求为1-100之间的数字,可以选择1、100以及2个边界值之间的数作为测试用例。
3. 错误推测法:基于经验或猜测,推测可能存在的错误,并选择测试用例进行验证。
例如,对于一个登录功能,可能存在的错误包括密码错误、用户名不存在等,可以选择相应的测试用例进行验证。
4. 因果图法:根据功能的输入和输出之间的因果关系,绘制因果图,然后选择测试用例进行测试。
因果图可以帮助发现功能之间的因果关系和潜在的缺陷。
5. 决策表法:对于有多种条件和多个可能的结果的功能,使用决策表来帮助设计测试用例。
将各种条件和结果列成表格,然后选择组合测试用例进行测试。
以上是常用的黑盒测试用例设计方法,根据具体的需求和情况选择适合的方法进
行测试用例设计。