测试用例设计方法:正交试验法详解!

01、正交试验法介绍

正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验,根据正交表的正交性从全面试验中挑选适量的、有代表性的点进行试验,这些有代表性的点具备了"均匀分散,整齐可比"的特点。本规范只讨论各因素是相互独立的正交试验法,各因素相互影响的正交试验法在我们设计测试用例的时候用不到,所以不提。

正交表是一种特制的表格,一般用Ln(mk)表示,L代表是正交表,n代表试验次数或正交表的行数,k代表最多可安排影响指标因素的个数或正交表的列数,m表示每个因素水平数,且有n=k*(m-1)+1。

02、使用正交试验法的原因

对于单因素或两因素试验,因其因素少,试验的设计、实施与分析都比较简单。但在实际工作中,常常需要同时考察3个或3个以上的试验因素,若进行全面试验,试验的规模很大,由于时间和成本的限制我们不可能进行全面试验,但是具体挑其中的哪些测试用例进行测试我们心里拿不准,总担心不做不挑选的那些测试用例会遗漏一些严重缺陷。为了有效的、合理地减少测试的工时与费用,我们利用正交试验法来设计测试用例。正交试验法就是安排多因素试验、寻求最优水平组合的一种高效率的试验设计方法。

我们用测试实例来进行说明使用正交试验法设计测试用例的好处:

测试需求:

某所大学通信系共2个班级,刚考完某一门课程,想通过"性别"、"班级"和"成绩"这三个查询条件对通信系这门课程的成绩分布,男女比例或班级比例进行人员查询:

  • 根据"性别"="男,女"进行查询
  • 根据"班级"="1班,2班"查询
  • 根据"成绩"="及格,不及格"查询

按照传统设计------全部测试

分析上述测试需求,有3个被测元素,被测元素我们称为因素,每个因素有两个取值,我们称之为水平值,所以全部测试用例个数是2*2*2=8,参见下表

**利用正交表设计测试用例,**我们得到的测试用例个数是n=3*(2-1)+1=4,对于三因素两水平的刚好有L4(23)的正交表可以套用,于是用正交表试验法得出4个测试用例如下:

根据实际需要可以在用正交试验法设计用例的基础上补充一些测试用例。4个测试用例与8个测试用例相比测试用例个数是减少了。因素数和水平数越大越能体现用正交表的好处。

**例如:**对于一个四因素且每个因素均为三水平的试验,如果按照全面试验需要进行3*3*3*3=81次。但是如果用正交试验法选择L9(34)正交表,n=4*(3-1)+1=9次试验就可以覆盖。从这点可以说明用正交试验法能有效地、合理地减少测试用例和工时,节约测试成本。

扩展的正交表L8(4×24)行数为mn型的正交表中试验次数(行数)=∑(每列水平数-1)+1

**例:**5个3水平因子及一个2水平因子,表示为35*21,试验次数=5*(3-1)+1*(2-1)+1=12,即L12(35*21)

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
AI慧聚堂4 分钟前
自动化 + 人工智能:投标行业的未来是什么样的?
运维·人工智能·自动化
普密斯科技1 小时前
手机外观边框缺陷视觉检测智慧方案
人工智能·计算机视觉·智能手机·自动化·视觉检测·集成测试
互联网杂货铺2 小时前
Postman接口测试:全局变量/接口关联/加密/解密
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·postman
古木20198 小时前
前端面试宝典
前端·面试·职场和发展
野蛮的大西瓜13 小时前
开源呼叫中心中,如何将ASR与IVR菜单结合,实现动态的IVR交互
人工智能·机器人·自动化·音视频·信息与通信
chengooooooo14 小时前
代码随想录训练营第二十七天| 贪心理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和
算法·leetcode·职场和发展
测试杂货铺15 小时前
如何用postman做接口自动化测试及完美的可视化报告?
自动化测试·软件测试·测试工具·职场和发展·jenkins·压力测试·postman
爱学测试的李木子16 小时前
Python自动化测试的2种思路
开发语言·软件测试·python
Seven 7 Chihiro17 小时前
软件测试之缺陷介绍
功能测试
撞上电子17 小时前
蓝桥杯物联网开发板硬件组成
物联网·职场和发展·蓝桥杯