最近刷某乎旷太,發(fā)現有很多朋友有年齡焦慮了展懈,比如:“我今年28了轉行來不來得及”,“我今年30了還能轉軟件測試嗎供璧?”......這種問題在網上上有很多存崖,仿佛大家都覺得年紀大了,很多事情都來不及了睡毒,我來說說我的經歷吧来惧,希望可以幫助到迷茫中的你!
先說下我基本情況演顾。我是87年的供搀,計算機專業(yè)普通本科畢業(yè)。在一個二線城市钠至,畢業(yè)后因為自身能力問題葛虐、認知水平問題,再加上運氣不好棉钧,換過多份工作屿脐,每份工作都干不長。導致我30多歲時,還一事無成的诵,也幾乎沒有積累到什么經驗技術万栅、行業(yè)知識等。甚至還一度去開過網約車西疤,送過外賣烦粒。
轉行程序員前,我每個月收入僅三四千元代赁。2020年下定決心扰她,準備轉行!我知道自己最大的劣勢就是年齡太大了管跺,但考慮再三义黎,因為以下幾個原因,我還是決定走這條路:
我目前的情況已經算是城市里的底層了豁跑。我不會做生意廉涕,沒其它經驗和技能,性格偏內向艇拍,銷售和交際也不太擅長狐蜕。所以我不怕失去什么,因為也沒有什么可失去的卸夕。
我想學個謀生技能從新開始层释,而學開發(fā)最適合我。因為我并非0基礎快集,畢竟大學時學的這個專業(yè)贡羔,而且自己也曾經很喜歡編程。
我對待遇的要求不高个初,只要工資有5k以上就行乖寒。如果能有6、7 那我就太滿意了院溺。
當時我的瞎推斷:因為國內出生率特別低楣嘁,以后可能沒那么多年輕人供雇主挑選,所以我們這些中老年人珍逸,也有一定的機會逐虚。
受到一些心靈雞湯的鼓勵,比如什么種一顆樹最好的時機是十年前谆膳,其次叭爱,就是現在!
我辭去工作漱病,開始在家自學軟件測試涤伐。主要的學習方式就是在網上看視頻教程馒胆。那些視頻教程,初級的基本上免費凝果。中高級的有些會收費,大概50-300元左右一套睦尽。反正“學費”上我沒花什么錢器净,總共不到一千元吧。
軟件測試是IT相關行業(yè)中最容易入門的學科~不需要開發(fā)人員燒腦的邏輯思維当凡、不需要運維人員24小時的隨時待命山害,需要的是細心認真的態(tài)度和IT相關知識點廣度的了解,每個測試人員從入行到成為專業(yè)大牛的成長路線可劃分為:軟件測試沿量、自動化測試浪慌、測試開發(fā)工程師 3個階段。
先是學了些測試基礎朴则。在學測試時权纤,猶豫了下學Java還是Python。在我讀書時是學過JAVA的乌妒,雖然已記得不多了汹想。于是我就想學個新的吧!還因為Python比JAVA簡單,我這個情況撤蚊,肯定進不了大廠古掏,做不了大項目了。所以就決定學Python自動化侦啸。
學完基礎后槽唾,我還跟著視頻教程,自己做了兩三個簡單的項目光涂。在我學習過程中庞萍,讓我比較有自信的是——沒遇到什么挫折。當然顶捷,肯定遇到過各種問題被卡住挂绰,但自己都去百度解決了。
接下來開始準備找工作服赎,第一個難點就是簡歷葵蒂。快32歲的人了重虑,如果老實說剛自學出來沒任何實際工作經驗践付,肯定是沒人要的。沒辦法缺厉,只好去包裝簡歷永高,說成有兩年開發(fā)經驗隧土。瞎編簡歷的過程還是很困難的。以前呆的哪家公司命爬,做了什么項目曹傀,完全憑想像去編造。
然后海量投簡歷饲宛,艱難地面試皆愉,不斷地被淘汰…當時我的信念就是,大不了我花一年時間去找工作艇抠,找不到就繼續(xù)學幕庐,直到找到為止!最終我花了近兩個月時間家淤,可能參加了20次的面試异剥,才勉強找到份工作。
因為沒有實際工作經驗絮重,造假的簡歷冤寿,是很容易被發(fā)現的。只要稍有經驗的面試官绿鸣,多追問你幾個細節(jié)疚沐,就露餡了。因為你并沒有做過潮模,不可能編造出全部的細節(jié)亮蛔。所以面試過程很艱難。說幾次印象深刻的:
1擎厢、一家特別小的公司究流,還是與人合租的辦公室,我當時見到的員工动遭,似乎只有兩個人芬探。與技術面試官簡單交流了幾句后,他當場決定錄用我厘惦,讓我明天來上班偷仿,并且說稍后會發(fā)短信給我確認。但不知道為什么宵蕉,后來沒再聯系我了酝静。
2、另一家小公司羡玛,還是在居民小區(qū)里辦公别智,不過辦公環(huán)境還不錯,約有七八個人的樣子稼稿。與面試官交流的地點是在生活陽臺上薄榛,面試官坐著一個簡易塑料板凳讳窟,旁邊是個洗衣機。和他聊了較長時間敞恋,自以為他問的所有問題丽啡,我回答得都不錯,也很希望拿到這個offer耳舅。滿心期待的回家等了好幾天碌上,結果也沒下文了。
3浦徊、也是一家在居民樓里辦公的小公司,辦公環(huán)境給人壓抑的感覺天梧。去的時候就遇上盔性,老板模樣的人,在對開發(fā)人員大發(fā)脾氣呢岗,那些開發(fā)人員都不敢支聲冕香。然后那老板對待我們這些面試者,態(tài)度特別粗魯后豫,抱怨我們?yōu)槭裁丛绲搅?0分鐘悉尾?筆試的內容甚至包含直接給他們現有項目找bug,和改bug挫酿。我心中生氣构眯,中途離開了。
4早龟、最后能找到工作惫霸,通過面試,主要是運氣葱弟。是老板直接跟我聊的壹店,沒經過技術面試官。老板覺得我有相關行業(yè)工作經驗(其實沒啥幫助)芝加,又是統(tǒng)招本科硅卢,專業(yè)對口,就直接決定錄用我了藏杖。如果當時他讓懂技術的人來面試我下将塑,估計我多半過不了。
那是家小公司制市,連同老板在內抬旺,總共十幾個人,給的待遇是6k祥楣。這待遇對于開發(fā)來說开财,算是最低水平了汉柒。但我當時還是很高興。說出不來怕丟人责鳍,比起以前的工作碾褂,6k對我來說已是高薪了。
剛去上班那段時間历葛,還是發(fā)現了很多“新奇”的東西正塌。比如,原來還有一個崗位恤溶,叫作“產品經 理”乓诽。以前我一直以為,只需要有開發(fā)人員擼代碼就行了咒程。我怎么動手操作鸠天!
當我同事滑動著手機告訴我,此處忽略一些情節(jié)…帐姻。于是我點頭稠集,裝作原來如此的樣子。其實內心卻震驚了饥瓷!沒錯剥纷,我就是這么菜,甚至當時我都搞不明白呢铆,啥是接口晦鞋。感覺這是一個很難的東西。
在那里呆了兩三個月后刺洒,我就沒那么白癡了鳖宾。給我安排的日常任務,都能按時完成逆航。呆了半年后鼎文,我漸漸地發(fā)現。我后面進來的同事因俐,水平也不過如此拇惋,可以說基礎還不如我,我還時不時給他們解答下問題抹剩。當時我還有點飄飄然了撑帖,覺得他們只不過對業(yè)務更熟悉些。
現在的我回想起來澳眷,當時我的看法大致沒錯胡嘿。道理很簡單:愿意去這家公司,拿6-7k工資(除了工資以外钳踊,啥也沒有)的程序員衷敌,只能是初級水平勿侯。
經過一年的時間,我已成長為一個合格的自動化軟件測試測試工程師缴罗。這里已學不到什么東西了助琐,現在回想起來,那個公司沒有任何技術氛圍面氓,在里面呆著兵钮,有一種養(yǎng)老的感覺,外部沒有什么動力和壓力舌界,逼自己繼續(xù)學習掘譬。
經朋友介紹,我跳槽去了另一家公司呻拌,很順利地通過了筆記和面試屁药,工資開的9k。
剛去的第一個月柏锄,我經受了很大的壓力。部門負責人复亏,看我年齡這么大趾娃,就以為我是一個很牛逼的人。就給我安排了些較難的任務缔御,我很費力的完成了一兩個后抬闷。
這里開發(fā)人員的技術水平,和上家公司完全不是一個檔次的耕突。氛圍也和第一家公司不一樣了笤成,同事們經常聊各種新出來的技術。哪怕聊點8卦眷茁,也是以IT新聞為主炕泳。他們聊的東西,很多我都聽不懂上祈。讓我深感自己知識面的狹窄培遵。
這里的學習氣氛也濃厚。做過開發(fā)的都知道登刺,忙的時候真是喝水都顧不上籽腕。但有時沒事,又閑得很纸俭。上家公司在沒事干時皇耗,大家就偷偷玩游戲、看視頻揍很、小說等郎楼。這里沒事時万伤,大家就是看文檔,學新東西箭启。
兩三個月后壕翩,我慢慢適應這里了。但還是那個問題傅寡,一直讓我焦慮——年齡放妈。同事閑聊時,我最怕聊到年齡的話題荐操。哪怕和年齡有一點點關系的話題芜抒,我也會警覺。比如同事們聊起用的第一部智能手機托启。我一般就不接話宅倒,因為我用的第一個智能手機還是palm!
但是,怕什么還是來什么了屯耸。
有一次聚會拐迁,又聊起年齡。每個人就在說說笑笑地報自己的年齡疗绣。輪到我時线召,我強笑著說:“我嘛,永遠18歲多矮』貉停”一個正常情商的人,都會明白塔逃,這就是不愿意說讯壶,識趣的話應該也就別多問了。但是湾盗,在坐有個同事伏蚊,情商真的太低了,他直接跳出來說:“他87年的淹仑!”此時丙挽,剛走進來一個95后同事,聽到“87年”這三個字匀借,順口就說了句:“臥草颜阐,誰87年的啊吓肋?”當時我感覺整個空氣都凝固了凳怨,我的大腿控制不住的抖動,背上密密麻麻地出汗,把襯衣都濕透了肤舞。我只好舉手示意紫新,說:“是我,我是85年的…”當時我的尷尬和羞愧李剖,永遠也無法忘記芒率。
目前我工資17k,仍然是一個技術普通的測試開發(fā)人員篙顺。對于這個收入我是知足和滿意的偶芍。
我是個臉皮薄,性格敏感的人德玫,2022年又要滿35歲了匪蟀,哎!
其實讓我目前感到尷尬和羞愧的并不完全是因為年齡宰僧。而是我的年齡和技術能力完全不匹配材彪!公司中也有年齡和我相仿的人,但在我的眼中琴儿,他們都是技術大牛了段化。感覺什么都懂,隨便說一個問題造成,他們都能給你上上課穗泵,講講底層原理。當我新聽到一個技術概念谜疤,覺得很新鮮,正準備去了解個大概時现诀。他們不僅熟悉夷磕,甚至還知道茴香豆的茴字,有四種寫法仔沿!
青春逝去坐桩,時光不再。比我聰明封锉,比我入行早的人绵跷,都還在努力,我現在能做的成福,只能是繼續(xù)努力學習碾局,僅僅希望不要那么丟臉。
對于那些一畢業(yè)就干開發(fā)奴艾,目前不到30歲净当,但經常聽說程序員只能做到35歲,并為此焦慮的同學。請你們盡管放心像啼,只要你們做的不是養(yǎng)老的工作俘闯,每年在技術上都有明顯進步,找到好工作絕對沒問題忽冻。至少在中型公司當個leader是沒問題的真朗。
但在此勸那些30多歲想轉行程序員的人,如果你們像我一樣僧诚,不是一個臉皮厚的人遮婶,一定要慎重!
不過如果呆在那種10個人左右的小公司振诬,這種年齡尷尬蹭睡,要稍好點,但就沒什么技術氛圍了赶么,成長較慢肩豁。
下面是我整理的這份2021年最全的軟件測試工程師發(fā)展方向知識架構體系圖,會很明確的告訴你該往哪里努力:
1辫呻、軟件測試基礎理論知識:
軟件測試理論知識是開展測試工作的理論依據和支撐清钥,是測試很重要的階段必須掌握的技能。
軟件的質量模型:軟件測試過程保障軟件的質量放闺,從哪些方面保障可以從質量模型出發(fā)思考
測試分類:軟件測試過程可以按照不同角度進行分類祟昭,基礎測試到高級測試遞進過程
開發(fā)流程:告訴測試人員一個軟件完整的生命周期,軟件從無到有到消亡的過程
測試流程:掌握并指導測試人員在實際項目中如何開展測試工作怖侦。這要求測試人員對常見的主流測試流程有較為透徹的理解篡悟。遇到不同的軟件項目,知道從何處著實能最有效率的測試軟件缺陷
測試計劃與方案:如何規(guī)劃在項目中開展測試活動匾寝,確保測試活動有序進行
設計用例方法:黑盒測試階段必須掌握的一些測試用例的設計方法搬葬。比如黑盒測試用例的設計方法、測試用例元素等等
軟件缺陷:在測試執(zhí)行過程中應該確定缺陷并提交缺陷報告
缺陷管理:提交缺陷后在實際工作中如何和開發(fā)協助處理驗證提交的問題艳悔。例如:bug的等級優(yōu)先級分類急凰、bug的描述、bug的生命周期猜年、缺陷管理工具使用抡锈,如禪道等。
測試報告:測試過程的回顧和結果確認乔外,生成系統(tǒng)性的專業(yè)軟件測試評估報告床三。
2、軟件測試功底技術——Linux系統(tǒng)
linux系統(tǒng)是主要的服務端操作系統(tǒng)杨幼,也是從事IT崗位的大部分人員必須具備的基本技術之一勿璃。
linux系統(tǒng)基本知識:多用戶,多任務,發(fā)行版本等
常見 linux操作命令:日志查看补疑,文件壓縮歧沪、解壓,用戶管理莲组,文件權限等
會部署和配置基本的應用jdk诊胞、 mysql、 tomcat
docker安裝使用
編寫基本的 shell RAD本
遠程終端工具使用: shell, xftps等
3锹杈、軟件測試功底技術——Sql數據庫
數據庫作為軟件系統(tǒng)必備的應用系統(tǒng)撵孤,在諸如接口測試、性能測試等等過程中往往需要操作數據庫竭望,驗證數據正確性完整性邪码,都離不開數據庫的增刪改查操作,在項目部署階段數據庫還需要配合項目部署咬清。在性能測試闭专、接口自動化測試中都需要數據庫的支撐。
數據庫基本概念
關系型數據庫
MYSQL基本的增改查語句旧烧,存儲過程
MYSQL復雜查詢影钉、多表查詢
MYSQL索引及事務相關概念
數據庫客戶端工具使用:如 Navicat
4、軟件測試功底技術——編程語言
推薦沒有編程基礎的朋友可以學習Python語言
Python語言的學習內容包含以下知識點:
Python基礎:Python語言特點掘剪、運行環(huán)境平委、基本語法、代碼風格夺谁、示例程序
數據結構:
基本數據結構:數字廉赔、字符串、類型判斷匾鸥、類型轉換昂勉、切片、字符串格式化扫腺、數值運算、位置參數和關鍵字參數村象;
組合數據結構:列表笆环、元組、范圍厚者、字典躁劣、集合、不可hash對象库菲、解包账忘、內存地數據結構址、不可變數據
程序控制:順序結構、循環(huán)結構鳖擒、判斷結構溉浙、異常處理、邏輯運算符
函數:定義函數蒋荚、函數的參數戳稽、返回值、變量作用域期升、匿名函數惊奇、常用內置函數
模塊和庫:模塊和包、import關鍵字播赁、常用標準庫颂郎、常用第三方庫、包管理工具pip
面向對象:面向對象起源和優(yōu)勢容为、面向對象的特性類和對象的聯系乓序、對象的特殊方法
日志記錄:baseConfig蛙婴、文件日志石咬、郵件日志呆馁、定制格式梭域、內置占位符弥姻、等級過濾桃熄、分級傳播卦停、配置文件
測試框架:unitest弦悉、pytest等
并發(fā)編程:多進程耿戚、多線程湿故、協程、線程池膜蛔、同步控制坛猪、線程通信、分布式皂股、猴子補丁墅茉、 async語法、生成器
網絡編程:socket編程基礎呜呐、TCP服務端和客戶端就斤、并行請求處理、HTTP服務端和客戶端
5蘑辑、軟件測試自動化進階——接口測試
接口測試本質也是功能測試的一種洋机,通過腳本或者工具,模擬客戶端對服務端接口進行調用洋魂。因為是從接口層測試绷旗,所以能更早的發(fā)現問題喜鼓,從而提高測試效率,降低修復成本衔肢。
http/httpst協議學習
常見請求方法學習:GET庄岖、POST
cookie和 session學習
接口的基本概念
接口文檔認識
接口測試用例編寫
接口測試工具使用:postman、Jmeter膀懈、SoapUl
6顿锰、軟件測試自動化進階——性能測試
性能測試的技術要求很高,不僅僅要對性能測試的指標启搂、測試分類硼控、測試設計有很深刻的理解。還要學習系統(tǒng)業(yè)務和架構相關知識胳赌,這樣才能更好的設計性能場景牢撼。
性能基本概念:性能測試意義、常見性能指標理解疑苫、性能測試的分類
性能測試流程:性能需求分析熏版、性能場景設計、測試腳本編寫捍掺、測試執(zhí)行資源監(jiān)控撼短、性能調優(yōu)、回歸測試
Jmeter及 roadrunner使用
性能測試報告輸出
7挺勿、軟件測試自動化進階——app自動化
越來越多的項目和系統(tǒng)通過移動端來提供服務曲横,移動端的軟件質量越來越重要,App自動化測試已經成為自動化測試的重要內容不瓶。借助Appium禾嫉,使得App自動化測試和Web自動化測試有很多相通之處,不過作為測試工程師蚊丐,依然需要掌握移動端應用的工具和特性熙参。
Appium移動測試環(huán)境搭建:Appium ServerAppium和 Desktop、 Android運行環(huán)境搭建麦备、模擬器安裝和連接孽椰、真機設備調試模式、adb凛篙、 weditor黍匾、 - - UiAutomator22、 Monkey
Appium元素定位:原生應用元素定位鞋诗、純web應用元素定位、混合應用元素定位
Appium元素交互:等待元素加載迈嘹,元素的基本屬性和方法削彬、滑動全庸、拖動、縮放操作融痛、下拉選擇操作壶笼、 toast消息處理、常見控件分析雁刷、常見布局分析
封裝測試框架:集成Appium覆劈、adb等工具、預定義異常處理沛励、記錄Appium日志责语、屏幕截圖、打造多用途測試框架
8目派、軟件測試自動化進階——持續(xù)集成和持續(xù)測試
持續(xù)集成和持續(xù)測試是一個在迭代中構建坤候、測試產品并修復Bug的過程。它有助于團隊在開發(fā)階段的初期發(fā)現缺陷企蹭,這時的缺陷通常相對不那么復雜白筹,并且更容易被解決。通過持續(xù)集成和持續(xù)測試谅摄,可以盡早地將錯誤風險降至最低徒河,并加快交付更好質量的軟件。
版本控制Git:背景介紹送漠、環(huán)境部署顽照、工作區(qū)、暫存區(qū)和提交區(qū)螺男、分支創(chuàng)建與合并棒厘、解決沖突、標簽下隧、 config與別名奢人、本地倉與遠程倉、 GitHub與碼云
持續(xù)集成 Jenkins:背景介紹淆院、環(huán)境部署何乎、文件結構、遠程倉庫與私服土辩、ja包依賴支救、插件管理
容器Docker:了解 Dockers的鏡像、倉庫拷淘、容器各墨、 Docker Engine和架構圖、網絡設置启涯、數據持久化
凡事要趁早贬堵,特別是技術行業(yè)恃轩,一定要提升技術功底。
其實每個程序員也能意識到目前自己面臨的窘境黎做,但能夠及時作出改變叉跛,順應時代變化的人太少了。畢竟更多人的情況是蒸殿,忙著上班筷厘,也沒人引路,自己也不太會規(guī)劃宏所。多數人明明“泰山崩于前酥艳,而面色如土”只能眼睜睜看著自己被行業(yè)淘汰嗎?
軟件測試學習資料領取和學習經驗分享扣扣群:938856006楣铁,群里都是學軟件測試玖雁,或者是業(yè)內的同行,如果在軟件測試學習和工作中遇到什么問題盖腕,都可以在群里進行交流赫冬,同時群里有最新的軟件測試學習資源領取,包括一些面試題和自動化進階資料溃列!包括我自己整理的一份2022最新的Python自動化資料劲厌。