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

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

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

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

    如何編寫軟件單元測試用例(白盒測試)

    發布: 2010-12-16 10:43 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 459次 | 進入軟件測試論壇討論

    領測軟件測試網

      如何編寫軟件單元測試用例(白盒測試)   軟件測試

      前段時間公司進行有關測試的培訓,集成測試,性能測試,壓力測試說了很多。由于本人還處于Coder階段,只是對單元測試有了些了解。寫下來怕以后自己忘記了。都是些自己的看法,不一定準確,歡迎高手指教。

      一、 單元測試的概念

      單元通俗的說就是指一個實現簡單功能的函數。單元測試就是只用一組特定的輸入(測試用例)測試函數是否功能正常,并且返回了正確的輸出。

      測試的覆蓋種類

      1.語句覆蓋:語句覆蓋就是設計若干個測試用例,運行被測試程序,使得每一條可執行語句至少執行一次。

      2.判定覆蓋(也叫分支覆蓋):設計若干個測試用例,運行所測程序,使程序中每個判斷的取真分支和取假分支至少執行一次。

      3.條件覆蓋:設計足夠的測試用例,運行所測程序,使程序中每個判斷的每個條件的每個可能取值至少執行一次。

      4.判定——條件覆蓋:設計足夠的測試用例,運行所測程序,使程序中每個判斷的每個條件的每個可能取值至少執行一次,并且每個可能的判斷結果也至少執行一次。

      5.條件組合測試:設計足夠的測試用例,運行所測程序,使程序中每個判斷的所有條件取值組合至少執行一次。

      6.路徑測試:設計足夠的測試用例,運行所測程序,要覆蓋程序中所有可能的路徑。

      用例的設計方案主要的有下面幾種:條件測試,基本路徑測試,循環測試。通過上面的方法可以實現測試用例對程序的邏輯覆蓋,和路徑覆蓋。

      二、開始測試前的準備

      在開始測試時,要先聲明一下,無論你設計多少測試用例,無論你的測試方案多么完美,都不可能完全100%的發現所有BUG,我們所需要做的是用最少的資源,做最多測試檢查,尋找一個平衡點保證程序的正確性。窮舉測試是不可能的。 所以現在進行單元測試我選用的是現在一般用的比較多的基本路徑測試法。

      三、開始測試

      基本路徑測試法:設計出的測試用例要保證每一個基本獨立路徑至少要執行一次。

      函數說明 :當i_flag=0;返回 i_count+100

      當i_flag=1;返回 i_count *10

      否則 返回 i_count *20

      輸入參數:int i_count ,

      int i_flag

      輸出參數: int i_return;

      代碼:

      1 int Test(int i_count, int i_flag)

    延伸閱讀

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

    TAG: 白盒 編寫 單元 軟件

    51/512345>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>