二 自動化測試的那些事

2022-07-14 23:03:26 字數 1925 閱讀 2743

1. 什麼是自動化測試?

首先理清自動化測試的概念,

1、廣義上來講,自動化包括一切通過工具(程式)的方式來代替或輔助手工測試的行為都可以看做自動化,包括效能測試工具(loadrunner、jmeter),或自己所寫的一段程式,用於生成1到100個測試資料。

所以實際上從廣義上來講:效能測試、介面測試等但凡用到測試工具的測試都稱為"自動化測試"

2、狹義上來講,通工具記錄或編寫指令碼的方式模擬手工測試的過程,通過回放或執行指令碼來執行測試用例,從而代替人工對系統的功能進行驗證。

當然,行業中經常說的「自動化測試」及企業中要求的「自動化測試」大多都是「基於產品或專案ui層的自動化測試」。對於效能測試,介面測試一般不把它們歸納為自動化測試的範疇。

2. 為什麼要做自動化測試?

根據51testing的《中國軟體測試從業人員調查報告》,手工測試佔到的89% ,相對開發來說,測試的門檻底,薪資普遍較底,所要求的知識面雖然有一定廣度,但缺乏深度。這是測試的普遍現狀。

正因為手功測試人門檻不高,使大量的畢業生,甚至是非專業人員湧入這個行業。從而增加了這個行業的激烈競爭。對於工作幾年扔處於手工測試的人員來說都會有強列的危機感。由於工作的技術含量不高,薪資的漲幅遇到瓶頸,另一方面受到新進入者的威脅,同樣的工作公司花5k招來的人就可以做,那麼就不會花8k 的招。

這個問題本不應該出現討論技術的話題中,但他的確是大多測試人員不得不面對的乙個問題。所以,從測試人員自身的發展來說,我其實非常需要通過自動化技術來增加自己有競爭力。

自動化測試最實在的優勢在於——工作好找:有乙個測試工程師(並不是本人)發現乙個有趣的現象,她申請過的幾乎所有測試職位,在招聘時都需要自動化測試經驗。但當她開始工作後,就發現這些公司都試圖做自動化測試,但是結果大多不怎麼地。不過,儘管她參與的都是一些悲劇的專案,不過她總能把這些悲劇包裝成喜劇以應對下一次面試。

3、所以呢,既然自動化測試有那麼多優勢,為什麼還有那麼多專案做失敗了呢?

我個人有個推論:

1、公司自動化測試人員能力不夠

2、專案難度太大,功能不穩定,需求變化太快,就盲目啟動自動化,導致自動化指令碼開發頻繁改變,更不上需求變化的速度,最終以失敗告終

3、專案過於複雜,大部分功能無法實現自動化,僅僅只有小部分功能實現自動化,這個對於專案意義不大。

4、公司人員流動大,導致自動化指令碼維護的難度加大,最終夭折。

當然自動化測試還有個優勢:自動化測試可以將產品的知識固化到指令碼中,以降低測試人員流動對專案造成的影響。但是這個優勢的前提是,這些指令碼易於維護,這就需要一些必要的文件,這又是另乙個議題了。

4、什麼專案適合做自動化測試?

假如你已經決定要學習自動化測試了,如何學習是要面臨的下乙個問題?這個問題以被測試產品為出發點進行分析,假如你所學的技術不能得到應用(驗證),將會使你的學習過程寸步難行。

首先考考慮產品是否適合做自動化測試。這方法比較普遍的共識是從三個方面進行權衡。

1、軟體需求變動不頻繁

測試指令碼的穩定性決定了自動化測試的維護成本。如果軟體需求變動過於頻繁,測試人員需要根據變動的需求來更新測試用例以及相關的測試指令碼,而指令碼的維護本身就是乙個**開發的過程,需要修改、除錯,必要的時候還要修改自動化測試的框架,如果所花費的成本不低於利用其節省的測試成本,那麼自動化測試便是失敗的。

專案中的某些模組相對穩定,而某些模組需求變動性很大。我們便可對相對穩定的模組進行自動化測試,而變動較大的仍是用手工測試。

2、專案週期較長

由於自動化測試需求的確定、自動化測試框架的設計、測試指令碼的編寫與除錯均需要相當長的時間來完成。這樣的過程本身就是乙個測試軟體的開發過程,需要較長的時間來完成。如果專案的週期比較短,沒有足夠的時間去支援這樣乙個過程,那麼自動化測試便成為笑談。

3、自動化測試指令碼可重複使用

自動化測試指令碼的重複使用要從三個方面來考量,一方面所測試的專案之間是否很大的差異性(如c/s系統和b/s系統的差異);所選擇的測試工具是否適應這種差異;最後,測試人員是否有能力開發出適應這種差異的自動化測試框架。

關於移動應用自動化測試的那些事

自動化測試的優點很多,簡單羅列幾條 避免重複工作 提高測試效率 保證每次測試地一致性和可重複性 更好的利用資源 節省人力資源 增加軟體信任度 縮短軟體開發測試週期讓產品更快投放市場 提高軟體測試的準確度和精確度,新增軟體信任度。並不是任何應用產品都適合做自動化測試,選擇自動化測試之前必須確認你的專案...

自動化測試的那些事兒

什麼是自動化?編寫軟體去測試其他軟體 編寫驅動被測試應用程式的測試指令碼以執行鍵盤 滑鼠動作和後台程序並驗證應用程式響應和行為。手工測試的侷限性 無法做到覆蓋所有 路徑 機械 重複,工作量大 許多與時序 死鎖 資源衝突 多執行緒等有關的錯誤,通過手工測試很難捕捉到 進行負載 效能測試,很難通過手工測...

測試自動化 自動化測試的定義

相關術語 automated testing test tool,automated testing test suite,automated testing test script等.具體參見 http en.wikipedia.org wiki test automation 推薦書籍 1 軟體...