轉自:
http://blog.csdn.net/softesting/archive/2008/09/20/2954433.aspx
本周51testing每周一問的這個問題很精彩,于是我做了如下回答。
問題如下:
測試的流程中,測試計劃是對整個測試活動的安排,而測試用例則是測試執行的指導,但是,現在仍然有很多的測試人員沒有認識到測試計劃和測試用例的重要性,在項目時間比較緊張的情況下,計劃和用例往往成了形式上的東西,甚至有些測試人員脫離用例,完全憑借自己的經驗在執行測試活動,對此,你有什么樣的看法?
這個問題問的非常好,也確實是很多人有過切膚之痛的問題,對我來說,我也一直在苦苦追尋這個問題的答案,現在我不能說完全找到了,只能說把自己的心得分享一下,希望大家的測試計劃和測試用例不再是一個擺設。
(一) 先說測試計劃吧
誠如magic_zhu所言,現在很多測試人員沒意識到測試計劃的重要性,很多時候測試計劃成為一紙空文,其根本原因在于測試計劃缺乏可執行性,也正是因為測試計劃缺乏可執行性,導致下一次寫計劃的時候非常草率,甚至不寫,就算寫了也是一個花架子應付領導,這樣形成了一個惡性循環,久而久之,測試計劃純屬一個擺設,我們很多從業者不寫測試計劃,其理由是反正寫了也不能按照計劃執行,這種理由真的很荒唐可笑,這是典型的因噎廢食,因為你的計劃執行性差就不寫?這樣只能使測試更加失去控制,使你的測試過程徹底無計劃,無目標,變成一個放任主流的狀態,完全沒有受控性。這樣的產品質量保證顯然是空談。
我覺得這個問題的解決方案不是不寫,而是想辦法寫得更好,更有實效性,執行性。這個是問題的關鍵。
一個好的測試計劃是用來計劃測試的,指導整個測試過程。所以一個好的測試計劃一定是可以指導測試的,就是對整個測試過程中的人力,時間,資源,策略,范圍的一個說明。
作為一個測試計劃來講,核心的三個要素是時間,資源,范圍。(這句話摘自微軟的軟件測試培訓材料),時間就是什么時候做以及要花多久做,資源就是你要調用的人力、機器等資源,范圍是你要測試的東西以及測試重點。除以上提到的3項之外,還有比較重要的項目有策略(具體就是怎么測)、風險控制(一旦有問題采取什么應急措施)等項目。
要把一個計劃做得很有實用性,按照筆者的經驗,要注意以下幾個方面:
a. 上面提到的三要素不能少
b. 測試策略一定要交待清楚,就是大概怎么測試
c. 需要其他人員(部門)協調的,要交待清楚
d. 在估計測試所需的時間、人力及其它資源時,盡量做到客觀、準確、留有余地,特別是估計開發時間和debug時間,以及要對自己的執行用例速度,回歸速度心里有數
e. 測試計劃中每個階段要明確表明,并且測試階段的輸入、輸出文檔要清楚
f. 測試計劃中的時間段不宜太長(最好以day為單位),太長就比較模糊,不好度量,不好check
g. 一定要有風險控制,要不然計劃缺乏可執行性
h. 計劃寫完之后不是裝在兜里,要組織PM和Dev進行評審
i. 要不斷更新計劃,記住:每個計劃都是動態的,不是一成不變的
(二) 再說測試用例
和測試計劃一樣,測試用例很多時候也淪為形式,這是軟件測試的可悲之處,軟件測試的依據就是測試用例,如果用例棄之不用,你憑什么做好測試?這個很可笑。但是實際測試過程中很多時候測試用例并沒用到實處,筆者認為還是用例實用性問題,有的時候用例洋洋灑灑數萬字,到回歸測試的時候根本用不上,至于如何選擇回歸測試用例,我曾經寫過另一篇文章,歡迎查閱。
下面我就個人體會談談做好測試用例的關鍵。
首先,在做用例之前,要做兩件事情。
第一,透徹了解程序(需求和架構)。
第二,做一個正式的測試設計(最好文檔化)。然后再開始寫用例。一般寫用例的步驟和建房子一樣,先搭框架,然后填材料,填材料的時候,主要根據需求做相關的設計,具體的設計方法就是那幾種(鄭老的書上寫的很清楚)
一般來說,設計一個比較實用的測試用例,注意如下幾個方面:
a. 選用好的用例管理工具(這個很重要,千萬不要用word,excel)
b. 用例一定要及時更新(補充新的想法,刪除過時的需求)
c. 做好用例分級
d. 做好用例評審,寫用例之前可以征詢相關人員的意見
e. 可以考慮結對編寫,這個是不錯的主意
f. 要全面,包括功能、性能、兼容性、安全性、易用性、容錯性等等
g. 注意把握適當的顆粒度
OK,以上是我個人總結的一些心得,希望對您有些幫助,謝謝magic_zhu提這個問題,如果對讀者您有些幫助,也不浪費我寫到凌晨0點的心血,呵呵~~~~~~~~關于這兩個話題太大了,歡迎大家展開討論!!