qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          避免測試用例設計的五大誤區

          1、能發現到目前為止沒有發現的缺陷的用例是好的用例:
            首先要申明,其實這句話是十分有道理的,但我發現很多人都曲解了這句話的原意,一心要設計出發現“難于發現的缺陷”而陷入盲目的片面中去,忘記了測試的目的所在,這是十分可怕的。我傾向于將測試用例當作一個集合來認識,對它的評價也只能對測試用例的集合來進行,測試本身是一種“V&V”的活動,測試需要保證以下兩點:
            * 程序做了它應該做的事情
            * 程序沒有做它不該做的事情
            因此,作為測試實施依據的測試用例,必須要能完整覆蓋測試需求,而不應該針對單個的測試用例去評判好壞。
            2、測試用例應該詳細記錄所有的操作信息,使一個沒有接觸過系統的人員也能進行測試;
            不知道國內有沒有公司真正做到這點,或者說,不知道有國內沒有公司能夠將每個測試用例都寫得如此詳細。在我的測試經歷中,對測試用例描述的詳細和復雜程度也曾有過很多的彷徨。寫得太簡單吧,除了自己沒人能夠執行,寫得太詳細吧,消耗在測試用例維護(別忘了,測試用例是動態的,一旦測試環境、需求、設計、實現發生了變化,測試用例都需要相應發生變化)上的時間實在是太驚人,在目前國內大部分軟件公司的測試資源都不足的情況下,恐怕很難實現。但我偏偏就能遇到一些這樣的老總或者是項目負責人,甚至是測試工程師本身,全然不顧實際的資源情況,一定要寫出“沒有接觸過系統的人員也能進行測試”的用例。
            在討論這個問題之前,我們可以先考慮一下測試的目的。測試的目的是盡可能發現程序中存在的缺陷,測試活動本身也可以被看作是一個Project,也需要在給定的資源條件下盡可能達成目標,根據我個人的經驗,大部分的國內軟件公司在測試方面配備的資源都是不足夠的,因此我們必須在測試計劃階段明確測試的目標,一切圍繞測試的目標進行。
            除了資源上的約束外,測試用例的詳細程度也需要根據需要確定。如果測試用例的執行者、測試用例設計者、測試活動相關人對系統了解都很深刻,那測試用例就沒有必要太詳細了,文檔的作用本來就在于溝通,只要能達到溝通的目的就OK。
            在我擔任測試經理的項目中,在測試計劃階段,一般給予測試設計30% - 40%左右的時間,測試設計工程師能夠根據項目的需要自行確定用例的詳細程度,在測試用例的評審階段由參與評審的相關人對其把關。
            3、測試用例設計是一勞永逸的事情;
            這句話擺在這里,我想沒有一個人會認可,但在實際情況中,卻經常能發現這種想法的影子。我曾經參與過一個項目,軟件需求和設計已經變更了多次,但測試用例卻沒有任何修改。導致的直接結果是新加入的測試工程師在執行測試用例時不知所措,間接的后果是測試用例成了廢紙一堆,開發人員在多次被無效的缺陷報告打擾后,對測試人員不屑一顧。
            這個例子可能有些極端,但測試用例與需求和設計不同步的情況在實際開發過程中確是屢見不鮮的,測試用例文檔是“活的”文檔,這一點應該被測試工程師牢記。
            4、測試用例不應該包含實際的數據;
            測試用例是“一組輸入、執行條件、預期結果”、毫無疑問地應該包括清晰的輸入數據和預期輸出,沒有測試數據的用例最多只具有指導性的意義,不具有可執行性。當然,測試用例中包含輸入數據會帶來維護、與測試環境同步之類的問題,關于這一點,《Effective Software Test》一書中提供了詳細的測試用例、測試數據的維護方法,可以參考。
            5、測試用例中不需要明顯的驗證手段;
            我見過很多測試工程師編寫的測試用例中,“預期輸出”僅描述為程序的可見行為,其實,“預期結果”的含義并不只是程序的可見行為。例如,對一個訂貨系統,輸入訂貨數據,點擊“確定”按鈕后,系統提示“訂貨成功”,這樣是不是一個完整的用例呢?是不是系統輸出的“訂貨成功”就應該作為我們唯一的驗證手段呢?顯然不是。訂貨是否成功還需要查看相應的數據記錄是否更新,因此,在這樣的一個用例中,還應該包含對測試結果的顯式的驗證手段:在數據庫中執行查詢語句進行查詢,看查詢結果是否與預期的一致。

          posted on 2014-08-07 10:43 順其自然EVO 閱讀(167) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2014年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 正定县| 射洪县| 双柏县| 沧州市| 秦皇岛市| 宝兴县| 酒泉市| 兴化市| 延津县| 青川县| 衡东县| 格尔木市| 灯塔市| 温宿县| 双柏县| 金溪县| 肇东市| 留坝县| 遂川县| 临西县| 黄冈市| 农安县| 琼海市| 大连市| 高州市| 文化| 隆子县| 兰西县| 神农架林区| 喀喇沁旗| 泸定县| 宽城| 临安市| 新建县| 潼关县| 洛扎县| 镇坪县| 堆龙德庆县| 耿马| 虹口区| 泗水县|