本文摘要:摘要:軟件測試是保證軟件質(zhì)量的重要手段,在軟件開發(fā)周期中的重要程度越來越高。其中軟件測試用例的設(shè)計和生成是整個測試工作的重點和難點。場景法作為一種黑盒測試方法,提供了一種基于使用的測試設(shè)計思路,能夠提高測試質(zhì)量和效率。本文根據(jù)被測軟件的使
摘要:軟件測試是保證軟件質(zhì)量的重要手段,在軟件開發(fā)周期中的重要程度越來越高。其中軟件測試用例的設(shè)計和生成是整個測試工作的重點和難點。場景法作為一種黑盒測試方法,提供了一種基于使用的測試設(shè)計思路,能夠提高測試質(zhì)量和效率。本文根據(jù)被測軟件的使用需求歸納建立場景模型,構(gòu)建場景模式,優(yōu)化場景切換路徑,設(shè)計測試用例,對場景法思想的有效性進行了驗證。
關(guān)鍵詞:軟件測試,測試用例,場景優(yōu)化
根據(jù)GJB5326-2004《軍用軟件質(zhì)量度量》的要求,軟件產(chǎn)品質(zhì)量需求一般包括內(nèi)部質(zhì)量、外部質(zhì)量和使用質(zhì)量,其中使用質(zhì)量是指特定用戶使用的產(chǎn)品滿足其要求,以在特定使用環(huán)境下達到有效性、生產(chǎn)率、安全性和滿意度等指標(biāo)的程度[1]。目前軟件測試的重點集中在基于需求的測試,對最終用戶的使用需求的重視度不夠[2]。
本文針對軟件測試,給出一種基于場景的測試方法,從用戶角度出發(fā)設(shè)計測試用例,以提高軟件的使用質(zhì)量。場景法測試思想是基于用例驅(qū)動的典型方法,將用例驅(qū)動的思想引入軟件測試,通過分析、構(gòu)建軟件使用場景,基于場景路徑覆蓋設(shè)計、生成用例,提高軟件測試效率和質(zhì)量[2]。
1場景模型
基于場景的測試方法更關(guān)注軟件系統(tǒng)的業(yè)務(wù)流程,測試流程中的各個功能點是否能夠滿足需求并正確執(zhí)行,是針對測試目標(biāo)和測試對象提出來的測試方法[3]。場景測試更加關(guān)注業(yè)務(wù)流程,從最終用戶角度來測試軟件系統(tǒng),使軟件能更加滿足用戶需求。使用場景法測試思想進行測試時,首先要搭建場景模型。通常,我們把系統(tǒng)一個最小的功能狀態(tài)定義為粒子場景,粒子場景按照既定的規(guī)則通過執(zhí)行順序、執(zhí)行條件等控制邏輯組成場景。
一個場景的狀態(tài)空間可以用一個三元組表示,其中S0是狀態(tài)空間的初始狀態(tài),S是狀態(tài)空間的所有狀態(tài),T是場景變遷規(guī)則的集合,當(dāng)與Si和Ti相關(guān)的輸入滿足變遷要求時,狀態(tài)發(fā)生切換Si→Sj。根據(jù)場景模型設(shè)計用例時,有狀態(tài)覆蓋和路徑覆蓋兩種準(zhǔn)則,其中路徑覆蓋的要求更加嚴(yán)格。
測試用例設(shè)計流程如下:a.根據(jù)說明書或規(guī)約,分析出系統(tǒng)或程序功能的基本流(初始狀態(tài)S0)及所有的備選流(變遷規(guī)則T);b.根據(jù)基本流和各項備選流設(shè)計不同的場景,對每一個場景生成相應(yīng)的邏輯測試用例,根據(jù)邏輯測試用例設(shè)計實際測試用例;c.最終形成測試用例集并進行評審,要求用例集至少覆蓋場景圖中所有的基本流和備用流一次。
2場景法路徑優(yōu)化
在軟件使用場景狀態(tài)圖的基礎(chǔ)上,遍歷場景狀態(tài)圖的每一條路徑,即對應(yīng)一個測試用例。利用遍歷的方式,對使用場景狀態(tài)圖中的全部流使用遍歷的方式,以獲得覆蓋所有路徑所有的測試用例,根據(jù)測試路徑的條件來確定相關(guān)的用例輸入。每一個測試用例包含的執(zhí)行路徑((Si,T)i、(Sj,T))j、輸入條件(Ti,T),這些因素我們計為jC((S,T),(T)),是一個測試用例的特定要求。
兩個測試用例之間的差別也就是C((S,T),(T))之間的差別。建立測試用例場景以及撤銷用例場景是場景測試中工作量較大的一部分工作,本文從測試場景之間的包含關(guān)系入手,分析測試用例執(zhí)行路徑,優(yōu)化測試順序,合并測試用例,降低用例個數(shù),提高用例的有效性。優(yōu)化方式1:同一個測試用例可用于場景S1和場景S2的測試,假設(shè)場景S1包含場景S2,那么,若測試用例對S2執(zhí)行失敗,那么對場景S2執(zhí)行必然失敗。
依據(jù)此條結(jié)論,我們在進行場景測試時,從較簡單到復(fù)雜場景逐步測試,a.若測試成功則進入子狀態(tài)來測試更復(fù)雜場景,而未撤銷任何語境對象,直接減少代價;b.若測試失敗,可以判定從成功場景到失敗場景的新加的斷言失敗,這樣可以縮小范圍,分析原因更加方便。
優(yōu)化方式2:對于兩個不同測試用例TC1和TC2,若TC1需測試狀態(tài)S1,TC2需測試狀態(tài)S2,且場景S1包含場景S2,則只需狀態(tài)S1就能滿足化TC1和TC2的測試要求。這種情況下,TC2測試S1與測試S2將得到相同的測試結(jié)果。所以可將兩個測試用例合并為一個,能同時滿足多個測試用例的需求,減少測試用例數(shù)量。
3場景法應(yīng)用案例
3.1軟件場景模型構(gòu)建、根據(jù)軟件需求規(guī)格說明和用戶使用手冊,從基于使用的角度提取軟件系統(tǒng)的工作狀態(tài)。根據(jù)應(yīng)答軟件使用場場景建立應(yīng)用場景,分析出系統(tǒng)或程序功能的基本流及所有可能的備選流,繪制基本流與備選流圖,是測試用例對應(yīng)的最基本路徑。備選流用帶有箭頭的弧線表示,表示需要特定條件出發(fā)的測試路徑,經(jīng)過用例的每條路徑都由基本流和備選流來表示。
本軟件系統(tǒng)具有兩種工作模式,兩種工作模式之間能夠進行切換,每種工作狀態(tài)下有不同使用場景。第一種工作模式下有基本流0A(S0A)、備選流1A(T1A)、備選流2A(T2A)、備選流3A(T3A)、備選流5(T5),其中備選流5能夠切換到狀態(tài)2,進入第二種工作模式。在第二種工作模式下,軟件具有基本流0B(S0B)、備選流1B(T1B)、備選流2B(T2B)、備選流3B(T3B)、備選流4(T4)、備選流6(T6),其中備選流6(T6)能夠切換至第一種工作模式。
根據(jù)軟件場景狀態(tài)圖中的流程,設(shè)計不同的場景,對每一個場景生成相應(yīng)的邏輯測試用例,根據(jù)邏輯測試用例設(shè)計實際測試用例。針對軟件的工作流程,我們設(shè)計軟件測試用例共22個,測試用例集覆蓋場景狀態(tài)圖中的所有路徑。
3.2場景路徑切換優(yōu)化
根據(jù)3.1章節(jié)設(shè)計的測試用例,軟件場景測試需執(zhí)行22個測試用例,這些用例包含了針對第一種工作模式的測試用例。根據(jù)測試用例先執(zhí)行簡單場景,再執(zhí)行復(fù)雜場景的順序,故測試時先執(zhí)行第一種工作模式對應(yīng)的用例。
利用上文中提到的優(yōu)化方式2分析測試用例集變遷條件C((S,T),(T)),故測試用例TC9包含用例TC2、TC16的變遷條件,TC10包含用例TC3、TC17的變遷條件,TC17包含用例TC4、TC18的變遷條件,TC19包含用例TC5、TC12的變遷條件,TC20包含用例TC6、TC13的變遷條件,TC21包含用例TC7、TC14的變遷條件,TC22包含用例TC8、TC15的變遷條件,故只需執(zhí)行復(fù)雜環(huán)境下的測試用例即可。優(yōu)化后只需執(zhí)行8個測試用例就可以滿足覆蓋所有路徑的基本要求,滿足測試充分性要求的同時提高了測試用例的有效性,提高了測試效率。
結(jié)束語
在本文中,通過基于場景測方法,使用用例驅(qū)動的場景法設(shè)計用例,提高了對軟件產(chǎn)品使用質(zhì)量的重視程度,從用戶角度出發(fā)測試軟件產(chǎn)品,更好的為用戶服務(wù)。
本文中在場景法設(shè)計用例的基礎(chǔ)上,提出優(yōu)化方法,在保證測試充分性的前提下減少了測試用例的數(shù)量,提高測試的有效性,減少了測試工作量,提高了測試效率。測試結(jié)果得到了軟件研制單位和軟件用戶的一致認可和高度好評。
參考文獻
[1]王萬金,韓成柱.一種基于場景的裝備軟件測試用例設(shè)計方法研究[J].艦船電子工程,2018,38(10):134-137.
[2]許昌年.軟件場景測試法中場景切換路徑的優(yōu)化方法研究與應(yīng)用[D].南京:南京理工大學(xué),2015.
[3]盛曉娟,賈麗娟,姬鵬超.場景法在系統(tǒng)測試用例設(shè)計中的應(yīng)用[J].計算機工程與設(shè)計,2016,37(7).
計算機方向刊物推薦:《計算機工程與設(shè)計》刊載內(nèi)容:覆蓋計算機工程與設(shè)計領(lǐng)域的各個層面,包括各型計算機及其系統(tǒng)的研究、研制、設(shè)計、開發(fā)應(yīng)用等各方面的學(xué)術(shù)、技術(shù)論文?腔痦椖空撐,獲獎?wù)n題論文,學(xué)術(shù)會議優(yōu)秀論文,博士、碩士論文等。
轉(zhuǎn)載請注明來自發(fā)表學(xué)術(shù)論文網(wǎng):http:///dzlw/20021.html