學習自動化測試的一些感悟
這個話題比較大,相信大家也都有自己的想法,我在這裡寫一些我自己的看法,請大家指教。
1、什麼叫做自動化測試工程師?
首先,要會使用自動化測試工具;
接下來,對於高手來說,要能寫一些獨立的測試指令碼甚至測試工具;
更高的高手則是能把指令碼和工具和實際工作緊密結合起來,解決工作中遇到的問題。
2、自動化測試工程師應該具有開發能力嗎?
通過上述內容,應該可以看得出來,自動化測試人員一定要有開發能力,而這恰恰是測試人員目前所欠缺的。沒有開發能力的測試人員雖然也可以做一些所謂的自動化,但是僅僅是一些皮毛,沒有辦法做到活學活用。根據某機構的調查資料,目前所有從事測試工作的人中,90%的人都沒有任何開發能力。根據目前的市場行情,如果在精通一門開發語言,能夠從純手工測試轉型為自動化測試工程師,月薪至少增加3~5k。
3、自動化測試的層級
一般來說,自動化測試分為三個層級:單元測試、介面測試、UI測試,這三層成一個金字塔形狀分佈。最底層是單元測試,介面測試在中間,UI測試在最上層。
單元測試無疑是最適合做自動化的,但是,大多數單元測試都是由研發人員自己完成。單元測試的程式碼行覆蓋率能夠達到70%,就是一個非常不錯的程度了。
單元測試框架
單元測試常用的框架——XUnit,比如Java的JUnit,PHP的PHPUnit,Python的unittest等等;
一個測試用例通常由三部分組成——setUp,測試邏輯,tearDown。setUp用於準備測試資料,tearDown用於清理資料;一般單元測試框架都支援裝飾器設計模式的註解,比如跳過執行,測試套件的組織,測試用例依賴管理等等。
單元測試框架可以無縫地在UI測試和介面測試中使用,它們的基本思想都是相通的。
介面測試
介面的自動化是目前最適合測試工程師進行自動化的一層。介面不但變化小,執行速度快,受益高,還有著出現問題後能夠很快定位的優點。
UI測試
目前,大眾眼中關注的比較多的是UI的自動化測試,這是由大家的思維慣性導致的。傳統的測試行業,測試工程師都是從UI下手,來完成所有的測試工作,所以到自動化領域,大家也理所當然的喜歡從UI層來進行自動化。做UI自動化,最重要的是要能有一個好的自動化測試框架,這裡有一些框架的基本設計思路供大家參考:
分散式——case增加到一定程度後,如何快速的執行所有的case,這就涉及到分散式的概念。行為驅動——也就是常說的Cucumber,這個領域筆者沒有太多的涉足,不誤導大家;
關鍵字驅動——由『操作物件』、『操作』、『資料』關鍵字組合成測試用例,框架來把關鍵字解析為指令碼並執行。這種框架最大的優點就是可以提供給不懂程式碼的測試人員使用,典型的代表是Robot framwork;
資料驅動——同一段程式碼的業務邏輯通過更換資料輸入來生成多個測試用例,我們只需維護測試資料就可以維護case,這種框架思想在很多測試工具中都有實現;
關鍵字和資料混合驅動——目前最高階的框架,將上述兩種框架結合起來。
當然,這些思路不僅僅能用在UI層的自動化。
對於UI自動化,我個人的建議是隻做冒煙測試用例的自動化,這樣既可以從UI的角度來重複性的驗證主業務主流程沒有問題,又可以降低維護成本。
4、什麼時候最適合做自動化
首先,自動化測試從來都不是用來發現新的bug的,它更多的是用來驗證原有功能是沒問題的,新的修改對原有程式碼邏輯沒有影響。所以,當一個專案相對穩定之後,以後的專案都是基於原有程式碼進行迭代,這個時候自動化的介入是非常有效的。
另外,如果某個用例需要有大量的輸入項,做手工測試比較繁瑣,我們也可以引入自動化的手段做區域性的自動化。比如,驗證某個使用者登入1000次是否能夠登入成功,這種情況使用手工的方式基本是不可能的。
5、自動化測試工具推薦
功能測試:Selenium(開源),TestWriter(零編碼,易上手)
效能測試:Jmeter(趨勢)
相關文章
- 如何學習自動化測試?從手工測試到自動化測試的過程…
- 新手如何開始學習自動化測試?
- 學習 java 做自動化測試相關Java
- Web自動化-Selenium自動化測試-1-主要學習計劃Web
- 自動化測試系列 —— UI自動化測試UI
- 菜鳥如何學習自動化測試?新夢想
- 自動化裝置測試與自動化測試的區別
- 【自動化測試入門】自動化測試思維
- 自動化測試有必要學嗎?
- 測開新手:從0到1,自動化測試接入Jenkins學習Jenkins
- 自動化測試的方向
- 採用自動化測試的情形及自動化測試的優缺點
- 深圳軟體測試培訓學習:Android常用自動化測試工具【千鋒】Android
- 如何做自動化測試?什麼是自動化測試?
- 【編測編學】自動化測試面試必背(上)面試
- 【編測編學】自動化測試面試必背(下)面試
- 軟體測試:自動化測試
- Windows UIA自動化測試框架學習--獲取qq好友列表WindowsUI框架
- 想利用上班空閒時間學習自動化測試
- 做iOS自動化測試必須知道的一些知識iOS
- API自動化測試平臺,高效實現對API的自動化測試API
- 工作5年,一位來自廣西測試妹子學習《自動化測試》經驗分享
- 功能測試、自動化測試、效能測試的區別
- airTest自動化測試AI
- selenium自動化測試
- 自動化測試篇
- python自動化測試Python
- API自動化測試API
- 自動化測試框架框架
- 自動化測試理解
- 自動化測試思路
- jest 自動化測試
- 介面自動化測試
- 一隻自動化測試小白的學習記錄——Python+Selenium+pip+webdriver下載安裝 python自動化測試環境配置PythonWeb
- 測試開發之自動化篇-自動化測試框架設計框架
- 測者的測試技術手冊:自動的自動化EvoSuite 自動生成JUnit的測試用例UI
- 2023年好用的自動化測試框架有哪些?如何提高自動化測試效果?框架
- 自動化測試面試點面試
- 小程式自動化測試--測試3