阿里在職5年,一個女測試工師的坎坷之路
幾年前進入到IT行業(yè),現(xiàn)在發(fā)現(xiàn)學習軟件測試的人越來越多,今天我想根據(jù)自己的行業(yè)經(jīng)驗給大家提一些建議。

跟其他行業(yè)相比,做軟件測試的崗位確實算是高薪職業(yè),我們那個時候起步的工資并不高,而看現(xiàn)在很多畢業(yè)的學生薪資都是8000起步,工資越來越高是肯定的,因為現(xiàn)在都伴隨著通貨膨脹。目前高級測試工程師如果擁有兩年測試經(jīng)驗,他的薪資范圍最少都要在10K這個階段,所以就導致來轉(zhuǎn)行學習軟件測試的人越來越多,畢竟現(xiàn)在做其他很多行業(yè)都賺不到什么錢。但是高薪并沒有像大家想的那樣容易拿到,很多人都認為身邊的朋友有做軟件測試月薪都幾萬幾萬的,但是我們往往忽略了他們在學習技術上付出了多少辛苦,只是看到了別人表面的風光而已。但我認為問題的關鍵還是很多人忽略了學習軟件測試的難度,想轉(zhuǎn)行學習軟件測試的人雖然不少,但最后真正能成功的也就是百分之三十的概率,這些人往往學習能力強,有強烈的賺錢欲望,并且不怕吃學習的苦,肯付出時間去研究學習。
我用了五天的時候整理了今年我認為軟件測試就業(yè)的主流技術棧大綱,由于內(nèi)容實在太多,我就能弄成了一張長圖,如果你需要的話,可以加我下面的卡片,直接管我要。
學習建議
1、一般來說,測試新人的話首先需要把基礎打好,測試理論基礎可以通過看一些經(jīng)典書籍或網(wǎng)上也有很多免費的資源,選擇前兩本基礎的看,你會受益匪淺。
2、剛開始不太建議加入過多技術群或其他論壇提問,初期遇到問題可以自己搜索自己嘗試解決,當然需要控制一個止損點,不要為一個問題耗費太長時間
3、自學基礎的同時一定要做好筆記,且一定是通過自己的理解后做的??梢允褂盟季S導圖把前后學到的東西給關聯(lián)起來
4、讀完一本書或一個階段結(jié)束后,可以自測一下,通過找一些經(jīng)典的筆試題或一些istqb中的題目,來鞏固或查漏補缺,有針對性的再次鞏固學過的東西
5、接下來可以找一些項目來做或去眾測平臺看一些基本的項目測試流程,包括基本測試文檔的書寫規(guī)范等等,testin眾測平臺是一個鍛煉的不錯平臺,至少測試用例設計、執(zhí)行及bug探索提交缺陷都是挺好的。
6、目前有好多平臺會開設一些免費的公開課,通過技術討論組可以接收消息推送,設定好時間聽一些專業(yè)領域的測試方法,可以快速了解到大體的流程。(一定要經(jīng)過嚴格篩選,選擇質(zhì)量高的,否則會浪費一大部分時間):
學習路線

第一階段 測試基礎
測試基礎是軟件測試最最最重要的部分,只要你是做測試,不管是什么測試,測試的基礎、理論知識都是必須學會的。
最好學到什么程度呢,最好是能夠理解,并能夠用自己的話給復述出來。
畢竟面試初級測試的時候,問的問題都是從基礎理論上進行考核的。
那測試基礎有哪些內(nèi)容呢?

測試的定義、測試的分類、測試的方法、測試的生命周期。
測試計劃、測試方案、測試策略、測試用例的編寫。
BUG的定義、BUG的分類、BUG的六要素、BUG的生命周期。
測試和開發(fā)流程的關系、瀑布流、V字形、W字型(雙V)、螺旋型、敏捷等等。
PDCA、5W2H等分析管理的方法
質(zhì)量管理體系CMMI(了解)
嗯,大概就是以上的內(nèi)容吧,以上全部都是理論和文檔能力、只要你肯背、肯寫,都是能獨立的掌握的。
第二階段 常見的測試工具
測試工具永遠是軟件測試人員的得力助手,不能完全依賴工具,但也不能沒有工具,在學習軟件過程中,要著中軟件測試工具的使用,下圖覆蓋初、中級軟件測試工程師所需具備的測試工具,要想學好,下手學習吧。
混在軟件測試職業(yè)圈,工具千千萬,不可能每個都會用,至少要知道有哪些工具可用,什么時候該用什么工具,每個工具能解決什么問題,然后再深入應用幾款工具即可,下面就帶大家總結(jié)一下。
測試管理工具
禪道:簡單好用,市場主流,互聯(lián)網(wǎng)行業(yè)居多
Jira:簡單好用
QC/ALM:復雜,收費,電信/金融行業(yè)使用較多
bugzilla:功能簡單
svn:代碼和文檔管理工具
git:但是多分支管理比svn好
接口測試工具
Jmeter(開源)
postman
SoapUI
推薦使用 jmeter 和 postman。
性能測試工具
loadrunner:大而全,要學精通還是有點難度,重量級工具,過去和現(xiàn)在都是行業(yè)老大
jmeter:基于java平臺的性能開源測試工具,其實也很強大,而且比較好用
Locust:基于python的一個性能測試工具
白盒測試工具
junit/testng:java下的單元測試框架
unittest/pytest:python下的單元測試框架
cppunit:跨平臺的c++單元測試框架
PhpUnit:Php語言下的單元測試框架
TestBed:一個重量級的白盒測試軟件,可以進行單元測試、集成測試、靜態(tài)測試,軍工行業(yè)常用
Klockword:靜態(tài)測試工具,軍工行業(yè)常用
持續(xù)集成工具
Jenkins:比較常見的一種CI工具
Hudson
網(wǎng)絡測試工具
以HTTP/HTTPs協(xié)議為主,網(wǎng)絡測試工具有:
wireshark
fiddler
charles
app自動化工具
appium:這個應該算是目前最流行的基于app的自動化測試框架了
uiautomator:安卓自動化測試框架,基本上支持安卓的所有事件操作
Monkey:安卓自帶的測試工具
Monkey Runner:Monkey改進版,支持自己編寫腳本測試,用Python語言
Robotium:一款國外的Android自動化測試框架,用法比較
web安全測試工具
appscan:算是用的非常多的一款工具了,掃描后能夠?qū)⒔^大部分的漏洞找出來
fiddler:網(wǎng)絡抓包工具
burpsuite:暴力破解、抓包工具
skipfish:這是一個輕量級的安全測試工具,處理速度很快,每秒可處理2000個請求。
第三階段 代碼學習
好了,學完了以上兩個部分,恭喜你,你已經(jīng)是一個出色的初級測試工程師了。
接下來,你要考慮你的發(fā)展方向了
是成為一個自動化測試工程師呢?
還是性能測試工程師呢?
還是安全測試工程師呢?
啊!這個問題好難!我也不知道該怎么選。
反正我啥都會一點,哪個崗位都能去面一面。
關于方向的選擇,看我的這篇文章
嗯,相信你心中已經(jīng)有了答案了,那我們繼續(xù)往下面說。
這個階段,我們應該學習代碼了,關于編程語言的選擇,我推薦Java或者python。
還有數(shù)據(jù)庫也是必須掌握的!在工具篇的學習里,我認為你已經(jīng)可以掌握數(shù)據(jù)庫的相關的應用了!
所以現(xiàn)在各位可以去學習編程語言了,
不過不用像開發(fā)那樣,學的那么深入。
比如Java,只需要學完JavaSE的部分就夠你用了。 python的話也是一樣的,把基礎的部分學完就行了。
總之前期你兩者二選一的學習就OK了。
啥?你問我學的啥。
我當然是兩種都會啊
哈哈哈哈哈哈哈,驚不驚喜!意不意外!?
自動化方向

等你代碼已經(jīng)基本掌握了,嗯,很好,接下來就要學習各種自動化測試了。
各種單端測試框架:unittest(python)、pytest(python)、JUnit(java)
WEB自動化測試框架:selenium(適用于java\python\javascript)
APP自動化測試框架:appium(適用于java\python\javascript)
以上的內(nèi)容,根據(jù)你學的語言進行選擇。
appiunm和selenium根據(jù)你參與的項目進行選擇。
不過無所謂了,反正遲早都要學會的。
這部分的教程太多了,你學會了編程的基礎后,隨便百度,好多博客論壇都有教程。
而且憑你那時候的水平,你都能輕松的看懂。
性能方向

對loadrunner和jmeter的掌握更加的深入。
可以手寫腳本、脫離錄制。
學會了多線程編程、能夠手寫java或者python、不用工具直接實現(xiàn)壓測。
學習linux,畢竟性能總是和服務器打交道的。
學習系統(tǒng)架構(gòu)的相關知識、方便你更容易的分析系統(tǒng)瓶頸。
說實話、性能方向的提示更難、因為需要掌握的東西太多了。
性能測試做深入了,基本上就是架構(gòu)師的水平了。
可能你現(xiàn)在看著這個性能方向的學習一臉懵逼。
沒關系、等你把上面的編程語言學會了你就不懵逼了。

安全方向
滲透測試
SQL注入
暴力破解
脫庫
等等
其實安全測試基本上偏向于網(wǎng)絡攻防了,也就是傳說中的黑客了,不過我們都是好人,這個的發(fā)展方向就是白帽子。
推薦知道創(chuàng)宇的學習體系。
我估計你看到這里就更懵逼了。
沒關系、等你把基礎的東西學會就知道我在說啥了。
畢竟你現(xiàn)在還是一個小白嘛。
不要去糾結(jié)這種小事。
各位在這個階段,正常情況都應該是中級測試工程師的水平了。
第四階段 架構(gòu)學習

前三個階段學習完成后,各位就應該考慮怎么寫代碼更合理了。
怎么去測試更全面。
怎么才能更好的保障項目的質(zhì)量。
我認為,在這個階段,應該回頭重新學習一遍測試基礎。
因為這個階段的提高是思想、方法的提高了。
上面講的都是教你應該怎么做。
在這個階段你要自己去發(fā)現(xiàn)、為什么要那樣做。
跨過了這個階段就基本上可以成為專家了。
學習都是水到渠成的,在這個時候,你應該已經(jīng)掌握了不少框架了,甚至自己也能開發(fā)合適的框架了。
自動化測試框架、性能測試框架等等。
已經(jīng)有了屬于自己的一套東西了。
在群里或者論壇上去裝逼、別人都會尊稱你一聲大佬了。
可能你也學會了一些其他的技術了,甚至在往全棧等方向跨進了。
總之,到了這個階段就沒什么學習路線了。
最后
相信你如果掌握了上圖上面所有的知識技能,并且能夠靈活的運用的話,月薪20k以上并不會是什么問題。
下方這份完整的軟件測試視頻學習教程已經(jīng)上傳完成,朋友們?nèi)绻枰梢宰孕忻赓M領取 【保證100%免費】

你可以在公眾號:傷心的辣條 ! 自行領取一份216頁軟件測試工程師面試寶典文檔資料【免費的】。以及相對應的視頻學習教程免費分享!,其中包括了有基礎知識、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續(xù)集成、測試架構(gòu)開發(fā)測試框架、性能測試、安全測試等。
現(xiàn)在我邀請你進入我們的軟件測試學習交流群:【746506216】,備注“入群”, 大家可以一起探討交流軟件測試,共同學習軟件測試技術、面試等軟件測試方方面面,還會有免費直播課,收獲更多測試技巧,我們一起進階Python自動化測試/測試開發(fā),走向高薪之路。