如上圖所示,在版本更新過程中受到影響的測試用例為 Test Case1, Test Case2, Test Case3 覆蓋了 12 個 Node,在版本更新過程中的更新點是 4,其中被覆蓋到的為 3,還有 1 個更新點沒有被覆蓋到,現有測試用例集合的更新覆蓋能力為 75% 。這樣,我們知道上一個版本的測試用例設計不夠充分尚有程序模塊沒有被任何已有的測試用例所覆蓋。由于代碼的更新最有可能引起程序的缺陷甚至系統崩潰,所以需要添加新的測試用例以保證對更新的覆蓋,以降低程序運行的風險。
對于軟件的節點覆蓋率,我們細化到函數粒度。我們是通過軟件部署的 Binary 代碼分析得知的函數情況。不需要借助源代碼,因此對于軟件進行測試覆蓋率分析來說要求低,用較小的成本完成此次的測試用例覆蓋反饋與分析。既省時省力又保證較高的測試質量。
● 解決方案
基于對問題 1) 和問題 2) 的原理分析,我們設計并實施了回歸測試的解決方案,如下圖所示。它包含了 3 個主要步驟。一是測試用例的錄入;二是對新舊兩個版本的變更分析;三、通過測試用例優化選擇和覆蓋率分析,得到相應的測試用例優化選擇報告,和覆蓋率分析報告。

圖 5. 回歸測試解決方案
步驟一, Trace Test Case 負責錄制測試用例,并將捕獲到的測試用例的 Runtime Trace 存放到數據庫中;
測試用例在后臺運行中的 Runtime Trace 是動態分析 (Dynamic Analysis) 中的重要信息。這些實際的運行信息為測試用例的優化選擇和覆蓋率分析創造了條件。下面是測試用例跟蹤的框架圖:

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