如果對自動化完全不了解,每天在那嚷嚷要做自動化,都是空喊。

所以想做自動化,首先得了解一下自動化測試的一些常見問題。

1. 什麼是自動化測試?

自動化測試,顧名思義,自動完成測試工作。

通過一些自動化測試工具或自己造輪子實現模擬之前人工點點/寫寫的工作並驗證其結果完成整個測試過程,這樣的測試過程,便是自動化測試。

因為每一個自動化測試的case都是從手工測試做起的,所以自動化測試的基礎是手工測試。

2. 為什麼要進行自動化測試

1)自動化測試節約成本(根據項目)

2)有些測試項目手工很難實現(手工成本較高)

3)項目質量流程需要

3、自動化測試的優勢及劣勢

優勢:回歸測試更方便可靠;可運行更多,更繁瑣的測試,且快速高效;可執行一些手工測試執行相當困難或者做不到的測試,如大量的用戶並發;更好的利用資源,具有一致性和可重複性的特點,自動化測試腳本完全可復用;提升了軟體的可信度;多環境下測試等。

劣勢:維護成本相對比較高

系統開發時間不一定能縮短

還是得依賴手工測試,很多問題無法發現

4、自動化測試分類

按測試目的分類大致可劃分為:功能自動化測試,性能自動化測試

按測試對象可以劃分為:Web應用測試,APP測試,介面測試,單元測試等

功能自動化

測試目的是發現軟體中實現功能是否符合用戶需求規格,實踐證明,往往我們實施UI自動化測試的目的不是去發現軟體系統中的缺陷,更多的是為了驗證系統是否可以正常運行。

除了可以基於UI進行自動化測試,我們還可以基於網路服務介面提供者進行測試,基於介面進行功能測試較為常見,也是非常有效的手段。

另外還可以基於系統基礎代碼進行測試,比如單元測試,集成測試階段,這一階段的測試也稱白盒測試,我們可以直接對DAO,Service服務進行測試,這裡常用的測試技術包括Junit, TestNG, Mock, Stub等。

性能自動化

性能自動化測試是通過測試工具模擬高並發負載進行壓力測試,以發現軟體系統在高負載情況下運行瓶頸,包括應用程序本身的性能瓶頸,網路瓶頸,伺服器硬體資源瓶頸,數據存儲伺服器等,通常唯有藉助自動化測試工具來完成,常見的性能測試工具包括,Loadrunner, Jmeter, Ngrinder, Gatling等,不管哪一款測試工具,基本有三大部分組成:測試腳本管理,測試場景配置,監控結果。

與功能自動化類似的是,性能測試工作對象也可以面向用戶UI層,或者服務介面提供方,甚至可以直接面向底層基礎業務邏輯層,絕大多數通過用戶層進行性能測試模擬的是最接近真實用戶場景的測試,也是性能測試必然實施的階段。

5、自動化測試的流程

6、自動化測試常用工具

下面我簡要的羅列常見的測試,以及適合其最佳的測試工具。

性能測試工具:Loadrunner,Jmeter,Ngrinder,Gatling,每款測試工具存在一定的差異及其局限性,可以參考相關文檔詳細了解。

功能測試工具: Selenium, QTP

APP自動化測試工具:Appium, UI Automator, MonkeyRunner, Android UI測試推薦使用UI Automator, 是Android提供的自動化測試框架,基本上支持所有的Android事件操作。IOS應用程序可以選擇使用Appium。

介面自動化測試工具:Junit,TestNG, OKhttp, HttpClient,Spring Restful等,需要有一定的編碼經驗,當然也有現 成的工具,比如Postman,HttpRequester,SoapUI等。

單元測試工具:Junit, TestNG, EasyMock, Mockito, JMockit等


題主你好。

其實自動化測試沒有想像那麼難。雖然需要一部分代碼開發的技術,但是僅僅只要實現測試方面的技術和技巧就好。

如果想要入行,下面的看一篇文章:如果覺得沒有問題,就可以入行繼續努力學習:

測試凱哥:軟體測試工程師面試如何描述自動化測試是怎麼實現的??

zhuanlan.zhihu.com圖標

看完後如果有什麼其他問題,可以和凱哥詳細私聊溝通哦


推薦閱讀:
相关文章