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