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