10年軟件測試工程師感悟——寫給還在迷茫中的朋友「十年磨一劍,文末福利」

文章首發(fā)于微信公眾號:測試人追風
?
不知不覺在軟件測試行業(yè),野蠻生長了10年之久。這一路上擁有了非常多的故事。有迷茫,有踩過坑,有付出有收獲,有堅持!
我一直都在軟件測試行業(yè)奮戰(zhàn),有許多同學好友都已經(jīng)轉(zhuǎn)行,去選擇了更適合自己的路。
這兩天和從上?;貋淼哪硰SCTO一起吃飯,談到軟件測試的發(fā)展,其實軟件測試已經(jīng)在不知不覺中發(fā)生了非常大的改變,前幾年的軟件測試行業(yè)還是一個風口,隨著不斷地轉(zhuǎn)行人員以及畢業(yè)的大學生瘋狂地涌入軟件測試行業(yè),目前軟件測試行業(yè)“缺口”已經(jīng)基本飽和。當然,我們說的是最基礎的功能測試的崗位需求已經(jīng)很少了,而自動化、性能、安全乃至于以后可能出現(xiàn)的大數(shù)據(jù)測試、AI測試仍存在著非常多的機會。

?
?
?
身邊的很多朋友想要問一些關(guān)于軟件測試工程師行業(yè)的問題就會來找到我們,在這十年測試經(jīng)驗,我們看到了太多想提升測試技術(shù)而沒有明確方向的人,深刻的體會到測試人員的技術(shù)痛點,以及測試這個角色在互聯(lián)網(wǎng)公司的待遇和地位遠不及其他崗位,甚至還是會有很多人會認為測試在公司隨時能被取代,可有可無。
?
?
?
那么在軟件測試行業(yè)如果只會手工測試的測試人不做測試了,我們還能做什么?唯一辦法就是保持持續(xù)的學習,希望裁員的時候自己能幸免,或者公司倒閉了,自己在市場上能更有競爭優(yōu)勢。因有更多機會去面試,所以接觸了更多的測試人員,正因為在這個大環(huán)境不好的情況下,加上今年新冠的影響,我同樣為“如果不做測試了,我還可以做什么”而焦慮。
?
但其實,你可以看看其他專業(yè)畢業(yè)的同學,他們大多數(shù)并不能在工作幾年就工資翻倍,或翻幾倍!當然,也有普遍比我們更高工資的專業(yè)。不過,我仍然因為自己生在90年代,選擇了計算機專業(yè)而感到幸運。
?
?
?

?
?
關(guān)于功能測試想轉(zhuǎn)自動化相關(guān)的問題:
?
由于歷史原因,大部分測試人員,最開始接觸都是純功能界面測試,隨著工作年限,會接觸到一些常用測試工具,比如抓包,數(shù)據(jù)庫,linux等。
我大學學的計算機專業(yè),有一定的編程基礎。我的軟件測試職業(yè)開始和大多數(shù)測試人員一樣,一開始在一家電商公司做軟件功能測試。
我的公眾號測試人追風前幾天有人留言問到我,在一線城市做功能測試,如果定個小目標,想拿到年薪二十萬,需要具備哪些技能?
?
1.首先必須熟練整個產(chǎn)品的業(yè)務流程、業(yè)務是基礎,這樣保證產(chǎn)品在快速迭代時、不僅保證新功能的完整性,而且快速回歸原有功能不受影響。
2.然后需要掌握一些常用測試工具來輔助測試:
Web端測試:瀏覽器開發(fā)者工具使用,network、console控制臺、兼容性測試
移動端app測試:(安卓/IOS/ipad端)測試全流程,兼容性測試、穩(wěn)定性測試,流暢度測試、adb常用命令
服務端:掌握接口測試、抓包工具使用、如何校驗接口的完整性
Linux:常用shell命令,查看錯誤日志
數(shù)據(jù)庫測試:熟悉數(shù)據(jù)庫表結(jié)構(gòu),掌握常用增刪改查sql語句,便于分析測試結(jié)果。
常用工具使用:SVN/git版本控制工具 、postman、jenkins應用打包和構(gòu)建
換句話說,如果你拿到一個新的產(chǎn)品測試功能,你如果能通過數(shù)據(jù)庫的表結(jié)構(gòu),和分析系統(tǒng)日志來快速的熟悉產(chǎn)品業(yè)務,說明你的測試思維,功能測試能力已經(jīng)非常優(yōu)秀了。
?

?
?
當時我在上海做軟件測試掌握了以上技能點,在公司將工作效率提高了,相對比較輕松,這就導致我有充足的時間,拾起編程語言,最初用的java語言,然后學習各種自動化測試技術(shù),當時覺得自動化測試特別有意思,而且挺神奇,激發(fā)了我濃厚的興趣。
后來發(fā)現(xiàn)Python語言越來越火,而且我發(fā)現(xiàn)python來做自動化和對于編程基礎比較薄弱的測試工程師來說特別的合適。
python還能用來爬蟲,用python還能寫一些定時腳本,數(shù)據(jù)庫腳本,效率非常高。
?
測試行業(yè)的現(xiàn)狀
?
現(xiàn)在測試行業(yè)的的趨勢,你去面試任何級別的測試工程師都會問你是否會自動化測試,所以自動化測試已經(jīng)是必備技能,而不是加分項。
?
換句話說,會用開源的測試工具不足以在公司漲薪或者跳槽至一線互聯(lián)網(wǎng)大廠。因為真正企業(yè)自動化測試落地肯定是一個團隊在做。
?
當你熟悉使用這些開源框架之后,你會發(fā)現(xiàn)有些框架之間是相通的,所以基于這些開源框架,我們打造一個屬于自己的測試框架。
?
可以根據(jù)公司實際測試需求自主封裝適合項目的測試框架,落地實用。建立自己的技術(shù)體系,得到一套落地有效的自動化測試方案,從青銅變身王者。
?
這樣讓我們自動化團隊將更多的精力放在測試用例設計本身上面,達到提高產(chǎn)品質(zhì)量,提升效率的目的。
?
?

?
?
學習的內(nèi)容一定要基于自己的工作來,這樣才能把學來的技術(shù)變成工作經(jīng)驗。那么我們軟件測試工程師如何在繁瑣重復的手工測試工作中,慢慢擴展積累測試技術(shù),建立自己的技術(shù)體系?
?
大部分測試人員,最開始接觸都是純功能界面測試,隨著工作年限,會接觸到一些常用測試工具,比如抓包,數(shù)據(jù)庫,linux等。
但是有個比較常見的問題,由于現(xiàn)在企業(yè)大多數(shù)都是敏捷開發(fā)模式,容易陷入版本快速迭代中。
以至于沒有時間精力再去額外學習一些高級和主流的測試技術(shù),如某種編程語言、自動化測試工具、測試框架搭建、測試平臺研發(fā)。
即使擠時間強迫自己學習,也不知道從哪里開始入手,那些碎片化的東西,只能讓你了解,很難很難消化。
當你要形成自己的輸出,用自己的思路和技術(shù)來做項目的時候,你要回到那個知識框架里面去學習。
關(guān)于學習軟件測試的小建議:不要碎片化信息學習,那不叫學習,要有決策性學習,系統(tǒng)的學習,學習解決問題的思路。
?
?

?
?我的初衷很簡單:讓軟件測試更簡單!分享學習資料,面試題、技術(shù)干貨。公眾號測試人追風后臺也有很多人問我,學習軟件測試有沒有捷徑?我認為少走彎路就是最大的捷徑。系統(tǒng)資料?前人指點是功能測試轉(zhuǎn)向自動化測試乃至測試開發(fā)最好的學習方法!
?
在適當?shù)哪挲g,選擇適當?shù)膷徫?,盡量發(fā)揮好自己的優(yōu)勢。
?
我的自動化測試之路,一路走來都離不Python語言,因為較早的接觸和使用Python語言,所以,我積累了大量基于Python語言做自動化測試的經(jīng)驗,這里我將這些經(jīng)驗錄制成了《Python自動化軟件測試》精品課。有興趣的可以關(guān)注專注于分享軟件測試各類學習筆記、面試題以及IT類資訊的公眾號:測試人追風,獲取。
該課程從測試的各個方面為你整理了Python當前最熱門的測試庫和框架,幫你建立自己的自動化測試技術(shù)體系,讓你在測試工作變得更加高效。
全部以我之前在企業(yè)真實項目實戰(zhàn)去驅(qū)動理論知識點,豐富的實戰(zhàn)場景演練,全方位提升測試技術(shù),建立一套屬于自己的技術(shù)體系。
目前我一直不斷學習和優(yōu)化技術(shù)棧,保證是市面最先進和主流的測試技術(shù),我想的大家學的就是市場所需,將知識和技術(shù)變現(xiàn)。
?
?文末福利:上傳可能會有壓縮,需要高清原圖或者更多系統(tǒng)性提升的技術(shù)進階/面試資料可以來找我。

?
?

?
?
最后:
?
汲取經(jīng)驗在前,方能功成在后,不斷學習成長!不管你現(xiàn)在處于哪一個階段,都可以一起來報團取暖,我們都是測試人!
軟件測試,與你同行!公眾號:測試人追風