我為何從測試轉測試開發,並堅持了10年?
入行測試開發,馬上就要10年了。創業公司待過,大公司也待過,工作這一路走來,一些心得,轉變,職場體會,早就想寫出來分享一下。這個歷程包含了技術的提升,工程師的素養和對這個行業的點滴感悟。
自動化測試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啊這些,怎麼保證它的質量,則又是另一種路子。
但,歸根結底:測試思想不會變,以不變應萬變。
總之,測試是一門大學問,它入門門檻並不高,但是越深入,你發現自己瞭解的越少。作為一個職場人員,不隨業務轉變而轉變,有自己的沉澱和技術底子,才能更長久。而測試開發這個行業,鄙人認為未來也會愈加重要,它是銜接產品/測試/開發的一根紐帶,它在背後默默支撐著整個測試體系有條不紊的進行,某種程度上說, 算是一個隱者吧。
歡迎加入 51軟體測試大家庭,在這裡你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟體測試技術乾貨】,【面試求職技巧】... 51與你共同學習,一起成長! 加我VX:ww-51testing 回覆關鍵詞“測試”進入軟體測試學習交流群哦~~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2651030/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 我真的從測試轉成了開發......
- 我是如何從測試轉為產品的
- 從開發轉測試:我從零開始,一干就是6年的自動化測試歷程
- 如何讓軟體開發從功能測試轉入應用測試?
- 從傳統測試轉向敏捷測試敏捷測試
- 小公司測試該何去何從
- 我是如何從測試開發做到年薪50萬的?揭秘測試開發工程師成神之路工程師
- 我從11287條軟體測試招聘需求中,發現了……
- 從業測試 12 年,何須迷茫?
- [轉載]軟體測試從零開始
- 簡單談一下我對持續測試下的測試左移、迭代測試和測試右移的理解吧
- 從功能測試轉成自動化測試,軟體測試工程師該如何成功轉型?工程師
- 成為比開發硬氣的測試人,我都經歷了什麼?
- 開發轉測試半年我就迷茫了, 下一步走什麼方向?
- 成功的9大步驟:從手動測試轉為自動化測試
- [TCS] App 測試開發,外企招聘了APP
- 系統測試-從研發到測試過程
- [新手開發記錄] 從測試開始開發
- 聊聊持續測試
- 功能測試轉向自動化測試 / 開發。10年 心路歷程——願測試人不再迷茫
- 測試開發:從0到1學習如何測試API閘道器API
- 測試測試測試測試測試測試
- 功能測試怎麼提升測試開發能力?
- 測試開發之效能篇-JMeter介面測試JMeter
- .netcore持續整合測試篇之測試方法改造NetCore
- 軟體測試工程師如何從功能測試轉成自動化測試?經驗分享篇工程師
- 為了未來的使用測試
- 從測試小白到測試組長,談談我的測試過程及管理經驗總結
- 6年心得,從功能測試到測試開發,送給在測試路上一路走到黑的你!
- 6年心得,從功能測試到測試開發,送給在測試路上一路走到黑的你。
- 聊一聊我對測試開發的看法
- 測試已死?我看未必!分享我在華為做敏捷測試的那些流程……敏捷測試
- 測試開發之效能篇-效能測試設計
- Laravel 測試驅動開發 -- 正向單元測試Laravel
- 介面效能測試 —— Jmeter併發與持續性壓測JMeter
- 測試開發都這麼厲害了?為啥不直接轉業務開發?
- 專案為何要開展第三方測試
- 為 java 開發者設計的效能測試框架,用於壓測+測試報告生成Java框架測試報告