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