什么是測試需求? 軟件測試
測試需求的概念比較簡單。例如,比方說一個計算平方根的程序,如果輸入一個大于或等于零的數,程序可以給出一個結果;如果輸入一個小于零的數,程序將指出輸入錯誤。讀過《軟件測試的藝術》一書的工程師都會立即聯想到邊界值。對數值零進行測試;對零非常接近的負數進行測試,這就是兩個具體的測試需求。
在一個更加復雜的程序中,你可以將打算測試的項目做成一個列表。但是,這些測試需求都不會確定具體的測試數據。例如,一個銀行交易程序,一個測試需求是試圖支付客戶的金額為負數,另一個測試需求是交易中的客戶并不存在,等等。你有一系列這樣的測試需求,它們并沒有指出具體的數值或數據,如客戶的姓名。
測試的下一步是選擇滿足這些測試需求的輸入值 / 測試數據。一個簡單的測試用例可能會同時滿足好幾個測試需求。一個用例能同時滿足好幾個測試需求,當然是最理想的情況,但是這樣做的代價較高。另外一種方法是為每一個測試需求設計一個單獨的測試用例,就可以不必考慮那些復雜的測試用例,但是這些相對簡單的測試用例發現缺陷的能力就會有所下降。
這里有一個測試需求的實例:對一個哈希表的插入操作進行測試,有以下這些測試需求:
1 )插入一個新的條目
2 )插入失敗-條目已經存在
3 )插入失敗-表已滿
4 )哈希表在插入前為空
這些就是測試需求,而非測試用例,因為它們沒有對被插入元素進行描述。另外你也不能馬上就著手書寫用例,就好象軟件需求完成后不能立即進行編碼一樣。還需要對測試需求進行評審,確保正確和沒有需求遺漏。
文章來源于領測軟件測試網 http://www.kjueaiud.com/