江霖 荊州職業技術學院
系統測試用例設計中的場景模式分析
江霖 荊州職業技術學院
在嵌入式系統軟件測試過程中引入場景模式,完成軟件系統的需求模型構建,將場景模型分類,并構建測試用例場景的狀態圖,完成測試過程的路徑遍歷,獲取對應的測試信息。本文的結果可以證明,場景模式方法在測試用例中能夠快速完成設計與生成,對于測試用例的可重復以及有效性有提高效果。
嵌入式系統 測試用例 場景模式
在現代計算機技術的不斷進步支持下,系統測試的難度不斷升高。而嵌入式系統軟件中的規模以及結構復雜程度不斷擴大,軟件質量的要求也不斷提高。本文選擇場景模式進行嵌入式系統軟件測試用例的設計,為軟件測試提供循證資料。
1.1 場景模式的特點
在現代系統軟件運行過程中,流程控制的方式基本是由事件觸發完成的。事件觸發過程中的具體情境就是場景,而通過隸屬于同一個事件的不同觸發順序以及處理結果的集合就是事件流。而軟件設計中的場景模式逐漸開始在軟件測試過程中應用,由于能夠描述事件觸發過程中的具體場景,對測試過程中測試用例的作用十分明顯,能夠增強測試用例的理解度以及執行度。場景模式通常包括基礎流以及備選流,從一個流程開始,在經過用例的路徑用基礎流與備選流表示,而場景的完成過程中是通過經過路徑的描述完成場景的構建。
1.2 測試用例的模型確定
系統測試用例的目標是對程序是否滿足系統要求進行驗證,而系統開發的信息輸入、執行條件以及結果的集合則是測試用例的驗證內容。系統需求的描述方式大多為自然語言,因此在表達方式方面需要更加規范化。而嵌入式系統主要為反應系統,所以在模型構建中大多的選擇為狀態模式。本文選擇的模型為ACDATE模型,系統需求中Actor與場景中的實體相對應,Condition與場景中的狀態以及判別條件相對應,Data與狀態轉換的運行相對應,Timing與其他元素時間屬性對應,Event與系統對象的事件相對應。場景執行中的類型包括獨立、觸發、互斥以及依賴。
2.1 測試用例的設計
測試用例的設計對于測試的結果以及效率的影響較大。所以測試用例的敘述過程需要滿足規范化、精準化、清晰化以及可維護化的要求。測試用例需要針對一個明確的測試場景,同時還需要對應的測試信息,這兩個部分可以完成對系統中對應的執行流程的描述。而規范化的測試用例對于自動生成的過程有良好的作用。以場景模式為核心的嵌入式系統測試用例的設計以及生成包括的具體過程為:首先是目標系統的需求分析,分析目標系統的文檔,完成系統的需求模型構建,同時建立場景樹。以ACDATE模型完成目標系統需求的建模,以分解得到的結果為依據完成場景樹的構建,場景樹的結構選擇分級管理模式。目標系統本身為場景樹的根部節點,場景元素則作為場景樹的葉子節點。場景樹的分支是系統軟件需求的分解,而分支與測試系統的具體相關需求相對應。場景元素是系統的最小化功能節點,是無法再次細分并能夠進行獨立進行測試。場景元素能夠以條件、順序、循環以及并發等結構組合方式構成復合場景。

圖1 基本場景模式的狀態圖
2.2 測試用例的生成
以場景模式為核心的嵌入系統軟件測試需要滿足節點覆蓋、邏輯路徑覆蓋、遷移覆蓋的基本原則,在這些條件下完成測試用例的覆蓋。節點覆蓋需要節點運行次數在1次以上,遷移覆蓋需要遷移完成在1次以上,邏輯路徑覆蓋需要所有分支運行次數在1次以上。在測試用例的角度,所有測試動作均與場景的路徑元素相對應。在完成場景狀態圖中所有路徑的遍歷之后,獲取相應的數據、控制以及分支節點。在測試過程中,需要完成相應場景基本路徑的運行,在遍歷路徑之后取得所有路徑并確定輸入信息。查找起始節點并置入堆棧結構中,將其作為當前節點。之后查找直接后續節點,在完成未訪問路徑以及目標節點的入堆棧并記錄為已訪問后,作為當前節點。之后不斷重復直至當前節點不存在后續節點。從堆棧中依次找出對應的節點一級路徑,在不斷重復后確定不存在未訪問的路徑之后,可以確定場景中路徑的遍歷完成。在確定路徑之后完成輸入信息的確定,簡單類型的信息取值以隨機、邊界、等價劃分等方式完成,而復合類型信息通過數據項的遍歷完成輸入。同時,通過多種數據綜合生成的方式,達到有效測試的目標。
本文在嵌入式系統軟件測試用例中選擇場景模式完成設計,選擇可以重復使用的場景模式,有效節約了測試用例的設計、生成以及修改的時間與工作來那個。在設計與生成的過程中,可以減少軟件設計中模型數據的應用,屬于以需求規范為導向的黑盒測試技術。
[1]殷永峰,劉斌,姜同敏等.基于UML的嵌入式軟件測試用例生成方法研究[J].計算機應用研究,2008,25(10):3018-3021
[2]張虹,阮鐮,劉斌等.嵌入式軟件測試中的仿真建模方法研究[J].測控技術,2002,21(3):37-38,41
[3]楊廣華,齊璇,施寅生等.基于場景模式的嵌入式軟件測試用例設計[J].計算機工程,2010,36(15):89-91