在自動化測試工作之前,你應該知道的10條建議


轉自:https://mp.weixin.qq.com/s?__biz=MzI0NDQ5NzYxNg==&mid=2247485859&idx=1&sn=9ea7c7f5dd18a27d6b37dc1a273245a5&chksm=e95da41cde2a2d0a0ceceeb8393f841fcc10672284db0b6eb275146bde13b477a7d9b143ce21&mpshare=1&scene=23&srcid=0312lUZTYsNn5E2BIMq2QTdY#rd

介紹

        關於自動化測試,這些年經歷了太多的坑,有被動的坑,也有自己主動挖的坑,在這里做了一些總結。

 

        主要思考總結下這些年來自動化測試過程中的一些基本的東西,例如何時進行自動化、如何自動化、或是怎么自動化我們的測試工作。

 

        接觸過各種經驗、能力、業務領域、行業等從事自動化測試的人員,我想其中應該有不少比我更聰明,或是經驗更豐富,或是技術更專等,在交流的過程中我獲得不同領域專家以及他們自動化測試方面的經驗,也深入的交換了彼此的一些想法和自動化測試的經驗,有很多不一樣的思想碰撞。

 

注:筆者在這里對自動化的定義,不局限於UI、接口等,而是指在測試過程中所有基於技術進行解決問題和改進效率的技術測試,包括但不限於UI、接口、性能、安全等。

 

為什么要進行自動化測試?

 

1. 在我們日常的測試工作中,經常會引入新的需求或是修復bug,那么如何確定新的需求的加入或bug的修復沒有在原有功能中引入新的bug呢?

 

我想為了保證原有功能的正常,是很有必要對原功能進行測試的。

 

那么在每次修復bug或新增需求時,我們都需要手動的測試所有功能嗎?在沒有更多的成本、資源、時間時,你依舊需要手動的進行測試,但其成效是否能達到要求呢?

 

我想這個時候,自動化測試的需求來了,在我們的日常測試工作中,有大量的回歸測試需要我們把它們給自動化了。

 

2. 在我們的日常測試中,你會不會收到老板對你說:對我們的系統壓測下,看看性能怎么樣?

 

通常,對於大部分從事軟件測試的同行來講,不管是否具備這個技術能力,大都會收到這樣的工作需求。

 

那么如何對系統進行壓測呢?我想肯定不是讓你去喊幾百幾千甚至過萬的人來一起點點點,因為這個靠人力來做是不現實的事。

 

所以自動化你的壓測工作就是必須的選項了。

 

3. 在日常測試工作中,是不是經常面臨着這樣的情況?UI已經不再大幅變更,而后端服務接口在不停的升級,這個時候UI級的自動化測試就顯得有價值了。

        同樣的,在項目初中期,UI在不停的變更,但核心的業務接口已經初步穩定,這個時候接口級自動化測試也是引入的好時機了。

 

在不同的技術層級,我們可以根據其更新頻度等情況,我們可以將其自動化,以達到改進效率和提升質量的效果。

 

將測試工作進行自動化,必然需要成本的投入的,同樣也有着各種風險,下面是一些總結。

 

自動化測試的風險是什么?

        在某些情況下,可能需要考慮自動化我們的測試工作,如果你已經做出了自動化的決定,或是打算進行自動化,那么你就需要考慮以下幾個方面的場景:

 

1. 你的團隊是否擁有足夠熟練的資源?

        想想你的團隊,對於自動化測試是否有足夠的編程開發知識和能力?如果沒有,他們是否具備一定的基礎,可以快速的掌握相應的技術?

        是否打算組建一個好的自動化團隊呢?如果是,那么可以考慮自動化你的測試工作。

 

2. 自動化的初始投入成本非常高

        不可否認的是,手工測試的成本也是很高的,尤其是對於高素質的手工測試人才,如果你認為自動化測試能解決手工測試的成本問題,我建議你三思而后行。

         自動化測試的成本體現在以下幾個方面:

- 自動化工具的采購

- 人才的引入或培訓

- 自動化測試腳本的維護

- 自動化測試的實施推廣

等等其他

        許多開展自動化測試的團隊對於其自動化成果感到遺憾,因為在投入了大量的人力、時間、資源后,得到的僅僅是一堆基本的自動化腳本或是一個好看的測試工具。

 

      請思考, 如果是這樣的成果, 那么自動化的用途是什么呢?

 

3. 慎重對待UI自動化測試

        在進行UI級自動化測試前要謹慎選擇業務場景,尤其是要注意規避可能的大面積發生UI更新的場景,不然自動化腳本的維護成本會非常的高。

        所以UI級自動化測試,筆者通常只自動化最核心的業務流程、或最典型用戶業務場景,或重點關注的功能模塊。

 

4. 是否需要系統足夠穩定才可以自動化我們的測試工作?

        筆者以為不用等到系統足夠穩定時才開始自動化測試。

        當然,前提是團隊擁有足夠強的技術功底,能從源碼級或數據層級就開始規划、設計自動化測試解決方案。

 

5. 是否要考慮100%的自動化?

        只能說,別做夢了,你要是都能100%了,那我點點點的功力如何發揮裝X?當然了,在性能測試、回歸測試、負載壓力測試等領域,是有機會實現“100%”的。

 

6. 不要對一次性工作進行自動化

        對於哪些可能只需運行一次或幾次的測試工作,請不要將其自動化,太浪費了。

 

7. 你的自動化套件壽命足夠長嗎?

        如果你選中的自動化場景生命周期不夠長,那么請不要自動化它,構建自動化的一個基本准則是讓自動化了的測試工作比手工執行成本要明顯降低。

        當然,確定每個自動化測試場景的有效成本是有些難度的,但是我們必須思考的。

 

        如果你能將實現自動化測試工作做到日常化、版本化,那么其成本降低將是明顯的、效率改進也是顯著的、是可以獲得良好的投資回報率的。

 

小結

        自動化測試是實現大多數測試目標和有效利用資源和時間的最佳解決方案。但在進行自動化前,應該謹慎對待,否則你獲取的可能僅僅是一堆腳本或一個漂亮的工具。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM