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

模型捉蟲行家MV:致力全流程模型動(dòng)態(tài)測試

提高SEA模型PBNR計(jì)算精度的方法及策略

國產(chǎn) vs 進(jìn)口貼片固態(tài)電容:技術(shù)差距縮小,本土化替代加速

評(píng)論