CPPTest

CPPTest 即Parasoft C++test, 是一個集成解決方案,用於使一系列被廣泛證明可改進軟體開發團隊生產力和軟體質量的最佳實踐得以自動化處理。

基本介紹

  • 中文名:CPPTest
  • 全名:Parasoft C++test
  • 類型:軟體
  • 功能:編碼策略增強、靜態分析
簡介,功能,優點,特點,

簡介

通過 C++test,可進行編碼策略增強、靜態分析、綜合代碼複審、單元測試和組件測試、以及運行時錯誤檢測,以此向團隊提供一種確保 C 和 C++ 代碼達到其預期功能的實用方法。C++test 可以在桌面上 IDE 的引導下使用,也可以通過命令行界面批處理方式進行回歸測試。C++test 與 Parasoft 的 GRS 報告系統相集成,後者提供了具有向下鑽取功能並基於 Web 的互動式儀錶板,允許團隊根據 C++test 結果和其它關鍵的進程度量值,跟蹤項目的狀態和趨勢。

功能

C++Test測試工具內建了1600多條的業內C/C++編程規範
C++Test工具Server版本的Bugdetective功能在不執行代碼的情況下檢測運行時錯誤,進行跨類、跨包追蹤和查找諸如記憶體泄露、資源泄漏、空指針引用、除數為0等只有在程式運行時才能發現的錯誤。
自動(手動)生成單元測試用例檢查代碼的堅固性。
自動或手動添加樁函式取代外部調用,如外部方法、接口等;
支持多種數據源方式(如Excel、CSV、Datasource、Table和Aggregate等)建立測試用例,豐富並擴展測試用例的範圍,而且便於測試用例的統一管理。
自動生成多種格式(html,pdf等)的測試報告
C++Test 工具Server版本集成團隊配置管理(TCM)功能。
C++Test工具Server版本集成(源碼控制掃描系統)SCCS功能,能夠與企業內部的源碼管理系統進行對接。
C++Test工具Server版本支持命令行、批處理方式,進行夜間測試。
C++Test工具Server版本支持測試報告分發機制,開發人員能通過E-mail方式自動獲取到與自己開發的代碼相對應的測試報告。
C++Test工具Server版本主要用於整個項目的靜態分析單元測試回歸測試

優點

· 運用一組最佳的綜合實踐,在開發周期的最初階段識別並解決缺陷 - 此時修正缺陷所需的工作量和返工量為最小。
· 自動解決已知的編碼問題,以便可將更多時間用於需人工解決的問題。
· 高效地構造、持續地執行、並維持一個綜合的回歸測試套件,該套件對更新是否破壞現有功能進行檢測。
· 通過訪問按需目標代碼評估、並朝著優質和守時的目標進行,即時了解 C 和 C++ 代碼的質量和可讀性。
· 構建一個高效的、一致的和受控的團隊工作流程,套用最佳做法,以減少測試時間、測試工作量以及到達 QA 時的缺陷數量。
· 自動對眾多潛在的用戶路徑進行負面測試,便於發現只可能以其它方式在 " 真實世界" 用途才會暴露的問題。

特點

創建單元測試和測試套件的簡便性。CppUnit 和 CppTest 都創建類方法形式的單元測試,類本身都派生自工具提供的 Test類。但是,CppTest 的語法略微簡單些,測試的註冊在類構造器內進行。對於 CppUnit,需要額外的宏 CPPUNIT_TEST_SUITE 和CPPUNIT_TEST_SUITE_ENDS。
運行測試。CppTest 直接調用測試套件上的 run 方法,而 CppUnit 使用單獨的 TestRunner 類,通過調用這個類的 run 方法運行測試。
擴展測試層次結構。對於 CppTest,隨時可以從以前的測試套件派生新類,從而擴展測試套件。新的類定義一些新函式,這些函式成為新的單元測試。只需在新類類型的對象上調用 run 方法。與之相反,CppUnit 需要使用 CPPUNIT_TEST_SUB_SUITE宏和類繼承來實現相同的效果。
生成格式化的輸出。CppTest 和 CppUnit 都允許定製輸出。但是,CppTest 有預定義的 HTML 輸出格式化器,而 CppUnit 沒有。但是,只有 CppUnit 支持 XML 格式化。它們都支持文本和編譯器式格式。
創建測試裝備。要想使用測試裝備,CppUnit 要求測試類派生自 CppUnit::TestFixture。您必須提供設定和退出例程的定義。對於 CppTest,只需提供設定和退出例程的定義。這個解決方案顯然更好,因為這讓客戶機代碼更簡單。
預定義的宏支持。CppTest 和 CppUnit 都提供一組用於斷言、處理浮點等的宏。
頭檔案。 CppTest 只要求包含一個頭檔案,而 CppUnit 客戶機代碼必須根據使用的特性包含多個頭檔案,比如 HelperMacros.h 和 TextTestRunner.h。

相關詞條

熱門詞條

聯絡我們