Jianyuan Lab
發(fā)布時(shí)間:2024-10-12 作者:上海工業(yè)控制安全創(chuàng)新科技有限公司 點(diǎn)擊次數(shù):次
上篇文章我們介紹了因果圖法結(jié)合判定表(測(cè)試設(shè)計(jì)方法-因果圖),來對(duì)復(fù)雜邏輯關(guān)系的需求進(jìn)行分析和測(cè)試設(shè)計(jì)。本章我們介紹正交實(shí)驗(yàn)法,另外一種對(duì)復(fù)雜的輸入條件進(jìn)行分析和設(shè)計(jì)的測(cè)試方法。
01 開始之前 上篇介紹中我們說明了因果圖法在需求中輸入和輸出以及中間過程有復(fù)雜邏輯約束關(guān)系時(shí)使用,可以通過因果圖輕松梳理整個(gè)過程。同樣的當(dāng)輸入條件多,且相互之間有邏輯關(guān)聯(lián),加上多個(gè)中間過程狀態(tài)的選擇,最終可能生成的測(cè)試用例數(shù)量多的驚人,如上一篇舉例中我們輸入條件1個(gè),中間狀態(tài)2個(gè),輸出結(jié)果3種,共設(shè)計(jì)了12條測(cè)試用例。如果條件更多時(shí),測(cè)試用例的數(shù)量可能要翻倍。 使用正交實(shí)驗(yàn)法進(jìn)行測(cè)試的分析和設(shè)計(jì)這時(shí)候可以有效的減少客觀上不合理或者自相矛盾的測(cè)試用例,從而提高測(cè)試效率。 正交實(shí)驗(yàn)法特別適用于多個(gè)輸入條件之間存在邏輯關(guān)系的情況,但是跟因果圖法的輸入條件間邏輯關(guān)系不一樣。因果圖法的輸入條件間的互斥、唯一等邏輯關(guān)系是多個(gè)條件可能不能同時(shí)存在的關(guān)系,而正交實(shí)驗(yàn)法的輸入條件通常是可以同時(shí)存在,但各個(gè)條件因自身狀態(tài)或取值不同,形成的多條件組合會(huì)因相互作用的關(guān)系產(chǎn)生不同的結(jié)果。 02 正交實(shí)驗(yàn)法的使用步驟 使用正交實(shí)驗(yàn)法進(jìn)行測(cè)試分析和設(shè)計(jì)通常步驟如下: 1. 確定正交實(shí)驗(yàn)中的條件因子。首先需要根據(jù)功能的需求描述,對(duì)影響結(jié)果的所有輸入條件進(jìn)行提取,轉(zhuǎn)化為實(shí)驗(yàn)中的實(shí)驗(yàn)因子。當(dāng)需求說明中描述繁多,條件之間影響邏輯復(fù)雜時(shí),需要使用前文介紹的需求分析通用方法,對(duì)需求先進(jìn)行層層分解,從而全面的確定實(shí)驗(yàn)因子,防止因子遺漏。 2. 逐個(gè)確定每個(gè)因子的實(shí)驗(yàn)中狀態(tài)或取值。因子的實(shí)驗(yàn)取值可以是數(shù)值型定量的,也可以是狀態(tài)值定性的。 3. 對(duì)確定好的因子及因子實(shí)驗(yàn)數(shù)據(jù)進(jìn)行正交,生成正交表。正交表通常使用“L”表示。如有3個(gè)輸入條件的實(shí)驗(yàn)因子,每個(gè)因子分別取4個(gè)實(shí)驗(yàn)值進(jìn)行組合實(shí)驗(yàn),則各因子完全正交做全面實(shí)驗(yàn)法,會(huì)有4的3次方種實(shí)驗(yàn)組合。隨著因子和實(shí)驗(yàn)取值的增加,完全實(shí)驗(yàn)法時(shí)的實(shí)驗(yàn)組合會(huì)呈指數(shù)增長(zhǎng)。 4. 正交實(shí)驗(yàn)法特別適用于實(shí)驗(yàn)結(jié)果情況未確定的探索性測(cè)試,針對(duì)全面實(shí)驗(yàn)法的海量測(cè)試組合,實(shí)際種操作時(shí)通常會(huì)采用簡(jiǎn)單對(duì)比法來縮小測(cè)試的組合選擇。 5. 簡(jiǎn)單對(duì)比法在日常的測(cè)試設(shè)計(jì)中也會(huì)用到,多個(gè)輸入因子中,只變化1個(gè)因子做測(cè)試實(shí)驗(yàn),其余因子均固定不變,如A1B1C1、A2B1C1、A3B1C1,在測(cè)試結(jié)果中選擇該變化因子導(dǎo)致結(jié)果最好的實(shí)驗(yàn)取值,假設(shè)A1對(duì)結(jié)果促進(jìn)最好。然后換1個(gè)因子變化,固定其余測(cè)試因子,已測(cè)試實(shí)驗(yàn)確定最優(yōu)取值的取最優(yōu)值,接下來實(shí)驗(yàn)為A1B2C1、A1B3C1,因?yàn)锳1B1C1在上輪中已完成測(cè)試,所以此輪不重復(fù),假設(shè)得出B3的結(jié)果組合是最好的,那固定下輪實(shí)驗(yàn)的有2個(gè)因子,即A1B3。最后觀察剩余1個(gè)因子的組合變化即得出最佳組合,A1B3C2、 A1B3C3,同樣A1B3C1上輪中已測(cè)試,最終實(shí)際執(zhí)行的測(cè)試組合數(shù)量遠(yuǎn)小于完全測(cè)試法。 6. 在結(jié)果確定的測(cè)試中,不能使用對(duì)比法,反而必須進(jìn)行完全測(cè)試以防止測(cè)試設(shè)計(jì)遺漏。 03 正交實(shí)驗(yàn)法的示例 本篇我們繼續(xù)使用空調(diào)的案例在描述的基礎(chǔ)上改動(dòng)進(jìn)行分析,本案例跟實(shí)際情況有所出入,僅限于本文列舉示范使用。 需求規(guī)格說明要求:自動(dòng)空調(diào)在多種情況下要求自動(dòng)啟動(dòng)工作,1.在車內(nèi)溫度超過25攝氏度時(shí),空調(diào)自動(dòng)啟動(dòng)工作,風(fēng)扇啟動(dòng),空調(diào)壓縮機(jī)啟動(dòng)。在車內(nèi)溫度低于15攝氏度時(shí),空調(diào)自動(dòng)啟動(dòng)工作,風(fēng)扇啟動(dòng),空調(diào)壓縮機(jī)不啟動(dòng)。溫度在15攝氏度至25攝氏度之間時(shí),空調(diào)不啟動(dòng),風(fēng)扇不啟動(dòng),空調(diào)壓縮機(jī)不啟動(dòng)。2.空氣濕度超過50%時(shí),空調(diào)自動(dòng)啟動(dòng)工作, 風(fēng)扇啟動(dòng),空調(diào)壓縮機(jī)啟動(dòng)。 分析上段的需求說明我們可以得出:決定空調(diào)啟動(dòng)的不同條件有2個(gè),1個(gè)是溫度,1個(gè)是濕度。 繪制實(shí)驗(yàn)正交表 在實(shí)驗(yàn)輸入條件因子較少時(shí),也可以通過作圖法畫出因子實(shí)驗(yàn)組合的坐標(biāo)系(類似于數(shù)學(xué)坐標(biāo)系),每一個(gè)數(shù)軸代表1個(gè)輸入條件,數(shù)軸上分別標(biāo)記每個(gè)條件的取值,然后在坐標(biāo)系中取因子交叉點(diǎn)的坐標(biāo)作為實(shí)驗(yàn)點(diǎn)。 當(dāng)輸入條件較多時(shí),如4個(gè)不同輸入條件,使用作圖法就需要畫出4坐標(biāo)系,此時(shí)實(shí)驗(yàn)點(diǎn)的選取反而不直觀,通常就會(huì)使用正交表來代替。 關(guān)于正交組合最小取值的計(jì)算,本文不做介紹。在結(jié)果確定的符合性測(cè)試設(shè)計(jì)中,通常要求測(cè)試分析階段盡量考慮所有測(cè)試組合情況,然后根據(jù)實(shí)際情況對(duì)組合做篩選,正交法的測(cè)試組合優(yōu)化篩選此時(shí)對(duì)輸入條件組合刪減不是很合適。 本例中輸入因子溫度可以考慮取值:A1-10℃、A2-20℃、A3-30℃。濕度因子可以考慮取值:B1-30%、B2-50%、B3-80%。 得出的正交表如下: 生成實(shí)驗(yàn)方案 根據(jù)正交表的所有因子取值的組合,我們可以得出實(shí)驗(yàn)方案表如下: 通過上面的分析,我們可以看到測(cè)試設(shè)計(jì)覆蓋了兩個(gè)決定空調(diào)開啟狀態(tài)條件的所有組合,因?yàn)椴煌瑺顟B(tài)下的空調(diào)開啟風(fēng)扇和壓縮機(jī)啟動(dòng)狀態(tài)不一樣,所以通過這種分析方法我們就可以把所有可能全部做覆蓋測(cè)試,不會(huì)造成場(chǎng)景遺漏測(cè)試的情況。 我們?cè)趯?shí)際測(cè)試中經(jīng)常會(huì)遇到多個(gè)測(cè)試輸入條件,且或每個(gè)測(cè)試條件均有幾個(gè)可選值的情況,遇到這類的測(cè)試時(shí),就可能會(huì)因?yàn)闇y(cè)試條件選取的組合設(shè)計(jì)遺漏,導(dǎo)致某些場(chǎng)景未測(cè)試覆蓋到而造成故障未發(fā)現(xiàn)。建議遇到這類測(cè)試場(chǎng)景時(shí)使用正交分析法,哪怕不按步驟畫出正交表和實(shí)驗(yàn)表,簡(jiǎn)單的使用輸入條件正交組合也能達(dá)到設(shè)計(jì)不遺漏的效果。 04 測(cè)試小結(jié) 在使用正交實(shí)驗(yàn)法時(shí)有如下建議: 1. 在面對(duì)多個(gè)測(cè)試輸入條件(3個(gè)以上),且每個(gè)條件可以有多個(gè)不同取值,并且條件間組合的不同會(huì)直接影響輸出結(jié)果時(shí),非常有必要使用正交實(shí)驗(yàn)法來分析得出所有的測(cè)試組合,從而考慮所有場(chǎng)景實(shí)現(xiàn)的正確性。 2. 在執(zhí)行具有多個(gè)測(cè)試輸入條件的探索性測(cè)試設(shè)計(jì)時(shí),使用正交實(shí)驗(yàn)法簡(jiǎn)單對(duì)比篩選實(shí)驗(yàn)組合,可以極大的提高測(cè)試效率。 3. 即使不嚴(yán)格安裝正交實(shí)驗(yàn)法的步驟來測(cè)試設(shè)計(jì),僅使用正交組合也可以提升測(cè)試設(shè)計(jì)質(zhì)量。 參考文獻(xiàn): 1. 全國(guó)計(jì)算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格考試指定用書 – 軟件評(píng)測(cè)師教程.