工具前身 C++Test是Parasoft針對C/C++的一款自動化測試工具,Parasoft是全球領先的
軟體測試工具 和整體解決方案的專業開發供應商;AEP(自動錯誤預防)理論的創始者,軟體測試領域的領導者;成立於1987年,總部設在美國加利福尼亞州的蒙羅維亞市;
前身是一家專業為
美國國防部 提供
並行計算 等專業服務的機構。擁有20年豐富的專業技術積累和行業套用經驗,專注於軟體測試領域,18項軟體技術專利,致力於幫助客戶迅速提高
軟體質量 的同時大幅縮短上市周期和降低
開發成本 ,Parasoft公司擁有遍布全球的分支機構和分銷商網路,全球超過10,000家客戶,財富500強公司中的58% 、財富100強公司中的88%都正在使用Parasoft的產品和解決方案。
工具簡介 Parasoft C++test 是經廣泛證明的最佳實踐集成解決方案,它能有效提高開發團隊工作效率和
軟體質量 。
C++test支持編碼策略增強,
靜態分析 ,全面
代碼走查 ,單元與組件的 測試,為用戶提供一個實用的方法來確保其C/C++代碼按預期運行。
C++Test 能夠在桌面的IDE環境或命令行的批處理下進行
回歸測試 。
C++test 和 Parasoft GRS 報告系統相集成,為用戶提供基於Web且具備互動和向下鑽取能力的報表以供用戶查詢,並允許團隊跟 蹤項目狀態並監控項目趨勢。
單元測試 C++Test是一個C/C++單元級測試工具,自動測試C/C++類、函式或部件,而不需要編寫
測試用例 、測試
驅動程式 或樁調用代碼。
C++Test能夠自動測試代碼構造(
白盒測試 )、測試代碼的功能性(
黑盒測試 )和維護代碼的完整性(
回歸測試 )。C++Test是一個易於使用的產品,能夠適應任何開發生命周期。通過將C++Test集成到開發過程中,您能夠有效地防止
軟體錯誤 ,提高代碼的穩定性,並自動化地實現
單元測試 (這是
極端編程 過程的基礎)。
著名測試專家Boris Beizer博士認為:"軟體開發歷史上最臭名昭彰的錯誤都是單元錯誤--即通過適當的
單元測試 可以發現的錯誤。" 他引證了Voyager的錯誤(將探測器傳送到太陽)、AT&T和
DCS 的錯誤(曾造成美國三分之一的電話癱瘓)以及Intel奔騰晶片錯誤,都能夠通過全面的單元測試排除掉。
主要特性 ■ 在不需要執行程式的情況下識別運行時缺陷
C++testBugDetective通過靜態模擬程式執行路徑,可跨越多個函式和檔案,從而找到運行時缺陷。查找到的缺陷包括使用未初始化的記憶體,空
指針 引用,除零,記憶體和資源泄漏。這些通過常規
靜態分析 所忽略的缺陷,可高亮顯示其執行路徑。
■ 自動化代碼分析以增強兼容性
一套行之有效的編碼策略能夠降低整個程式中的錯誤,C++Test通過建立一系列編碼規範進而通過靜態分析來檢測兼容性並預防代碼錯誤。對C++test進行配置用戶可以對特定團隊或組織進行編碼標準策略增強,同時用戶可以在內建和自定義規則中定義自己的規則集。C++test提供800多條的內建規則,包括從
MISRA ,
JSF ,Ellemtel,Meyers’sEffectiveC++和EffectiveSTL等書中以及其它一些主流資源中提取的編程建議,識別代碼中因C/C++使用不當而存在潛在缺陷,提供最佳編碼建議以提高代碼的
可維護性 和可重用性。使用圖形化的RuleWizard編輯器制訂的自定義規則能將API使用標準化並預防單個錯誤發現後類似錯誤重複出現。
■ 優點
提高團隊開發的效率 套用全面的最佳實踐集合以縮減測試時間,降低測試難度,減少QA階段遇到的錯誤。
在現有開發資源下完成更多任務 自動解決瑣碎的編碼問題從而更多的時間可被分配到需要人來解決的問題上。
可靠的構件代碼 高效地構造,可持續執行和全面的
回歸測試 套件以檢測版本更新是否破壞既有功能。
提供 C/C++ 代碼質量完成狀態的可視化報告 按需訪問
目標代碼 的評估,並跟蹤其過程以提高質量和完成預期目標。
削減支持成本 自動對廣泛的潛在用戶路徑進行
負面測試 以查找出只有在真正使用時才能發現的問題。
針對嵌入式和跨平台開發,C++test可以用於基於
宿主 環境和目標環境的代碼分析和測試流。在宿主環境中,開發者通過使用編碼策略增強,靜態代碼分析,全面代碼審查,單元、組件測試以及
回歸測試 來檢測代碼。
測試過程 中依賴外部環境的代碼將被樁函式替換,樁函式模擬真實運行環境,而不需要訪問相關硬體或軟體。
通過宿主環境的擴展測試,C++test允許用戶在目標硬體尚未構建好或不可用於測試的情況下,針對已經完成的代碼進行驗證。正是因為如此,應用程式邏輯上的大多數問題能夠在早期就被發現,這時發現並且修復是最方便和迅捷的,從而使目標環境的測試能夠著重於驗證軟硬體的接口方面的問題。此外,
宿主 環境中,自動化運行和維護更易於進行,使開發者能夠檢查獨立於平台的代碼的正確性而不必使用其它附加的嵌入式開發工具。
■ 高度的可定製化
C++test 允許用戶完全自定義測試執行流程。除了使用內建的
自動化測試 以外,用戶可以包含自定義的
測試腳本 和 shell 命令來使工具符合他們具體的構建和
測試環境 。
通過
交叉編譯 為預期的目標環境所提供的
運行時庫 ,C++test 可以被廣泛的用於多種嵌入式作業系統和結構體系。C++test 的所有測試中間產物的原始碼都可見,因此完全可以移植。
■ 功能
Ø 根據用戶選定的編碼規範對代碼做
靜態分析 來增強兼容性
Ø 提供一個圖形化的RuleWizard編輯器來定製用戶
編碼規則 Ø 對代碼路徑做靜態模擬以定位潛在運行時錯誤
Ø 提供圖形化接口和動態跟蹤使
代碼走查 自動化
Ø 自動生成並執行單元和組件級的測試
Ø 靈活的樁函式機制
Ø 代碼高亮顯示的代碼覆蓋率分析
Ø 使用圖形或命令行方式進行全麵團隊部署
■ 提高團隊代碼走查的效率和全面性
Ø 可共享的測試資源
Ø WebKing提供基於策略的方法來增強應用程式的質量
Ø 使團隊中的技術和非技術人員輕鬆地交流
Ø 提高整個網路應用程式的一致性
C++test的
自動化測試 過程能夠幫助用戶確保新代碼和既有代碼的正確性和可靠性。C++test為單個函式生成基於
CppUnit 格式的測試驅動和
測試用例 ,這些自動生成的測試用例能檢查出函式在未知輸入情況下的表現,發現潛在的可靠性方面的問題。為了驗證代碼的功能是否正確,用戶可以通過對生成的測試用例添加附加測試的方式進行擴展或者通過手動測試嚮導來完成。用戶可以通過多種測試覆蓋率分析工具(包括語句,分支,路徑和
MC/DC 覆蓋率)來對測試效果和完整性進行計算,並與測試的兼容性和有效性要求(如DO178B)進行印證。這種自動測試能力對自動化
持續集成 與測試以及同步測試開發的支持是極其有用的。
C++test可以充分集成於Wind River Workbench和ARM RVDS,從而使用戶在相應IDE環境下就能使用C++test的全代碼分析和
單元測試 功能。完整的基於目標環境的測試流程(包括生成
測試用例 ,
交叉編譯 ,配置,執行和在GUI環境中導入結果)可以通過與Workbench和RVDS的接口自動進行並按照用戶化需求進行配置。測試能通過Workbench和RVDS
調試器 進行調試。
■ 支持的環境
■ 平台
Ø Windows NT/2000/XP
Ø Linux kernel 2.4 or 2.6 or higher with glibc 2.2 or higher and
an x86-compatible processor
Ø Linux kernel 2.6 or higher with glibc 2.3 or higher and an
x86_64-compatible processor (32-bit compatibility package is required)
Ø Solaris 7, 8, 9, 10 and an UltraSPARC processor
最新版本 目前C++test的最新版本號是:Parasoft C++ Test 9.6