回覆列表
  • 1 # 使用者566759068971

    1. 語句覆蓋(StatementCoverage)

    又稱行覆蓋(LineCoverage),段覆蓋(SegmentCoverage),基本塊覆蓋(BasicBlockCoverage),這是最常用也是最常見的一種覆蓋方式,就是度量被測程式碼中每個可執行語句是否被執行到了。這裡說的是“可執行語句”,因此就不會包括像C++的標頭檔案宣告,程式碼註釋,空行,等等。非常好理解,只統計能夠執行的程式碼被執行了多少行。需要注意的是,單獨一行的花括號{} 也常常被統計進去。語句覆蓋常常被人指責為“最弱的覆蓋”,它只管覆蓋程式碼中的執行語句,卻不考慮各種分支的組合等等。假如你的上司只要求你達到語句覆蓋,那麼你可以省下很多功夫,但是,換來的確實測試效果的不明顯,很難更多地發現程式碼中的問題。

    2. 判定覆蓋(DecisionCoverage)

    又稱分支覆蓋(BranchCoverage),所有邊界覆蓋(All-EdgesCoverage),基本路徑覆蓋(BasicPathCoverage),判定路徑覆蓋(Decision-Decision-Path)。它度量程式中每一個判定的分支是否都被測試到了。這句話是需要進一步理解的,應該非常容易和下面說到的條件覆蓋混淆。因此我們直接介紹第三種覆蓋方式,然後和判定覆蓋一起來對比,就明白兩者是怎麼回事了。

    3. 條件覆蓋(ConditionCoverage)

    它度量判定中的每個子表示式結果true和false是否被測試到了。

    4. 路徑覆蓋(PathCoverage)

    又稱斷言覆蓋(PredicateCoverage)。它度量了是否函式的每一個分支都被執行了。 這句話也非常好理解,就是所有可能的分支都執行一遍,有多個分支巢狀時,需要對多個分支進行排列組合,可想而知,測試路徑隨著分支的數量指數級別增加。

    這是四種常見的程式碼測試方法,暫時vba沒有自動測試工具可以實現自動測試程式碼覆蓋率

  • 中秋節和大豐收的關聯?
  • 知道《了不起的蓋茨比》裡黛西的丈夫是怎樣抓住她的心的嗎?