測試開發這一年
上一期我聊到2018年是我做測試開發的一年,然後,有不少測試同學問測試開發做具體在做什麼?根據近一年的工作,再次聊聊這個崗位。
我以前的文章曾經對測試開發做過簡單的一個劃分:
測試工具、測試平臺開發:這類開發工作主要服務於“測試”相關業務,本質與開發公司其它產品業務並沒有什麼不同。
自動化測試開發:這類工作主要圍繞公司的產品開發自動化測試指令碼,主要包括 UI自動化測試、介面自動化測試和單元測試等。
測試指令碼的開發:這類工作主要是服務於一般測試工作,提高測試效率,例如通過測試指令碼生成測試資料、抓取頁面資料進行對比等。
通過這一年團隊的發展和自我定位,我對測試開發有了不同的看法。
大多數測試人員的發展軌跡是這樣(包含1、2、3):
1、軟體測試工程師:
主要以功能測試為主。
2、自動化測試工程師/效能測試工程師/高階測試工程師:
我認為作為一個比較有經驗的測試,掌握一定的程式設計技術、自動化測試技術、效能測試工具幾乎是必備的。所以,其實,擁有公司title為“自動化測試工程師”和“效能測試工程師”的測試人員並不多。
自動化和效能測試是多年來一直學習的技術,但少有測試能夠“精通”,其實,我覺得本質上原因還是大家程式設計能力太弱(我沒說測試人員普遍程式設計能力弱就一定比開發low),又妄想通過學習一兩個“先進”的測試工具來彌補這兩塊不足,但程式設計能力弱真的影響你對自動化和效能的理解深度。
例如,我面試會問appium的工作原理?robot framework分幾層?大多程式設計能力好的同學都能回答,大多程式設計水平差的同這甚至連安裝都講不清楚,程式設計能力真的會影響你看測試工具的深度!
3、資深測試工程師/測試主管/測試經理
其實,我也不知道高階測試工程師和資深測試工程師的區別,不過,從稱呼上來看資深測試工程師應該是做測試已經好多年了,但又沒轉型去做管理,如何表達對這一類業務精通,測試技術全面又做了很多年測試的“老人”呢?那就“資深”吧!
測試主管和測試經理,根據現在網際網路公司的發展速度和大家跳槽的速度,如果你在一家公司足夠沉得住氣,而這家公司剛好又沒倒閉,其實,你會有很大機率爬到一個基層的測試管理崗,當然,前提是你不會太害羞以至於被新來的測試全面碾壓。
測試開發
首先,測試開發並不是所有測試人員進階路線,更適合那一小撮對開發技術有熱情的測試。測試開發其實是一個相對小眾需求,尤其是大多數中小型網際網路公司基本不需要這樣的職位,因為有很多開源的測試工具和測試平臺供大家使用。
不過,現在大多測試招聘把對“具備自動化技術”的測試也冠以“測試開發”的title。
測試開發應該具備自動化測試技術,但不侷限於次,也應該具備平臺和工具的開發能力。後者對很多公司來說並不是剛需,當然,很多測試也達不到這個水平。以我最近幾年在測試工作中已經比較注重程式設計能力的鍛鍊和使用了,真的著手開發工作時仍然補了不少開發知識,尤其是前端開發技術。
我也不知道我們老大怎麼想的,招來幾個人來專門做測試開發,也許他以前只帶過開發團隊覺得測試團隊太low,必須招幾個測試開發充場面。因為我們公司其實規模並不大!
這一年,我們也走了很多彎路,雖然,我們已經很注重需求分析和使用體驗了,但仍然開發出來的一些功能徹底廢了。
現在的核心工作是通過平臺整合研發測試流程,你也許會說,JIRA、禪道都挺好用的不需要搞什麼平臺!我們公司也在用JIRA,而且是付費的,關鍵是並不完全貼合我們公司的研發測試流程。
如果有一個平臺可以把需求管理、介面管理、開發測試環境維護、版本管理、缺陷管理、自動化測試執行、效能測試全部串起來,提高研發效率5%,而且只需要投入兩三個測試開發,是不是很划算?隨著技術團隊的不斷擴大,這個收益也會進一步放大。我們還省掉了JIRA的費用。
在你享受開源測試工具的便利時,正是由一些測試開發貢獻的,如 airtest、httpRunner、uiautomator2等。
測試開發需要什麼技術?
當然是開發技術!
為什麼不轉職做一個真正的開發?
我都這麼大年紀了,開發水平也很一般,怎麼和開發正面剛?為何不利用好自己的測試技術優勢,做好一個測試開發,況且,你以為轉做開發就從此人生巔峰了?
這是我認識的一個做了十幾年的開發。這哥們當然是在自我調侃~!這裡只是想告訴你,開發也會面臨著職業瓶頸與人生抉擇。
測試架構師/測試專家
大多公司並沒有這樣的職位,我不瞭解,這裡就不做討論了。