1. 程式人生 > 實用技巧 >【分享】通往高階測試工程師的4點心得!

【分享】通往高階測試工程師的4點心得!

Time will tell.

1、測試工作

(1)專案立項,需求產出

很多人都在強調要測試前置,可這是有條件的。如果你不按專案流程來走,都開發完相應的功能了才告訴測試,測試如何前置?

所以在專案立項後,需求產出階段要進行需求評審,確定好開發人員,測試人員,一起參與需求評審會議,此時三方人員根據各自的經驗和專長來一起討論需求。

開發從技術實現角度,測試從使用者角度來對需求提出自己的意見,力爭通過需求評審達到三方意見一致。一起排出專案週期及各個環節的關鍵日期,交付物等。


(2)需求開發,測試用例編寫

在開發人員開發需求的時候,測試人員必須確定測試方案,編寫相應的測試用例,通過xmind, excel編寫冒煙測試用例,或者通過編碼來編寫冒煙測試用例,以供開發提測的時候進行自測。

同時編寫全面的測試用例,組織三方人員進行用例評審,進行測試必要的前期準備,如測試資料,測試環境等,監控專案週期各個環節執行的情況,如果出現任何風險及時預警。


(3)程式碼提測,測試階段

在開發提測後,需要進行測試驗收,驗證冒煙測試用例的執行情況。如果冒煙測試通過,則需要藉助於各種測試工具,測試程式碼,測試平臺等進行具體的測試工作。

如果有特殊的需要,則去開發相應的測試工具,新增自動化測試用例或是測試平臺的新功能等;同時需要了解開發的程式碼實現原理,評估出影響範圍,進行必要的迴歸測試。評估bug的級別,與相關人員進行交流和跟蹤問題。


(4)上線與交付

在測試環境,模擬或是沙箱下測試完成後,就到了上線與交付階段了。如果公司有完整的測試平臺可以直接上線,或是由運維的同學進行上線的話,就根據流程準備相應的資料,安排上線。上線完成後,在線上迴歸相應的功能,以及可能影響到的功能。


2、溝通

上面都是按專案工程的流程來進行的工作,還有很多軟技能也是非常必要的:

(1)如何恰當地提BUG

如果你用的是bug管理平臺,就把bug描述清楚,復現步驟寫詳細點兒。

給開發人面反饋時,如果開發人員比較活躍開朗,容易交流,就事論事描述清楚即可;如果開發人員技術相當牛,但不愛交流,你可以說:“我發現一個和需求不一樣的地方,不知道我測試有問題,你能不能看一下?”讓他自己發現問題更容易接受。


(2)總結經驗,指導未來

善於在平時工作中總結問題,在後面遇到同樣的問題時能快速解決。總結與相關部門合作的經驗,比如哪個部門的人比較墨跡,需要提前溝通;哪個人在合併程式碼,提交的時候容易出錯,就需要重點關注等等。

測試工作還是比較複雜的,能大能小,大可以包羅永珍,專案經理,公司CTO的職責;小隻需要藉助於測試手段,驗證一下需求即可。


3、能力

這個行業入門容易,但要徹底上手測試,這對綜合要求比較高。根據招聘崗位描述和發展經驗來看,技術要求也是越來越高:

(1)基本測試技能

最初的功能測試要求基本的測試技能:如需求分析,會通過如邊界值法,條件覆蓋等手段來編寫測試用例,測試環境的部署(有的時候也不需要部署環境),Bug的定位與準確描述,Bug驗證及迴歸測試等。加上一些與人溝通和交流的技巧,簡單的測試管理工具如jira的使用,基本就能勝任測試工作。


(2)指令碼編寫和工具的使用

隨著業務的發展,會有不同場景需要一些重複性的工作,或是大量資料日誌的處理,此時就需要通過編寫一些指令碼程式碼,如python, shell等來處理這些工作。

同時會引入如PostMan, LR, Jemter, QTP等等的工具來輔助測試,進而達到提高效率和擴大測試覆蓋面的目的。當然我們測試人員就需要具備相應的編碼能力,以及快速學習各種工具,或是可定製化合適的測試計劃的能力;此時如果你有這樣的能力,會很受歡迎的。


(3)自動化測試實施與開展

具體不知道是從什麼時候開始,招聘測試的崗位要求上都會有這麼一條“會自動化測試”,可是進入工作後是否真得進行自動化測試,那就不得而知。

但是要做自動化測試,就需要具備熟練使用測試框架如phpunit,unittest,junit,TestNG,Webdriver,Appium等主流的框架,或是其他公司開源的二次開發的框架,如Macaca,KIF等;而且不管是什麼自動化測試(介面自動化測試,Web自動化測試,App自動化測試,Service自動化測試),最終都會做成持續化整合(CI)=測試框架+測試用例+Jenkins+Report。

當然也有對開源框架做二次開發,整合業務邏輯函式,用例管理,測試計劃管理,日誌管理,報告生成等功能於一身,形成新的測試框架的。


(4)測試平臺的開發

在有一定的技術積累的前提下,秉承網際網路整合資源的傳統,測試行業也開始了整合各種測試資源。如先前公司做的環境管理平臺(整合程式碼管理,環境部署,自動化測試,上線流程等),服務化管理平臺(整合服務開發與部署,服務的執行與管理,測試用例與測試計劃管理,業務測試流程管理等)等各種平臺,方便大家通過平臺進行一站式測試,降低測試成本,提高測試質量和效率。

此時就要求測試人員具備通過平時的工作提取平臺需求的能力;網站開發能力通過一門編碼語言如java, python,php等開發後端服務,前端如Bootstrap+jquery,vue等框架設計前端頁面;前後端聯調與測試的能力;網站部署與運維的能力,如apache, tomcat, mysql, mongodb, docker等等。

要想做好測試平臺的開發,幾乎要掌握軟體工程涉及的各個環節,雖然不需要精通但是最低也要會使用,集各家所長於一身,才能形成自己的一套拳路,立於不敗之地。


(5)測試架構與綜合能力

當你的技術達到一定的能力,在公司工作年限夠久,很受領導重視的時候,就會相應地走到管理崗位。但目前的管理也是越來越難做,不僅要求管理要有套路,還要求技術上要有方向,有測試架構能力。

“你對於目前的測試工作有什麼想法?”

“準備引入什麼技術或是方案來提高測試效率?”

“投入產出比如何?”

注意團隊的發展,就算你的架構能力再強,沒有具體的實施人員,也很難實現的。

要分工詳細,發揮出他們的長處,誰擅長什麼,將其安排在正確的位置。


4、最後

測試是一個地處中原,輻射八方的行業,並沒有什麼較為明顯的瓶頸。以功能測試為中心,進行引入各種測試工具,測試指令碼,自動化測試,測試平臺等等。

1)同時需要了解業務需求的來源,內容;

2)開發人員程式碼架構,實現的原理與影響範圍;

3)運維人員的部署,打包發版與相應的問題處理;

4)銷售人員的銷售效果與客戶反饋,以及最終這個需求對公司戰略目標和發展方向的影響。而不僅僅只是發現bug,驗證bug的工作。


你關注過這些方向嗎?還是天天在坐井觀天,抱怨連連呢?

你應該靜下心來,好好思考測試究竟應該如何做,相應的方面有沒有做到。網際網路行業涉及的內容浩如煙海,技術更是日新月異,怎麼可能沒東西學呢?

只要你具備了相當的能力,才會過得更加自由,今年當一年半載的測試,明年去做幾個月開發玩玩,後年可能去做個產品經理,多多嘗試也未嘗不可!此時也不用擔心就業機會、薪資待遇、加班等問題了。

絮叨

測試是一門技術,更是一門藝術。也許你今天擁有的技術,明天就會被淘汰。需要我們開拓思維和眼界,積極擁抱變化,學習新知識、新方法、新技能、計算機領域講究的是實踐,學習更要講究方式方法,學習和動手一定要結合。

如果你喜歡軟體測試這個行業的話,可以加入我們175317069一起學習,這裡有行業深潛多年的測試人技術分析講解。也有我整理的各項軟體測試進階資料,涵蓋測試技術、開發及環境搭建類、HR面試3大方面。

最後祝願你能成為一名優秀的軟體測試工程師!

喜歡的話,歡迎【評論】、【點贊】、【關注】禮貌三連~

Time will tell.(時間會證明一切)