1Σ(Merge Runs )
對多次測試的路徑的分析與統計,可以看到當前案例覆蓋代碼的情況,有那些代碼沒有覆蓋到;有時候你對測試案例跑過多少代碼并沒有記錄,這時需要對所有的跑過的測試進行統計,看看還有那一些代碼沒有覆蓋到,這時這個功能就非常有用,可以對你所有的已經測試的案例進行代碼覆蓋統計,從而發現沒有測試到的代碼。
2Δ(Compare Runs)
對兩次代碼的測度,進行路徑比較,由于測試案例比較多,這時我無法判斷,兩個案例的代碼覆蓋路徑上有什么差別,這時需要對兩樣者進行比較,從而發現區別。
FunctionList
用來顯示函數中的總行數,執行的代碼行數,沒有執行的代碼行數,執行代碼的百分比,相關的模塊,與原代碼的所在的文件。如圖:
從這里你可詳細的看到各個函數的運行情況。如果想了解函數中有那些代碼沒有命中到,則需要Annotated Source,或是雙擊函數。
Annotated Source
當我們選中main時,我們進入代碼分析界面,我們可以看到main()函數的代碼的詳細執行情況,如圖:
前面我們執行的案例,輸入了4與5,這時你可以看到,代碼的執行覆蓋情況,m_choice=4與5的路徑都執行了,但對于 m_choice=1,2,3 或6……等等,你則必需設計測試案例進行補充,從而保證代碼覆蓋率,呵呵。下面我執行補充的案例后,你們可以看到,代碼的覆蓋情況:
你可以看到代碼只有4沒有執行,呵呵,由于退出必需選取5,所以Count<<”Bye!\n”;
return 0;也執行了,如果把這兩個測試過程通過上面的合成,就可以看到,我已經完成了代碼的100%覆蓋。
使用技巧
Pause/Recording: 當你發覺測試過程中必需跳過一些不需要的測試流程時,你可以使用此功能進行測試的控制,你可停止紀錄讓程序走到你要測試的function,再啟動記錄,對你需要的過程進行記錄。
Cleardata: 當你發現前面的測試案例,已經走過或是屬于重復案例時,是否需要重新重做,這完全是不必要的,你可以使用cleardata對之前的測試結果進行清除,再繼續進行你有效的測試案例,這樣可以不用中斷測試。
Snaphot data:對測試進行中數據的快照,你可以對測試案例的執行的不同階段點進行數據的快照,這樣你就可以得到每一個案例執行后的情況而不需要多次重啟測試,呵呵
文章來源于領測軟件測試網 http://www.kjueaiud.com/