蘇晶
山東理工大學(xué) 山東 淄博 255049
軟件測(cè)試是軟件開(kāi)發(fā)過(guò)程中的重要組成環(huán)節(jié),是發(fā)現(xiàn)軟件缺陷和提高軟件質(zhì)量的重要舉措,其本質(zhì)為通過(guò)建立輸入與輸出之間的映射關(guān)系驗(yàn)證系統(tǒng)功能是否滿足用戶需求。
軟件測(cè)試的方法繁多,各有長(zhǎng)處和不足,可分別適用于不同的應(yīng)用場(chǎng)景中。對(duì)于參數(shù)配置類(lèi)軟件的測(cè)試問(wèn)題,由于不同輸入條件取值組合將產(chǎn)生不同的輸出結(jié)果,若采用傳統(tǒng)的基于軟件等價(jià)類(lèi)的劃分方法設(shè)計(jì)測(cè)試用例,僅僅滿足于輸入條件取值的覆蓋,則勢(shì)必忽略重要組合的驗(yàn)證,帶來(lái)遺漏缺陷的風(fēng)險(xiǎn)。
另外,由于輸入條件取值往往無(wú)法簡(jiǎn)單通過(guò)邏輯值概括,加之其間毫無(wú)關(guān)聯(lián)、相互獨(dú)立,不具備合并化簡(jiǎn)的必要條件,若采用判定表驅(qū)動(dòng)法設(shè)計(jì)測(cè)試用例,則隨著輸入條件的增多,通常會(huì)導(dǎo)致排列組合數(shù)量過(guò)于龐大,在有限時(shí)間和成本的條件下,無(wú)法保證測(cè)試效率。反之若從海量規(guī)則中隨意選取輸入組合生成測(cè)試用例,雖然可以保證測(cè)試效率,但由于選取不具備代表性,測(cè)試的有效性無(wú)法得到保障,因此同樣不具備可行性。
為了解決上述問(wèn)題,需要借鑒數(shù)理統(tǒng)計(jì)領(lǐng)域中的正交試驗(yàn)法進(jìn)行數(shù)據(jù)組合的科學(xué)采樣,通過(guò)較少的排列組合達(dá)成最佳測(cè)試效果,以提高測(cè)試的效率和有效性[1]。
微軟PowerPoint打印問(wèn)題的測(cè)試需求描述如下:
打印范圍:必須在全部、當(dāng)前幻燈片、給定范圍三者中選擇其一;
打印內(nèi)容:必須在幻燈片、講義、備注頁(yè)、大綱視圖四者中選擇其一;打印顏色:必須在彩色、灰度、純黑白三者中選擇其一;打印效果:必須在幻燈片加框、幻燈片不加框兩者中選擇其一。
打印問(wèn)題屬于典型的參數(shù)配置類(lèi)軟件測(cè)試,用戶選擇的配置項(xiàng)組合不同,打印效果千差萬(wàn)別。四個(gè)輸入項(xiàng)取值的笛卡爾乘積為3×4×3×2=72,排列組合數(shù)量較為龐大,且該測(cè)試涉及輸入輸出設(shè)備,若窮舉測(cè)試勢(shì)必會(huì)花費(fèi)大量的成本,但由于輸入條件間相互獨(dú)立,隨意篩選無(wú)法確保測(cè)試的有效性,此類(lèi)測(cè)試需考慮使用正交試驗(yàn)法解決。
正交試驗(yàn)法是從大量的試驗(yàn)點(diǎn)中挑選出適量的、有代表性的點(diǎn),應(yīng)用伽羅瓦理論導(dǎo)出的正交表,合理安排實(shí)驗(yàn)的一種科學(xué)的試驗(yàn)設(shè)計(jì)方法。軟件功能測(cè)試作為試驗(yàn)的一種,完全可以利用正交試驗(yàn)法進(jìn)行測(cè)試數(shù)據(jù)的選擇,以提高測(cè)試的效率[2]。
正交表應(yīng)用在軟件測(cè)試中的表示形式為:
L測(cè)試用例數(shù)(輸入條件取值數(shù)輸入條件數(shù))
正交試驗(yàn)法在選擇數(shù)據(jù)時(shí),可滿足所有因子和水平取值的均勻分配,以及兩兩組合取值的均勻搭配,因此在減少測(cè)試用例絕對(duì)數(shù)量的同時(shí),測(cè)試效果不會(huì)大打折扣。
比如,L9(34)為三水平的正交表,其中“L”為正交表的代號(hào),指數(shù)“4”為表的列數(shù),表示最多可安排4個(gè)輸入條件,底數(shù)“3”表示每個(gè)輸入條件可取3個(gè)不同的取值,下標(biāo)“9”為表的行數(shù),表示若采用正交試驗(yàn)法,可從34=81個(gè)排列組合中科學(xué)采樣選取9個(gè)輸入組合作為測(cè)試用例開(kāi)展測(cè)試。
根據(jù)被測(cè)軟件的規(guī)格說(shuō)明書(shū)找出影響其功能實(shí)現(xiàn)的操作對(duì)象和外部因素,將其作為因子,將各因子的取值作為水平。
根據(jù)測(cè)試需求描述,分解功能要求,確定影響打印功能的因子分別為打印范圍、打印內(nèi)容、打印顏色和打印效果。每個(gè)因子的取值均為離散集合,則直接構(gòu)造因子-水平二維表[3]。
并非每個(gè)輸入條件及取值在測(cè)試過(guò)程中都是同等重要的,為了確保測(cè)試的有效性,可對(duì)因子及水平按其重要程度進(jìn)行加權(quán)篩選,并生成因素分析表。
通常情況下,用戶較少關(guān)注打印的幻燈片是否加框,而備注頁(yè)由于不涉及關(guān)鍵信息往往被忽視,則在測(cè)試進(jìn)度較為緊張的情況下,可舍棄重要程度偏低的因子及水平。加權(quán)篩選后,最終生成的因素分析表中保留的輸入條件排列組合數(shù)量為3×3×3=27。
若加權(quán)篩選后排列組合數(shù)量仍然超出預(yù)期,則需根據(jù)因子和水平的個(gè)數(shù)選擇合適的正交表。由于不存在三因子三水平的正交表,則需在現(xiàn)有正交表中選擇并套用因子數(shù)略大的,即四因子三水平正交表L9(34),并將多余因子舍棄,構(gòu)造出的表格仍然滿足兩大正交特性,確保數(shù)據(jù)采樣的均勻性及科學(xué)性。
最后只需將保留的三個(gè)輸入條件及其取值依次映射并代入現(xiàn)成的正交表中,即可完成9個(gè)測(cè)試用例的設(shè)計(jì)任務(wù)[4]。
利用正交試驗(yàn)法設(shè)計(jì)測(cè)試用例,較使用其他方法具有如下優(yōu)點(diǎn):
(1)節(jié)省測(cè)試工作工時(shí)。由于把現(xiàn)成的規(guī)范化的正交表直接應(yīng)用到測(cè)試用例選取中,不需要多步驟的推導(dǎo),也不需要豐富的經(jīng)驗(yàn)和創(chuàng)造力,可以有效減輕測(cè)試者的負(fù)擔(dān)。
(2)可控制生成測(cè)試用例的數(shù)量。利用加權(quán)篩選,考慮測(cè)試輸入條件與條件取值的重要程度及條件間的相互影響,做出一定的篩選,可以把生成測(cè)試用例的數(shù)量控制在允許范圍內(nèi)。
(3)測(cè)試用例具有一定的覆蓋度。正交試驗(yàn)法是一種合理的、有效的抽樣方法,對(duì)被測(cè)軟件來(lái)說(shuō),測(cè)試用例的涉及范圍在整體上比較均勻,可排除偏向于功能某個(gè)局部的可能性。
通過(guò)上述分析可以看出,正交試驗(yàn)法是科學(xué)有效的采樣方法,可應(yīng)用于參數(shù)配置類(lèi)軟件的測(cè)試過(guò)程中,以達(dá)到提高測(cè)試效率和有效性的目的。
但是這種方法受限于數(shù)理統(tǒng)計(jì)的應(yīng)用背景,無(wú)法考慮輸入?yún)?shù)相互組合的實(shí)際意義,在一定程度上對(duì)測(cè)試效果產(chǎn)生了不利影響,通常需要與其他黑盒測(cè)試方法相結(jié)合用于解決實(shí)際問(wèn)題。