自動化測試是什麽?
當我第一次知道自動化測試的時候,除了知道“自動化”這三個有些高大上的稱呼之外,我對自動化測試一無所知,正如談戀愛一樣,找女朋友之前要知道她是誰。
那麽是什麽自動化呢?
自動化難以定義,卻存在於我們生活中的角角落落。其實理解自動化並不難,我覺得只要你不是智障都能夠理解。舉個例子:
1、傳統農耕VS自動化農耕
2、傳統播種VS自動化播種
3、手工收割VS自動化收割
上面三組圖充分的詮釋了手工農耕同自動化農耕的差別,那麽我們嘗試從上面的圖片中總結一下傳統農耕的特點:重復、低效、易錯。
首先,無論是耕耘、播種和收割,這些作業都是周而復始而沒有任何變化的工作,這種重復卻非常適合自動化農耕技術中預設的腳本。
其次,傳統的農耕作業都是低效的,面對當今大規模、快節奏的農耕需求,手工作業的生產力明顯跟不上日益增長的飲食需求,靠人工是不可能完成的任務。
最後,人類雖然是萬物的靈長,但是面對重復、枯燥、大規模的農耕勞動中是很容易犯錯的,使用自動化及其作業可以做到既專業又標準。
通過上面的例子我們基本可以得到,機器+設定=自動化
顧名思義,我認為將自動化技術應用到web測試當中,就是自動化測試。
那麽問題1來了,適合用自動化完成的測試工作特征都有哪些呢?
測試中自動化的應用
我們都知道,並不是所有的測試都適合自動化測試,那麽在我們整個測試流程中,哪些測試工作適合自動化測試呢?
其實回答這個問題非常簡單,只有符合自動化特性的測試工作才適合進行自動化測試。
按照時間順序,我們大部分項目的測試流程應當是這樣的:冒煙測試→新需求測試→兼容性測試→回歸測試。
冒煙測試:測試流程的重要起點
新需求測試:測試過程中學習、探索最集中的測試
兼容性測試:產品在不同瀏覽器上的兼容性測試
回歸測試:穩定功能是否受到新功能影響的測試
結合自動化重復、低效、易錯的特點,我們可以知道冒煙測試和新需求測試由於需求不穩定,變化較多,並不適合進行自動化測試;而回歸測試和兼容性測試,前者需要執行大量的回歸測試用例,後者需要將這些用例在不同的瀏覽器重復執行,完全符合自動化應用場景中的特點,我們完全可以利用自動化測試工具,將這些重復、低效、易錯的工作做得更為高效和專業。
下面大家看一個自動化測試使回歸測試更為高效的例子:
1、打開網易雲課堂首頁
2、完成登陸
3、導航欄進入【編程語言】
4、選擇【隨到隨學】→【用Java學編程】
5、瀏覽章節
6、選擇【計算的優先級】一節
7、驗證章節標題是否為選取的章節
由此,我們可以看到自動化測試確實能夠提高我們在測試工作中的效率,節省大量的人力和時間。
如何選擇自動化測試工具?
通過上面的例子,自動化測試的威力我們已經有了初步的了解,就像是編程語言等互聯網技術百花齊放一樣,WEB自動化測試工具也是多種多樣的,那麽作為自動化測試的初學者如何去選擇自動化測試工具呢?
當然了,內事不覺問百度,外事不覺問谷歌嘛,借助搜索引擎的力量我們可以找到我們要的答案,但是我建議你使用如下關鍵字搜索:Web+Automation+Test+Tools,至於為什麽用英文,大家可以自己嘗試比較一下搜索結果的差異,畢竟百度.....是吧......
說實話,當你搜索的時候會有非常多的工具推薦,到底使用那種工具就要有一個嚴格的標準來篩選,我自己選擇的標準如下:
1、發展趨勢要穩定上升
2、要有一個活躍的社區能夠討論
3、要是開源軟件
4、支持主流的編程語言(Java、Python)
5、要支持主流瀏覽器(谷歌、IE、火狐等)
綜合以上,Selenium是不二之選。
好了,說了那麽多,那麽如何學習自動化?學習有沒有資料?
對自動化感興趣的同學,歡迎加QQ群:706315665,一起學習,相互討論。
群內已經有小夥伴將知識體系整理好(源碼,筆記,PPT,學習視頻),歡迎加群免費領取
加QQ群:706315665,免費領取資料
分享給喜歡自動化,有夢想成為大牛的Tester們,希望能夠幫助到你們。
自動化測試是什麽?