發(fā)布時間:2020-07-17
需求跟蹤矩陣是一個表格形式的報告以幫助用戶跟蹤需求到測試用例以及最終到軟件缺陷。它能夠幫助用戶跟蹤與需求相關聯(lián)的所有測試用例,以及這些測試用例在不同測試周期的結果和缺陷信息。
通過建立和維護軟件需求跟蹤矩陣,可以在四個環(huán)節(jié)之間找到對應關系,驗證從需求一直到測試之間的一致性與完整性,并且在發(fā)生變更時,可以通過正反向跟蹤矩陣確定變更影響域。?合軟件工程的特點,在傳統(tǒng)的需求跟蹤矩陣基礎上,增加用戶需求和軟件需求、概要設計和詳細設計之間的追蹤關系,使得建立的追蹤關系更加精確。
需求跟蹤矩陣的目的是為了建立與維護“需求-設計-編碼-測試”之間的一致性,確保最終的產品滿足需求。軟件工程中的軟件生存周期是指從軟件的產生直到報廢的生命周期,而需求追蹤矩陣存在于整個軟件生存周期內,從正向和反向兩個方面進行需求追蹤。需求追蹤矩陣中的數(shù)據(jù)元素有:需求項、設計元素、代碼、測試用例,從需求開始到測試結束,形成完整的閉環(huán),無論是哪一個環(huán)節(jié)發(fā)生了變更,都可以迅速準確的判斷變更的影響域。
1 實現(xiàn)過程
軟件工程是指導軟件開發(fā)和維護的工程學科,需求是源頭,設計和編碼是實現(xiàn),測試是保障,需求跟蹤矩陣則是一條無形的線將這些點連接起來。正向需求跟蹤矩陣以用戶需求為出發(fā)點,檢查在后續(xù)的軟件需求、設計、編碼、測試中找到對應點,反向需求追蹤矩陣能檢查設計、代碼、測試用例等工作成果是否都能在需求找到出處,其中反向需求追蹤矩陣可以理解為正向需求追蹤矩陣的逆序,所以本文將主要介紹正向跟蹤矩陣的建立過程。
1.1 需求中建立需求跟蹤矩陣
需求是軟件工程中的一個必須環(huán)節(jié),是整個軟件工程中的源頭,分為用戶需求和軟件需求。
用戶需求是指未經分析和分解的原始需求,它可以來源于技術協(xié)議,也可以來源于任務書。接收到用戶需求后,將用戶需求進行分類和標識,按照分類建立需求跟蹤矩陣的根節(jié)點,將其寫入表1中的左列。[2]標識是指需求、設計、編碼、測試相關元素的唯一標識。
軟件需求是指需求分析人員分析和分解用戶需求,深入的描述軟件的功能和性能,指明軟件和其他系統(tǒng)元素的接口。軟件需求過程的輸入是技術協(xié)議或任務書,輸出是軟件需求規(guī)格說明。需求分析人員將分析和分解后的軟件需求,寫入軟件需求規(guī)格說明文檔中。將軟件需求寫入表1中的右列,即建立了用戶需求和軟件需求之間的需求追蹤矩陣。在建立用戶需求和軟件需求間的需求跟蹤矩陣過程中,可以發(fā)現(xiàn)是否所有的用戶需求都被分析和分解。這個過程中應注意,軟件需求的變更一定不能影響到用戶需求,只能是用戶需求的變更影響到軟件需求。
1.2 設計中建立需求跟蹤矩陣
軟件設計是軟件工程過程中的技術核心,是軟件需求的實現(xiàn),也是后續(xù)編碼和測試過程的基礎。軟件設計過程就是把軟件需求分解或者實現(xiàn)成軟件功能模型、數(shù)據(jù)模型以及行為模型的過程。軟件設計過程分為概要設計過程和詳細設計過程。[3]
概要設計過程就是將軟件需求轉化為功能部件、接口部件等,整個過程輸入為軟件需求規(guī)格說明,過程輸出為軟件概要設計說明。將軟件概要設計說明中得到的功能部件、接口部件等寫入到類似于表1的表格中,其中部件要與軟件需求對應,即建立了軟件需求和概要設計之間的需求追蹤矩陣。在這個過程中可以發(fā)現(xiàn)是否所有的軟件需求都在設計中實現(xiàn)了。
詳細設計過程就是將概要設計進行細化,得到功能單元、接口單元等,整個過程輸入為軟件概要設計說明,過程輸出為軟件詳細設計說明。將軟件詳細設計說明中得到的功能單元、接口單元等寫入到類似于表1的表格中,其中單元要與部件對應,即建立了概要設計和詳細設計之間的需求追蹤矩陣。在這個過程中可以發(fā)現(xiàn)是否所有的概要設計都在詳細設計中細化了。
1.3 編碼中建立需求跟蹤矩陣
編碼過程就是選擇某種語言,按照詳細設計的結果進行編碼實現(xiàn),整個過程輸入為軟件詳細設計說明,過程輸出為程序代碼。將程序代碼函數(shù)名稱同詳細設計中的單元建立對應關系,寫入到類似于表1的表格中,即建立了程序代碼和軟件詳細設計之間的對應關系。在這個過程中可以發(fā)現(xiàn)是否所有的詳細設計都在編碼過程中實現(xiàn)了,也能發(fā)現(xiàn)是否存在某些無法實現(xiàn)的設計。
1.4 測試中建立需求跟蹤矩陣
軟件測試過程就是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,需要測試人員編寫并測試用例,整個過程輸入為程序代碼,過程輸出為測試用例。將測試用例同程序代碼函數(shù)名稱建立對應關系,寫入到類似于表1的表格中,即建立了測試用例和程序代碼之間的對應關系。在這個過程中可以發(fā)現(xiàn)是否測試覆蓋了所有的程序代碼功能。
2 需求跟蹤矩陣展示
在軟件生存周期中,根據(jù)各階段的進展,建立和維護需求跟蹤矩陣,可以將各個階段的產品關系串聯(lián)起來,最終形成的需求跟蹤矩陣。
整個矩陣成扇形發(fā)散結構,中間的需求追蹤是不能間斷的。需求跟蹤矩陣建立后,可以迅速的判斷需求是否得到了實現(xiàn),并且在需求變更、設計變更、代碼變更、測試用例變更時,通過該矩陣可以很清楚的判斷出變更影響域。
在軟件工程中,建立六個軟件產品之間的需求跟蹤矩陣,可以更快的檢測并驗證用戶需求開始到測試用例之間的一致性與完整性,確保所有的實現(xiàn)是以用戶需求為基礎;當發(fā)生變更時,通過檢索需求跟蹤矩陣發(fā)現(xiàn)需要修改的需求、設計、代碼及測試用例等。需求、設計、編碼、測試用例,每一項都含有很多元素,建立和維護需求追蹤矩陣比較繁瑣,工作量也比較大,目前建立和維護需求追蹤矩陣的專業(yè)工具比較少,后續(xù)的研究應注重此類工具的開發(fā)。
推薦閱讀:
您的信息已成功提交!
我們的客服人員稍后會與您聯(lián)系