(每個工具的實際使用都可做一大篇
文章,這邊僅簡要介紹,不包含具體使用)
1、Web開發調試工具
技術沒有所謂的開發及測試的界限,工具亦是。Web開發調試工具怎可僅被開發使用,這些工具也是測試工程師的利器(此類工具的掌握可說是Web測試工作者必備的基本技能)。
瀏覽器調試
如今各種瀏覽器泛濫,但從內核上而言,瀏覽器的種類可分為IE內核、
谷歌內核(Webkit)、火狐內核;還有IE內核+Webkit內核,即雙核的瀏覽器。比如傲游瀏覽器、
360極速瀏覽器、搜狗高速瀏覽器等。所以,針對Web端B/S測試(網站or網頁應用等),主要會在IE、Chrome、FireFox這三個典型的瀏覽器上進行測試。下面就這三個瀏覽器的開發者調試工具或插件做下簡單的介紹。
(三者的基礎功能和使用方式大同小異,熟悉前端及網絡技術就能較易學會其用法。)
IE —— F12開發人員工具
IE自帶的F12開發者工具,可說是IE的良心之作。無論是調整HTML&CSS、JS調試,還是網絡抓包,
性能測試,甚至是查找內存泄漏,都能在F12開發者工具中找到相應的使用方式。
具體的使用不細說了,值得一提的是,仿真一欄里,可模擬IE的各個版本,如本身是IE11,仿真就提供了IE10、9、8、7等文檔的仿真。雖說和真實版本的IE瀏覽器仍可能有差異,但為多版本IE兼容性測試提供了幫助及參考。
Chrome —— 開發者工具
Chrome可說是程序猿們最愛用的瀏覽器,其自帶的開發者工具自然也是最常用的。
Chrome 開發者工具是公認的優秀的前端調試工具,只是 Chrome DevTools暫時沒有中文手冊,如英文有困難的可參考這個Github項目:Chrome 開發者工具中文手冊。
簡單使用可可以參考這篇(
Chrome瀏覽器開發者工具)
FireFox —— FireBug 插件
FireFox也有自帶的開發者工具,只是FireBug插件更為出色,故推薦使用。
此外,有不少基於Firebug上的優秀插件及擴展(如 YSlow、PageSpeed、FireFinder等)
三者比較
如對以上三種工具進行對比,個人觀點可能有失偏駁,畢竟Chrome用的比較多。自用經驗:界面Chrome更好用,JS調試上Firebug更方便,IE用於IE版本的兼容測試。可參考此知乎回答: Firebug 和 Chrome 自帶的開發人員工具相比起來有哪些優缺點?
2、UI自動化測試
說到
軟件測試工具,很多人第一反應會是
自動化測試工具。但其實工具只是輔助,重要的是對自動化的理解,什么情況下適合做自動化?自動化如何分層?對應的自動化測試原理又是什么?貌似有點扯遠了,但個人認為這點再怎么強調也不為過,會用自動化測試工具離真正意義上的自動化測試還差得遠呢
言歸正傳,再提自動化測試,很多人會想到模仿真人操作的自動化,對於Web測試,即UI自動化測試。如果早幾年,可能我會提到
QTP,但現在真心不推薦,如今用QTP的企業少之又少(類似
諾基亞如今的使用率),當然也不是說QTP不好(HP畢竟燒了那么多錢),缺點在於它過於龐大,且附加條件過多(正版License價格你懂的、且僅可VBS寫腳本)。
Selenium 是ThoughtWorks公司編寫的用於Web應用程序測試的工具。開源;支持多平台,
Linux、Windows、Mac;支持的多瀏覽器包括IE、Mozilla Firefox、
Google Chrome等。Selenium測試直接運行在瀏覽器中(WebDriver),就像真正的用戶在操作一樣,可進行一系列的系統
功能測試。官網:www.selenium.org (可能被牆。。)
Selenium的強大之處在於提供了諸多語言的開源框架,如 C#、Java、Pyhon、
Ruby、PHP等,若有這些開發語言的基礎,可較輕松地結合並定制出適合的測試框架(也需配合對應的
單元測試框架如NUnit、
JUnit、PyUnit等)
Selenium IDE
一個Firefox插件,可錄制回放,並可生成用例腳本(建議不要直接使用生成的腳本)。錄制回放功能對於需重復同樣操作的測試還是蠻方便的。
PhantomJS
PhantomJS 是一個基於 WebKit 的服務器端 JavaScript API。它全面支持web而不需瀏覽器支持,其快速,原生支持各種Web標准: DOM 處理, CSS 選擇器, JSON, Canvas, 和 SVG。 PhantomJS 可以用於頁面自動化, 網絡監測, 網頁截屏 ,以及無界面測試等。官網:http://phantomjs.org/
PhantomJS 是無界面測試,通俗來說就是不會起瀏覽器,這大大提高了運行的效率。
PhantomJS可結合Selenium一起使用,發揮更大效用,這也是筆者最近研究的一個方向。
3、接口(API)自動化測試
單獨對測試接口(API)是非常有必要且有成效的。之前介紹的Web調試工具能方便地截獲接口,可查看對應的Request及Response等,可Replay,可查看對應接口的響應時間,甚至可做接口的性能測試(Fiddler功能支持)。只是上述說的這些工具 ,並不能把接口保存下來,自動運行並做驗證。
自然,我們可以自寫接口的自動化測試腳本,各語言也有各種現成的開源框架,但若是不熟悉開發語言的測試者,同樣也有不少接口自動化測試工具可供使用,推薦fiddler、PostMan及SoapUI這兩個工具。
3.1Fiddler
Fiddler是最強大最好用的Web調試工具,沒有之一 (遺憾的是只能
Windows下使用)。官網: www.fiddler2.com
Fiddler能
記錄所有客戶端和服務器的http和https請求,允許監視,設置斷點,甚至修改輸入輸出數據,Fiddler包含了一個強大的基於事件腳本的子系統,並且能使用.net語言進行擴展。
對HTTP 協議越了解,就能越掌握Fiddler的使用方法;越使用Fiddler,就越能幫助你了解HTTP協議。
3.2.PostMan
Postman現在是一個Chrome
App(以前是Chrome的插件),官網:http://www.getpostman.com/ ;通過Chrome插件入口可輕松安裝Postman。
Postman的功能非常強大,能基本滿足接口的自動化需求(有些高級功能需收費),詳情 可參考這篇:基於Postman的API自動化測試。
3.3.SoapUI
SoapUI是一個開源測試工具,通過soap/http來檢查、調用、實現Web Service的功能/負載/符合性測試。官網:https://www.soapui.org/
SoapUI 用戶操作界面直觀、易用,而實際功能十分強大且可擴展。詳細使用可參考官網文檔:https://www.soapui.org/open-source.html
SoapUI 還提供了命令行工具,方便加入至任務調度,或作為構建過程中的一個組成部分。
4、性能測試
又有話說在前頭了,會用性能測試工具離真正意義上的性能測試差得遠得很!(還是那句話,工具只是輔助,要明白為何用、如何用、以及用好才是關鍵~)
略無奈的是,很多做性能測試是這樣的:公司說讓他們對系統做個性能測試,於是就從網上找了點
LoadRunner的使用說明並安裝(當然是破解版),目的就為出份報告。對於一些大公司的專業性能測試人員來說,這個很可笑,但這種情況是存在且普遍的,一些所謂的專做性能測試的外包也是這么忽悠的(碰到過的真事….)
4.1JMeter
Apache JMeter是Apache組織開發的基於Java的
壓力測試工具。用於對軟件做壓力測試,它最初被設計用於Web應用測試,但后來擴展到其他測試領域。
JMeter 可以用於對服務器、網絡或對象模擬巨大的負載,來在不同壓力類別下測試它們的強度和分析整體性能。
4.2LoadRunner
HP老牌的性能測試工具,不得不說功能及其強大。
LoadRunner,是一種預測系統行為和性能的負載測試工具。通過以模擬上千萬用戶實施並發負載及實時性能監測的方式來確認和查找問題,LoadRunner能夠對整個企業架構進行測試。企業使用LoadRunner能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。 LoadRunner可適用於各種體系架構的自動負載測試,能預測系統行為並評估系統性能。
擴展及引申
隨着Web應用越來越復雜,已有的測試工具往往已無法滿足需求,大企業往往進行自主研發對應的測試工具/平台
各種開源的測試框架為定制化測試工具或平台提供了基礎,如何活學活用將是測試工程師或測試開發工程師技術深造的一大方向(當然,全部是自己碼的代碼也無不可)。