WEB自動化1:什麼是自動化測試?

大約一個月之前,我在自己的專欄里小小的預告了一下,要做一個關於自動化測試的專輯,記錄一下自己學習自動化測試的一些故事。

這一個月的時間裡也算是忙裡偷閒,總結了一下自己的學習歷程,從一個零基礎的測試小白到能夠獨立的完成項目的自動化測試工作,也算是對自己學習的一個階段總結,當然這不是終結,畢竟學無止境。

那麼從今天開始,我會儘可能的利用時間更新自己總結的一些自動化學習的各個階段供有興趣的朋友參考,當然有個前提,我並不是測試行業的專家,文章中難免有一些錯誤或遺漏,我希望看到這些文章的朋友發出一些不同的意見,討論才能迸發出思想的火花。

以上是本次WEB自動化測試系列文章的大綱,我本著盡量詳細的原則,介紹下我對WEB自動化測試學習的一些理解。話不多說,以下開始我的學習之路。

什麼是自動化測試?

當我第一次知道自動化測試的時候,除了知道「自動化」這三個有些高大上的稱呼之外,我對自動化測試一無所知,正如談戀愛一樣,找女朋友之前要知道她是誰。

那麼是什麼自動化呢?

自動化難以定義,卻存在於我們生活中的角角落落。其實理解自動化並不難,我覺得只要你不是智障都能夠理解。舉個例子:

1、傳統農耕VS自動化農耕

2、傳統播種VS自動化播種

3、手工收割VS自動化收割

上面三組圖充分的詮釋了手工農耕同自動化農耕的差別,那麼我們嘗試從上面的圖片中總結一下傳統農耕的特點:重複、低效、易錯

首先,無論是耕耘、播種和收割,這些作業都是周而復始而沒有任何變化的工作,這種重複卻非常適合自動化農耕技術中預設的腳本。

其次,傳統的農耕作業都是低效的,面對當今大規模、快節奏的農耕需求,手工作業的生產力明顯跟不上日益增長的飲食需求,靠人工是不可能完成的任務。

最後,人類雖然是萬物的靈長,但是面對重複、枯燥、大規模的農耕勞動中是很容易犯錯的,使用自動化及其作業可以做到既專業又標準。

通過上面的例子我們基本可以得到,機器+設定=自動化

顧名思義,我認為將自動化技術應用到web測試當中,就是自動化測試。

那麼問題1來了,適合用自動化完成的測試工作特徵都有哪些呢?(請將問題1的答案在評論中回答,評論數過888,隨機贈送兩張周末熱門電影票~)

測試中自動化的應用

我們都知道,並不是所有的測試都適合自動化測試,那麼在我們整個測試流程中,哪些測試工作適合自動化測試呢?

其實回答這個問題非常簡單,只有符合自動化特性的測試工作才適合進行自動化測試

按照時間順序,我們大部分項目的測試流程應當是這樣的:冒煙測試→新需求測試→兼容性測試→回歸測試。

冒煙測試:測試流程的重要起點

新需求測試:測試過程中學習、探索最集中的測試

兼容性測試:產品在不同瀏覽器上的兼容性測試

回歸測試:穩定功能是否受到新功能影響的測試

結合自動化重複、低效、易錯的特點,我們可以知道冒煙測試和新需求測試由於需求不穩定,變化較多,並不適合進行自動化測試;而回歸測試和兼容性測試,前者需要執行大量的回歸測試用例,後者需要將這些用例在不同的瀏覽器重複執行,完全符合自動化應用場景中的特點,我們完全可以利用自動化測試工具,將這些重複、低效、易錯的工作做得更為高效和專業。

下面大家看一個自動化測試使回歸測試更為高效的例子:

1、打開網易雲課堂首頁

2、完成登陸

3、導航欄進入【編程語言】

4、選擇【隨到隨學】→【用Java學編程】

5、瀏覽章節

6、選擇【計算的優先順序】一節

7、驗證章節標題是否為選取的章節

https://www.zhihu.com/video/937356370216042496

接下來,我們在看一個自動化測試應用在兼容性測試中的例子,測試用例依舊使用上面網易的例子,將該用例同時執行在谷歌和火狐兩款瀏覽器上,請看下面的視頻。

https://www.zhihu.com/video/937357612946341888

由此,我們可以看到自動化測試確實能夠提高我們在測試工作中的效率,節省大量的人力和時間。

如何選擇自動化測試工具?

通過上面的兩個視頻,自動化測試的威力我們已經有了初步的了解,就像是編程語言等互聯網技術百花齊放一樣,WEB自動化測試工具也是多種多樣的,那麼作為自動化測試的初學者如何去選擇自動化測試工具呢?

當然了,內事不覺問百度,外事不覺問谷歌嘛,藉助搜索引擎的力量我們可以找到我們要的答案,但是我建議你使用如下關鍵字搜索:Web+Automation+Test+Tools,至於為什麼用英文,大家可以自己嘗試比較一下搜索結果的差異,畢竟百度.....是吧......

說實話,當你搜索的時候會有非常多的工具推薦,到底使用那種工具就要有一個嚴格的標準來篩選,我自己選擇的標準如下:

1、發展趨勢要穩定上升

2、要有一個活躍的社區能夠討論

3、要是開源軟體

4、支持主流的編程語言(Java、Python)

5、要支持主流瀏覽器(谷歌、IE、火狐等)

綜合以上,Selenium是不二之選。

最後,問題2來了,上面我們講述了Web自動化測試一般適用於回歸測試與兼容性測試,那請大家思考一下,web自動化測試為什麼不適合做新功能測試和冒煙測試?

重複一下問題1,適合用自動化完成的測試工作特徵都有哪些呢?

(請將問題1,2的答案在評論中回答,評論數過888,隨機贈送兩張周末熱門電影票~)

推薦閱讀:

為什麼要寫測試用例,測試用例寫給誰看?
在國外,資深的軟體測試人員大多是手動測試,他們厲害之處在於測試用例的設計,但在國內,很多測試人員都把自動化測試當成很厲害的資本,為什麼?
為何國內的前端對自動化測試好像不是很看重?
用Tomcat,部署時對server.xml文件里的埠號進行修改,但這三個埠號必須全部修改嗎?
想往web自動化方向發展,該怎麼準備?

TAG:Web测试 | 自动化测试 | 软件测试 |