正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,经过少数的试验替代全面试验,根据正交表的正交性从全面试验中挑选适量的、有表明性的点进行试验,这些有表明性的点具有了“均匀分散,整齐可比”的特色。本规范只讨论各因素是相互独立的正交试验法,各因素相互影响的正交试验法在咱们设计测试用例的时候用不到,因此不提。面试
正交表是一种特制的表格,通常用Ln(mk)表示,L表明是正交表,n表明试验次数或正交表的行数,k表明最多可安排影响指标因素的个数或正交表的列数,m表示每一个因素水平数,且有n=k*(m-1)+1。正交试验法原理及特色见附录。测试
对于单因素或两因素试验,因其因素少,试验的设计、实施与分析都比较简单。但在实际工做中,经常须要同时考察3个或3个以上的试验因素,若进行全面试验,试验的规模很大,因为时间和成本的限制咱们不可能进行全面试验,可是具体挑其中的哪些测试用例进行测试咱们内心拿不许,总担忧不作不挑选的那些测试用例会遗漏一些严重缺陷。为了有效的、合理地减小测试的工时与费用,咱们利用正交试验法来设计测试用例。正交试验法就是安排多因素试验、寻求最优水平组合的一种高效率的试验设计方法。ui
咱们用测试实例来进行说明使用正交试验法设计测试用例的好处。spa
测试需求:设计
某所大学通讯系共2个班级,刚考完某一门课程,想经过“性别”、“班级”和“成绩”这三个查询条件对通讯系这门课程的成绩分布,男女比例或班级比例进行人员查询:ci
根据“性别”=“男,女”进行查询get
根据“班级”=“1班,2班”查询table
根据“成绩”=“及格,不及格”查询效率
按照传统设计——所有测试基础
分析上述测试需求,有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班 |
及格 |
根据实际须要能够在用正交试验法设计用例的基础上补充一些测试用例。
4个测试用例与8个测试用例相比测试用例个数是减小了。因素数和水平数越大越能体现用正交表的好处。例如:对于一个四因素且每一个因素均为三水平的试验,若是按照全面试验须要进行3*3*3*3=81次。可是若是用正交试验法选择L9(34)正交表,n=4*(3-1)+1=9次试验就能够覆盖。从这点能够说明用正交试验法能有效地、合理地减小测试用例和工时,节约测试成本。
优势:根据正交性从全面试验中挑选出部分有表明性的点进行试验,这些有表明性的特色具有了“均匀分散,整齐可比”的特色。经过使用正交试验法减小了测试用例,合理地减小测试的工时与费用,提升测试用例的有效性。是一种高效率、快速、经济的实验设计方法。
缺点:对每一个状态点同等对待,重点不突出,容易形成在用户不经常使用的功能或场景中,花费很多时间进行测试设计与执行,而在重要路径的使用上反而没有重点测试。
虽然正交试验设计有上述不足,但它能经过部分试验找到最优水平组合,于是很受实际工做者的青睐。