軟件測試需要學什麼?

我將從四個階段講一下軟件測試都需要學什麼?

第一階段 測試基礎

第二階段 工具學習

第三階段 代碼學習

第四階段 架構學習

以上四個階段,只是找工作的話,不需要全部學完,一二階段學完,基本上就能夠達到初級測試階段找到工作了。

第三階段是關於能力提升,路線發展的確定,(java、python、自動化測試、性能測試、安全測試)

第四個階段主要是測試架構師的成長路

第一階段 測試基礎

測試的定義、測試的分類、測試的方法、測試的生命週期。測試計劃、測試方案、測試策略、測試用例的編寫。BUG的定義、BUG的分類、BUG的六要素、BUG的生命週期。測試和開發流程的關係、瀑布流、V字形、W字型(雙V)、螺旋型敏捷等等

以上全部都是理論和文檔能力、只要你肯背、肯寫,都是能獨立的掌握的。

第二階段 工具學習

在這份階段大家不用去糾結工具的選擇。 把最基礎的幾個工具學習了就行了,以後用到什麼工具就去學什麼。 下面我會列幾個必學的工具,不用太精通,會用就行了。

· 性能測試工具:loadrunner、jmeter。

· 接口測試工具:postman

· 抓包工具:fiddle

· 數據庫管理工具:Navicat

· 項目/BUG管理工具:禪道、QC

以上2個階段學完基本上已經達到了初級測試工程師,在一線城市(北上廣),薪資一般在8k-10k

第三階段 代碼學習

這個階段學完薪資差不多可以到15-25k左右。

學完基礎和工具就要考慮後續的發展方向了, 是成為一個自動化測試工程師呢? 還是性能測試工程師呢? 還是安全測試工程師呢?這個不用太糾結,可以都學習,畢竟技術上去了,薪資待遇自然就上去了。

到這個階段主要是代碼的學習,關於編程語言的選擇,我推薦Java或者python。 Java,只需要學完JavaSE的部分就夠你用了。 python的話也是一樣的,把基礎的部分學完就行了。如果想變得更牛逼,那希望你精通java或python,兩個只需要會一個就行,不用糾結學哪一個,如果非要選有一個,那就全都學,小孩才做選擇。

還有數據庫也是必須掌握的!在工具篇的學習裡,我認為你已經可以通過navicat學會了基本的增刪查改了。 那你在這個階段就應該學會更復雜的SQL語句的編寫了,也應該會用命令行工具了。 各位先學習mysql就好,這個用的人多。

如果編程學完了就要學各種自動化測試了。

· 各種單端測試框架:unittest(python)、pytest(python)、JUnit(java)

· WEB自動化測試框架:selenium(適用於java\python\javascript)

· APP自動化測試框架:appium(適用於java\python\javascript)

以上根據學的語言選擇。

性能測試對loadrunner和jmeter的掌握更加的深入。

可以手寫腳本、脫離錄製。 學會了多線程編程、能夠手寫java或者python、不用工具直接實現壓力測試。

學習linux,畢竟性能總是和服務器打交道的。 學習系統架構的相關知識、方便你更容易的分析系統瓶頸。

說實話、性能方向的提示更難,因為需要掌握的東西太多了,性能測試做深入了,基本上就是架構師的水平了。

第四階段 測試構架學習

這個階段就沒什麼學習路線了,都是靠自己的悟性了,你要考慮怎麼寫代碼更合理了,怎麼去測試更全面,怎麼才能更好的保障項目的質量,為什麼要那樣測試。跨過了這個階段就基本上可以成為專家了。

一個測試架構師應該要具備的能力,希望以此共勉;

1、需求分析能力:能夠從客戶到角度去理解需求,甚至能夠直接發現需求存在的問題,去影響PO,來更好的幫助產品成功;另外就是能夠將當前需求細化出來,並且通過細化的需求來思考可能在設計方面存在的問題,提前發現設計的缺陷

2、整個產品架構的理解能力:這個只有達到開發架構師級別,才能更好的去參與整個設計方案的討論,並且發現測試方案的一些缺陷。

3、測試分析能力:能根據產品的特點來分析通過怎樣的方法來更快的保證質量,從而來滿足上面對測試團隊不斷提高 要求

4、技術人員培養能力:一個架構師應該說能夠通過自己的影響力來得到一群的技術追隨者,而對這些人的培養也是一個很重要的能力,這樣才能提高整個團隊的技術水平

5、技術規劃能力:技術是不斷的向前發展的,測試技術也不例外,所以,一個好的測試架構師應該要能夠識別後面的技術改進方向,以及一步一步的推進下去

6、技術的廣度:測試架構師需要掌握很多方面的技術,這樣碰到新的問題時,才會有更好的解決思路


分享到:


相關文章: