自動化測試有必要學嗎?

測試蔡坨坨發表於2023-03-20

轉載請註明出處❤️

作者:測試蔡坨坨

原文連結:caituotuo.top/18a6a958.html


你好,我是測試蔡坨坨。

最近收到不少小夥伴私信提問,其中問得比較多的就是“學習自動化測試有那麼重要嗎?”。

我的回答是肯定的——很重要。

相信不少同學都有諸如此類的疑問,例如:“日常工作中好像用不上自動化?”、“手工點點點好像也可以”、“為什麼還要學自動化呢?”等等 ……

其實不然,以下就從多個維度來討論學習自動化測試的必要性。

何為自動化測試

首先,自動化測試是一種軟體測試方法,是相對於手工測試的一種測試手段。其中,測試人員使用測試工具程式語言編寫指令碼來執行測試。透過模擬使用者行為、執行測試用例、檢查系統行為、生成測試報告等方式來自動化測試流程。

手工測試是為了提高軟體質量,自動化測試是在提高軟體質量的同時提高測試效率(更好、更快、更省時,多快好省,降本增效),兩者的最終目標是一致的,都是為軟體質量服務。

與手動測試相比,自動化測試可以快速執行大量的測試用例,並且可以在重複執行測試用例時保持一致性。此外,自動化測試還可以幫助測試人員快速發現和解決程式碼缺陷,提高軟體質量和可靠性。

常見的自動化測試工具包括Selenium、Appium、Robot Framework、JUnit、TestNG等。這些工具可以用於Web應用程式、移動應用程式、桌面應用程式等各種型別的軟體測試。

漲薪必備

學習自動化測試比較重要的一點就是漲薪的誘惑(打工不為工資,為愛發電嗎?),或者說不會自動化測試在現在的行情下很難找到測試崗位工作。隨著行業內卷越來越嚴重,對於測試崗位的要求也是水漲船高,崗位招聘要求都會出現自動化、效能等字眼,因此也是我們跳槽面試、升職加薪必備利器。

雖然有的公司會用到自動化測試,但實際自動化的比例很小,甚至有些根本不會用到,但是面試的時候肯定會問到自動化,就是所謂的“面試造火箭,工作擰螺絲”。

職業發展

從職業發展的角度看,測試無非就是兩條路線,技術路線和管理路線,技術路線一般就是功能測試、自動化測試、測試開發、測試架構師,管理路線一般就是測試工程師、測試組長、測試經理、測試總監。

如果你已經從事測試工作多年,那麼掌握自動化測試技能必不可少。對於初級測試來說,雖然更多的是關注測試基礎技能的掌握,但是會程式設計和自動化會是一個很好的加分項,特別是今年找工作比往年更難了。因此,會自動化測試也是自身的核心競爭力。

又有人說,我想走管理路線,是不是就不需要學習自動化測試呢?雖然說,管理崗位更多的是對專案整體的把控,需要有較強的溝通組織協調能力,但並不意味著就可以不懂技術,很難想象一個不懂技術的管理者如何讓手下信服,遇到一個自動化專案或測試平臺專案需要開發時,如何合理科學地給下屬分配任務?在我看來,即使你已經決定走管理路線,也不要過早的拋棄技術,應該要有足夠的技術積累,畢竟測試是一個技術崗位,而且在網際網路行業,大家極力推崇技術,可以說是技術為王的行業,一個不懂技術的管理者恐怕很難服眾。

提高工作效率

解決工作中的痛點,從而提高工作效率。

什麼是痛點?

痛點指的是工作過程中遇到的問題、挑戰或困難,它們可能影響工作的效率、質量或滿意度。這些痛點可能是由於工作本身的性質、工作環境、人際關係、管理等因素引起的。

對於測試工程師來說,痛點可能是:

  • 時間壓力:測試工程師可能需要在規定的時間內完成測試任務,但由於軟體開發通常會發生變化和延遲,測試工程師就可能需要在有限的時間內完成大量測試工作。
  • 資源限制:測試工程師可能需要使用各種工具和軟體來執行測試任務,但由於資源限制,例如有限的硬體、軟體授權或測試環境,測試工程師可能需要不斷尋找解決方案來滿足測試需求。
  • 重複性和單調性:測試工程師可能需要執行大量重複的測試用例,這會導致測試工程師感到單調和乏味,進而影響測試質量。此外,由於測試任務通常需要在多個環境中進行,測試工程師可能會需要在各種測試場景下執行相同的測試用例,這可能會增加測試工程師的工作量和時間。

那麼,自動化測試可以解決哪些痛點呢?

例如:

  • 構造測試資料

    某些業務在測試之前需要準備前置條件,並且前置操作流程較長,在頁面透過手工操作費時費力,此時就可以藉助自動化指令碼進行資料的初始化(比如調介面造資料,介面的響應時間一般都是秒級,甚至是毫秒級別的,比起頁面操作可以更快完成資料的初始化);某需求需要大量資料進行測試,就可以使用自動化工具Jmeter、Python/Java指令碼迴圈造資料;如果要造一些看似真實的假資料,還可以藉助Faker庫,可參考往期文章「造資料神器 Faker,一個有趣又實用的 Python 第三方庫」。

  • 介面自動化測試

    結合公司業務實現一套覆蓋公司系統絕大部分介面的介面自動化測試框架,在上線前跑一遍,以便於測試人員第一時間發現問題,並提交給開發人員進行修復解決,減少線上Bug率。

  • UI自動化測試

    對於有些功能是在前端做校驗,無法透過介面進行迴歸,又是主功能,就可以將其實現 UI 自動化。

  • 極限測試操作

    在前端頁面,需要測試快速點選某個按鈕,手動難以實現,就可以使用UI自動化手段進行實現;後端介面,需要測試重複呼叫,傳送引數相同的請求,就可以使用Jmeter等併發工具實現。

總之,機會是留給有準備的人的,要學會未雨綢繆,如果你想在測試崗位上走得更遠,那麼,掌握自動化測試是必須的,關於如何從手工測試進階到自動化測試,可以參考往期文章「手工測試如何進階自動化測試?」。

相關文章