第13貼【2004-5-22】:什么是測試需求?
Brian Marick
測試需求的概念比較簡單。例如,比方說一個計算平方根的程序,如果輸入一個大于或等于零的數,程序可以給出一個結果;如果輸入一個小于零的數,程序將指出輸入錯誤。讀過《軟件測試的藝術》一書的工程師都會立即聯想到邊界值。對數值零進行測試;對零非常接近的負數進行測試,這就是兩個具體的測試需求。
在一個更加復雜的程序中,你可以將打算測試的項目做成一個列表。但是,這些測試需求都不會確定具體的測試數據。例如,一個銀行交易程序,一個測試需求是試圖支付客戶的金額為負數,另一個測試需求是交易中的客戶并不存在,等等。你有一系列這樣的測試需求,它們并沒有指出具體的數值或數據,如客戶的姓名。
測試的下一步是選擇滿足這些測試需求的輸入值/測試數據。一個簡單的測試用例可能會同時滿足好幾個測試需求。一個用例能同時滿足好幾個測試需求,當然是最理想的情況,但是這樣做的代價較高。另外一種方法是為每一個測試需求設計一個單獨的測試用例,就可以不必考慮那些復雜的測試用例,但是這些相對簡單的測試用例發現缺陷的能力就會有所下降。
這里有一個測試需求的實例:對一個哈希表的插入操作進行測試,有以下這些測試需求:
1)插入一個新的條目
2)插入失。瓧l目已經存在
3)插入失。硪褲M
4)哈希表在插入前為空
這些就是測試需求,而非測試用例,因為它們沒有對被插入元素進行描述。另外你也不能馬上就著手書寫用例,就好象軟件需求完成后不能立即進行編碼一樣。還需要對測試需求進行評審,確保正確和沒有需求遺漏。
這應該只是對測試需求的一個方面的理解
測試需求應該包含兩個方面的內容:
1、確定測什么,就是上面這位仁兄所說。
2、測試對產品的需求,解決需要產品為測試提供什么特性,可以更好的去測試的問題,就是我們常說的可測試性需求。
第14貼【2004-5-30】:GUI測試
Roger S. Pressman
圖形用戶界面(GUI)對軟件測試提出了有趣的挑戰,因為GUI開發環境有可復用的構件,開發用戶界面更加省時而且更加精確。同時,GUI的復雜性也增加了,從而加大了設計和執行測試用例的難度。因為現在GUI設計和實現有了越來越多的類似,所以也就產生了一系列的測試標準。下列問題可以作為常見GUI測試的指南:
窗口:
·窗口是否基于相關的輸入和菜單命令適當地打開?
·窗口能否改變大小、移動和滾動?
·窗口中的數據內容能否用鼠標、功能鍵、方向鍵和鍵盤訪問?
·當被覆蓋并重新調用后,窗口能否正確地再生?
·需要時能否使用所有窗口相關的功能?
·所有窗口相關的功能是可操作的嗎?
·是否有相關的下拉式菜單、工具條、滾動條、對話框、按鈕、圖標和其他控制可為窗口使用,并適當地顯示?
·顯示多個窗口時,窗口的名稱是否被適當地表示?
·活動窗口是否被適當地加亮?
·如果使用多任務,是否所有的窗口被實時更新?
·多次或不正確按鼠標是否會導致無法預料的副作用?
·窗口的聲音和顏色提示和窗口的操作順序是否符合需求?
·窗口是否正確地被關閉?
文章來源于領測軟件測試網 http://www.kjueaiud.com/