軟件測試常用工具總結(測試管理、單元測試、接口測試、自動化測試、性能測試、負載測試...)


在軟件測試的過程中,多多少少都是會接觸到一些測試工具,作為輔助測試用的,以提高測試工作的效率,使用好了測試工具,能對測試起到一個很好的作用,同時,有些公司,也會要求掌握一些測試工具,或者,是在面試時,也會被問到測試工具的,比如,在面試時,最常見的問題便是,你在測試時,用的是什么測試工具?或者,要做性能測試時,要用什么測試工具進行測試會比較好?等等問題。

作為測試人員,了解下現在有哪些工具可以用,這些工具是運用在什么方面的,然后,選擇幾個較為主流的測試工具,深入研究,並且運用它們,對於提高測試技能,是很有必要的。

一、測試管理工具

軟件測試活動開展過程中,將會涉及到大量的測試活動管理及資源文檔管理,因此,擁有一個完善、有效的測試管理工具,將會給軟件測試工作帶來事半功倍的效果。目前業內應用較為廣泛的兩款測試管理工具,分別是HP的Application Lifecycle Management(簡稱ALM)和國內開源的項目管理軟件-禪道。

1、ALM

ALM,全稱Application Lifecycle Management,應用程序生命周期管理軟件,顧名思義,該產品用於軟件研發活動的整個生命周期管理。有HP公司生產,其早期版本分別是Test Direct及Quality Center。

2、禪道

禪道是國內第一款開源的項目管理軟件,集產品管理、項目管理、質量管理、文檔管理、組織管理和事務管理於一體,是一款功能完備的項目管理軟件,完美地覆蓋了項目管理的核心流程。

測試工程師在禪道平台更多應用的是“測試”模塊,測試模塊中包括用例、用例庫、Bug、報告等功能,與ALM類似,從需求分析、用例設計、用例執行、缺陷管理、報告輸出完整實現了軟件測試流程管理。

3、SVN

SVN是一個開源的集中式版本控制系統,是常用的代碼和項目管理工具。簡而言之就是用於多個人共同開發同一個項目,實現共享資源,實現最終集中式的管理。可以把SVN理解為一個庫,里面存放各種文件,SVN給每個文件打上標簽,記錄文件的每次變動,方便你查找、獲取最新的文件。

4、git

git和SVN的功能很像,但不同的是,SVN是集中式的,必須聯網才能正常工作。而git是分布式的,所以git支持離線工作,分支管理比SVN好用。但是git的命令繁多且復雜,沒有SVN簡單易用。

 

二、單元測試工具

軟件測試理論中有一個觀點:單元測試大約能發現80%的缺陷。意味着如果在單元測試階段投入更多的精力,則可最大程度的降低軟件系統中的缺陷。

由於目前大多數企業級應用開發語言基本都是Java,故而行業內應用較多的單元測試工具為Junit及TestNG。

1. JUnit

傳統的單元測試,需要針對被測對象再重新編寫調用斷言程序,從而驗證被測函數或類的正確性,項目規模小的時候測試人員尚能承受,隨着項目的不斷復雜化,工作量呈數量級增加,測試人員需要投入更多的精力,而企業也需要投入更多的成本,而Junit的出現,解決了之前的一切問題,使得單元測試變得非常簡單,易於實施。

2.TestNG

TestNG與JUnit一樣,屬於Java語言中的一個測試框架,TestNG與JUnit相比功能更為強大,JUnit目前僅能實現單元測試,並且在編程語法上具有一定的局限性,而TestNG更為簡潔,同時支持多組測試Case及更多的測試應用,如功能測試、自動化測試等。

 

三、接口測試工具

系統間接口,通常可以利用為兩個不同的系統間,如第三方登錄、第三方支付等。這類接口測試相對較難,需要提供較為完善的接口文檔。目前業內主流接口測試工具主要有Jmeter、Postman、soapUI等幾種,本節介紹相對常用的Jmeter及Postman。

1、Jmeter

Jmeter,是Apache組織開發的基於Java語言的壓力/負載測試工具。與LoadRunner一樣,用於對軟件做壓力/負載測試,隨着應用范圍的不斷擴大及功能不斷升級,越來越多的測試人員利用Jeter實施接口自動化測試。Jmeter提供斷言功能,便於測試人員開發腳本驗證被測對象的返回結果是否與預期結果一致。

Jmeter除了可以實現接口功能測試之外,實際上它的主營業務是負載測試。通過設置線程池、參數化、關聯等類似於LoadRunner的策略設置后,同樣可以實現性能測試。

2、Postman

對於沒有UI界面,純粹是數據傳遞或業務邏輯處理的接口API時,利用Postman也是個不錯的選擇。

Postman在測試App接口方面具有一定的優勢,App應用開發初期可能涉及大量的接口數據處理,可利用Postman快速構建請求,設置驗證點,在Test模塊中實現返回結果與預期結果的比較,從而實現測試目的。

 

四、自動化測試工具

自動化測試,利用自動化測試工具,通過錄制/編程方式實現測試活動,發現被測對象存在的缺陷,從而替代手工測試活動。自動化測試不局限於某個具體測試階段,也不局限被測對象的類型,只要滿足自動化測試的必要條件即可實施。

根據被測系統的結構形式,目前業內主要有兩款開源的基於UI層面的自動化測試工具應用較為廣泛,一是測試Web結構的Selenium,二是測試移動應用結構的Appium。

1、Selenium

Selenium直接運行於瀏覽器中,更真實的模擬了用戶的業務行為,驗證被測對象的功能表現及在不同瀏覽器中的兼容性特性。與傳統的自動化測試工具不同,Selenium沒有獨立的操作UI界面,支持更多的編程語言,如Java、Python等,更為簡潔與快捷,易於測試工程師掌握應用。

Selenium實際上不是一個測試工具,而是一個工具集,其主要由三個核心組件構成:Selenium IDE、Selenium RC(Remote Control )及Selenium Grid。

2、Appium

Selenium是目前業內應用較多的Web自動化測試工具,而開源的移動應用自動化測試工具,則多采用Appium。

Appium是一個開源、跨平台的測試框架,可以用來測試原生及混合的移動端應用。Appium支持OS、Android。Appium使用WebDriver的json wire協議,驅動Apple系統的UIAutomation庫及Android系統的UIAutomator框架。

3、Fiddler

Fiddler是一個常用的抓包工具。它是用C#寫出來的,可以支持眾多的http調試任務,並且能夠使用.net語言進行擴展。Fiddler支持斷點試技術,還可以顯示所有的Http通訊,你可以很輕松地看到你請求的某個頁面,總共被請求了多少次,以及多少字節被轉換了。同類型的工具還有 httpwatch,wireshark等等。


五、性能測試工具

1、LoadRunner

LoadRunner是一種評測軟件系統性能的負載/壓力測試工具。測試工程師利用該工具模擬成千上萬個終端用戶實施並發負載查找問題,並利用其自帶的Analysis模塊進行確認問題。LoadRunner適用於各種體系架構的軟件系統性能測試,利用LoadRunner能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。

2、JMeter

Jmeter和Loadrunner區別是,一個是開源免費,一個是收費,不開源。但是Loadrunner比Jmeter更加穩定,數據監控的報表也比Jmeter豐富。還有LoadRunner的IP欺騙功能可以更好地模擬實際用戶場景。

 

六、負載測試工具

Load Ninja 

是一個性能和負載測試框架,用於診斷 API 和 UI 性能問題。LoadNinja 具有內置的 TrueLoad 技術,與傳統的按協議進行的性能測試相比,該技術可使測試終端用戶體驗的速度提高 60%。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM