二、軟件測試需求分析
理論上,軟件測試需求是源于軟件需求的,而軟件需求又是源于用戶需求的。然而,有些時候在分析軟件測試需求時并不存在已經文檔化的軟件需求規格說明。
在這種情況下,要分析軟件測試需求可能仍然需要追溯到用戶需求(當發生這種情況時,普通測試工程師會很吃驚地發現自己原來還肩負著需求開發工程師的部分職責。是的,事實上,資深的軟件測試工程師會發現軟件測試這個職位幾乎涉及所有的開發技能和部分管理技能。)由于后者涉及需求工程的專門知識,本文略過不做細述;這里重點討論前者。在一個規范化的軟件需求規格說明中,用戶需求是由更高層次的業務需求(體現在項目章程、SOW、項目建議書等文檔中)細化而成,它通常描述了用戶使用該軟件系統會涉及到的不同的執行路徑、工作邏輯以及所預期的處理結果。
在UML表示方法中,用戶需求通常通過Use Case來進行刻畫。接下來,用戶需求將進一步轉化為三類需求項,即功能需求項、性能需求項以及約束性需求項。這三類需求項就是通常意義上的軟件需求項。管理這三類需求項的矩陣被稱為需求矩陣。