如何從零開始學習軟件測試
2019年7月2日更新:
修改了第一階段的內容。親自錄了有趣的教學視頻,相對于原來看PPT資料,讓測試的學習變的更加的簡單了。
很多朋友想要入行軟件測試,但是都不知道該怎么學。
抽個時間簡單的給大家說下,對于0基礎的朋友,應該怎么去學習軟件測試。
學習軟件測試有2條路可以選。
最省事的當然是找個靠譜的培訓機構去培訓啦,你就什么都不用想了,跟著培訓結構認真的學習就行了。
當然,這里并不會給你推薦培訓機構,所以這里我們講的是,怎么去自學軟件測試。
畢竟軟件測試的門檻真的挺低的。
好了,正式開始講了。
第一階段 測試基礎
測試基礎是軟件測試最最最重要的部分,只要你是做測試,不管是什么測試,測試的基礎、理論知識都是必須學會的。
最好學到什么程度呢,最好是能夠理解,并能夠用自己的話給復述出來。
畢竟面試初級測試的時候,問的問題都是從基礎理論上進行考核的。
那測試基礎有哪些內容呢?
測試的定義、測試的分類、測試的方法、測試的生命周期。
測試計劃、測試方案、測試策略、測試用例的編寫。
BUG的定義、BUG的分類、BUG的六要素、BUG的生命周期。
測試和開發流程的關系、瀑布流、V字形、W字型(雙V)、螺旋型、敏捷等等。
戴明環、5W2H等分析管理的方法
質量管理體系CMMI(了解)
以前我是給的大家一份文檔來學習,很多同學反饋文檔質量不是很好,很多名詞看起來還是莫名其妙的不明白,所以。。。我自己錄了一份軟件測試的基礎的課程,傳到了B站。
四個視頻全長6個半小時,基本上覆蓋了我上面所說的那些內容。
內容風趣幽默,上課生動形象,【沒錯,我就是講的很好】
我有把握大家只要認真的看完后就能掌握第一階段的初級測試的內容。最多2天的時間!
好了,鏈接如下:
還有我之前做的一個關于怎么寫測試用例的視頻,建議在把視頻看了后再去看。
第二階段 工具學習
軟件測試的基礎學完了過后,應該學習工具了。
其實學工具真的很容易,所以大家不用去糾結工具的選擇。
把最基礎的幾個工具學習了就行了,以后用到什么工具就去學什么。
下面我會列幾個必學的工具,不用太精通,會用就行了。
- 性能測試工具:loadrunner、jmeter。
- 接口測試工具:postman
- 抓包工具:fiddle
- 數據庫管理工具:Navicat
- 項目/BUG管理工具:禪道、QC
- 搜索工具: 百度、谷歌
以上的這些工具都是純圖形化的,很好掌握,估計就性能測試工具稍微會費點時間。
loadrunner11下載地址:
鏈接:https://pan.baidu.com/s/1eS2ciFg 密碼:6ahk
jmeter下載地址:
鏈接:https://pan.baidu.com/s/1nvzgd0d 密碼:ptza
其他的工具你們直接去對應的官網下在就行了。
工具的部分教程:
loadrunner入門:https://www.imooc.com/learn/714
jmeter入門:https://www.imooc.com/learn/735
fiddl和postman入門:https://www.imooc.com/learn/738
如果你還要問我Navicat怎么學,我只能問你,你會用excle嗎?
如果你問我禪道怎么學,我只能問你,你會用QQ空間嗎?
第三階段 代碼學習
好了,學完了以上兩個部分,恭喜你,你已經是一個出色的初級測試工程師了。
接下來,你要考慮你的發展方向了。
是成為一個自動化測試工程師呢?
還是性能測試工程師呢?
還是安全測試工程師呢?
啊!這個問題好難!我也不知道該怎么選。
反正我啥都會一點,哪個崗位都能去面一面。
關于方向的選擇,看我的這篇文章。
軟件測試該如何提升自己
嗯,相信你心中已經有了答案了,那我們繼續往下面說。
這個階段,我們應該學習代碼了,關于編程語言的選擇,我推薦Java或者python。
還有數據庫也是必須掌握的!在工具篇的學習里,我認為你已經可以通過navicat學會了基本的增刪查改了。
那你在這個階段就應該學會更復雜的SQL語句的編寫了,也應該會用命令行工具了。
嗯,加油,各位先學習mysql就好,這個用的人多。
所以現在各位可以去學習編程語言了,
不過不用像開發那樣,學的那么深入。
比如Java,只需要學完JavaSE的部分就夠你用了。
python的話也是一樣的,把基礎的部分學完就行了。
總之前期你兩者二選一的學習就OK了。
啥?你問我學的啥。
我當然是兩種都會啊。
哈哈哈哈哈哈哈,驚不驚喜!意不意外!
以下是學習教程:
mysql:
Java:
python:
自動化方向
等你代碼已經基本掌握了,嗯,很好,接下來就要學習各種自動化測試了。
- 各種單端測試框架:unittest(python)、pytest(python)、JUnit(java)
- WEB自動化測試框架:selenium(適用于java\python\javascript)
- APP自動化測試框架:appium(適用于java\python\javascript)
以上的內容,根據你學的語言進行選擇。
appiunm和selenium根據你參與的項目進行選擇。
不過無所謂了,反正遲早都要學會的。
這部分的教程太多了,你學會了編程的基礎后,隨便百度,好多博客論壇都有教程。
而且憑你那時候的水平,你都能輕松的看懂。
性能方向
對loadrunner和jmeter的掌握更加的深入。
可以手寫腳本、脫離錄制。
學會了多線程編程、能夠手寫java或者python、不用工具直接實現壓測。
學習linux,畢竟性能總是和服務器打交道的。
學習系統架構的相關知識、方便你更容易的分析系統瓶頸。
說實話、性能方向的提示更難、因為需要掌握的東西太多了。
性能測試做深入了,基本上就是架構師的水平了。
可能你現在看著這個性能方向的學習一臉懵逼。
沒關系、等你把上面的編程語言學會了你就不懵逼了。
安全方向
- 滲透測試
- SQL注入
- 暴力破解
- 脫庫
- 等等
其實安全測試基本上偏向于網絡攻防了,也就是傳說中的黑客了,不過我們都是好人,這個的發展方向就是白帽子。
部分教程如下:
鏈接:https://pan.baidu.com/s/1hs8dG6S 密碼:5dh5
推薦知道創宇的學習體系。
我估計你看到這里就更懵逼了。
沒關系、等你把基礎的東西學會就知道我在說啥了。
畢竟你現在還是一個小白嘛。
不要去糾結這種小事。
各位在這個階段,正常情況都應該是中級測試工程師的水平了。
第四階段 架構學習
前三個階段學習完成后,各位就應該考慮怎么寫代碼更合理了。
怎么去測試更全面。
怎么才能更好的保障項目的質量。
我認為,在這個階段,應該回頭重新學習一遍測試基礎。
因為這個階段的提高是思想、方法的提高了。
上面講的都是教你應該怎么做。
在這個階段你要自己去發現、為什么要那樣做。
跨過了這個階段就基本上可以成為專家了。
學習都是水到渠成的,在這個時候,你應該已經掌握了不少框架了,甚至自己也能開發合適的框架了。
自動化測試框架、性能測試框架等等。
已經有了屬于自己的一套東西了。
在群里或者論壇上去裝逼、別人都會尊稱你一聲大佬了。
可能你也學會了一些其他的技術了,甚至在往全棧等方向跨進了。
總之,到了這個階段就沒什么學習路線了。
都是靠自己的悟性了。
哎哎哎,不提了,我要去群里裝個逼,滿足下自己的虛榮心。
第五階段 XX專家
專家你好。
專家求抱大腿。
到了這個階段的小伙伴請聯系我。
到時候讓我抱個大腿。
總結
以上就是從0開始入門的攻略了。
如果你還是有問題的話,可以加我的微信,我們一起討論學習。
微信:LangJinTest