<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>

            回歸測試最佳實(shí)踐(3)

            發(fā)表于:2014-11-12來(lái)源:uml.org.cn作者:鄧 俊寧點(diǎn)擊數: 標簽:回歸測試
            Test Case Prioritization 中,通過(guò)測試用例與運行的 Runtime Trace 進(jìn)行匹配得到相關(guān)的測試用例。并利用測試用例優(yōu)化排序算法對相關(guān)的測試用例進(jìn)行排序,得到

              Test Case Prioritization 中,通過(guò)測試用例與運行的 Runtime Trace 進(jìn)行匹配得到相關(guān)的測試用例。并利用測試用例優(yōu)化排序算法對相關(guān)的測試用例進(jìn)行排序,得到優(yōu)化結果?,F在的優(yōu)化排序算法有多種,這里不對優(yōu)化排序算法進(jìn)行討論。

              Coverage Analysis 中,通過(guò)對已被相關(guān)測試用例覆蓋的 Method 數量,及未被測試用例覆蓋到的 Method 數量的分析,可以得到基于代碼更新的覆蓋率報告。測試人員得到這份報告之后,可以找到未被覆蓋到的 Method,并對其進(jìn)行針對性的開(kāi)發(fā)新的測試用例。以完成對新功能的覆蓋。

              我們可以看到步驟一,二共同服務(wù)于測試用例優(yōu)化選擇和覆蓋率分析兩個(gè)模塊。有了測試用例的 Runtime Trace 和 Change Report. 我們可以將 Change 結果與 Runtime Trace 進(jìn)行匹配,找出能覆蓋程序更改的測試用例。同樣,對于沒(méi)有被測試用例覆蓋到的 Change 部分。由于沒(méi)有相關(guān)測試用例被找出,我們現有的測試用例是不足的,需要針對未被覆蓋到的 Change 部分開(kāi)發(fā)新的測試用例。

              而覆蓋率作為軟件測試的一項重要指標,可以根據已經(jīng)得到覆蓋和未被覆蓋的 method 進(jìn)行求解,即已得到覆蓋的 change method 數與總的 change method 之比。

              結果

              基于以上的回歸測試解決方案,我們對一個(gè)有著(zhù) 30 個(gè)測試用例的程序進(jìn)行回歸測試,得到如下測試用例優(yōu)化選擇分析報表:

              Change Analysis Report

            總函數 變更函數 覆蓋數 未覆蓋 覆蓋率
            108 12 10 2 83.3%

              表 1 優(yōu)化選擇測試用例: 3 (of Total 30)

            Case Name Cover Changed Method
            TestCase001 5 details
            TestCase005 3 details
            TestCase013 2 details

              分析報告顯示這次代碼變更共有 12 個(gè)函數發(fā)生了更改。在 30 個(gè)測試用例中有 3 個(gè)測試用例與這些更改相關(guān),它們覆蓋了這次代碼更改 12 個(gè)中的 10 個(gè)。而其它 27 的測試用例則與這 12 個(gè)代碼改動(dòng)毫不相關(guān)。

              表 2 回歸測試結果分析

            全部測試用例 優(yōu)化選擇 函數變更 覆蓋率分析
            已覆蓋 未覆蓋 覆蓋率
            30 3 12 10 2 83.3%

            原文轉自:http://www.uml.org.cn/Test/200903313.asp

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>