接觸過各種經驗、能力、業務領域、行業等從事自動化測試的人員,我想其中應該有不少比我更聰明,或是經驗更豐富,或是技術更專等,在交流的過程中我獲得不同領域專家以及他們關於自動化測試的看法。
關於自動化測試,這些年經歷了太多的坑,有被動的坑,也有自己主動挖的坑,在這裡做了一些總結。
主要思考總結下這些年來自動化測試過程中的一些基本的東西,例如何時進行自動化、如何自動化、或是怎麼自動化我們的測試工作。
注:筆者在這裡對自動化的定義,不侷限於ui、介面等,而是指在測試過程中所有基於技術進行解決問題和改進效率的技術測試,包括但不限於ui、介面、效能、安全等。1.在我們日常的測試工作中,經常會引入新的需求或是修復bug ,那麼如何確定新的需求的加入或bug的修復
沒有在原有功能中引入新的bug呢?
我想為了保證原有功能的正常,是很有必要對原功能進行測試的。
那麼在每次修復bug或新增需求時,我們都需要手動的測試所有功能嗎?在沒有更多的成本、資源、時間時,
你依舊需要手動的進行測試,但其成效是否能達到要求呢?
我想這個時候,自動化測試的需求來了, 在我們的日常測試工作中,有大量的回歸測試需要我們把它們給自動化了。
2.在我們的日常測試中,你會不會收到老闆對你說:對我們的系統壓測下, 看看效能怎麼樣?
通常,對於大部分從事軟體測試的同行來講,不管是否具備這個技術能力,大都會收到這樣的工作需求。
那麼如何對系統進行壓測呢?我想肯定不是讓你去喊幾百幾千甚至過萬的人來一起點點點,因為這個靠人力來做是不現實的事。
所以自動化你的壓測工作就是必須的選項了。
3.在日常測試工作中,是不是經常面臨著這樣的情況? ui已經不再大幅變更,而後端服務介面在不停的公升級,這個時候ui級的自動化測試就顯得有價值了。
同樣的,在專案初中期, ui在不停的變更,但核心的業務介面已經初步穩定,這個時候介面級自動化測試也引入的好時機了。
在不同的技術層級,我們可以根據其更新頻度等情況,我們可以將其自動化,以達到改進效率和提公升質量的效果。
將測試工作進行自動化,必然需要成本的投入的,同樣也有著各種風險,下面是一些總結。
在某些情況下,可能需要考慮自動化我們的測試工作,如果你已經做出了自動化的決定,或是打算進行自動化,那麼你就需要考慮以下幾個方面的場景:
1.你的團隊是否擁有足夠熟練的資源?
想想你的團隊,對於自動化測試是否有足夠的程式設計開發知識和能力?如果沒有,他們是否具備一定的基礎 ,可以快速的掌握相應的技術?
是否打算組建乙個好的自動化團隊呢 ?如果是,那麼可以考慮自動化你的測試工作。
2.自動化的初始投入成本非常高
不可否認的是,工測試的成本也是很高的,尤其是對於高素質的手工測試人才,如果你認為自動化測試能解決手工測試的成本問題,我建議你三思而後行。
自動化測試的成本體現在以下幾個方面:
自動化工具的採購
-人才的引入或培訓
-自動化測試指令碼的維護
-自動化測試的實施推廣
等等其他
許多開展自動化測試的團隊對於其自動化成果感到遺憾,因為在投入了大量的人力、時間、資源後,得到的僅僅是一堆基本的自動化指令碼或是乙個好看的測試工具。
請思考,如果是這樣的成果,那麼自動化的用途是什麼呢?
3.慎重對待ui自動化測試
在進行u級自動化測試前要謹慎選擇業務場景,尤其是要注意規避可能的大面積發生ui更新的場景,不然自動化指令碼的維護成本會非常的高。
所以ui級自動化測試,筆者通常只自動化最核心的業務流程、或最典型使用者業務場景,或重點關注的功能模決。
4.是否需要系統足夠穩定才可以自動化我們的測試工作?
筆者以為不用等到系統足夠穩定時才開始自動化測試。
當然,前提是團隊擁有足夠強的技術功底,能從原始碼級或資料層級就開始規劃、設計自動化測試解決方案。
5.是否要考慮100%的自動化?
只能說,別做夢了,你要是都能100%了,那我點點點的功力如何發揮裝x ?當然了,在效能測試、回歸測試、負載壓力測試等領域,是有機會實現"100%」 的。
6.不要對一次性工作進行自動化
對於哪些可能只需執行一-次或幾次的測試工作,請不要將其自動化,太浪費了。
7.你的自動化套件壽命足夠長嗎?
如果你選中的自動化場景生命週期不夠長,那麼請不要自動化它,構建自動化的乙個基本準則是讓自動化了的測試工作比手工執行成本要明顯降低。
軟體自動化測試工程師面試題集錦(3)
1 自我介紹 2 專案介紹 3 測試用例的主要要素 答 用例編號,所屬模組,用例標題,重要級別,前置條件,操作步驟,預期結果,提交人 4 bug的生命週期和基本要素 答 1.生命週期其實就是說的哪個階段哪些狀態,狀態盡量用英文,裝下bi。new,測試人員新提交的bug open,開發正在處理中 fi...
軟體自動化測試工程師面試題集錦(2)
1我現在有個程式,發現在windows上執行得很慢,怎麼判別是程式存在問題還是軟硬體系統存在問題?答 a.在系統沒有負載的情況下開啟效能監視器,perfmon。再執行程式,看cpu和記憶體的占用情況 b.檢查本機網路,看執行其他程式是否也慢 c.檢查本機與伺服器的連通性,可以ping下伺服器位址 2...
暢談 自動化測試工程師職業發展!
前言 正文 測試崗位 職業發展規劃一般說來可以分為 管理 和 技術 兩大類。對於it軟體測試這個行業的技術和管理人員而言,做技術是根本,是最主要的,工作中的重中之重。如果乙個公司用乙個不懂技術的管理者,這是不符合公司追求利益最大化的規則的。因此,為了節省成本,絕大部分的公司都不使用純粹的管理者,而是...