15 或 20 年前,許多嵌入式系統(tǒng)由一個(gè) 8 位處理器和幾 KB 內(nèi)存以及可能有幾百行代碼組成。今天,汽車(chē)、ATM、手機(jī)和其他設(shè)備中嵌入式系統(tǒng)的爆炸式增長(zhǎng)已經(jīng)極大地改變了這種動(dòng)態(tài)。在以太網(wǎng)上看到多個(gè) 32 位和 64 位多核處理器并在這些系統(tǒng)中運(yùn)行總計(jì)數(shù)十萬(wàn)行代碼的多個(gè)應(yīng)用程序的情況并不少見(jiàn)。
隨著這些設(shè)備變得越來(lái)越復(fù)雜,項(xiàng)目團(tuán)隊(duì)確認(rèn)軟件需求已經(jīng)過(guò)測(cè)試并且測(cè)試可以追溯到需求已經(jīng)成為一個(gè)重大負(fù)擔(dān)。在許多情況下,即使進(jìn)行了廣泛的測(cè)試,團(tuán)隊(duì)也可能不知道他們是否已成功滿足所有產(chǎn)品要求。
高度復(fù)雜性和對(duì)更高系統(tǒng)可靠性的需求也將質(zhì)量放在首位。較舊的嵌入式系統(tǒng)要么足夠簡(jiǎn)單,要么不夠重要,無(wú)法花時(shí)間查找、跟蹤和修復(fù)軟件缺陷。今天,嵌入式系統(tǒng)中的缺陷與企業(yè)應(yīng)用程序中的缺陷一樣普遍,甚至更為重要。由于更高的復(fù)雜性,能夠通過(guò)測(cè)試用例和需求追溯缺陷變得更加重要,這樣團(tuán)隊(duì)就可以提高對(duì)問(wèn)題及其影響的特性的透明度。
當(dāng)今復(fù)雜的嵌入式系統(tǒng)可能有成百上千的需求,以及盡可能多或更多的測(cè)試用例。跟蹤和執(zhí)行這些測(cè)試用例,并使用這些信息來(lái)確保滿足要求,成為必須更好地控制其流程的團(tuán)隊(duì)真正關(guān)心的問(wèn)題。為了應(yīng)對(duì)這一挑戰(zhàn),團(tuán)隊(duì)需要一種自動(dòng)化的方式來(lái)鏈接工件,以便有關(guān)一個(gè)工件的數(shù)據(jù)成為其他工件的信息。應(yīng)用程序生命周期管理 (ALM) 軟件可以提供幫助。
可追溯性的價(jià)值
可追溯性是將需求鏈接到風(fēng)險(xiǎn)、測(cè)試用例、缺陷甚至源代碼等下游工件的實(shí)踐。鏈接支持在相關(guān)工件之間進(jìn)行更改和進(jìn)度的雙向通信。
例如,一旦產(chǎn)品有需求,驗(yàn)證它的人就需要編寫(xiě)測(cè)試用例,以確保正在開(kāi)發(fā)的產(chǎn)品滿足設(shè)計(jì)要求。如果測(cè)試用例失敗,產(chǎn)生的缺陷會(huì)記錄在問(wèn)題跟蹤系統(tǒng)中。
可追溯性使產(chǎn)品團(tuán)隊(duì)和利益相關(guān)者能夠理解并從產(chǎn)品開(kāi)發(fā)工件之間的關(guān)系中獲取有價(jià)值的信息。通過(guò)查看缺陷,可以確定尚未滿足哪些要求。團(tuán)隊(duì)可以將此信息用作確定產(chǎn)品是否可以發(fā)貨的重要指南,還可以對(duì)缺陷進(jìn)行分類(lèi)以首先滿足最重要的要求。
但是有效的可追溯性可以為項(xiàng)目做更多的事情。如果安全風(fēng)險(xiǎn)被識(shí)別為產(chǎn)品的一部分,則這些風(fēng)險(xiǎn)可以與非功能性需求相關(guān)聯(lián),然后可以追蹤到下游工件。源代碼可以追溯到缺陷并返回到需求,從而關(guān)閉了設(shè)計(jì)、開(kāi)發(fā)和測(cè)試之間的循環(huán)。同樣,當(dāng)缺陷修復(fù)被重新檢入源代碼控制并運(yùn)行測(cè)試以確認(rèn)修復(fù)時(shí),團(tuán)隊(duì)和其他產(chǎn)品利益相關(guān)者非常清楚地知道相應(yīng)的要求已經(jīng)得到滿足。
可追溯性還提供了通常無(wú)法以任何其他方式獲得的基本項(xiàng)目信息。它為測(cè)試人員提供了一種易于理解和可報(bào)告的產(chǎn)品質(zhì)量衡量標(biāo)準(zhǔn)。通過(guò)了解哪些需求仍未得到滿足,以及它們是否記錄了針對(duì)它們的問(wèn)題,測(cè)試人員可以估計(jì)完成產(chǎn)品的剩余時(shí)間。最后,可追溯性使團(tuán)隊(duì)能夠更好地了解剩余的工作,以及剩余工作的產(chǎn)品功能區(qū)域。
使用 Microsoft Word 或 Excel 管理需求、測(cè)試用例和缺陷已經(jīng)足夠具有挑戰(zhàn)性了。但是如果沒(méi)有真正的跟蹤系統(tǒng),就不可能通過(guò)測(cè)試用例跟蹤需求到缺陷再回到需求。
將可追溯性構(gòu)建到嵌入式項(xiàng)目中
產(chǎn)品團(tuán)隊(duì)如何建立可追溯性?它從需求開(kāi)始。一旦定義了功能需求,風(fēng)險(xiǎn)分析和緩解就開(kāi)始了,測(cè)試人員生成測(cè)試用例,使他們能夠確定正在開(kāi)發(fā)的產(chǎn)品是否滿足這些需求。
當(dāng)測(cè)試人員運(yùn)行測(cè)試用例時(shí),通過(guò)的用例表明相關(guān)要求已得到滿足。如果測(cè)試用例失敗,測(cè)試人員會(huì)記錄與這些測(cè)試用例相關(guān)聯(lián)的缺陷,并通過(guò)鏈接記錄到被測(cè)需求。缺陷與相關(guān)的測(cè)試用例和測(cè)試運(yùn)行相關(guān)聯(lián),提供了返回測(cè)試階段的鏈接。
理想情況下,此鏈接是自動(dòng)完成的。雖然可以手動(dòng)創(chuàng)建和維護(hù)項(xiàng)目工件之間的鏈接,但所涉及的工作是詳細(xì)且持續(xù)的。每當(dāng)需求或測(cè)試用例發(fā)生變化時(shí),都必須手動(dòng)重新建立鏈接。手動(dòng)創(chuàng)建和維護(hù)需求、測(cè)試用例和缺陷之間的鏈接所需的工作量很大,尤其是在幾乎每天都必須檢查和更新這些鏈接的情況下。
在大多數(shù)項(xiàng)目中,測(cè)試人員在不同的測(cè)試運(yùn)行中多次執(zhí)行測(cè)試用例。當(dāng)初始運(yùn)行失敗時(shí)重新運(yùn)行測(cè)試,并且需要驗(yàn)證修復(fù)。隨著嵌入式軟件產(chǎn)品范圍的擴(kuò)大以滿足更多要求,測(cè)試也會(huì)運(yùn)行更多次以進(jìn)行回歸。
測(cè)試也可以手動(dòng)執(zhí)行,或者使用測(cè)試工具以自動(dòng)化方式執(zhí)行。在實(shí)踐中,大多數(shù)團(tuán)隊(duì)兩者都做。手動(dòng)測(cè)試通常是第一次完成,并使用自動(dòng)化工具進(jìn)行記錄。除非功能發(fā)生重大變化,否則后續(xù)測(cè)試通常會(huì)自動(dòng)運(yùn)行。測(cè)試結(jié)果通過(guò)缺陷或成功的測(cè)試結(jié)果為可追溯性信息提供了基礎(chǔ)。兩者都可以追溯到需求和其他工件。
通過(guò)自動(dòng)化測(cè)試和可追溯性,測(cè)試團(tuán)隊(duì)有機(jī)會(huì)在高水平上執(zhí)行,在產(chǎn)品計(jì)劃內(nèi)完成測(cè)試,并向產(chǎn)品利益相關(guān)者提供有關(guān)質(zhì)量和需求滿足的有價(jià)值信息。這使得測(cè)試與所有利益相關(guān)者更加相關(guān),尤其是在產(chǎn)品開(kāi)發(fā)的后期階段。
理想情況下,這從需求開(kāi)始,但還必須包含測(cè)試管理、缺陷跟蹤和源代碼管理。對(duì)于具有安全影響的產(chǎn)品,還應(yīng)納入風(fēng)險(xiǎn)管理和緩解措施。ALM 軟件(例如 Seapine Software 的 TestTrack)提供了從設(shè)計(jì)和開(kāi)發(fā)項(xiàng)目的開(kāi)始到結(jié)束創(chuàng)建、管理和鏈接工件的能力。圖 1 說(shuō)明了可追溯性矩陣如何幫助團(tuán)隊(duì)輕松確定缺陷或需求更改如何影響項(xiàng)目的其他部分。
圖 1: Seapine TestTrack 等應(yīng)用程序生命周期管理解決方案的可追溯性使嵌入式項(xiàng)目團(tuán)隊(duì)能夠快速輕松地了解缺陷和其他更改如何影響項(xiàng)目。
可追溯性和安全關(guān)鍵項(xiàng)目
可追溯性傳統(tǒng)上用于具有數(shù)百名工程師和測(cè)試人員以及數(shù)千個(gè)需求的大型開(kāi)發(fā)項(xiàng)目。這主要是商業(yè)和軍用航空和太空系統(tǒng)領(lǐng)域,在這些領(lǐng)域中,對(duì)抗復(fù)雜性的信息需求超過(guò)了信息成本。這些系統(tǒng)可能需要數(shù)年時(shí)間才能開(kāi)發(fā)并推向市場(chǎng),這使得通過(guò)可追溯性獲得的信息在團(tuán)隊(duì)成員離開(kāi)和新成員到來(lái)時(shí)特別有價(jià)值。
但是通過(guò)自動(dòng)化(例如 ALM 軟件提供的自動(dòng)化),可追溯性的成本和工作量可以降低到對(duì)較小的項(xiàng)目和更短的時(shí)間表有意義的程度。需求和下游工件之間的自動(dòng)可追溯性,以及從缺陷到需求的上游追溯,使得識(shí)別和溝通開(kāi)發(fā)障礙和問(wèn)題更快、更透明。
智能手機(jī)、汽車(chē)系統(tǒng)和智能工業(yè)控制設(shè)備等項(xiàng)目受益于更好的可追溯性。隨著越來(lái)越多的測(cè)試團(tuán)隊(duì)采用自動(dòng)化 ALM 方法來(lái)收集和傳播可追溯性信息,產(chǎn)品質(zhì)量將繼續(xù)提高,即使系統(tǒng)變得更加復(fù)雜。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19348瀏覽量
230267 -
智能手機(jī)
+關(guān)注
關(guān)注
66文章
18504瀏覽量
180466 -
嵌入式
+關(guān)注
關(guān)注
5087文章
19145瀏覽量
306137
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論