- 嵌入式軟件系統測試:基于形式化方法的自動化測試解決方案
- 殷永峰 姜博編著
- 1009字
- 2021-02-22 15:46:19
3.1.4 基于統一建模語言
統一建模語言(UML)是面向對象開發中一種通用的圖形建模語言,在軟件工程中得到廣泛應用,并逐漸成為工業標準。UML通過捕捉系統靜態結構和動態行為信息來為系統建立各種模型,支持大型、復雜系統的建模,尤其適合實時嵌入式系統。許多研究將形式化語義和圖形化方法相結合,利用UML的相關元素,得到易用性相對較強的帶有形式化特征的建模方法。
在基于UML模型的實時嵌入式軟件系統測試中,利用UML對系統進行建模主要使用用例圖、狀態圖、活動圖、順序圖等,其中狀態圖、活動圖、順序圖等可用于描述實時嵌入式系統的行為,并且有利用多種UML圖進行建模和測試的方法。
1.基于UML狀態圖的測試方法
UML狀態圖是有限狀態機的擴展,強調對復雜實時系統進行建模,提供層次狀態圖的框架,即一個單獨狀態可以分解為諸多更低級別的狀態,同時提供并發機制的描述,因此被越來越多地應用于實時嵌入式軟件測試領域。具有代表性的基于UML狀態圖的自動化工具DAS-BOOTo,能夠根據測試準則自動生成測試樁模塊和測試腳本。該系統首先使用XMI工具,從UML模型編輯工具中將狀態圖導出為XML文件,然后從XML中讀出狀態圖的模型來產生相應的測試用例腳本和測試樁模塊。但是,該方法沒有考慮狀態圖的層次結構和并發狀態等復雜的狀態模型圖。此外,結合形式化方法利用狀態圖生成測試用例也得到了一定的研究,如結合Z語言、Petri網等。此外,還有針對并發UML狀態圖生成測試用例的研究,其核心是把狀態圖的層次和并發結構平面化,然后按照控制流和數據流分別生成測試用例,該方法為基于UML狀態圖和擴展有限狀態機相結合的測試方法提供了可借鑒的思路。
2.基于UML活動圖的測試方法
UML活動圖本質上是一種自動機,它著重描述系統為完成指定功能或任務所必須執行的活動序列。而對于復雜的實時嵌入式軟件系統而言,各種復雜的操作流程無疑是測試的重要內容,因此,活動圖成為實時嵌入式軟件功能測試,特別是面向操作流程測試的重要依據。圖3-4給出了通過UML活動圖生成測試用例的過程,該技術提出了測試大綱的概念,依據一定的測試準則設計的所有測試場景的集合組成一個測試大綱,獲取各種交互操作的輸入數據空間后,經過一定的測試準則生成基本數據集,然后在測試大綱和基本數據集的基礎上構造測試用例模型并依據一定的優化組合策略來設計和生成最終的測試用例集合。

圖3-4 基于測試大綱的測試用例生成過程
除上述基于UML狀態圖、活動圖的測試方法外,還有基于UML用例圖、順序圖和基于多種UML圖相結合的測試方法,在此不再贅述。
- 大學計算機基礎(第二版)
- 小型編譯器設計實踐
- ArcGIS for Desktop Cookbook
- Deep Learning with R Cookbook
- Python計算機視覺和自然語言處理
- Photoshop CC移動UI設計案例教程(全彩慕課版·第2版)
- 精通Spring:Java Web開發與Spring Boot高級功能
- Java 9 with JShell
- JavaScript前端開發基礎教程
- 用Python動手學統計學
- 前端架構設計
- React.js實戰
- Cloud Development andDeployment with CloudBees
- Mastering React Test:Driven Development
- Node.js進階之路