這個工具輔助同時適用於 Microsoft Windows 系統和 UNIX 系統。
PurifyPlus 工具包括 Rational Purify、Rational PureCoverage 和 Rational Quantify。
若要進一步瞭解 PurifyPlus
工具,請閱讀 PurifyPlus 的入門手冊(Windows 版本或 UNIX 版本)。
如需使用
PurifyPlus 工具的逐步資訊,請參閱工具的線上說明。
您可以使用 PurifyPlus 工具執行下列動作:
-
偵測記憶體錯誤和洩漏(Windows 和 UNIX 上的 C/C++)。 使用 Purify 來標出測試中應用程式的錯誤和洩漏。
-
監督程式碼涵蓋率(Windows 和 UNIX)。 使用 PureCoverage 來顯示測試中的差異,並提出迴歸警示。
-
評估效能(Windows 和 UNIX)。 使用 Quantify 來警告您,新的移入是否會使效能降低。
使用 PurifyPlus 工具執行測試套組會造成可靠的零錯誤程式碼,它將以最大效率執行。
工具步驟
若要使用 PurifyPlus 工具實作測試:
1. 執行 Purify 之下的程式來收集錯誤和洩漏資料(限 C/C++ 程式)
Purify 在測試中應用程式和它使用的元件中偵測執行時期錯誤,包括記憶體洩漏。它報告記憶體錯誤,例如陣列界限錯誤、透過 dangling
指標存取、未起始設定的記憶體讀取、記憶體配置錯誤和記憶體洩漏,以便在它們造成任何損害之前加以解決。
從將 Purify 併入現有的 Perl Script、批次檔和 Make 檔中開始。
-
在 Windows 上,修改執行程式的指令行。<ProgramName>.exe
Purify /SaveTextData <ProgramName>.exe
-
-
在 UNIX 上,修改編譯和鏈結行:
% purify -logfile=<filename> cc -g <program_name>.c
在 UNIX 上使用 /SaveTextData -logfile 選項,會造成 Purify
在沒有使用者介面的情況下執行,當您從 Script 執行程式時,若程式終止,會傳送錯誤和洩漏資料至文字輸出檔。
自己查驗此輸出檔,或撰寫 Script 來分析它。您可以在此檔案中使用錯誤和警告訊息作為測試結果的其他準則。
如果您已安裝 PureCoverage,您可以新增 /Coverage (Windows) 或新增 purecov purify (UNIX) 選項,來收集相同執行作業的涵蓋率資料。使用涵蓋率資料,您也可以尋找程式碼中尚未檢查是否有錯誤的部分。如需使用涵蓋率資料的相關資訊,請參閱這個工具輔助的步驟 2。
附註:
-
使用 Purify API 來控制程式內的資料收集。
-
Purify 也有指令行選項,可讓您將測試資料儲存為二進位檔,您可以使用 Purify 圖形式使用者介面檢查它們;這在工具輔助「使用 Rational PurifyPlus 工具分析執行時期效能」有加以討論。
如果需要詳細資訊,請查閱 Purify 線上說明索引的下列主題:
2. 執行 PureCoverage 之下的程式來監督程式碼涵蓋率。
PureCoverage 提供精確的行層次和函數層次程式碼涵蓋率資訊。在夜間測試中使用 PureCoverage,以確保測試能趕上程式碼開發的速度。
從將 PureCoverage 併入現有的 Perl Script、批次檔和 Make 檔中開始。
-
在 Windows 上,修改執行程式、Java 類別檔(.jar 檔)或 Applet 的指令行,來包含 PureCoverage:
對於 C/C++ 程式:Coverage /SaveTextData <ProgramName>.exe
對於 Java 類別檔:Coverage /SaveTextData /Java Java.exe <ClassName>.class
對於 .NET 管理的程式碼程式:Coverage /SaveTextData /Net <ProgramName>.exe
使用 /SaveTextData 選項會造成 PureCoverage 在沒有使用者介面的情況下執行,當您從 Script 執行程式時,若程式終止,會傳送資料至文字輸出檔。
-
-
在 UNIX 上,修改編譯和鏈結行:
對於 C/C++ 程式:% purecov cc -g <program_name>.c
對於 Java 類別檔:% purecov -java java <class_name>
在程式結束之後使用 PureCoverage -export 選項,將涵蓋率資料寫至文字輸出檔。
當您運用程式碼時,PureCoverage 會記錄關於使用的行和函數的記錄。您可以從程式呼叫 PureCoverage API
函數,在程式碼的特定點儲存資料,或只為特定常式收集資料。當您結束程式時,您有精確的資料集指出測試中有涵蓋和未涵蓋哪些行和哪些函數。
您可以從多個執行作業中合併涵蓋率資料,或將它保存在個別檔案中,以分析涵蓋率的變更。
使用 Script 來比較現行資料與您從先前執行作業中收集到的資料。如果涵蓋率下降,表示您的測試可能沒有運用新程式碼,或新程式碼可能產生問題,造成未測試大量程式碼。使用 Rational Robot 或 Rational Visual
Test 之類的測試工具,撰寫測試案例來運用新的程式碼。
附註:您可以使用 PureCoverage 圖形式使用者介面檢查二進位涵蓋率資料檔。
如果需要詳細資訊,請查閱
PureCoverage 線上說明索引的下列主題:
3. 執行 Quantify 之下的程式來評估效能
Quantify 為程式及其元件提供完整而精確的效能資料集,使您能夠監督效能及在開發和測試週期中儘早識別迴歸。
從將 Quantify 併入現有的 Perl Script、批次檔和 Make 檔中開始。
-
在 Windows 上,修改執行程式、類別檔(.jar 檔)或 Applet 的指令行,來包含 Quantify:
對於 C/C++ 程式:Quantify /SaveTextData <ProgramName>.exe
對於 Java 類別檔:Quantify /SaveTextData /Java Java.exe <ClassName>.class
對於 .NET 管理的程式碼程式:Quantify /SaveTextData /Net <ProgramName>.exe
使用 /SaveTextData 選項會造成 Quantify 在沒有使用者介面的情況下執行,當您從 Script 執行程式時,若程式終止,會傳送資料至文字輸出檔。
-
-
在 UNIX 上,修改編譯和鏈結行:
對於 C/C++ 程式:% quantify cc -g <program_name>.c
對於 Java 類別檔:% quantify -java java <class_name>
在程式結束之後使用 Quantify -export 選項,將效能資料寫至文字輸出檔。
當您運用程式碼時,Quantify 會記錄關於程式效能的資料。 您可以使用 API
函數來隨時暫停和回復資料錄製,將概況限制至特定程式碼部分。您也可以在程式碼執行的特定點儲存資料,或只針對特定常式收集效能資料。當您結束程式時,Quantify 有其效能的精確設定檔。
您可以撰寫 Script 來比較資料集和報告效能的變更:
-
效能的降級指出最近移入的程式碼使程式速度變慢。分析您已收集的資料,尋找程式中有無法接受之效能的部分。
-
所標示的改進指出開發人員已改進其程式碼,或測試基於某種原因而停止運用大量程式碼。請檢查涵蓋率資料,看看您是否仍然達到先前的涵蓋率層次。
附註:Quantify 也可以將測試資料儲存為二進位檔,您可以使用 Quantify 圖形式使用者介面檢查它們;這在工具輔助「使用 Rational PurifyPlus 工具分析執行時期效能」有加以討論。
如果需要詳細資訊,請查閱 Quantify 線上說明索引的下列主題:
|