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