精準測試及其工具(連載7)

  • 2019 年 12 月 12 日
  • 筆記

3.4 簡易控制流程圖

前置條件:版本有數據,關聯源碼可在程式碼視圖有顯示源碼,並且在簡易控制流程圖的分支塊有具體語句顯示,有覆蓋率數據,可在簡易控制流程圖顯示當前覆蓋到的塊資訊。

簡易控制流程圖功能,以語句塊的形式清晰的展示函數內部的控制邏輯,介面上可以直觀的看出控制流各節點的測試覆蓋情況,在展示中,簡易控制流程圖還可以通過顏色對每個程式塊進行覆蓋率標識,在縮略圖中整個模組的覆蓋率非常直觀。(背景色為綠色表示有測試用例覆蓋到該塊:以SC0覆蓋為參考標準)

選中某個函數右鍵選擇「跳轉至簡易流程圖」(如圖57所示)或者直接點擊簡易流程圖(如圖58所示)。

圖57選擇「跳轉至簡易流程圖」

圖58簡易流程圖

簡易流程圖展示函數整體的結構樹,函數的測試覆蓋率分析結果,整體的語句分類(有效邏輯語句、解釋語句、空行等)以及整體的程式邏輯。

3.5星雲客戶端測試台功能說明

前置條件:雙向追溯功能可以運行的前提是,測試用例已經被運行過,並且示波器收到了波形採集到了動態數據。

雙向追溯是指通過運行測試用例,實現測試用例與被測源碼間相互追溯。根據測試用例查看相關被測源碼為正向追溯,根據被測源碼查看相關測試用例為逆向追溯。在測試用例列表中選擇測試用例,可以追溯到該測試用例的內容描述資訊,在模組調用圖中顯示被測試到的函數;也可以在模組調用圖中,點擊相關的函數,也可以追溯到相關的測試用例。該追溯技術方便了用戶查看和設計測試用例。

進入雙向追溯選擇視圖點擊「測試台」,如圖59所示。

圖59進入測試台

1. 正向追溯

正向追溯是指:將測試用例和海量的程式碼執行資訊自動關聯,可精確到函數級別及程式碼塊級別;通過正向追溯可直接在程式碼級定位測試現場故障和缺陷邏輯,並提供最後運行的時序數據;通過正向追溯自動記錄產生功能對應的詳細設計實現,輔助軟體解耦和架構分析。

正向追溯的優勢是:迅速定位缺陷對應的程式碼執行邏輯,幫助開發快速修復缺陷,可追蹤難復現缺陷;精確、詳盡的記錄測試用例運行的情況,為精準軟體測試提供大量原生分析性數據;可以進行事後的缺陷分析、追蹤,輔助開發進行功能實現確認。如圖60所示。

圖60正向追溯

2. 反向追溯

反向追溯是指:分析程式碼關聯的功能,為研發分析系統和進行一致性修改以及回歸測試分析提供精確數據。

反向追溯過程:點擊需要查看的函數或函數中的某行程式碼,自動列出可以測試到該函數或者程式分支的測試用例。如圖61所示。

圖61反向追溯

3. 模組流程圖

對於系統之間或模組之間往往通過HTTP、HTTPS等通訊協議進行,而星雲測試通過agent技術,把測試用例進行過的多個系統或多個模組之間的調用進行了記錄並繪製成展示圖,測試人員可以很直觀的觀察出測試用例從起始點到進行的各系統或各模組之間的調用關係圖。如圖62所示。

圖62模組流程圖

3.6 Bug與崩潰程式碼捕獲

前置條件:Bug崩潰捕獲出現的前提是程式程式碼出現崩潰,如果程式程式碼沒有出現崩潰就不會捕獲。

精準測試雲平台採用測試用例、程式碼、Bug相關聯方式,並在出現Bug或者崩潰時記錄最後運行的50個函數,最終達到快速定位到錯誤的程式碼,免於開發人員進行反覆的程式碼審查,並很好的保全Bug現場避免難以復現的情況。

選擇運行過的測試用例,如圖63所示。點擊最後運行的塊,如圖64所示。

圖63 選擇運行過的測試用例

圖64最後運行的塊

點擊最後50塊程式碼視圖,顯示最後執行的詳細資訊,DD程式碼視圖表示條件,condition程式碼視圖表示塊,MCDC程式碼視圖表示修正判定條件覆蓋。如圖65所示

圖65最後執行的詳細資訊

l 節點:節點顯示資訊為當前塊的塊號。

l 邊:邊上的編號為最後50塊執行順序編號。

l 框:同一個函數下的所有塊在同一個框,且框上邊藍色字體顯示了函數名。

l 程式碼視圖:點擊節點資訊,關聯程式碼後會顯示對應程式碼視圖。

星雲測試

http://www.teststars.cc

奇林軟體

http://www.kylinpet.com

聯合通測

http://www.quicktesting.net