第2章黑盒测试PPT课件_第1页
第2章黑盒测试PPT课件_第2页
第2章黑盒测试PPT课件_第3页
第2章黑盒测试PPT课件_第4页
第2章黑盒测试PPT课件_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第第2章章 黑盒测试黑盒测试 因果图与决策表 正交实验设计法 等价类划分法 边界值分析法 场景分析法 本章学习目标 2.1.1 等价类划分法一个程序可以有多个输入,等价类划分就是将这些输入数据按照输入需求进行分类,将它们划分为若干个子集,这些子集即为等价类,在每个等价类中选择有代表性的数据设计测试用例。 2.1.1 等价类划分法这种方法类似于学生站队,男生站左边,女生站右边,老师站中间,这样就把师生群体划分成了三个等价类。女生老师男生 2.1.1 等价类划分法有效等价类有效等价类有效等价类就是有效值的集合,它们是符合程序要求、合理且有意义的输入数据。无效等价类无效等价类无效等价类就是无效值的

2、集合,它们是不符合程序要求、不合理或无意义的输入数据。 2.1.1 等价类划分法等价类划分原则:(1)如果程序要求输入值是一个有限区间的值,则可以将输入数据划分为一个有效等价类和两个无效等价类,有效等价类为指定的取值区间,两个无效等价类分别为有限区间两边的值。 2.1.1 等价类划分法等价类划分原则:(2)如果程序要求输入的值是一个“必须成立”的情况,则可以将输入数据划分为一个有效等价类和一个无效等价类。 2.1.1 等价类划分法等价类划分原则:(3)如果程序要求输入数据是一组可能的值,或者要求输入值必须符合某个条件,则可以将输入数据划分一个有效等价类和一个无效等价类。 2.1.1 等价类划分

3、法等价类划分原则:(4)如果在某一个等价类中,每个输入数据在程序中的处理方式都不相同,则应将该等价类划分成更小的等价类,并建立等价表。 2.1.1 等价类划分法同一个等价类中的数据发现程序缺陷的能力是相同的,如果使用等价类中的其中一个数据不能捕获缺陷,那么使用等价类中的其他数据也不能捕获缺陷,同样,如果等价类中的其中一个数据能够捕获缺陷,那么该等价类中的其他数据也能捕获缺陷,即等价类中的所有输入数据都是等效的。 2.1.1 等价类划分法2、设计测试用例 确定测试对象,保证非测试对象的正确性。 为每个等价类规定一个唯一编号。 设计有效等价类的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,直

4、到测试用例覆盖了所有的有效等价类。 设计无效等价类的测试用例,使其覆盖所有的无效等价类。 2.1.2 实例:三角形问题的等价类划分三角形问题是测试中广泛使用的一个经典案例,它要求输入3个正数a、b、c作为三角形的三条边,判断这3个数构成的是一般三角形、等边三角形、等腰三角形,还是无法构成三角形。 2.1.2 实例:三角形问题的等价类划分对该案例进行分析,程序要求输入3个数,并且是正数,在输入3个正数的基础上判断这三个数能否构成三角形,如果构成三角形再判断它构成的三角形是一般三角形、等腰三角形还是等边三角形,需要分步骤划分等价类。三角形等价类划分 2.1.2 实例:三角形问题的等价类划分(1)判

5、断是否输入了3个数,可以将输入情况划分成1个有效等价类,4个无效等价类: 有效等价类:输入3个数。 无效等价类:输入0个数。 无效等价类:只输入1个数。 无效等价类:只输入2个数。 无效等价类:输入超过3个数。 三角形等价类划分 2.1.2 实例:三角形问题的等价类划分(2)在输入3个数的基础上,判断三个数是否是正数,可以将输入情况划分为1个有效等价类,3个无效等价类: 有效等价类:三个数都是正数。 无效等价类:有一个数小于等于0。 无效等价类:有两个数小于等于0。 无效等价类:三个数都小于等于0。 2.1.2 实例:三角形问题的等价类划分(3)在输入三个正数的基础上,判断三个数是否能构成三角

6、形,可以将输入情况划分为1个有效等价类和1个无效等价类: 有效等价类:任意两个数之和大于第三个数,a+bc、a+cb、b+ca。 无效等价类:其中两个数之和小于等于第三个数。 2.1.2 实例:三角形问题的等价类划分(4)在三个数构成三角形的基础上,判断三个数是否能构成等腰三角形,可以将输入情况划分成1个有效等价类,因为是在构成三角形的基础进行划分,因此没有无效等价类。 有效等价类:其中有两个数相等,a=b|a=c|b=c。 无效等价类:三个数均不相等。 2.1.2 实例:三角形问题的等价类划分(5)在构成等腰三角形的基础上,判断这三个数能否构成等边三角形,只有1个有效等价类: 有效等价类:三

7、个数相等,a=b=c。 2.1.2 实例:三角形问题的等价类划分三角形输入等价类表要求要求有效等价类有效等价类编号编号无效等价类无效等价类编号编号输入输入3 3个数个数输入3个数1输入0个数2只输入1个数3只输入2个数4多于3个数53 3个数是否都是正数个数是否都是正数3个数都是正数6有一个数小于等于07有两个数小于等于083个数都小于等于093 3个数是否能构成三角形个数是否能构成三角形任意2个数之和大于第3个数10其中2个数之和小于等于第3个数113 3个数是否能构成等腰三角形个数是否能构成等腰三角形其中2个数相等:a=b|a=c|b=c123 3个数是否能构成等边三角形个数是否能构成等边

8、三角形构成等边三角形:a=b=c13 2.1.2 实例:三角形问题的等价类划分覆盖有效等价类的测试用例表测试用例测试用例输入输入3 3个数个数覆盖有效等价类的编号覆盖有效等价类的编号test1test11 2 31 6test2test23 4 51 6 10test3test36 6 81 6 10 12test4test46 6 61 6 10 12 13 2.1.2 实例:三角形问题的等价类划分覆盖无效等价类的测试用例表测试用例测试用例输入输入3 3个数个数覆盖无效等价类的编号覆盖无效等价类的编号test5test5-1 -1 -19test6test6-1 -1 57test7test

9、7-1 4 58test8test8输入0个数据2test9test913test10test101 24test11test111 3 411test12test121 2 3 45 2.1.3 实例:余额宝提现的等价类划分余额宝的提现功能有两种方式:快速到账(2小时),每日最高提现额度为10000元;普通到账,可提取金额为余额宝最大余额,但到账时间会慢一些。 2.1.3 实例:余额宝提现的等价类划分如果选择快速到账,则可将提现功能划分为1个有效等价类与2个无效等价类: 有效等价类:0提现金额=10000。 无效等价类:提现金额10000。 2.1.3 实例:余额宝提现的等价类划分如果选择普

10、通到账,则可将提现功能划分为1个有效等价类与2个无效等价类: 有效等价类:0提现金额=余额。 无效等价类:提现金额余额。 2.1.3 实例:余额宝提现的等价类划分余额宝提现功能的等价类划分功能功能有效等价类有效等价类编号编号无效等价类无效等价类编号编号快速到账快速到账0提现金额=100001提现金额100003普通到账普通到账0提现金额=余额4提现金额余额6 2.1.3 实例:余额宝提现的等价类划分注 意快速到账可以累积分次提取:快速到账的日提现金额为10000,表明在一天之内,只要提现金额没有累积到10000,则可多次提取,据此,可以将快速到账细分为第1次提现和第n次提现,第n次提现的最大金

11、额为10000减去已经提现的金额。 2.1.3 实例:余额宝提现的等价类划分细分后的余额宝提现功能的等价类划分功能功能有效等价类有效等价类编号编号无效等价类无效等价类编号编号快速到账快速到账(第(第1 1次)次)0提现金额=100001提现金额100003快速到账快速到账(第(第n n次)次)0提现金额=10000-已提现金额7提现金额10000-已提现金额9普通到账普通到账0提现金额=余额4提现金额余额6 2.1.3 实例:余额宝提现的等价类划分覆盖有效等价类的测试用例测试用例测试用例功能功能金额金额覆盖有效用等价覆盖有效用等价类编号类编号test1test1快速到账(第1次)10001te

12、st2test2快速到账(第n次,已提现2000)70007test3test3普通到账400004 2.1.3 实例:余额宝提现的等价类划分覆盖无效等价类的测试用例测试用例测试用例功能功能金额金额覆盖无效等价类编号覆盖无效等价类编号test4test4快速到账(第1次)-100002test5test5200003test6test6快速到账(第n次,已提现2000)-20008test7test790009test8test8普通到账-30005test9test9600006 2.2.1 边界值分析法概述边界值分析法是对软件的输入或输出边界进行测试的一种方法,它通常作为等价类划分法的一种

13、补充测试。边界值分析法 2.2.1 边界值分析法概述在等价类划分法中,无论是输入等价类还是输出等价类,都会有多个边界,而边界值分析法就是在这些边界附近寻找某些点作为测试数据,而不是在等价类内部选择测试数据。 2.2.1 边界值分析法概述边界值的选取有两种方式: 选取5个值:最小值、略大于最小值、正常值、略小于最大值、最大值。 选取7个值:略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值、略大于最大值。 2.2.1 边界值分析法概述输入条件规定取值范围为1100,选取5个值和7个值的情况如下表:选取方案选取方案选取数据选取数据选取选取5 5个值个值11.15099.9100选取选

14、取7 7个值个值0.911.15099.9100100.1 2.2.2 实例: 三角形问题的边界值分析如果要求三角形的边长取值范围为1100,则可以使用边界值分析法对三角形边界边长进行测试,在设计测试用例时,分别选取1、2、50、99、100五个值作为测试数据。 2.2.2 实例: 三角形问题的边界值分析测试用例测试用例输入输入3 3个数个数被测边界被测边界预期输出预期输出test1test150 50 11等腰三角形test2test250 50 2等腰三角形test3test350 50 50无等边三角形test4test450 50 99100等腰三角形test5test550 50 1

15、00不构成三角形三角形边界值分析测试用例 2.2.3 实例: 余额宝提现的边界值分析假设余额宝中余额为50000,对边界值进行分析: 如果是第一次快速到账提现,则分别对0和10000两个边界值进行测试,分别取值-1、0、1、5000、9999、10000、10001七个值作为测试数据。 2.2.3 实例: 余额宝提现的边界值分析 如果是第n次提现(假设已提现2000),则分别对0和8000两个边界值进行测试,分别取值-1、0、1、5000、7999、8000、8001七个值作为测试数据。 对于普通到账提现,则对0和50000两个边界值进行测试,分别取-1、0、1、20000、49999、500

16、00、50001七个值作为测试数据。 2.2.3 实例: 余额宝提现的边界值分析测试用例测试用例功能功能金额金额被测边界被测边界预期输出预期输出test1test1快速到账(第1次)-10无法提现test2test20无法提现test3test311test4test45000无5000test5test59999100009999test6test61000010000test7test710001无法提现余额宝提现边界值分析测试用例 2.2.3 实例: 余额宝提现的边界值分析测试用例测试用例功能功能金额金额被测边界被测边界预期输出预期输出test8test8快速到账(第n次)-10无法提现

17、test9test90无法提现test10test1011test11test115000无5000test12test12799980007999test13test1380008000test14test148001无法提现 2.2.3 实例: 余额宝提现的边界值分析测试用例测试用例功能功能金额金额被测边界被测边界预期输出预期输出test15test15普通到账-10无法提现test16test160无法提现test17test1711test18test1820000无20000test19test19499995000049999test20test205000050000test21

18、test2150001无法提现 2.3.1 因果图设计法因果图需要处理输入之间的作用关系,还要考虑输出情况,因此它包含了复杂的逻辑关系,这些复杂的逻辑关系通常用图示来展现,这些图示就是因果图。 2.3.1 因果图设计法因果图使用一些简单的逻辑符号和直线将程序的因(输入)与果(输出)连接起来,一般原因用ci表示,结果用ei表示,ci与ei可以取值“0”或“1”,其中“0”表示状态不出现,“1”表示状态出现。 2.3.1 因果图设计法ci与ei之间有恒等、非()、或()、与()4种关系。 2.3.1 因果图设计法因果图的4种关系,每种关系的具体含义: 恒等:在恒等关系中,要求程序有一个输入和一个输

19、出,输出与输入保持一致。若ci为1,则ei也为1,若ci为0,则ei也为0。 2.3.1 因果图设计法 非:非使用符号“”表示,在这种关系中,要求程序有一个输入和一个输出,输出是输入的取反。若ci为1,则ei为0,若ci为0,则ei为1。 或:或使用符号“”表示,或关系可以有任意个输入,只要这些输入中有一个为1,则输出为1,否则输出为0。 与:与使用符号“”表示,与关系也可以有任意个输入,但只有这些输入全部为1,输出才能为1,否则输出为0。 2.3.1 因果图设计法在软件测试中,如果程序有多个输入,那么除了输入与输出之间的作用关系之外,这些输入之间往往也会存在某些依赖关系,某些输入条件本身不能

20、同时出现,某一种输入可能会影响其他输入。例如,某一软件用于统计体检信息,在输入个人信息时,性别只能输入男或女,这两种输入不能同时存在,而且如果输入性别为女,那么体检项就会受到限制。 2.3.1 因果图设计法这些依赖关系在软件测试中称为“约束”,约束的类别可分为四种:E(Exclusive,异)、I(at least one,或)、O(one and only one,唯一)、R(Requires,要求),在因果图中,用特定的符号表明这些约束关系。 2.3.1 因果图设计法 2.3.1 因果图设计法 E(异):a和b中最多只能有一个为1,即a和b不能同时为1。 I(或):a、b和c中至少有一个必

21、须是1,即a、b、c不能同时为0。 O(唯一):a和b有且仅有一人为1。 R(要求):a和b必须保持一致,即a为1时,b也必须为1,a为0时,b也必须为0。 2.3.1 因果图设计法除了输入条件,输出条件也会相互约束,输出条件的约束只有一种M(Mask,强制),强制约束关系。 2.3.1 因果图设计法使用因果图设计测试用例的步骤:(1)分析程序规格说明书描述内容,确定程序的输入与输出,即确定“原因”和“结果”。(2)分析得出输入与输入之间、输入与输出之间的对应关系,将这些输入与输出之间的关系使用因果图表示出来。 2.3.1 因果图设计法使用因果图设计测试用例的步骤:(3)由于语法与环境的限制,

22、有些输入与输入之间、输入与输出之间的组合情况是不可能出现的,对于这种情况,使用符号标记它们之间的限制或约束关系。(4)将因果图转换为决策表。决策表将在下一小节学习。根据决策表设计测试用例。 因果图法案例 程序的规格说明要求: 输入的第一个字符必须是“#”或“*”; 第二个字符必须是一个数字,在此情况下进行文件的修改; 如果第一个字符不是“#”或“*”,则给出信息N;如果第二个字符不是数字,则给出信息M。 解法如下: (1)在明确了上述要求后,可以明确地将原因和结果分开。 原因:c1第一个字符是“#” c2第一个字符是“*” c3第二个字符是一个数字 结果:a1给出信息N a2修改文件 a3给出

23、信息M (2)因果图c1c2c310a3a2a1VV因果图表示因果图表示10为导出结果的中间原因为导出结果的中间原因 带有E约束的因果图c1c2c310a3a2a1VVE具有具有E约束的因果图表示约束的因果图表示 将因果图转化为判定表12345678C1C2C310111110101110010111010100100000a1a2a3不可能测试用例3B*7*MC2CM (4)设计测试用例 最左边两列,原因c1和c2同时为1不可能,排除掉,根据表可设计出6个测试用例。 Test1:输入数据#3 预期输出修改文件 Test2:输入数据#B 预期输出给出信息M Test3:输入数据*7 预期输出修

24、改文件 Test4:输入数据*M 预期输出给出信息M Test5:输入数据C2 预期输出给出信息N Test6:输入数据CM 预期输出给出信息M和N 使用因果图法的优点: (1)考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。 (2)能够帮助测试人员按照一定的步骤,高效率的开发测试用例。 (3)因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。 案例分析 有一个处理单价为1元5角的盒装饮料的自动售货机软件。 若投入1元5角硬币,按下“可乐”,“雪碧”或“红茶”按钮,相应的饮料就送出来。 若投入的是两元硬币,在送出饮料的同时

25、退还5角硬币。 (1)分析原因及结果 原因 c1:投入1元5角硬币; c2:投入2元硬币; c3:按“可乐”按钮; c4:按“雪碧”按钮; c5:按“红茶”按钮; 中间状态 11:已投币 12:已按钮 结果 e1:退还5角硬币; e2:送出“可乐”饮料; e3:送出“雪碧”饮料; e4:送出“红茶”饮料; (2)画出因果图 (3)决策表1 12 23 34 45 56 67 78 89 910101111c1:c1:投入投入1 1元元5 5角硬币角硬币c2:c2:投入投入2 2元硬币元硬币c3:c3:按按“可乐可乐”按钮按钮c4:c4:按按“雪碧雪碧”按钮按钮c5:c5:按按“红茶红茶”按钮按

26、钮1 10 01 10 00 01 10 00 01 10 01 10 00 00 01 11 10 00 00 00 00 01 11 10 00 00 01 10 01 10 00 01 10 00 01 10 01 10 00 00 00 00 01 10 00 00 00 00 01 10 00 00 00 00 01 11111:已投币:已投币1212:已按钮:已按钮1 11 11 11 11 11 11 10 01 11 11 11 11 11 11 10 00 01 10 01 10 01 1a1:a1:退还退还5 5角硬币角硬币a2:a2:送出送出“可乐可乐”饮料饮料a3:a3

27、:送出送出“雪碧雪碧”饮料饮料a4:a4:送出送出“红茶红茶”饮料饮料 (4)设计测试用例用例编号用例编号测试用例测试用例预期输出预期输出1 1投入投入1 1元元5 5角,按角,按“可乐可乐”送出送出“可乐可乐”饮料饮料2 2投入投入1 1元元5 5角,按角,按“雪碧雪碧”送出送出“雪碧雪碧”饮料饮料3 3投入投入1 1元元5 5角,按角,按“红茶红茶”送出送出“红茶红茶”饮料饮料4 4投入投入2 2元,按元,按“可乐可乐”找找5 5角,送出角,送出“可乐可乐”5 5投入投入2 2元,按元,按“雪碧雪碧”找找5 5角,送出角,送出“雪碧雪碧”6 6投入投入2 2元,按元,按“红茶红茶”找找5

28、5角,送出角,送出“红茶红茶” 2.3.2 决策表决策表也称为判定表,其实质就是一种逻辑表。在程序设计发展初期,判定表就已经被当作程序开发的辅助工具了,帮助开发人员整理开发模式和流程,因为它可以把复杂的逻辑关系和多种条件组合的情况表达的既具体又明确,利用决策表可以设计出完整的测试用例集合。 2.3.2 决策表为了让读者明白什么是决策表,下面通过一个“图书阅读指南”来制作一个决策表,图书阅读指南指明了图书阅读过程中可能出现的状况,以及针对各种情况给读者的建议。在图书阅读过程中可能会出现3种情况: 是否疲倦。 是否对内容感兴趣。 对书中的内容是否感到糊涂。 2.3.2 决策表如果回答是肯定的,则使

29、用“Y”标记;如果回答是否定的,则使用“N”标记。那么这3种情况可以有23=8种组合,针对这8种组合。阅读指南给读者提供了4条建议: 回到本章开头重读。 继续读下去。 跳到下一章去读。 停止阅读并休息。 2.3.2 决策表图书阅读指南决策表问题与建议问题与建议1 12 23 34 45 56 67 78 8问题问题是否疲倦YYYYNNNN是否对内容感兴趣YYNNNYYN对书中内容是否感到糊涂YNNYYYNN建议建议回到本章开头重读继续读下去跳到下一章去读停止阅读并休息 2.3.2 决策表决策表通常由4个部分组成: 条件桩:列出问题的所有条件,除了某些问题对条件的先后次序有要求之外,通常决策表中

30、所列条件的先后次序都无关紧要。 条件项:条件项就是条件桩的所有可能取值。 动作桩:动作桩就是问题可能采取的操作,这些操作一般没有先后次序之分。 动作项:指出在条件项的各组取值情况下应采取的动作。 2.3.2 决策表在决策表中,任何一个条件组合的特定取值及其相应要执行的操作称为一条规则,即决策表中的每一列就是一条规则,每一列都可以设计一个测试用例,根据决策表设计测试用例就不会有所遗漏。 2.3.2 决策表在实际测试中,条件桩往往很多,而且每个条件桩都有真假两个条件项,有n个条件桩的决策表就会有2n条件规则,如果每条规则都设计一个测试用例,不仅工作量大,而且有些工作量可能是重复的无意义的。例如在“

31、图书阅读指南”中,第1、2条规则,第1条规则取值为:Y、Y、Y,执行结果为“停止阅读并休息”;第2条规则取值为:Y、Y、N,执行结果也是为“停止阅读并休息”;对于这两条规则来说,前两个问题的取值相同,执行结果一样。 2.3.2 决策表这些不影响结果取值的问题称为无关条件项,用“-”表示。忽略无关条件项,可以将两条规则合并。 2.3.2 决策表根据合并规则,可以将“图书阅读指南”决策表合并。问题与建议问题与建议1 12 23 34 45 5问题问题是否疲倦YYNNN是否对内容感兴趣YNNYY对书中内容是否感到糊涂-NN建议建议回到本章开头重读继续读下去跳到下一章去读停止阅读并休息 2.3.3 实

32、例:三角形决策表在测试用例中,三角形问题是一个永盛不衰的经典案例,这里我们继续使用三角形讲解决策表的构建与测试用例的设计。三角形的三边是否能构成三角形,如果能构成三角形,那么是构成一般三角形、等腰三角形还是等边三角形。 2.3.3 实例:三角形决策表据此分析,三角形问题有4个原因:原因原因 是否构成三角形 a=b? b=c? c=a?结果结果 不构成三角形 一般三角形 等腰三角形 等边三角形 不符合逻辑 2.3.3 实例:三角形决策表三角形决策表原因与结果原因与结果1 12 23 34 45 56 67 78 89 91010 1111 1212 1313 1414 1515 1616原因原因

33、c1YYYYYYYYNNNNNNNNc2YNYNNYYNYNYYNYNNc3YNNYNYNYYYNYNNYNc4YNNNYNYYYYYNYNNN结果结果e1 e2e3 e4e5 2.3.3 实例:三角形决策表根据合并规则,将三角形决策表进行简化原因与结果原因与结果1 12 23 34 45 56 67 78 89 9原因原因c1YYYYYYYYNc2YNYNNYYN-c3YNNYNYNY-c4YNNNYNYY-结果结果e1e2e3e4e5 2.3.3 实例:三角形决策表三角形测试用例测试用例测试用例a ab bc c预期结果预期结果test1test1333等边三角形test2test2345

34、一般三角形test3test3334等腰三角形test4test4433等腰三角形test5test5343等腰三角形test6test6?不符合逻辑test7test7?不符合逻辑test8test8?不符合逻辑test9test9123不构成三角形 2.3.4 实例:工资发放决策表某公司的薪资管理制度如下:员工工资分为年薪制与月薪制两种,员工的错误定位包括普通错误与严重错误两种,如果是年薪制的员工,犯普通错误扣款2%,犯严重错误扣款4%;如果是月薪制的员工,犯普通错误扣款4%,犯严重错误扣款8%。该公司编写了一款软件用于员工工资计算发放,现在要对该软件进行测试。 2.3.4 实例:工资发放

35、决策表对公司员工工资管理进行分析,可得出员工工资由4个因素决定:年薪、月薪、普通错误、严重错误。其中,年薪与月薪不可能同时并存,但普通错误与严重错误可以并存。员工最终扣款结果有7种:未扣款、扣款2%、扣款4%、扣款6%(2%+4%)、扣款4%、扣款8%、扣款12%(4%+8%)。 2.3.4 实例:工资发放决策表员工工资原因与结果原因原因结果结果年薪年薪c1未扣款e1月薪月薪c2扣款2%e2扣款4%e3普通错误普通错误c3扣款6%e4扣款4%e5严重错误严重错误c4 扣款8%e6扣款12%e7 2.3.4 实例:工资发放决策表有4个原因,每个原因有“Y”和“N”两个取值,理论上可以组成24=1

36、6种规则,但是c1与c2不能同时并存,因此有23=8种规则。原因与结果原因与结果1 12 23 34 45 56 67 78 8原因原因c1YYYYc2YYYYc3NYNYNYNYc4NNYYNNYY结果结果e1e2e3e4e5e6e7 2.3.4 实例:工资发放决策表员工工资测试用例测试用例测试用例薪资制度薪资制度薪资薪资错误程度错误程度扣款扣款test1test1年薪制200000无0test2test2250000普通5000test3test3300000严重12000test4test4350000普通+严重21000test5test5月薪制8000无0test6test61000

37、0普通400test7test715000严重1200test8test88000普通+严重960 2.4.1 正交实验设计法概述正交实验设计法(Orthogonal experimental design)是指从大量的实验点中挑选出适量的、有代表性的点,依据Glois理论导出“正交表”,从而合理的安排实验的一种实验设计方法。 2.4.1 正交实验设计法概述正交实验设计法包含三个关键因素,具体如下所示。 指标:判断实验结果优劣的标准。 因子:因子也称为因素,是指所有影响实验指标的条件。 因子的状态:因子的状态也叫因子的水平,它指的是因子变量的取值。 2.4.1 正交实验设计法概述利用正交实验法

38、设计测试用例的步骤:1、提取因子,构造因子状态表2、加权筛选,简化因子状态表3、构建正交表,设计测试用例 2.4.1 正交实验设计法概述分析软件的规格需求说明得到影响软件功能的因子,确定因子可以有哪些取值,即确定因子的状态。例如,某一软件的运行受到操作系统和数据库的影响,因此影响其运行是否成功的因子有操作系统和数据库两个,而操作系统有Windows、Linux、Mac三个取值,数据库有MySQL、MongDB、Oracle三个取值,因此操作系统的因子状态取值为3,数据库因子状态取值为3。 2.4.1 正交实验设计法概述因子-状态表因子因子因子的状态因子的状态操作系统操作系统WindowsLin

39、uxMac数据库数据库MySQLMongoDBOracle 2.4.1 正交实验设计法概述在实际软件测试中,软件的因子及因子的状态会有很多,每个因子及其状态对软件的作用也大不相同,如果把这些因子及状态都划分到因子-状态表中,最后生成的测试用例会相当庞大,从而影响软件测试的效率。因此需要根据因子及状态的重要程度进行加权筛选,选出重要的因子与状态,简化因子-状态表。 2.4.1 正交实验设计法概述在实际软件测试中,软件的因子及因子的状态会有很多,每个因子及其状态对软件的作用也大不相同,如果把这些因子及状态都划分到因子-状态表中,最后生成的测试用例会相当庞大,从而影响软件测试的效率。因此需要根据因子

40、及状态的重要程度进行加权筛选,选出重要的因子与状态,简化因子-状态表。 2.4.1 正交实验设计法概述加权筛选就是根据因子或状态的重要程度、出现频率等因素计算因子和状态的权值,权值越大,表明因子或状态越重要,而权值越小,表明因子或状态的重要性越小。加权筛选之后,可以去掉一部分权值较小的因子或状态,使得最后生成的的测试用例集缩减到允许的范围。 2.4.1 正交实验设计法概述正交表的表示形式为Ln(tc)来表示。 L表示正交表。 n为正交表的行数,正交表的每一行可以设计一个测试用例,因此行数n也表示可以设计的测试用例的数目。 c表示正交实验的因子数目,即正交表的列数,因此正交表是一个n行c列的表。

41、 t称为水平数,表示每个因子能够取得的最大值,即因子有多少个状态。 2.4.1 正交实验设计法概述例如L4(23)是最简单的正交表,它表示该实验有3个因子,每个因子有两个状态,可以做4次实验,如果用0和1表示每个因子的两种状态,则该正交表就是一个4行3列的表。 列列行行1 12 23 31 11112 21003 30104 4001 2.4.1 正交实验设计法概述在实际软件测试中,大多数情况下,软件有多个因子,每个因子的状态数目都不相同,即各列的水平数不等,这样的正交表称为混合正交表,如L8(2441),这个正交表表示有4个因子有2种状态,有1个因子有4种状态。 2.4.1 正交实验设计法概

42、述混合正交表往往难以确定测试用例的数目,即n的值,这种情况下,读者可以登录正交表的一些权威网站,查询n值,下面为读者提供一个正交表查询网站:https:/ 2.4.1 正交实验设计法概述 2.4.1 正交实验设计法概述正交表最大的特点是取点均匀分散、齐整可比,每一列中每种数字出现的次数都相等,即每种状态的取值次数相等。 2.4.1 正交实验设计法概述以L4(23)正交表为例:每一列都是取两个0和两个1;在表2-22中,第14列中,0和1的取值个数都是4,在第5列中,0、1、2、3的取值个数均为2。此外,任意两列组成的对数出现的次数相等。第12列共组成4对数据:(1,1)、(1、0)、(0、1)

43、、(0,0),这4对数据各出现一次,其他任意两列也如此。 2.4.1 正交实验设计法概述在正交表中,每个因子的每个水平与另一个因子的各水平都“交互”一次,这就是正交性,它保证了实验点均匀分散在因子与水平的组合之中,因此具有很强的代表性。正交表 2.4.1 正交实验设计法概述对于受多因子多水平影响的软件,正交实验法可以高效适量的生成测试用例,减少测试工作量,并且利用正交实验法得到的测试用例具有一定的覆盖度,检错率可达50%以上。 2.4.1 正交实验设计法概述正交实验法虽然好用,但在选择正交表时要注意先要确定实验因子、状态及它们之间的交互作用,选择合适的正交表,同时还要考虑实验的精度要求、费用、

44、时长等因素。注 意 2.4.2 实例:微信Web页面运行环境正交实验设计微信是一款手机App软件,但它也有web版微信可以登录,如果要测试微信web页面运行环境,需要考虑多种因素,在众多的因素中,我们可以选出几个影响比较大的因素,如服务器、操作系统,插件和浏览器。 2.4.2 实例:微信Web页面运行环境正交实验设计对于选取出的4个影响因素,每个因素又有不同的取值,同样,在每个因素的多个值中,可以选出几个比较重要的值。 服务器:IIS、Apache、Jetty。 操作系统:Windows7、Windows10、Linux。 插件:无、小程序、微信插件。 浏览器:IE11、Chrome、Fire

45、Fox。 2.4.2 实例:微信Web页面运行环境正交实验设计微信web版运行环境正交实验中有4个因子:服务器、操作系统、插件、浏览器,每个因子又有3个水平,因此该正交表是一个4因子3水平正交表。 列列 行行1 12 23 34 41 100002 201213 302124 410225 511106 612017 720118 821029 92220 2.4.2 实例:微信Web页面运行环境正交实验设计将因子、状态映射到正交表,可生成具体的测试用例 行行 列列服务器服务器操作系统操作系统插件插件浏览器浏览器1 1IISWindows7无IE112 2IISWindows10微信插件Chr

46、ome3 3IISLinux小程序FireFox4 4ApacheWindows7微信插件FireFox5 5ApacheWindows7小程序IE116 6ApacheLinux无Chrome7 7JettyWindows7小程序Chrome8 8JettyWindows7无FireFox9 9JettyLinux微信插件IE11 多学一法:场景分析法场景分析法概念 分析软件应用的场景,从用户的角度、从场景的角度来设计测试用例,是一种面向用户的测试用例设计方法。 (1)用例场景:是通过描述流所经过的用例路径来确定的过程。这个流所经过的过程要从用例开始到结束遍历其中所有的基本流和备选流。 (2)基本流:采用直黑线表示,是经过用例的最简单的路径,也就是功能正常实现的基本流程(流程无任何异常错误,程序从开始直到执行的结束)。 (3)备选流:采用不同颜色表示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论