從軟體開發角度談測試案例設計

genusBIT發表於2008-07-15
      通常情況下,軟體開發與測試是即相互獨立,又存在千絲萬縷聯絡的兩種不同性質的工作。關於二者的聯絡,要寫的內容很多,例如最直觀的,在一個專案開發小組中,開發工程師和測試工程師共享一個資訊資源配置庫等。這裡談的聯絡是從軟體開發角度談測試案例設計。

  通過閱讀前面幾期的測試漫談,相信大家對軟體測試的概念有了一定的理解。通俗地講, 軟體測試是在受控條件下對軟體系統或應用程式進行操作並評估操作的結果,所謂受控制的條 件應該包括正常條件和非正常條件,例如為了故意去造成錯誤發生而人為創造的測試條件。

  我概括了以下幾點內容,從軟體開發的角度,來討論一下在進行軟體測試時,測試案例的 設計應從哪些發麵入手:

  1. 使用者需求:使用者需求指出系統或應用軟體應當做什麼和不應當做什麼,軟體開發過程中的需求定義階段,由於沒有進行交流、交流錯誤或者交流不充分,都給軟體設計造成誤導。測試案例的設計首先必須從使用者需求出發,我們在測試過程中發現許多爭論不清的錯誤和矛盾正是出於使用者需求的不明確。不滿足使用者需求的軟體,其它方面即使很完美,也不是一個合格的軟體。

  2. 軟體特徵:目前的軟體系統和應用軟體是比較複雜的,客戶端/伺服器、瀏覽器/伺服器、資料通訊、巨大的關聯式資料庫技術的利用以及規模龐大,所有這一切都造成系統/軟體的複雜性提高,以至於沒有一定基礎的人不可能全面地掌握它。系統/軟體本身的複雜性和相互之間頻繁的聯絡使軟體的出錯概率提高,也使測試的難度提高,給工程師的素質提出更高的要求。廣闊的技術領域和熟練的基礎知識是設計高質量測試案例的必備條件。

  3. 程式設計錯誤:程式設計的錯誤是造成軟體功能錯誤和效能不能滿足要求的主要因素,另 外,軟體開發工具例如:類庫、編譯器、編輯工具等等,都會把本身的故障引入,從而導致更 多故障的產生。和所有的人一樣,程式設計師也會犯錯誤,而且對於自己的錯誤經常視而不見。軟 件測試工程師從程式設計的角度來挖掘錯誤的根源,設計測試案例有特殊的優勢。

  4. 需求變化:客戶要改變需求多數是合理的,但其恐怕沒有意識到改變需求造成的影 響,可能會導致重新軟體設計、波及其他專案、對已完成工作的否認、硬體需求的改變等等。 例如需求的改變可能會使專案中出現許多小改變或一個大改變,出現已知、未知的問題以及相 互影響導致出現的問題。在一些特殊的環境裡,持續變更需求的影響是致命的,可能會導致大 量致命錯誤的出現。軟體測試工作必須與此變更相適應,重視測試案例在迴歸測試中的設計與 使用,進行持續的廣泛的測試,不讓需求變化帶來的問題漏網。

  5. 人為因素:人們通常喜歡這樣說:“沒問題”、“太簡單”、“修改老程式碼是不難 的事” 、“我用很短的時間就能完成”,而不是說:“我們沒有太多把握”、“新增加的工 作很複雜,可能會出現無法預料的錯誤”、 “我們不能估計修改舊程式碼是否能成功” 、“我 在實際工作之前,無法估計需要多長時間完成”。忠言雖然逆耳,但太多的“沒問題”,必然 會出問題。測試案例的設計多從細小、經常被大家“不放在眼裡”的問題考慮,經常會發現意 想不到的錯誤。 上面幾點只是一個簡單概括,在實際工作中能否有幫助,還需要大家在此基礎上繼續發 揮,挖掘更深刻的內容。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14751907/viewspace-401619/,如需轉載,請註明出處,否則將追究法律責任。

相關文章