最近幾天,由於工作需要接觸Web自動化測試,所以我從網上找的資料,學習了解,然后自己總結匯總的隨筆,如文章中有不足的地方,請大家多多指教;或者文章內容與他人相似,望見諒。
手工測試跟自動化測試區別:
手工測試:就是由人去一個一個輸入用例,然后觀察結果,和機器測試相對應,屬於比較原始但是必須的一個步驟。
自動化測試:自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試用例並通過評審之后,由測試人員根據測試用例中描述的規程一步步執行測試,得到實際結果與期望結果的比較。在此過程中,為了節省人力、時間或硬件資源,提高測試效率,便引入了自動化測試的概念。
適用場合:配置和兼容性測試、執行壓力測試,軟件維護時回歸測試。
自動化可以測試:崩潰、掛起、錯誤返回值、返回碼、 異常和內存使用。
優點:
- 可以運行更多更繁瑣的測試。自動化的一個明顯的好處是可以在較少的時間內運行更多的測試。
- 對程序的回歸測試更方便。 詳情說明 :回歸測試的動作和用例時完全設計好的,測試期望的結果也是完全可以預料的,將回歸測試自動運行,可以極大提高測試效率,縮短回歸測試時間。
- 可以執行一些手工測試困難或不可能進行的測試。詳情說明:自動化測試模擬同時有許多用戶,從而達到測試的目的
- 更好地利用資源。
- 測試具有一致性和可重復性。詳情說明:由於測試是自動執行,每次測試的結果和執行的內容一致性是可以得到保障的,從而達到測試的可重復的效果。
- 測試的復用性。詳情說明:由於自動測試通常采用腳本技術,領測認為這樣就有可能只需要做少量的甚至不做修改,實現在不同的測試過程中使用相同的用例。
- 增加軟件信任度。詳情說明:由於測試是自用執行的,所以不存在執行過程中的疏忽和錯誤,完全取決測試的設計質量。一旦軟件通過強有的自動測試后,軟件的信任度自然增加。
缺點:
- 不能取代手工測試,有很多需要人腦判斷結果的測試用例無法用自動工具實現,或者代價太大。
- 手工測試比自動測試發現的缺陷更多。
- 對測試質量的依賴性極大。
- 測試自動化提高有效性。
- 測試自動化可能會制約軟件開發。由於自動測試比手動測試更脆弱,所以維護會受到限制,從而制約軟件的開發。
自動化測試工具
web自動化測試工具:Selenium/Selenium Webdriver、watir
詳細說明: Selenium:是一個開源的自動化工具,目前是市場上最受歡迎和廣泛應用的工具。同時也是Web應用程序編寫的一個驗收測試工具,UI功能測試框架;它可以跨越多個操作系統像Windows,Mac和Linux以及瀏覽器,如Firefox,Chrome,IE。Selenium測試腳本可以用Java,C#,Python,Ruby,PHP,Prel和JavaScript等編程語言編寫。
Selenium IDE是一個用於Selenium腳本的集成開發環境,它以Firefox擴展形式實現,允許您記錄,編輯和調試測試,它支持錄制和播放,有記錄和回放功能。
Selenium IDE:測試的錄制;Selenium Remote Control:編寫及運行;Selenum Grid:測試並行處理;Selenum WebDriver:提供了各種語言環境的API來支持更多控制權和編寫符合標准軟件開發實踐的應用程序。
版本:3個版本,一個叫Selenium—core,Selenium—rc;Selenium—core是使用HTNL的方式編寫測試腳本,Selenium—rc是Selenium Remote Control簡稱,是具體語言來編寫測試類的;Selenium RC是Selenium1.0,Selenuim2.0以WebDriver為主,Selenium3.0去掉了Selenium RC,Selenium3.0支持Java 8以上。
個人理解:Selenium IDE作為Firefox上的插件,提供錄制功能;Selenium Remote Control 是一個客戶端/服務器,可以在本地或在其他電腦上控制Web瀏覽器,使用幾乎任何編程語言和測試框架,換言之是使用具體語言來編寫測試類;Selenium Grid可以遠程的控制到並在多個服務器上同時運行測試;Selenium WebDriver可以在本地或遠程計算機上驅動瀏覽器
性能自動化測試工具:loadrunner、QTP、Jmeter
Selenium 環境配置
Selenium官網:http://www.seleniumhq.org/download/
Selenium自動化測試
Selenium C#學習網址:http://toolsqa.com/selenium-c-sharp/
Selenium自動化測試學習網址:https://testingbot.com/support/getting-started/csharp.html
Watir自動測試
Watir:是一個使用Ruby實現的開源Web自動化測試框架,同時腳本也是Ruby的腳本,所以需要在本機安裝Ruby。
Watir學習網址:https://rubygems.org/gems/watir