大概是2014年的時候,我開始接觸面試工作,就是從應聘者轉為面試官,記得印象深刻的是面試了一位做了8年的測試。對方氣場很足,嗯,畢竟那時的我還只是一個3、4年經驗的小測試,相反,印象深刻的並不是對方的氣場,也不是精湛的測試技術(其實對方面沒什么測試技術,就是對自己公司的業務比較熟悉),只是因為對方面做了8年測試,是的,那時我並沒有見過什么世面,遇到的都是做了5年以下的測試。可是,轉眼間我已經在測試行業8年了。不過,我要說的並不是8年的測試應該怎樣。
隨着行業的發展,越來越多的測試會走到自己的測試十年。剛好,我最近有幸面試了一些十年以上的測試人員,畢竟,我離10年也不遠了,畢竟你們早完也會做到十年,來看看他們的能力和現狀對我們來說具有很好的參考價值。
###技術能力
十年以上的測試無疑測試技術一定要是全面的,根據項目的現階段所面臨的問題選擇最合適的測試技術。
自動化測試:這是測試繞不開的技術,能夠深刻的理解自動化測試的價值與優缺點,獨立設計自動化測試框架,根據項目的特點適當的選擇自動化方案。比如,我在面試其中一位測試人員時,她跟我詳細的描述了他們項目的背景,以及工作中面臨的問題,找出影響測試效率的原因,並提出改進的方法,這其中用到了少量的自動化測試。這一改進確實有效提高了整體的測試效率。
自動化真正變成了為我所用的工具,而不再是為了自動化而做自動化。
性能測試:性能測試不再是關注JMeter或LoadRunner的使用。做性能測試之前要清楚的知道為什么要做性能測試,以及達到的預期效果,這中間應該是如何設計性能場景,如何做好系統的監控,以及系統的部署和調優。我曾面試過一位性能測試,他為了模擬線上非必現的一個性能bug,深入分析線上重現場景,用Java自己實現了一個性能工具,並不是使用一下多線程那么簡單,具體細節我記不太清了,總之,那種情況單定位問題都花了很久。他告訴我最難實現的部分是性能測試數據的收集。收集間隔太大得到的數據不精確,收集間隔太短本身也產生一定的性能,以及收集之后的數據如何統計與展示。
學習性能測試的重點不是學習性能測試工具,站在略高於開發的角度理解整個項目架構,才能真正的測出和解決性能問題。
測試平台:測試平台並不是一定要做的,測試平台是為了更方便的服務於更多的測試和開發人員。比如測試和開發頻繁操作而又步驟一樣的一些事情,就可以集成到平台中。這樣可以讓他們一個按鈕搞定。
我目前所開發的測試平台,使用最多是開發人員用的接口管理功能,和以及測試人員用的一鍵創建測試環境(我們的測試環境用docker管理)。
編程能力:這是一個隱含技能,以上所介紹的技術,沒有一樣是可以離開編程能力,甚至要求不亞於開發水平。所以,不懂開發,或開發能力很弱,這將是最大的硬傷。
###管理能力
無一例外,超過十年的測試都擔任過管理角色,管理其實也是需要學習的軟技能,然而,卻常常被我們忽視。
最重要是角色的轉變,從專注於自己手上的工作,變成關注於整個團隊的工作。對上,如何利用現有資源提升產品質量與測試效率。對下,幫助每個人的成長,發揮每個人的優勢。
說來非常簡單,做起來你會碰到各種各樣人和事,這都需要你有很強的溝通能力和處理問題的能力。
以上,希望對你有幫助。