功能概要:SilkTest 是面向Web應用、Java應用和傳統的C/S應用,進行自動化的功能測試和回歸測試的工具。它提供了用于測試的創建和定制的工作流設置、測試計劃和管理、直接的數據庫訪問及校驗等功能,使用戶能夠高效率地進行軟件自動化測試。為提高測試效率,SilkTest提供多種手段來提高測試的自動化程度,包括:從測試腳本的生成、測試數據的組織、測試過程的自動化、測試結果的分析等方面。在測試腳本的生成過程中,SilkTest通過動態錄制技術,錄制用戶的操作過程,快速生成測試腳本。在測試過程中,SilkTest還提供了獨有的恢復系統(Recovery System),允許測試可在24×7×365全天候無人看管條件下運行。在測試過程中一些錯誤導致被測應用崩潰時,錯誤可被發現并記錄下來,之后,被測應用可以被恢復到它原來的基本狀態,以便進行下一個測試用例的測試。
功能概要:SilkPlan Pro 是一個完整的測試管理軟件,用于測試的計劃管理、文檔管理和各種測試行為的管理,能夠跨越應用的全部生命周期,從早期的計劃階段直至測試設計都自動安排和執行。它包括需求的檢查及確認,測試執行的安排和產品是否具備發布條件的評估的報告功能。此外,還提供了基于Web的自動測試功能。在軟件開發的過程中,SilkPlan Pro可以使測試過程自動化。 SilkPlan Pro 為所有的自動化測試用例提供了基于Web的管理。
功能概要:SilkPerformer 是一種在工業領域最高級的企業級負載測試工具。它可以模仿成千上萬的用戶工作在多協議和多計算的環境下。利用SilkPerformer 可以在企業電子商務應用部署前預測它的性能,不管它的大小和復雜性。可視的用戶化界面、實時的性能監控和強大的管理報告可以幫助用戶迅速地解決問題。SilkPerformer 提供了在廣泛的、多樣的狀況下對電子商務應用進行彈性負載測試的能力,通過TrueScale 技術,SilkPerformer 可以從一臺單獨的電腦上模擬成千上萬的并發用戶,在使用最小限度的硬件資源的情況下,提供所需的可視化結果確認的功能。在獨立的負載測試中,SilkPerformer 允許用戶在多協議多計算環境下工作,并可以精確地模擬瀏覽器與Web應用的交互作用。 SilkPerformer 的TrueLog 技術提供了完全可視化的原因分析技術。通過這種技術可以對測試過程中用戶產生和接收的數據進行可視化處理,包括全部嵌入的對象和協議頭信息,從而進行可視化分析,甚至在應用出現錯誤時都可以進行問題定位與分析。
功能概要:提供基于活動的變更和缺陷跟蹤。以靈活的工作流管理所有類型的變更要求,包括缺陷、改進、問題和文檔變更。能夠方便地定制缺陷和變更請求的字段、流程、用戶界面、查詢、圖表和報告。開箱即用特性提供了預定義的配置和自動電子郵件通知和提交。 與 Rational ClearCase 一起提供完整的 SCM 解決方案。提供基于活動的變更和缺陷跟蹤。 以靈活的工作流管理所有類型的變更要求,包括缺陷、改進、問題和文檔變更。 能夠方便地定制缺陷和變更請求的字段、流程、用戶界面、查詢、圖表和報告。 開箱即用特性提供了預定義的配置和自動電子郵件通知和提交。 與 Rational ClearCase 一起提供完整的 SCM 解決方案。 擁有“設計一次,到處部署”的能力,從而可以自動改變任何客戶端界面(Windows、Linux、UNIX 和 Web)。 可與 IBM WebSphereStudio、Eclipse 和 Microsoft .NET IDE 進行緊密集成,從而可以即時訪問變更信息。 支持統一變更管理,以提供經過驗證的變更管理過程支持。 易于擴展,因此無論開發項目的團隊規模、地點和平臺如何,均可提供良好支持。
隨著軟件測試的地位逐步提高,測試的重要性逐步顯現,測試工具的應用已經成為了普遍的趨勢。目前用于測試的工具已經比較多了,測試工具的應用可以提高測試的質量、測試的效率、減少測試過程中的重復勞動、實現測試自動化,這些測試工具一般可分為白盒測試工具、黑盒測試工具、性能測試工具,另外還有用于測試管理的工具,本文對常用的測試工具作一個分析比較。
白盒測試工具一般是針對代碼進行測試,測試中發現的缺陷可以定位到代碼級,根據測試工具原理的不同,又可以分為靜態測試工具和動態測試工具。靜態測試工具直接對代碼進行分析,不需要運行代碼,也不需要對代碼編譯鏈接,生成可執行文件。靜態測試工具一般是對代碼進行語法掃描,找出不符合編碼規范的地方,根據某種質量模型評價代碼的質量,生成系統的調用關系圖等;動態測試工具與靜態測試工具不同,動態測試工具的一般采用“插樁”的方式,向代碼生成的可執行文件中插入一些監測代碼,用來統計程序運行時的數據。其與靜態測試工具最大的不同就是動態測試工具要求被測系統實際運行。
Jcontract在系統級驗證類/部件是否正確工作并被正確使用。Jcontract 是個獨立工具,在功能上是Jtest 的補充。可以用Jcontract插裝按DbC注解的Java代碼。當您將類/部件組裝成系統時,Jcontract 在運行時監視并報告錯用和功能性問題。Jcontract 幫助每個開發人員有效地考核類/部件的系統級行為。
C++Test可以幫助開發人員防止軟件錯誤,保證代碼的健全性、可靠性、可維護性和可移植性。 C++Test自動測試C和C++類、函數或組件,而無需編寫單個測試實例、測試驅動程序或樁調用。 (4) CodeWizard
Insure++是一個基于C/C++的自動化的內存錯誤、內存泄漏的精確檢測工具。 Insure++能夠可視化實時內存操作,準確檢測出內存泄漏產生的根源。Insure++還能執行覆蓋性分析,清楚地指示那些代碼已經測試過。
(6) .test .TEST是專為.NET開發而推出的使用方便的自動化單元級測試與靜態分析工具。使用超過2002條的工業標準代碼規則對所寫代碼自動執行靜態分析。這些規則立即應用.NET 工業專家深入、全面的編程知識到你的代碼當中,迅速、徹底地防止錯誤的出現。自動測試代碼構造與功能。 .TEST非常智能。他能提取剛完成的代碼,對其進行讀取,并提出如何對這些代碼進行單元測試,不需要任何的人為干涉。所有由.TEST產生的單元測試都
(7) BoundsChecker
BoundsChecker Visual C++ Edition 是針對 Visual C++開發人員的首選的運行時的錯誤檢測和調試工具。它通過駐留在 Visual C++ 開發環境內部的自動調試處理程序來加速應用程序的開發,縮短產品發布的時間。BoundsChecker 對于編程中的錯誤,大多數是 C++中特有的提供了清晰的詳細的分析。它能夠檢測和診斷出在靜態,堆棧內存中的錯誤以及內存和資源泄漏問題。在運行狀態下,BoundsChecker 驗證超過 8,700 APIs 和 OLE 方法,包括最新的 Windows APIs, ODBC, ActiveX,DirectX, COM 和 Internet APIs。
(8) TrueTime
代碼運行緩慢是開發過程中一個重要問題。一個應用程序運行速度較慢,程序員不容易找到 到底是在哪里出現了問題,如果不能解決應用程序的性能將降低并極大的影響應用程序的質量,于是查找和修改性能瓶頸是調整整個代碼性能的關鍵。如何快速的查找性能瓶頸呢?TrueTime 的出現就使這個問題變得很容易了。當我們在測試程序時,每完成一次應用話路,TrueTime 都能提供這次對話中函數的調用時間,提供詳細的應用程序和組件性能的分析,并自動定位到運行緩慢的代碼。這樣就能幫助程序員盡快地調整應用程序的性能。TrueTime 支持C++, JAVA, Visual Basic語言環境。
(9) FailSafe FailSafe
是Visual Basic語言環境下的自動錯誤處理和恢復工具,FailSafe將插入額外的代碼對你的程序進行插裝,當程序執行時,FailSafe通過這些插裝的代碼捕獲、記錄錯誤信息。
(10) Jcheck Jcheck
是DevPartner Studio開發調試工具的一個組件,他使用事件調試技術,可以收集Java程序運行中準確的實時信息。我們在Java程序中經常要使用線程,而關于線程的常見錯誤有死鎖、系統崩潰、同步問題等。JCheck 通過監視和分析當前內存中所有線程的運行狀況,找到出錯的根源,并且可以定位到具體是程序中的哪個方法出錯,錯誤位于程序的哪一行。
(11) TrueCoverage
TrueCoverage是一個代碼覆蓋率統計工具,在開發過程中,對一個應用程序通過手工測試,總會有一部分代碼功能沒有被檢測到,或者說逐個檢測每一個函數的調用是相當費時間的;未被檢測的代碼我們不能保證它的可靠性,以后程序的失敗可能往往就是由這部分未檢測的代碼造成的。 現在我們可以用TrueCoverage 來幫助我們解決這些問題,我們在測試程序時,每完成一次應用話路,TrueCoverage 就能夠列出在這次對話中所有函數被調用次數、所占比率等,并可以直接定位到源代碼,當然我們也可以合并多個應用話路來進行檢測。所以說TrueCoverage 能通過衡量和跟蹤代碼執行及代碼穩定性,幫助開發團隊節省時間和改善代碼可靠性。TrueCoverage支持C++, JAVA,Visual Basic語言環境。
(12) SmartCheck
SmartCheck 是針對 Visual Basic的主要的自動錯誤檢測和調試工具。它能夠自動檢測和診斷 VB運行時的錯誤,并將一些表達不清楚的錯誤信息轉換為確切的錯誤描述。它的EventDebugging 特性為 Visual Basic開發小組和獨立的開發人員解決最棘手的問題提供了簡便的方法。它可以進行致命錯誤的分析、兼容性檢查、定位到源代碼。 不是 Visual Basic 中所有的問題都是運行時或系統的錯誤。許多的問題來自于未預期的程序流程的結果。如果沒有 EventDebugging,將問題分離出來是相當困難,甚至不可能的。當簡單的動作比如設置控件的屬性發生時,會觸發一些編程人員想象不到的事件的發生,從而使的錯誤檢測和調試邊的更加復雜。SmartCheck 顯示使用時的屬性,方法和事件以便于將這些事件驅動的問題隔離出來。SmartCheck EventDebugging 跟蹤事件以簡化錯誤的定位。舉個例子,SmartCheck 在事件被設置或只讀時將其方法和屬性全部顯示,連同由這些事件觸發的形式。
(13) CodeReview
對于Visual Basic開發人員來說,CodeReview是最好的自動源代碼分析工具,它對應用程序的組件、邏輯、Windows和Vb自身潛在的數百個問題進行嚴格地源代碼檢查。CodeReview分析的類型包括Y2K 問題,邏輯錯誤,應用程序性能和可用性問題,Windows API調用和標準一致性問題等。可以檢測整個的VB工程或指定的模塊,并能定制檢錯的種類;對檢測的結果有詳細的說明,提供幫助和推薦解決方案,而且能夠直接的鏈接到源代碼。CodeReview 系統還提供了兩個子模塊,一個是Metrics:通過對VB工程(vbp)的執行,計算出代碼的長度、復雜度、理解度、語言的使用等級、出錯的可能性等數據;另一個是Namer:它調用一個VB工程,自動并規則地對其中的對象重新命名,并備份原來沒有規則命名的工程文件,使開發人員對程序能夠有條理地管理。
2、黑盒測試工具
黑盒測試工具適用于黑盒測試的場合,黑盒測試工具包括功能測試工具和性能測試工具。黑盒測試工具的一般原理是利用腳本的錄制(Record)/回放(Playback),模擬用戶的操作,然后將被測系統的輸出記錄下來同預先給定的標準結果比較。黑盒測試工具可以大大減輕黑盒測試的工作量,在迭代開發的過程中,能夠很好地進行回歸測試。
(1) WinRunner
Mercury Interactive 公司的WinRunner 是一種企業級的功能測試工具,用于檢測應用程序是否能夠達到預期的功能及正常運行。通過自動錄制、檢測和回放用戶的應用操作,WinRunner能夠有效地幫助測試人員對復雜的企業級應用的不同發布版進行測試,提高測試人員的工作效率和質量,確保跨平臺的、復雜的企業級應用無故障發布及長期穩定運行。 企業級應用可能包括Web 應用系統,ERP 系統,CRM 系統等等。這些系統在發布之前,升級之后都要經過測試,確保所有功能都能正常運行,沒有任何錯誤。如何有效地測試不斷升級更新且不同環境的應用系統,是每個公司都會面臨的問題。如果時間或資源有限,這個問題會更加棘手。人工測試的工作量太大,還要額外的時間來培訓新的測試人員等等。為了確保那些復雜的企業級應用在不同環境下都能正常可靠地運行,你需要一個能簡單操作的測試工具來自動完成應用程序的功能性測試,WinRunner能夠做到這點。
(2) Astra Quicktest 4
(3) Robot Robot是IBM Rational公司的功能測試工具,通過Script 自動模擬輸入輸出。
(4) QARun QARun
Compuware 公司的軟件功能測試工具,為客戶/服務器、電子商務到企業資源_____計劃提供重要的商務功能測試。通過將耗時的測試腳本開發和執行任務自動化,QARun 幫助測試人員和QA管理人員更有效地工作,以加速應用開發,它提供快速、有效地創建和執行測試腳本,驗證測試并分析測試結果的功能。它能夠通過加快運行周期來保持測試同步,提高測試投資回報和質量,該工具的功能有:創建測試和執行測試、測試驗證、測試結果分析、可改進的數據函數、廣泛的支持、集中式知識庫、網站分析、智能化測試腳本、自動同步。
(5) SilkTest SilkTest International
Segue公司的標準的、面向多語種企業級應用的功能和回歸測試工具。讓用戶能跨語種、跨平臺和跨Web瀏覽器,高效率地進行各種類型的應用可靠性測試。
(6) e-Test e-Test 是Empirix公司的軟件功能測試工具,功能很強大,由于不是采用Post URL的方式回放腳本,所以可以支持多內碼的測試數據(當然要程序支持)。基本上可以應付大部分的Web Site。
(7) WAS Microsoft的Web Application Stress Tool(WAS,Web應用負載測試工具)是Microsoft的可以免費下載的軟件性能測試工具。WAS要求Windows NT 4.0 SP4或者更高,或者Windows 2000。 為了對網站進行負載測試,WAS 可以通過一臺或者多臺客戶機模擬大量用戶的活動。WAS 支持身份驗證、加密和Cookies,也能夠模擬各種瀏覽器類型和Modem速度,它的功能和性能可以與數萬美元的產品相媲美。WAS 只能用于B/S構架的軟件性能測試。
(8) LoadRunner
LoadRunner是MI公司的預測系統行為和性能的負載測試工具,它通過以模擬上千萬用戶實施并發負載及實時性能監測的方式來確認和查找問題。LoadRunner 是一種適用于各種體系架構的自動負載測試工具,它能預測系統行為并優化系統性能。LoadRunner 的測試對象是整個企業的系統,它通過模擬實際用戶的操作行為和實行實時性能監測,來幫助您更快的查找和發現問題,LoadRunner 能支持廣范的協議和技術。
(9) Qaload
QALoad是Compuware公司開發的并發性能壓力測試工具。軟件針對各種測試目標提供了MS SQLServer、 Oracle、ODBC、WWW、NetLoad、Winsock 等不同的測試接口(Session),應用范圍相當廣泛。例如在測試基于C/S運行模式、客戶端通過DBLib訪問服務器端SQLServer數據庫的系統時,QALoad 通過模擬客戶端大數據量并發對服務器端進行查詢、更新等操作,從而達到監控系統并 發性能和服務器端性能指標的目的。
(10) Webload
Webload 是RadView 公司推出的一個性能測試和分析工具,它讓web 應用程序開發者自動執行壓力測試;webload 通過模擬真實用戶的操作,生成壓力負載來測試web 的性能用戶創建的是基于javascript的測試腳本,稱為議程agenda,用它來模擬客戶的行為,通過執行該腳本來衡量web應用程序在真實環境下的性能。 5webload 提供巡航控制器cruise control的功能,利用巡航控制器,可以預定義web 應用程序應該滿足的性能指標,然后測試系統是否滿足這些需求指標;cruise control 能夠自動把負載加到web應用程序,并將在此負荷下能夠訪問程序的客戶數量生成報告,webload能夠在測試會話執行期間對監測的系統性能生成實時的報告,這些測試結果通過一個易讀的圖形界面顯示出來,并可以導出到excel和其他文件里。
(11) Silkperformer
SilkPerformer 是業界最先進的企業級負載測試工具,和Loadrunner 是同種類型的測試工具。它能夠模擬成千上萬的用戶在多協議和多種計算環境下工作。SilkPerformer 可以讓你在使用前,就能夠預測企業電子商務環境的行為—不受電子商務應用規模和復雜性影響。可視化的用戶化、負載條件下可視化的內容校驗、實時的性能監視和強大的管理報告可以幫助您迅速將問題隔離,這樣,通過最小化測試周期、優化性能以及確保可伸縮性,加快了投入市場的時間,并保證了系統的可靠性。
(12) OpenSTA
OpenSTA 是專用于B/S 構架的、免費的性能測試工具。它的優點除了免費、源代碼開放的優點外,還能對錄制的測試腳本進行,按指定的語法進行編輯。測試工程師在錄制完測試腳本后,只需要了解該腳本語言的特定語法知識,就可以對測試腳本進行編輯,以便于再次執行性能測試時獲得所需要的參數,之后進行特定的性能指標分析。OpenSTA以最簡單的方式讓大家對性能測試的原理有較深的了解,其較為豐富的圖形化測試結果大大提高了測試報告的可閱讀性。
3、其他測試工具
除了上述的測試工具外,還有一些專用的測試工具,例如,針對數據庫測試的TestBytes,對應用性能進行優化的EcoScope等工具。
4、測試管理工具
測試管理工具用于對測試進行管理。一般而言,測試管理工具對測試計劃、測試用例、測試實施進行管理,并且,測試管理工具還包括對缺陷的跟蹤管理。