軟件測試工程師如何轉做測試開發


軟件測試工程師如何轉做測試開發


不知道從什麼時候開始,出現了測試開發工程師這個稱呼,以前的測試是測試工程師,開發是開發工程師,可究竟什麼時候出現的測試開發工程師呢?怎麼才算得上是測試開發工程師呢?其實雖然我做測試開發,高級測試開發,以及資深測試開發很久了,但是不能給出一個準確的定義。但是從以往的工作,招聘面試等經驗中,可以分析一下,究竟什麼是測試開發?測試開發,其實是要求從事測試工作的測試工程師們要有以下幾種能力或是思維:

一,快速學習新知識的能力

互聯網行業的技術發展可謂日新月異,這就要求相關的從業人員要具備快速學習的能力。學習新知識,結合具體的業務或是遇到的問題,能快速實施落地。遇到工作中需要使用新知識的時候,能快速學習掌握並能解決問題。其實大家應該感覺得到,工作以後學習東西和當初上學的時候完全不一樣的了。我們以學習語言為例,編碼語言是測試人員的工具,所以在遇到問題的時候,不能說你會什麼語言就用什麼語言來解決,應該是什麼語言解決起來效率高,就用什麼語言。如果這種語言你不會,就需要去學習,此時再像學校的時候,買本書一章節一章節地看,顯然是不行的。需要在解決問題的過程中,帶著問題去學習,如果一門語言你需要學習上幾個月,那就失去了意義。必須能快速學習,積極解決問題。

二,使用知識解決實際問題的能力

不管你是學習語言,測試工具,測試框架還是各種自動化測試,必須有解決實際問題的能力。從平時工作中遇到了難以解決的問題,然後提煉出通用的問題解決方案,使用代碼技術手段去解決它,這個才是正途,不能為了學習而學習。比如說學習自動化測試,首選根據自己的業務需要,調研一下接口自動化,服務自動化,頁面自動化和App自動化哪個才是能解決問題的方案;然後圍繞著工作需要,去選擇測試框架,設計自動化用例架構,用例管理方案,用例集執行策略,報告及日誌管理,問題分析等等,而後再去做持續化集成。通過解決具體的問題,來去引進和學習相應的技術,一是能得到領導的支持,獲取時間和資源;二來能增加自信和獲取相應的肯定,報酬等等。自己一個人學習的時候,沒有任務就沒有動力,最後變成了調試一下示例,慢慢的就是隻看書,最終是從入門到放棄。

三,全面考慮問題的能力

我們通過了快速學習,能從解決問題的角度來提升自己,並可以將技術落實到實處。這個階段會持續一段時間,此時你應該處於測試開發的初中級水平,如果想往高級上發展,就需要培養考慮問題的全面性。但是往往這方面不太容易提升,一個人的思維習慣,思考高度等等很難改變的。舉個例子來說明一下:給你一個全新的App讓你來設計測試方案,你能考慮到哪些兒?App一直以來就有“胖服務端,瘦客戶端”一說,所以我們在測試的時候,需要引入接口或是服務的自動化測試,以保證後端接口或是服務的功能測試,功能迴歸和監控;同時分析接口的使用場景,來確定是否需要引入壓力和安全測試;App客戶端需要手工測試進行功能和兼容性的測試,藉助於工具來進行app壓力測試,使用Appium UI自動化測試來進行用戶級的自動化測試與迴歸。同時,根據以後的迭代節奏和業務發展的需要,可以考慮引入持續化集成等等。

四,新技術敏感度與技術危機感

一個優秀的測試開發人員,需要對社會上出現的新技術保持高度的敏感。此技術出現後,會影響到哪些方面,如果影響到了開發人員,測試技術和方案是否也需要相應的改變?如果能直接使用到測試工作中,應該如何實施等等。同時,自己也要時刻保持著技術危機感,不能學會了自動化測試,就沾沾自喜,認為自己已經是測試開發了,或是做了持續化集成就是高級測試開發。技術更新換代相當速度,如果不時刻有危機感,不斷地提升自己,你引以為傲的技術馬上就會變成被人不屑的東西。在面試的時候,四處碰壁,那種失落感是可想而知的。

五,團隊協作與共同進步意識

一個人的英雄主義的年代已經過去,現在做什麼事情都是團隊協作的。所以一個優秀的測試開發人員,要有團隊協作能力,能與團隊中的任何人合作共同完成工作。同時,如果你的技術能力較強,要有對團隊人員進行培訓,大家共同進步的意識。因為你一個再強,也不如一個團隊強,通過培訓自己的團隊成員,大家共同進步,才能更好地完成工作。一個人默默發展,不與其他成員交流,一意孤行,到最後不管你的貢獻再大,能力再強,公司也會為整體而丟棄你的,千萬不要讓這種情況發生在自己身上。現在的企業招聘的時候,也會很重視這方面的考察,不要因為自身的原因而影響發展。測試開發不僅僅是職稱,而是社會對測試人員的一個要求和認可。你從事測試工作了多少年,應該達到什麼水平,具備什麼能力,解決問題的思路和方案是什麼?如果你達不到這個水平,即使你說自己的高級測試開發,照樣讓你面試通不過。社會不相信眼淚,互聯網相關行業不相信工作年限,你工作的時間久不能說明你能力強,同樣的工作重複多少年都沒有用。


分享到:


相關文章: