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

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)

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

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

相关推荐
吃肉不能购5 小时前
Label-studio-ml-backend 和YOLOV8 YOLO11自动化标注,目标检测,实例分割,图像分类,关键点估计,视频跟踪
运维·yolo·自动化
茶猫_6 小时前
力扣面试题 - 25 二进制数转字符串
c语言·算法·leetcode·职场和发展
霍格沃兹测试开发学社测试人社区9 小时前
提升软件测试报告的质量:Allure2中添加用例失败截图、日志、HTML块和视频的方法
软件测试·测试开发
努力的悟空9 小时前
国土变更调查拓扑错误自动化修复工具的研究
运维·自动化
幽兰的天空10 小时前
默语博主的推荐:探索技术世界的旅程
学习·程序人生·生活·美食·交友·美女·帅哥
Rstln10 小时前
【DP】个人练习-Leetcode-2019. The Score of Students Solving Math Expression
算法·leetcode·职场和发展
zhd15306915625ff12 小时前
库卡机器人维护需要注意哪些事项
安全·机器人·自动化
行則独善其身12 小时前
计算机网络-VPN虚拟专用网络概述
程序人生
陪学13 小时前
百度遭初创企业指控抄袭,维权还是碰瓷?
人工智能·百度·面试·职场和发展·产品运营
运维老司机14 小时前
Jenkins修改LOGO
运维·自动化·jenkins