我為何從測試轉測試開發,並堅持了10年?

博為峰網校發表於2019-07-18

入行測試開發,馬上就要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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章