測試行業工作4年了,從只會“點點點”到了現在的測試開發,年薪30W+,還好當時沒有放棄
向上的路很難走,但一旦踏上去,每一步都算數!
為什么轉型為測試開發?
不懂開發的手工測試是新時代“文盲”
在移動互聯網和大數據時代,為滿足市場和業務需求,互聯網應用既要實現產品功能快速迭代,又要高效保障數據安全和軟件質量。這就要求 IT 研發團隊必須具備持續交付的能力,而在測試這個環節,就意味著必須擁有自動化測試、持續測試和質量監控等能力,因此對測試從業人員也提出了更高能力要求。
只會點點點,不懂開發的手工測試已經無法勝任互聯網測試技術體系“質量第一,效率為王”的要求,成為 IT 新時代的”文盲“。一方面,手工測試在工作中已經沒有太大的晉升空間,另外也很難跳槽。尤其在經濟下行,減員增效背景下,手工測試更是首當其沖,承受著各種“中年危機”、“人員優化”和裁員壓力(在 TesterHome 社區能經常看到各種熱門貼)。而受疫情影響,大部分中小企業經營狀況愈發艱難,隨著經濟和就業形勢變得更加嚴峻,恐怕新一輪的測試裁員潮在所難免!
測試開發人才緊缺,迎來黃金時代
目前 BAT、TMD 等一線互聯網企業已幾乎不再招募傳統手工測試工程師,而只招測試開發工程師。部分功能測試任務會交給在校實習生、應屆畢業生,其余則交給兼職眾測和外包測試人員。而外包測試公司通常人員技術水平差,流動性高,普遍無法滿足高要求,也急需變革升級。這只是測試行業在過渡期的“權宜之計”,未來的測試團隊架構一定會是“測試開發工程師主導 + 少數測試專家 + 測試經理”的管理模式。
而由于當前測試開發人才緊缺(粗略統計,目前優秀的測試開發工程師占比預估僅為 1% 左右),市場上可謂高薪溢價,一將難求。一個優秀的測試開發工程師可能會同時拿到 4、5 個 BAT、TMD 大廠 Offer(年薪 30W+ 起,年薪 100W+ 也大有人在),薪資待遇甚至超過同級別研發崗位。
與此同時,測試開發技術正迅猛發展,各種新技術新應用層出不窮。以 BAT、TMD 為代表的互聯網企業都在普遍落地自動化測試、全鏈路壓測、精準化測試、大數據測試、AI+ 測試等等,更多優秀的互聯網企業也在奮起直追。
可以說,現在就是轉型為測試開發工程師的黃金時代!而能否在行業變化中把握住新的歷史機遇,就看你是否做好了準備!
目標明確,測試開發必備技能與成長路徑
1.軟件測試理論知識
這個對軟件測試人員來說是必備的。其中包括軟件測試基礎理論和方法,例如:軟件生命周期、測試用例編寫方法、軟件測試原則、軟件測試管理相關技術、軟件各個階段評審、軟件測試計劃編寫、軟件測試過程管理、軟件驗收、軟件測試整個過程等一些文檔規范。
2.語言基礎
這部分內容,可以選擇從Java或者Python入門,或者其他編程語言。當然,也要看自己是適合Python還是Java,我個人推薦先入門Python,然后再去學習Java,認真學習一個月足夠。第二門語言,一個禮拜就可以入門,很多思想和語法其實是相通的。
3.手動到自動
這是一個比較痛苦的過程,有些人天天看語言基礎,卻不知道練習的方法,導致一直入不了門。個人建議是在學習了一種語言之后,一定要找一個案例去練習,熟悉這個語言的基本使用。也可以結合Selenium去學習Web自動化測試。通過腳本編寫,有助于你提高語言基礎知識的理解和運用。在練習自動化腳本過程中,你會收獲很多快樂,讓你找到學習的樂趣,從而提升學習效率。
4.自動化腳本開發
在手動轉自動之后,就需要大量的練習,如果Selenium自動化腳本開發,你起碼要完成100個自動化測試用例,你需要對seleinum達到熟練使用的地步。以及快速寫出自動化測試用例。
5.了解和接觸框架
這里的框架,是指自動化測試框架,不是指開發用到的框架。繼續深入研究Selenium和一些自動化測試框架的知識。例如,什么是框架,框架解決什么問題,框架組成組件有哪些等。
7.常見設計框架設計
前面我們有了POM設計框架的思想,接下來我們要學習數據驅動框架,關鍵字驅動關鍵,混合測試框架,還有行為測試驅動框架。
8.Linux和數據庫
自動化測試進階到一定深度,也需要用代碼連接數據庫去進行測試,linux和shell腳本,測試環境也會接觸到。如果要做自動化部署和運維,常見的linux和shell腳本是有必要學習的。這部分內容,可以看linux和shell腳本入門系列的書來學習。
9.完全掌握一門編程語言
這個可以和寫小程序結合在一起去學習和實踐。如果你選Python,你可以學習Django框架進行開發一個web或者一個博客。如果是Java,你需要學會web開發入門,嘗試去了解Java三大web框架,優先學習SSH
下面是我整理出來的一份軟件測試工程師學習與發展知識架構體系圖。
配套學習
最后感謝每一個認真閱讀我文章的人這些資料,對于做【軟件測試】的朋友來說應該是最全面最完整的包括了很多測試行業常見知識,其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試,面試時面試官必問的知識點,精選簡歷等。需要的小伙伴可以動動手指點擊我的GitHub,通過后我會一一發給各位。
對你自學的叮囑
自動化測試的學習,相比功能測試而言,門檻更高,學習難度更大。
對于需求中業務轉化為代碼的過程有難度,需要具備對應語言的編程思想,還需要投入大量時間的練習積累才具備代碼實現自動化的能力。
在實際學習自動化的過程中,除了需要理解原理外,還需要和同行進行溝通,能夠快速的提升技能經驗,同時也比自己專門研究學習效率更高。
故而,對于自動化測試的學習來說,如果有一定基礎,并且自律性好,可以選擇工具或者代碼實現自學;若自動化測試自學困難,也千萬不要放棄:
若真自學不下去,另一種學習方式是參加專業的自動化測試培訓,能夠提供多類型的項目,并且能夠直面來自于企業級的老師面對面的指導和交流。
從自動化測試進階測試開發,拿到了30k(基本人生顛峰)
這個時候我已經掌握至少一門開發語言,并能熟練應用,能夠客服團隊碰到的技術難題,能夠設計完成測試框架,并指導測試人員實施,能夠對行業帶來較大的影響,當然進階的過程也沒有這么順利,我大概在自動化測試這個層次沉浸了4年時間,且最近一兩年才轉型測試開發,關于測試開發需要學習那些內容,我也一一陳述出來
性能和自動化玩精通,月薪在15k起步甚至是20k+都是很輕松的,那如何沖擊30k+呢,這就要求往技術專家或者管理層去發展了,但是即使做管理,也必要要求技術水平夠硬?說做管理不需要技術精通?你試試底下的人會不會反你?
在測試開發的路線上,就要求更加專精,更加全面:
完善測試技術體系:Linux、docker、shell、SQL、Python/java
打牢自動化測試技術基礎:
web自動化測試:selenium測試框架;PageObject設計模式、原則、演練;
APP自動化測試:Android自動化測試框架;appium高級應用于原理剖析;APP自動化測試實戰;測試框架封裝改造;ios自動化測試;
移動專項測試:健壯性測試、弱網測試、崩潰檢測、耗電量分析等;移動端性能測試;移動端安全測試;
接口自動化測試:接口協議與抓包、代理技術與mock;接口自動化測試框架、HTTPrunner測試框架;dubbo接口自動化測試;接口管理工具swagger、接口安全測試
docker容器技術:docker容器、docker鏡像;
持續集成/持續交付/devops:jenkins持續集成;Jenkins持續交付;
說了這么多,希望你能轉變一下心態。
你不去找一找,你就不知道自己有這么多機會
你不去逼一逼,你就不知道自己潛力有多大
你想改變,就趁現在!所以~加油吧,打工人。
Python web前端 云數據庫 MySQL 自動化測試
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。