這篇文章將從以下三個方面來給大家介紹自動化測試,其中包含自動化測試從業(yè)者需要了解的知識和一些常見的思想誤區(qū),以及自動化測試行業(yè)的前景以及如何進階
1.自動化測試的介紹:
自動化測試什么是,有哪些被稱作自動化測試,自動化測試意義何在,和所有的項目都適合做自動化嗎,作為自動化測試從業(yè)人員,公司考察的是哪些職業(yè)素質(zhì)?自動化測試框架是什么,了解自動化測試框架對于自動化職業(yè)從業(yè)者來說有什么意義意義。
2.自動化測試的定義:
自動化測試是通過一些自動化測試工具模擬人工操作驗證其結(jié)果完成整個測試過程。自動化測試屬于測試但是又不局限于測試,也是將軟件開發(fā)過程中手動重復度高的,機械化的,人容易出錯的步驟用自動化實現(xiàn),再將這類工作的人力釋放出來做自動化替代不了、有成長性或者創(chuàng)造性的工作。
3.自動化測試的分類:
提到自動化測試,大多數(shù)人的第一反應就是UI的自動化測試,其實不然,它還包括了接口測試,單元測試,安全測試,性能測試以及數(shù)據(jù)庫測試等,具體分類情況和每一類的測試的體系及工具如下如圖所示:

一.背景
隨著敏捷開發(fā)在軟件行業(yè)的推廣與發(fā)展,自動化測試在軟件測試行業(yè)的地位也在逐漸上升。然而,對于自動化從業(yè)者將何去何從?自動化從業(yè)者的發(fā)展方向有哪些?身為自動化測試工程師,我們又該如何為自己定制職業(yè)發(fā)展規(guī)劃?這些問題一直困擾著我們,眾多自動化從業(yè)者都是在迷茫中前進。由此可見,做好職業(yè)規(guī)劃是自動化測試從業(yè)者選擇發(fā)展之路,明確自身的成長空間,選擇就業(yè)方向的風向標。
根據(jù)51testing發(fā)布的測試人員對測試領(lǐng)域工作前途態(tài)度的統(tǒng)計結(jié)果顯示,大約60%的從業(yè)人員對軟件測試行業(yè)的發(fā)展前景感到迷茫,10%以上的不清楚甚至感覺前途無望。由此可見,自動化測試的職業(yè)發(fā)展對于自動化從業(yè)者擇業(yè)與從業(yè)具有現(xiàn)實意義。
二.自動化測試現(xiàn)狀
近年來隨著我國軟件產(chǎn)業(yè)的蓬勃發(fā)展以及對軟件質(zhì)量的重視,軟件測試行業(yè)隨之興起。軟件測試在國內(nèi)已經(jīng)成為一個較為成熟的產(chǎn)業(yè),逐步與國際水平拉近距離。具體表現(xiàn)在:
1.軟件測試門檻低,薪資相對其他行業(yè)高,可謂是低報酬高回報的行業(yè);
2.軟件質(zhì)量問題的影響越來越大,而軟件測試就是保證軟件質(zhì)量的一個重要并且有效的手段,因此現(xiàn)在軟件公司越來越重視軟件測試;
3.軟件測試行業(yè)發(fā)展勢頭良好,測試行業(yè)依舊處于供不應求階段,自動化測試的發(fā)展整體上仍處于起步階段。
三.自動化測試發(fā)展的前景
縱觀人類發(fā)展方向,感應燈,掃地機器人,智能家居等的出現(xiàn)無一不詮釋著自動化就是人類社會發(fā)展的大方向,軟件測試行業(yè)也不例外,自動化測試一定是未來的方向。目前流行的敏捷、持續(xù)集成等都是以自動化為基礎(chǔ)。所以說自動化測試的發(fā)展前景是樂觀的。
可見,超過80%的從業(yè)者認為測試行業(yè)有前景或者前途光明。同時超過75%的測試從業(yè)人員希望提高自動化測試的技能,由此可見,自動化測試在軟件測試行業(yè)的發(fā)展前景也是受到廣大軟件測試從業(yè)人員的廣泛認可的。
四.自動化測試的意義
為什么要進行自動化測試?因為自動化測試的優(yōu)點顯而易見:
1.提高測試效率,節(jié)省時間和人力成本;
每次新的build發(fā)布之前,可以通過自動化進行BVT測試,大大節(jié)省了時間和人力成本。對于回歸測試的效果也非常明顯。
2.可以執(zhí)行難以或不可能用手工完成的測試;
比如網(wǎng)站的壓力測試,同時找很多人去測試不現(xiàn)實。便可以以自動化的方式通過機器去模擬。
3.一致性和可重復性強
由于測試是自動執(zhí)行的,每次的執(zhí)行內(nèi)容和測試的結(jié)果的一致性是可以得到保障,從而達到可重復的結(jié)果。
4.項目質(zhì)量流程需要
比如測試工具的開發(fā),自動化在DevOps中的貢獻。
自動化在DevOps中很重要因為它提供了準確性和速度。應用交付需要高效,而手動安全測試難以滿足進度要求。更重要的是,第三方在外部手動測試中往往會遺漏測試錯誤。
五.什么樣的項目適合做自動化
我們可以通過以下幾方面來判斷當前的項目適合做自動化:
項目維護周期長。如果維護周期太短,自動化框架有可能還沒開發(fā)完,產(chǎn)品已經(jīng)下線了。
比較頻繁的回歸測試。如果選用手工測試,第一輪可能還沒完,第二輪就開始了。
產(chǎn)品比較穩(wěn)定,不會頻繁變動。如果產(chǎn)品不穩(wěn)定,維護自動化用例成本太大,自動化測試投資回報率太低。
六.自動化測試人員應具備的能力
在早期,大多企業(yè)對測試人員的能力要求較低,導致人們的測試行業(yè)的認知都是:門檻低,水平低,能輕松勝任。而自動化測試,作為進階,在測試基礎(chǔ)欠缺的情況下,即使寫出測試腳本也不能從根本解決問題。自動化測試人員應具備的能力可分為如下幾個方面,這幾方面在各個職業(yè)生涯發(fā)展階段的要求也不盡相同,下一節(jié)會詳細介紹各個階段的要求。
1.基礎(chǔ)能力
基礎(chǔ)能力是測試能力和代碼能力的基礎(chǔ),是對自動化測試人員的基礎(chǔ)要求,包括細心,耐心,責任心;學習能力,分析問題和解決問題的能力;溝通能力,團隊協(xié)作的能力以及總結(jié)問題的能力;外企或者國外的項目同時也會有外語能力的要求。
2.測試能力
測試能力是做自動化測試的基礎(chǔ),能夠很好的幫助自動化促使人員決定什么時候引入自動化,有效的設計自動化測試用例,很好的發(fā)現(xiàn)bug,很好的理解自動化測試的目的與價值。測試能力主要包括業(yè)務分析能力,bug的洞察能力以及基本的軟件測試知識(bug的生命周期,測試理論及方法等)
3.代碼能力
良好的代碼能力是自動化測試人員寫出高質(zhì)量的自動化測試腳本的前提,開發(fā)自動化測試腳本的過程中,需要考慮代碼的穩(wěn)定性,健壯性和可擴展性,同時結(jié)合數(shù)據(jù)結(jié)構(gòu)和算法來減少后期的維護成本。代碼能力主要包括自動化腳本的設計能力,框架開發(fā)能力,框架設計能力。
最后: 歡迎大家關(guān)注公眾號:測試菜鳥小家洛,領(lǐng)取一份300頁pdf文檔的Python自動化測試工程師核心知識點總結(jié)!
公眾號里大部分資料都是面試時面試官必問的知識點,也包括了很多測試行業(yè)常見知識,其中包括了有基礎(chǔ)知識、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續(xù)集成、測試架構(gòu)開發(fā)測試框架、性能測試、安全測試等。