更智能產品的時代正在迎來嵌入式產品設計,其功能增加、復雜性增加和交付窗口壓縮。這些產品通常需要遵守嚴格的開發法規,才能用于飛機、汽車或醫療設備等安全或任務關鍵型應用。
基于模型的開發通過統一建模語言 (UML) 和系統建模語言 (SysML) 等圖形符號提高了開發人員的生產力,以幫助管理復雜性并在開發生命周期的早期發現設計異常。在許多情況下,這使得測試難以趕上。它通常是項目中最大的時間和預算項目,因此最先被削減。盡管如此,測試成本仍在增加;許多測試仍然植根于手動的、基于代碼的方法,這些方法不容易擴展到今天的需求。
模型驅動開發的成熟力量
使用模型,軟件工程師可以更清楚地理解和分析需求,做出架構權衡,定義設計規范,通過仿真驗證和驗證行為,并生成代碼以直接部署在目標硬件上。模型的一個關鍵好處是在設計發生變化時保持整個設計的一致性和正確性。使用 UML,每個圖都可以在不同抽象級別捕獲模型的不同視圖,同時在這些視圖之間保持一致。建模語言的語義加強了團隊的一致性并幫助自動化生命周期任務,包括代碼生成。
可重復的流程是提高協作和生產力同時降低證明合規性成本的關鍵。Embedded Market Forecasters 的 Jerry Krasner 于 2011 年進行的一項嵌入式開發研究發現,模型驅動的開發通常可將因延遲而損失的開發時間減少 40% 以上,從而為典型的項目節省 250,000 美元。
在生命周期的每一步提高質量
最大化生產力和敏捷性的下一個自然步驟是改進測試過程。解決這個問題的“常見嫌疑人”是缺陷的后期檢測(和解決),以及團隊之間發生變化和檢測到缺陷時的溝通和一致性問題。
及早識別缺陷對于降低開發成本和滿足上市時間目標至關重要。在開發的早期階段,設計中引入了許多缺陷,但隨著缺陷解決的延遲,修復成本呈指數增長。延遲缺陷解決不僅會損害項目的財務績效,后期返工的高強度還會破壞交付計劃和交付質量。缺陷解決必須與缺陷發現密切相關,因為修復剛剛發現的缺陷通常比在進一步的更改掩蓋了原始原因后嘗試修復要容易得多。
成功的開發項目必須交付滿足客戶需求的產品,達到所需的質量水平。將單元、集成、驗證和驗證測試與需求聯系起來是基礎,而自動化可追溯性是在發生變更和檢測到缺陷時有效執行項目的關鍵。
基于模型的測試和 UML 測試配置文件
基于模型的測試使用建模來構建和執行必要的工件來執行軟件測試。UML 測試概要擴展了 UML 的適用性以包括基于模型的測試。使用此配置文件,可以根據系統接口的定義為系統自動創建測試架構。可以使用序列圖、狀態圖或活動圖以圖形方式定義符合最新要求的測試用例,提供通用建模語言來定義測試輸入和預期結果(參見圖 1)。這種方法加強了需求、設計元素和測試之間的聯系,從而促進了更好的可追溯性,這對敏捷性和影響分析都有好處。測試用例可以在開發者的桌面和目標上執行,提高測試效率。
圖 1:基于模型的測試使用圖表指定測試用例。
加強發展與質量管理的紐帶
這種向基于模型的開發人員測試的轉變不會直接使質量保證 (QA) 團隊受益,因為 QA 工程師通常不希望他們成為 UML 專家,也不應該強迫他們成為 UML 專家。所需要的是一種允許 QA 工程師利用基于模型的測試資源而無需創作和擁有它們的方法。這可以通過將測試鏈接到 QA 測試管理環境的模型驅動測試工具來實現。這些工具允許從測試管理工具就地執行測試,并將結果自動傳遞到測試管理存儲庫。然后在一個位置管理測試,避免重復的不一致和低效,并且可以在開發過程中的任何時候執行。
將測試結果數據帶回測試管理環境可以自動化缺陷解決過程,進一步優化開發和測試過程。QA 測試管理環境還應支持與需求管理工具的鏈接,以確保可以將測試鏈接回特定需求。這將促進測試覆蓋自動化,使測試集能夠根據需求或更改自動定義。
將項目提升到一個新的水平
通過實施與測試管理相關的基于模型的測試工具,嵌入式開發團隊可以采取以下切實步驟,使他們的項目更加成功,同時為創新騰出寶貴的時間:
一致性:整個開發組織的中央測試存儲庫將提高效率并帶來更高的質量。與單個測試工程師通過容易出錯的手動復制過程創建多個測試版本不同,測試只需編寫一次,并在整個開發過程中根據需要重復使用。測試的單一真實來源也可以幫助協作并最終提高交付質量,因為測試在整個開發生命周期中更可用,從而鼓勵更頻繁的測試。
溝通:質量管理環境中基于模型的測試執行意味著 QA 工程師可以運行測試并根據結果采取行動,而無需成為建模專家。他們可以從失敗的測試導航到相關需求以及設計模式或相關代碼中的問題根源。這在分布式和離岸開發環境中特別有用,它可以幫助在原本孤立的開發人員、測試人員和質量專業人員之間產生協作并建立同理心。
自動化:提高測試創建、執行和結果管理的自動化將顯著降低測試成本和時間。這允許進行更多測試,從而降低復雜項目中出現回歸問題的風險。同樣,自動化缺陷跟蹤/解決將基于模型的測試與質量管理聯系起來,并具有從需求到代碼的可追溯性骨干。這可確保開發人員獲得及時和定量的信息來修復缺陷,并了解缺陷對交付功能的影響。隨著團隊努力變得更加敏捷,必須將缺陷解決優先于新功能,以避免積累技術債務。
敏捷性:使用與設計活動相同的建模符號和工具進行的基于模型的測試有助于測試驅動的開發。從需求到測試的可追溯性將是量化結果的關鍵,有助于回答任何項目中的關鍵問題:“我們準備好發貨了嗎?”
號召性用語
基于模型的測試可以被認為是將測試效率與模型驅動開發相提并論的第一步。雖然它的直接影響是自動化開發人員測試環境(與 QA 環境正確鏈接),但它可以帶來更廣泛的好處。通過在 QA 環境中為測試執行、測試版本管理和結果管理提供工具支持,再加上生命周期可追溯性,可以實現更高程度的測試自動化,消除開發生命周期中的關鍵瓶頸。
為了實現這些好處,嵌入式開發團隊應該:
使用支持 UML 測試配置文件的工具(例如 IBM Rational Rhapsody)將他們的建模能力從設計擴展到測試。
確保他們的建模和測試管理環境通過工具緊密連接,例如用于實時和嵌入式軟件開發的 IBM Rational 解決方案。
采用、實施并持續改進通過開發和測試工具支持的可重復流程。
通過這種方式,團隊可以實現更好的協作、生產力和敏捷性,幫助他們以更低的成本更快地交付更高質量的產品。
作者:Dominic Tavassoli ,Jonathon Chard
審核編輯:郭婷
-
嵌入式
+關注
關注
5082文章
19111瀏覽量
304857 -
UML
+關注
關注
0文章
122瀏覽量
30858
發布評論請先 登錄
相關推薦
評論