工欲善其事,必先利其器,高效開展軟件測試活動,除了測試工程師工作中認(rèn)真敬業(yè)之外,還應(yīng)有優(yōu)秀的測試工具輔助其工作。測試工具能提高測試效率,輔助實(shí)現(xiàn)測試目標(biāo),提升個人的技能。

下面簡單介紹一下目前業(yè)內(nèi)常用的測試工具:

01 、測試管理工具

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

1. ALM

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

2. 禪道

禪道是國內(nèi)第一款開源的項目管理軟件,集產(chǎn)品管理、項目管理、質(zhì)量管理、文檔管理、組織管理和事務(wù)管理于一體,是一款功能完備的項目管理軟件,完美地覆蓋了項目管理的核心流程,如圖1所示。

軟件測試工程師都在用哪些測試工具?

圖1

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

02、 單元測試工具

軟件測試?yán)碚撝杏幸粋€觀點(diǎn):單元測試大約能發(fā)現(xiàn)80%的缺陷。意味著如果在單元測試階段投入更多的精力,則可最大程度的降低軟件系統(tǒng)中的缺陷。

由于目前大多數(shù)企業(yè)級應(yīng)用開發(fā)語言基本都是Java,故而行業(yè)內(nèi)應(yīng)用較多的單元測試工具為Junit及TestNG。

1. JUnit

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

2.TestNG

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

03、 接口測試工具

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

1. Jmeter

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

Jmeter除了可以實(shí)現(xiàn)接口功能測試之外,實(shí)際上它的主營業(yè)務(wù)是負(fù)載測試。通過設(shè)置線程池、參數(shù)化、關(guān)聯(lián)等類似于LoadRunner的策略設(shè)置后,同樣可以實(shí)現(xiàn)性能測試。

2. Postman

對于沒有UI界面,純粹是數(shù)據(jù)傳遞或業(yè)務(wù)邏輯處理的接口API時,利用Postman也是個不錯的選擇。

Postman在測試App接口方面具有一定的優(yōu)勢,App應(yīng)用開發(fā)初期可能涉及大量的接口數(shù)據(jù)處理,可利用Postman快速構(gòu)建請求,設(shè)置驗證點(diǎn),在Test模塊中實(shí)現(xiàn)返回結(jié)果與預(yù)期結(jié)果的比較,從而實(shí)現(xiàn)測試目的。

04、自動化測試工具

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

根據(jù)被測系統(tǒng)的結(jié)構(gòu)形式,目前業(yè)內(nèi)主要有兩款開源的基于UI層面的自動化測試工具應(yīng)用較為廣泛,一是測試Web結(jié)構(gòu)的Selenium,二是測試移動應(yīng)用結(jié)構(gòu)的Appium。

1. Selenium

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

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

2. Appium

Selenium是目前業(yè)內(nèi)應(yīng)用較多的Web自動化測試工具,而開源的移動應(yīng)用自動化測試工具,則多采用Appium。

Appium是一個開源、跨平臺的測試框架,可以用來測試原生及混合的移動端應(yīng)用。Appium支持OS、Android。Appium使用WebDriver的json wire協(xié)議,驅(qū)動Apple系統(tǒng)的UIAutomation庫及Android系統(tǒng)的UIAutomator框架。

05、性能測試工具

1 .LoadRunner

LoadRunner是一種評測軟件系統(tǒng)性能的負(fù)載/壓力測試工具。測試工程師利用該工具模擬成千上萬個終端用戶實(shí)施并發(fā)負(fù)載查找問題,并利用其自帶的Analysis模塊進(jìn)行確認(rèn)問題。LoadRunner適用于各種體系架構(gòu)的軟件系統(tǒng)性能測試,利用LoadRunner能最大限度地縮短測試時間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。