本文文章通篇沒有廢話,只有干貨干貨干貨!軟件測試工程師,要具備哪些能力?本文將通過三個測試工程師的階段,分別需要具備和掌握哪些技術(shù)能力,每個階段大致能拿到什么范圍的薪資。文章比較長,請耐心看完。
一、不同階段的測試工程師需要掌握的技能體系
1、初級測試工程師
這里說的測試工程師,是主攻軟件的“測試”領(lǐng)域。也就是專業(yè)對接和負責(zé)軟件的BUG查找、測試業(yè)務(wù)的執(zhí)行、測試用例設(shè)計、測試計劃的編寫、測試報告生成等等。
這類測試工程師需要掌握的技能如下:
① 軟件測試的整理測試流程和概念,熟練軟件測試的用例設(shè)計和編寫;
② 熟練掌握幾種常見的去缺陷管理工具(禪道、SVN、、Jira等),熟悉缺陷的定義標(biāo)準(zhǔn)和系統(tǒng)化的測試計劃編寫等;
③ 掌握Web自動化測試、app自動化測試的測試環(huán)境搭建和測試方法;
④ 掌握接口自動化測試的、工具的使用,同時深度了解HTTP/HTTPS協(xié)議的原理和作用。
薪資水平:6-12K 左右
這個階段的測試員軟件測試要用的軟件,一般是剛學(xué)習(xí)軟測到可以就業(yè)的程度。大部分都是掌握了軟件測試?yán)碚摳拍睢⒊R姷臏y試流程和測試類型;熟練測試用例的設(shè)計和編寫;對軟件的生命周期、工作流程有大致的了解。知道如何分析軟件的用戶需求點;掌握一些常見的缺陷定義和缺陷報告的生成。有一些實戰(zhàn)項目經(jīng)驗的可能對禪道、SVN、git等測試相關(guān)的工具有一定的了解和使用經(jīng)驗。
再稍微優(yōu)秀一些的自動化測試工程師,還掌握了Linux、Sql數(shù)據(jù)庫、前端HTML等基本的計算機技能。并且了解接口測試的概念和WEB+的測試環(huán)境搭建和初步測試,app移動端測試同樣也需要掌握一些。
2、中級測試工程師
對于現(xiàn)在大多數(shù)的互聯(lián)網(wǎng)公司而言,中級自動化測試工程需要是他們非常渴求的人才。這類人才大多都掌握了一門或者多門編程開發(fā)語言(、Java、C++等)。中級測試工程師能支撐起整個企業(yè)測試部門的完整測試體系搭建,包括針對企業(yè)產(chǎn)品研發(fā)的自動化測試腳本,對于軟件的性能、壓測、UI、接口、前后端業(yè)務(wù)等等做全方位測試設(shè)計和管理。
中級測試工程師需要掌握的技能如下:
① 至少掌握一門編程語言,、Java、C++都可以。沒有編程基礎(chǔ)的我們建議選擇,因為入門難度和學(xué)習(xí)周期相對其他開發(fā)語言更加容易一些,對新手比較友好,而且在測試領(lǐng)域的應(yīng)用極為廣泛;
② 熟練掌握常見的自動化測試框架的環(huán)境搭建(+++等);
③ 熟練掌握app移動自動化測試的完整流程和測試方法,尤其要熟練掌握的使用;
④ 熟練掌握+的測試框架的開發(fā);
⑤ 能夠獨立完成基于的完整web自動化測試的框架開發(fā);
⑥ 深度掌握性能測試中和的拓展用法,能獨立完成app/WEB的性能測試。
薪資水平:15-25K 左右
這個階段的測試員,一般是剛學(xué)習(xí)軟測到可以就業(yè)的程度。大部分都是掌握了軟件測試?yán)碚摳拍睢⒊R姷臏y試流程和測試類型;熟練測試用例的設(shè)計和編寫;對軟件的生命周期、工作流程有大致的了解。知道如何分析軟件的用戶需求點;掌握一些常見的缺陷定義和缺陷報告的生成。有一些實戰(zhàn)項目經(jīng)驗的可能對禪道、SVN、git等測試相關(guān)的工具有一定的了解和使用經(jīng)驗。
再稍微優(yōu)秀一些的自動化測試工程師,還掌握了Linux、Sql數(shù)據(jù)庫、前端HTML等基本的計算機技能。并且了解接口測試的概念和WEB+的測試環(huán)境搭建和初步測試,app移動端測試同樣也需要掌握一些。
3、高級測試開發(fā)工程師+架構(gòu)師
高級測試開發(fā)工程師基本上可以稱得上整個企業(yè)產(chǎn)品+測試部門的一把手。這類崗位一般都是以管理者居多。本身負責(zé)團隊的運作、軟件整體的測試流程把控、白盒測試的體系搭建,企業(yè)大型自動化測試平臺的開發(fā)和管理,以及整個測試體系的質(zhì)量管理和監(jiān)控。
① 對軟件測試的整體流程和細節(jié)做到爛熟于心的地步,這類經(jīng)驗一定是經(jīng)過無數(shù)的測試實戰(zhàn)方能生成的;
② 熟練各類型的軟件測試(app、小程序、前后端、WEB、sever等等)方法和扎實的經(jīng)驗,并且對各類型市面上的測試工具運用自如;
③ 對CD/CI有比較熟練的實戰(zhàn)經(jīng)驗,能熟練的使用,具有完善的測試架構(gòu)能力;
④ 有熟練的編程開發(fā)能力,深諳軟件的底層代碼邏輯和結(jié)構(gòu),能夠獨立開發(fā)、管理和完善自動化測試框架;
⑤ 擁有優(yōu)秀的團隊領(lǐng)導(dǎo)能力,合理安排測試團隊的人員組織和安排。
薪資水平:30-50W 左右年薪
測試工程師因其工作的特殊性,需要掌握產(chǎn)品的用戶需求、設(shè)計需求以及產(chǎn)品的底層結(jié)構(gòu)等各方面,測試人員會從用戶的角度出發(fā),去看待軟件產(chǎn)品各方面可能存在的不利體驗和準(zhǔn)確訴求。
所以經(jīng)驗比較足的測試人員,對產(chǎn)品的各個維度都能做整體化的把控。比如分析產(chǎn)品的用戶需求和體驗,以用戶的角度來把握產(chǎn)品的定位和功能的迭代等等。可以說從測試轉(zhuǎn)為產(chǎn)品經(jīng)理的人,一定是一名非常有全局性、前瞻性的優(yōu)秀產(chǎn)品經(jīng)理或者測試經(jīng)理。
二、學(xué)習(xí)軟件測試需要注意的5個點
1、一定要打好前期基礎(chǔ)
軟件測試的學(xué)習(xí),總體來講大致分為三個階段。
第一階段主要掌握軟件測試的基礎(chǔ)知識,比如:軟件測試概念、軟件測試分類、測試流程、測試評審、測試用例和測試計劃等等。這一塊兒的基礎(chǔ)概念知識,是后期學(xué)習(xí)自動化測試的基石。掌握好了軟測基礎(chǔ),后面的學(xué)習(xí)將會順利很多;
第二階段主要掌握計算機基礎(chǔ)一類的知識。比如:計算機概念、Linux系統(tǒng)的學(xué)習(xí)、MySql數(shù)據(jù)庫的學(xué)習(xí)、HTTP/HTTPS(TCP/IP)協(xié)議、前端方面的知識(重點:web+ 自動化和 app+ 一塊兒需要用到)。這幾個點雖然前期感覺和自動化沒什么關(guān)系,但是到了后期運用到接口、性能、Web、app自動化的時候都會涉及到這類計算機基礎(chǔ)知識;
第三階段就是各類型測試的實戰(zhàn)教學(xué)。軟件測試工程師能否拿高薪,就取決于你掌握了多少測試類型的技術(shù)。目前主流的接口自動化、app自動化、WebUI自動化和性能測試,都是市面上較為搶手的高薪就業(yè)技術(shù)點。學(xué)習(xí)過程中,一定要注意融會貫通,以及多做實戰(zhàn)項目,這樣在就業(yè)上崗的時候,我們才能從容的應(yīng)對工作。
2、至少學(xué)習(xí)一門編程語言
編程語言對于軟件測試的重要性我就不多說了。想必了解一點自動化軟件測試,或者大致看過我們測試猿大課堂的軟件測試課程視頻的同學(xué)都知道。我們在后期學(xué)習(xí)的接口自動化、app自動化、Web自動化等等都是圍繞著自動化來的。而自動化又是基于編程開發(fā)出來的自動化運行腳本和框架。我們使用自動化技術(shù)測試項目時,就必須要懂得如何寫出可以調(diào)試界面的腳本。
當(dāng)然前期可能不需要我們自己去寫腳本,市面上有很多現(xiàn)成的自動化測試腳本和框架。但我們也必須知道怎么用,如果你不學(xué)編程語言,那么你的測試技術(shù)就定然有上線。當(dāng)你掌握一門甚至多門編程語言,再來從事測試的話,你的優(yōu)勢將變得無限大。
編程語言這塊兒,測試猿課堂建議大家可以這樣選擇: > Java。 沒有編程基礎(chǔ)的都可以這樣選擇,優(yōu)先學(xué) ,其次學(xué) Java 。因為 入門相對簡單一些,而且 在各大企業(yè)中的自動化測試中應(yīng)用更加廣泛,可以說幾乎百分之90的企業(yè)選擇的自動化測試語言都是 .
3、注意不同測試類型的學(xué)習(xí)側(cè)重點 提高學(xué)習(xí)效率
接口自動化:需要熟悉語言,然后在語言的基礎(chǔ)上學(xué)習(xí)的聯(lián)網(wǎng)庫,需要封裝成測試腳本。這時候需要單元測試庫或者使用+來控制腳本生成測試報告軟件測試要用的軟件,如果有需要持續(xù)集成可以再學(xué)習(xí)
web自動化:同樣需要掌握語言,然后學(xué)習(xí)控制瀏覽器的庫,和瀏覽器相對于的
app自動化:需要熟悉掌握語言,然后再語言的基礎(chǔ)上,學(xué)習(xí)控制手機app的庫,手機相關(guān)的知識比如Adb,,需要封裝成測試腳本
上面幾點都是主流的測試方案,也是初級測試工程師必須掌握的幾個重要學(xué)習(xí)知識點。還有更多的內(nèi)容可以根據(jù)自身的就業(yè)方向和目標(biāo),進行縱深拓展。
4、不管實戰(zhàn)還是學(xué)習(xí)中,一定要多動手
測試猿大課堂培訓(xùn)的很多學(xué)員中,有一些人存在著同樣的問題。那就是學(xué)習(xí)的方式和效率不太高。后來我們在每周的測驗中根據(jù)這些“問題學(xué)員”的問題,進行深度追蹤后,發(fā)現(xiàn)他們都有個統(tǒng)一的特點:從不記筆記!
這讓我非常震驚,學(xué)習(xí)怎么能不記筆記呢?學(xué)習(xí)怎么能不動手呢?學(xué)員的想法是感覺老師講的他們都聽懂了,而且他們還可以看回放!老師也有課后PPT和源碼筆記分享給他們,為什么自己還要做筆記呢?
大家一定要記得,好記性不如爛筆頭!學(xué)習(xí)吸收知識的最快方式就是親自動手!不管是記筆記,還是說老師布置的作業(yè)。
千萬不要把老師課后分享的源碼拿過來放在自己的環(huán)境里一跑,欸,發(fā)現(xiàn)可以運行,完美!就不管了,這其中大腦所缺失的記憶過程,會讓你在后續(xù)的學(xué)習(xí)里,迷糊點積累的越來越多!
5、不要過于依賴現(xiàn)有工具 多嘗試自己寫工具
軟件測試行業(yè)比較特殊,市面上有非常多很不錯的測試工具。很多初進入軟件測試行業(yè)的新手,往往會習(xí)慣于依賴于現(xiàn)成的測試工具,個人感覺有這些工具應(yīng)付工作就足夠了。但這其實是一種非常危險的“惰性思維”。
軟件測試行業(yè)中其實還有非常多優(yōu)秀的開源工具,而很多大型互聯(lián)網(wǎng)企業(yè)都比較傾向基于這類開源工具進行二次開發(fā)的自動化測試平臺。測試工程師也一定要多嘗試著去使用這類開源工具,一來可以拓展自己的思維和眼界,二來可以盡早熟悉自動化測試框架的底層邏輯和開發(fā)實戰(zhàn)。這一點可以在將來面試的時候,為自己的簡歷打上一道非常不錯的色彩。