我是如何從測試開發做到年薪50萬的?揭秘測試開發工程師成神之路
入行測開,馬上就要5年了。創業公司待過,大公司也待過,工作這一路走來,一些心得,轉變,職場體會,早就想寫出來分享一下。這個歷程包含了技術的提升,工程師的素養和對這個行業的點滴感悟。
自動化測試vs測試開發
記得剛入行那會,我的title是自動化測試工程師。那時對這兩者的區別還沒那麼明顯,面試時候兩者的問題也都比較類似。當時招聘“會寫程式碼的測試人員”比較偏向稱之為“自動化測試工程師”;不過現在很多企業的招聘都變為“測試開發工程師”了。
究其概念,其實自動化測試工程師更偏向於業務方向的效率提升;而測試開發則更偏向於基礎架構方向的效率提升。打個簡單的比方,測試開發工程師產出的框架可以認為是父類,自動化測試工程師按業務線不同,可以理解是繼承自父類的不同子類。
測試開發到底在做什麼?
測試開發,最早起源於《Google軟體測試之道》這本書,裡面第一次提出了SET(Software Engineer in Test)。不過不同的公司稱謂也不一樣,像國內很多時候還是統稱為QA。
那麼SET具體在做什麼呢?在我看來,SET偏向於測試部門的基礎架構開發和流程的設定,比如前面說到的自動化底層框架搭建,或者改寫一些開源的類和方法,去提供給組內其他的測試人員使用;再比如,我們所熟知的CICD,單元測試or整合測試的覆蓋率統計,以及自動化部署釋出的指令碼,都可以歸到測開的工作範疇裡;還有,我們常說測試也需要新技術的引入,現在常見的Docker跟k8s也在逐漸普及到測試團隊,因為測試最大的一個障礙是“測試環境眾多”,而容器化可以很好的解決這一點。
當然不同的公司情況多有差異。一般來說,越是大型的企業,它的測試流程越規範,測開的作用也就越明顯,對應的產品測試效率,也就越高。
質量保障的終極任務
我相信現在很多測試工程師,其實都有足夠的共鳴,就是“我們不是測bug的,我們是產品的質量保障員”。但是很多不成熟的企業和團隊還是會有誤區。比如,bug數目確實可以代表你工作的產出,但如果你的團隊或領導把bug數目作為唯一指標,我覺得你是時候考慮跳槽了。質量保障,在我看來涵蓋很多東西,是一個很龐大的概念,大概可以包括四點:
1.正確的流程
現在很多都是敏捷開發模式了。在需求評審階段,測試同學參與並對需求or產品有一定的理解和初步的測試計劃
2.基礎的質量
開發程式碼的規範度,基礎程式碼的走查,監督單測覆蓋率的穩步提升,畢竟基礎決定上層
3.業務的覆蓋
確切可以拆分成服務介面的測試/前端UI測試/效能測試/穩定性測試/系統整合測試/迴歸測試,這一點可以說是測試同學交叉最多的地方。
4.產品終端的保證
協同制定灰度釋出策略/規範線上的操作/瞭解使用者使用過程中常見的風險點/制定止損策略
簡單來說,測試保障質量,質量決定產品。測試應該是對需求,對產品邏輯最最瞭解的那個角色。所以,只要關於產品變更的,測試同學都應該下意識去跟進。
而以上的任何一點,都可以深究,去做的更好。
工程師文化
我相信再牛逼的測試開發,也要從業務抓起,你不瞭解業務,不瞭解一些開發程式碼或者的話,有些東西也是扯淡。業務測試在我看來一點都不low,反而是一個很考驗人的事情。不管是測試工程師也好,測試開發也好,我們都是工程師,都服務於產品。既是工程師,就該有工程師的素養,我認為完成一個好的測試任務,大概需要同時做到以下幾點:
1.對測試結果負責
我們是產品的最後一道關卡,我們對產品釋出與否有絕對的話語權,同時,我們也要對自己的測試結果負責。
2.測試到最終場景
現在很多產品鏈路都很長,這就需要測試同學主動去塑造自己產品的大局觀,而不侷限在某個單元的測試,不考慮全域性,有時會造成致命的線上災難。
3.對日誌敏感,能夠精準定位問題
如果開發流程足夠規範的話,有完整的日誌系統,其實定位問題並不難;我們每發現一個bug,都可以嘗試去追溯它的根源,時間久了,你會對工程程式碼或邏輯摸的很清楚,這對你接下來的測試工作簡直如虎添翼。
4.對相似問題和 漏洞 的歸納
不管是前方客戶的問題,PM發現的問題還是自己的bug庫,經常歸納可以節省很多時間,會讓你對自己的工作產生一種“直覺”,但這種直覺有時很準哦。
面對不同的產品該怎麼辦?
開發技術或框架可能是通用的,但測試可能會隨著產品形態而產生“獨特”的調整,我稱之為“測試形態”。比如,現在的人工智慧測試,因為每次模型迭代,測試所需的資料量很大,你用傳統的併發去請求可能就不行,那你可能就需要學一些分散式技術;再有就是雲服務測試,這種絕大部分是純後端服務測試,或者SDK測試,沒有前端去assert你的預期,那麼你就需要足夠熟悉curl命令,網路命令等,甚至去生成一些shell指令碼,來執行你的測試請求;還比如手機端的測試,那它的相容和穩定性呢怎麼保證,則又是一門學問;最後還有比較火的智慧硬體,盒子啊TV啊這些,怎麼保證它的質量,則又是另一種路子。
但,歸根結底:測試思想不會變,以不變應萬變。
總結:
測試是一門大學問,它入門門檻並不高,但是越深入,你發現自己瞭解的越少。作為一個職場人員,不隨業務轉變而轉變,有自己的沉澱和技術底子,才能更長久。而測試開發這個行業,鄙人認為未來也會愈加重要,它是銜接產品/測試/開發的一根紐帶,它在背後默默支撐著整個測試體系有條不紊的進行,某種程度上說, 算是一個隱者吧。
加我VX:ww-51testing 回覆關鍵詞“測試”領取限量軟體測試學習資料哦~~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2652743/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 新手測試開發的成神之路:面試歷程分享面試
- 進軍測試開發工程師之路~工程師
- 測試還是國外的吃香?揭秘海外測試開發工程師的日常工作生活!工程師
- 我真的從測試轉成了開發......
- 測試開發之路-QA的能力
- 我眼中的開發和測試
- 我為何從測試轉測試開發,並堅持了10年?
- 開發測試
- [新手開發記錄] 從測試開始開發
- 軟體測試開發工程師的發展工程師
- 如何讓軟體開發從功能測試轉入應用測試?
- 測試開發:從0到1學習如何測試API閘道器API
- 從開發轉測試:我從零開始,一干就是6年的自動化測試歷程
- 變異測試是測試驅動開發(TDD)的演變
- 我們公司是如何做到高效並行測試的?並行
- [測試開發]慶祝ITEye改版+測試開發專欄開通
- 測試開發工程師修煉手冊—測試技能大盤點工程師
- [原創] 上海好買基金招聘測試經理/測試主管/測試工程師/測試開發工程師(長期有效)工程師
- 什麼是測試驅動開發
- 面向開發的測試技術(二):效能測試
- 【敏捷開發】驅動測試開發敏捷
- 聊一聊我對測試開發的看法
- 敏捷開發中的測試敏捷
- 軟體測試工程師如何從功能測試轉成自動化測試?經驗分享篇工程師
- 從功能測試轉成自動化測試,軟體測試工程師該如何成功轉型?工程師
- 測試開發之效能篇-JMeter介面測試JMeter
- 功能測試怎麼提升測試開發能力?
- 敏捷開發與測試敏捷
- "測試"驅動開發
- [原創] 上海利得基金招聘測試經理/測試工程師/測試開發工程師(長期有效)工程師
- 測試開發專題-開篇
- 高階遊戲開發工程師測試題遊戲開發工程師
- Laravel 測試驅動開發 -- 正向單元測試Laravel
- 測試開發之效能篇-效能測試設計
- 中國軟體評測中心急聘測試開發工程師工程師
- 談“測試驅動的開發”
- 功能開發的測試姿勢
- 測試開發的方向應該如何選擇?