• 軟件測試技術
  • 軟件測試博客
  • 軟件測試視頻
  • 開源軟件測試技術
  • 軟件測試論壇
  • 軟件測試沙龍
  • 軟件測試資料下載
  • 軟件測試雜志
  • 軟件測試人才招聘
    暫時沒有公告

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

軟件測試技術基礎學習之測試覆蓋率

發布: 2010-12-22 09:41 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 742次 | 進入軟件測試論壇討論

領測軟件測試網

  對于上面那個程序,如果你測試到了Base.foo()和 Dervied.bar(),表面上看,你測試到了Base::helper()和Derived::helper()方法,達到了分支和語句,甚至路徑覆蓋100%。但是Base::foo()和Base::bar()他們跟Base::helper之間的接口還沒有覆蓋到,所以必須加強測試。

  在面向對象中,上下文是設計比較多的,上下文覆蓋是一種收集被測試軟件如何執行數據的方法?梢詰糜诙鄳B、繼承和封裝的特性,也可以擴展到多線程應用。

  ● 繼承上下文覆蓋(Inheritance Context Coverage):上下文內執行到的判定分支數據量占程序內判定的總數的百分比。

  ○ 基類的方法在其上下文空間中的執行是完全獨立于基繼承類的上下文空間;繼承類的方法在其上下文空間中的執行也獨立于其基類的上下文空間。

  ○ 繼承上下文判定覆蓋率=(累加每個上下文內執行到的判定分支數)/(上下文數+上下文內的判定分支總數)

  ● 基于狀態的上下文覆蓋(State-Base Context Coverage)

  ○ 基于狀態的類:考慮有狀態依賴行為的類。

  ◆ 有邊界的棧:“空狀態”、“半空狀態”、“滿狀態”,“空狀態”使用pop()方法就拋出異常,“滿狀態”使用push()方法也會拋出異常。

  ○ 入口點覆蓋(Entry-Point Coverage)/接口點覆蓋(Interface Coverage):如上面的有邊界棧的類,只測試接口的話,是無法測試邊界值的時候會不會拋出異常。

  ○ 白盒覆蓋:如判定覆蓋覆蓋的接口不對應于公共接口的特性。而特定的處理是覆蓋不了的。

  ○ 基于上下文狀態轉移圖:描述狀態及其遷移路線的圖。

  ○ 基于狀態的上下文覆蓋:對應于被測類對象的潛在狀態。

  ◆ 基于狀態的上下文入口點覆蓋率=(累加每個狀態內執行到的方法數)/(狀態數*類內方法總數)

  ● 已定義用戶上下文覆蓋(User-Defined Context Coverage)

  ○ 基于線程的上下文覆蓋:應用到維護每個線程的獨立的覆蓋率。

  其他覆蓋率(著重了解)

  ● 函數覆蓋:函數覆蓋率=(至少被執行到一次的函數數量)/(系統中函數的總數)

  ● 指令塊覆蓋(Inheruction Blocks Coverage):指令快覆蓋率=(至少被執行到一次的指令塊數量)/(系統中指令塊總數) 其中:指令塊表示函數內部一系列語句。

延伸閱讀

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

53/5<12345>

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

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

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97