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

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

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

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

    談談關于測試覆蓋

    發布: 2008-7-15 15:14 | 作者: 不詳 | 來源: 軟件研發之窗 | 查看: 59次 | 進入軟件測試論壇討論

    領測軟件測試網
    關鍵字:測試覆蓋
    軟件測試覆蓋包括分支覆蓋,語句覆蓋以及條件覆蓋,這是白盒測試中一個很基本的測試概念,但是最近和幾位搞了多年測試的朋友談及此事,大家都搞不大清楚。下面我通過一個例子來深入探討一下這個問題:
    我們首先來看一下這幾些測試覆蓋的定義:
    定義一、語句覆蓋:它要求被測程序的每一可執行語句在測試中盡可能都檢驗過;
     
    定義二、分支覆蓋:要求程序中所有判定的分支盡可能得到檢驗;
     
    定義三、條件覆蓋:當判定式中含有多個條件時,要求每個條件的取值均得到檢驗;
     
    從這些定義我們可以很容易理解到語句覆蓋是把程序中的所有的語句都給覆蓋到;分支覆蓋是把程序中每個分支都給覆蓋到;條件覆蓋是把判斷條件中所有的條件都給覆蓋到。
    下面我們通過一個簡單的例子來描述一下
    0:
    1:if ((a<150)||(b<200)){
    2:  for (i=a;i<100;i++)
    3: {
    4: println(“A”);}
    5:}else{
    6:println (“B”);
    7:}
     
    分支覆蓋:
    1)在0處設置a=120,b 任意
    將執行1,2,5
    2)在0處設置a=200,b=400
    將執行1,5,6,7
    這里所有的分支都走到,也就是說要達到分支覆蓋率100%,要設計2組測試用例
    a b 
    120 任意 
    200 400 

     
    語句覆蓋:
    1)在0處設置a=40,b 任意
    將執行1,2,3,4,5
    2)在0處設置a=200,b=400
    將執行1,5,6,7
    這里所有的語句都走到了,也就是說要達到語句覆蓋率100%,要設計2組測試用例
    a b 
    40 任意 
    200 400 

    而在分支覆蓋中語句3,4沒有走到
     
    條件覆蓋:
    由于第一個條件是if ((a<150)||(b<200)) 所以需要設計測試用例
    a b 備注 
    40 50 全都滿足 
    160 150 a 不滿足,b滿足 
    40 250 a滿足,b不滿足 
    150 250 a,b都不滿足 

    條件覆蓋只要求把所有的條件都覆蓋就可以了。
     
    這樣一來我們就把這幾個概念搞得很清楚了。
    順便我在這里想說一句心里話,我們現在的不管是書籍還是網站上的文章都太傾向于理論了,而到實際運用上來就說不清楚了,我希望能夠有更多又講理論又講實踐的文章和書籍能夠出現。

    延伸閱讀

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


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