測(cè)試用例設(shè)計(jì)方法:正交試驗(yàn)法詳解!

01 正交試驗(yàn)法介紹
正交試驗(yàn)法是研究多因素、多水平的一種試驗(yàn)法,它是利用正交表來(lái)對(duì)試驗(yàn)進(jìn)行設(shè)計(jì),通過(guò)少數(shù)的試驗(yàn)替代全面試驗(yàn),根據(jù)正交表的正交性從全面試驗(yàn)中挑選適量的、有代表性的點(diǎn)進(jìn)行試驗(yàn),這些有代表性的點(diǎn)具備了“均勻分散,整齊可比”的特點(diǎn)。本規(guī)范只討論各因素是相互獨(dú)立的正交試驗(yàn)法,各因素相互影響的正交試驗(yàn)法在我們?cè)O(shè)計(jì)測(cè)試用例的時(shí)候用不到,所以不提。
正交表是一種特制的表格,一般用Ln(mk)表示,L代表是正交表,n代表試驗(yàn)次數(shù)或正交表的行數(shù),k代表最多可安排影響指標(biāo)因素的個(gè)數(shù)或正交表的列數(shù),m表示每個(gè)因素水平數(shù),且有n=k*(m-1)+1。
02 使用正交試驗(yàn)法的原因
對(duì)于單因素或兩因素試驗(yàn),因其因素少,試驗(yàn)的設(shè)計(jì)、實(shí)施與分析都比較簡(jiǎn)單。但在實(shí)際工作中,常常需要同時(shí)考察3個(gè)或3個(gè)以上的試驗(yàn)因素,若進(jìn)行全面試驗(yàn),試驗(yàn)的規(guī)模很大,由于時(shí)間和成本的限制我們不可能進(jìn)行全面試驗(yàn),但是具體挑其中的哪些測(cè)試用例進(jìn)行測(cè)試我們心里拿不準(zhǔn),總擔(dān)心不做不挑選的那些測(cè)試用例會(huì)遺漏一些嚴(yán)重缺陷。為了有效的、合理地減少測(cè)試的工時(shí)與費(fèi)用,我們利用正交試驗(yàn)法來(lái)設(shè)計(jì)測(cè)試用例。 正交試驗(yàn)法就是安排多因素試驗(yàn)、尋求最優(yōu)水平組合的一種高效率的試驗(yàn)設(shè)計(jì)方法。
我們用測(cè)試實(shí)例來(lái)進(jìn)行說(shuō)明使用正交試驗(yàn)法設(shè)計(jì)測(cè)試用例的好處:
測(cè)試需求:
某所大學(xué)通信系共2個(gè)班級(jí),剛考完某一門課程,想通過(guò)“性別”、“班級(jí)”和“成績(jī)”這三個(gè)查詢條件對(duì)通信系這門課程的成績(jī)分布,男女比例或班級(jí)比例進(jìn)行人員查詢:
根據(jù)“性別”=“男,女”進(jìn)行查詢
根據(jù)“班級(jí)”=“1班,2班”查詢
根據(jù)“成績(jī)”=“及格,不及格”查詢
按照傳統(tǒng)設(shè)計(jì)——全部測(cè)試
分析上述測(cè)試需求,有3個(gè)被測(cè)元素,被測(cè)元素我們稱為因素,每個(gè)因素有兩個(gè)取值,我們稱之為水平值,所以全部測(cè)試用例個(gè)數(shù)是222=8,參見下表
利用正交表設(shè)計(jì)測(cè)試用例,我們得到的測(cè)試用例個(gè)數(shù)是n=3*(2-1)+1=4,對(duì)于三因素兩水平的剛好有L4(23)的正交表可以套用,于是用正交表試驗(yàn)法得出4個(gè)測(cè)試用例如下:

根據(jù)實(shí)際需要可以在用正交試驗(yàn)法設(shè)計(jì)用例的基礎(chǔ)上補(bǔ)充一些測(cè)試用例。4個(gè)測(cè)試用例與8個(gè)測(cè)試用例相比測(cè)試用例個(gè)數(shù)是減少了。因素?cái)?shù)和水平數(shù)越大越能體現(xiàn)用正交表的好處。
例如:對(duì)于一個(gè)四因素且每個(gè)因素均為三水平的試驗(yàn),如果按照全面試驗(yàn)需要進(jìn)行3333=81次。但是如果用正交試驗(yàn)法選擇L9(34)正交表,n=4(3-1)+1=9次試驗(yàn)就可以覆蓋。從這點(diǎn)可以說(shuō)明用正交試驗(yàn)法能有效地、合理地減少測(cè)試用例和工時(shí),節(jié)約測(cè)試成本。
擴(kuò)展的正交表L8(4×24)行數(shù)為mn型的正交表中試驗(yàn)次數(shù)(行數(shù))=∑(每列水平數(shù)-1)+
例:5個(gè)3水平因子及一個(gè)2水平因子,表示為3521,試驗(yàn)次數(shù)=5(3-1)+1*(2-1)+1=12,即L12(35*21)
最后:這些資料,對(duì)于【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴上萬(wàn)個(gè)測(cè)試工程師們走過(guò)最艱難的路程,希望也能幫助到你!

包括,測(cè)試人技術(shù)進(jìn)階路徑圖,50多天的視頻教程、16個(gè)項(xiàng)目實(shí)例,30多個(gè)測(cè)試工具,37份測(cè)試文檔,70個(gè)軟件測(cè)試相關(guān)問題,40篇測(cè)試經(jīng)驗(yàn)級(jí)文章分享,還有軟件測(cè)試面試小程序,求職簡(jiǎn)歷的優(yōu)化模板。
加油吧,如果你需要提升技術(shù)儲(chǔ)備,那就行動(dòng),在路上總比在起點(diǎn)觀望的要好。一切的迷茫都是因?yàn)橄氲锰喽龅奶伲?/p>
你可以在公眾號(hào):傷心的辣條?! 自行領(lǐng)取一份216頁(yè)軟件測(cè)試工程師面試寶典文檔資料【免費(fèi)的】。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!,其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫(kù)、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。
現(xiàn)在我邀請(qǐng)你進(jìn)入我們的軟件測(cè)試學(xué)習(xí)交流群:【746506216】,備注“入群”, 大家可以一起探討交流軟件測(cè)試,共同學(xué)習(xí)軟件測(cè)試技術(shù)、面試等軟件測(cè)試方方面面,還會(huì)有免費(fèi)直播課,收獲更多測(cè)試技巧,我們一起進(jìn)階Python自動(dòng)化測(cè)試/測(cè)試開發(fā),走向高薪之路。