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