在軟體測驗的程序中,多多少少都是會接觸到一些測驗工具,作為輔助測驗用的,以提高測驗作業的效率,使用好了測驗工具,能對測驗起到一個很好的作用,同時,有些公司,也會要求掌握一些測驗工具,或者,是在面試時,也會被問到測驗工具的,比如,在面試時,最常見的問題便是,你在測驗時,用的是什么測驗工具?或者,要做性能測驗時,要用什么測驗工具進行測驗會比較好?等等問題,
作為測驗人員,了解下現在有哪些工具可以用,這些工具是運用在什么方面的,然后,選擇幾個較為主流的測驗工具,深入研究,并且運用它們,對于提高測驗技能,是很有必要的,
一、測驗管理工具
軟體測驗活動開展程序中,將會涉及到大量的測驗活動管理及資源檔案管理,因此,擁有一個完善、有效的測驗管理工具,將會給軟體測驗作業帶來事半功倍的效果,目前業內應用較為廣泛的兩款測驗管理工具,分別是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%,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/315963.html
標籤:其他
