• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件單元測試

    發布: 2009-4-10 10:56 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 23次 | 進入軟件測試論壇討論

    領測軟件測試網 最近參與的一個項目里我把單元測試放到很重要的位置并且也發現了一些問題。順便整理一下。

            這不是一篇嚴謹的技術文章。只是一些個人不成熟的感想。

            在實際開發過程中,我發現在單元測試代碼中經常會出現兩種情況:第一種就是在測試代碼中炫耀編程技巧,第二種就是敷衍了事,你不是讓我通過測試么?好,我就寫一個用例,一定能通過的那種,然后告訴你,OK,我的測試通過了。我覺得,這就是對單元測試的意義沒有真正理解的表現。

            到底單元測試是做什么用的?我想,在說明這個問題之前,我先說說我所理解的測試到底是做什么用的。

            所謂的測試,是一種產品質量保證的手段。我按照需求規格說明書制造了一件產品,那么誰來確保這個產品符合了需求規格的要求呢?就是測試。它會根據需求規格說明書設計一系列的場景和用例,來對產品進行測試,看看產品是不是真的符合所期望的需求。

            要達到這個目標,其實并不十分的容易,因為一個真正的系統,情況十分復雜,里面充滿了數不清的分支、異常、邊界條件,甚至運行環境,將這些東西組合起來,產生的需要測試的點將會是一個天文數字,在有限的時間內做完一個充分而可靠的測試,是不可能的。

            為了將充分測試變得可能,一個比較好的途徑就是分層測試。我在做運行測試或性能測試的時候,有一個前提,就是假設整個系統的集成運行已經沒有問題了,在運行測試或性能測試時,我將不再考慮“系統無法正常運行”這種場景。那么如何保證集成運行沒問題呢?我們用集成測試來檢驗。但是在做集成測試的時候,我們同樣要基于一個假定,就是各個模塊的功能都能夠如期正常工作。而這一點,又是通過模塊自身的功能測試來完成的!@樣一層層往下推,每個層次就假設它所依賴的層次沒有問題,這樣就可以減少很多場景以及由這些場景引出的額外的分支。將原先一個幾何級數的測試用例分解成可以接受的若干層次的算術級數的用例。這樣一來測試就變得有可能做好了。

            而單元測試,正是這些測試的最低層次——保證每個函數/方法,或者說最小功能模塊的正確性的一種測試。

            通過上面的描述,我們至少清楚了這樣幾件事情:1. 單元測試是一種測試,它不是代碼的一部分;2. 單元測試是最低層級的測試,它只保證函數的可靠性,不保證其它;3. 單元測試應該能保證每一個函數的可靠性。

          

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 單元 軟件

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>