不管是剛入測試行業的萌新,仍是已經在測試行業闖蕩了兩三年的小司機們,都會琢磨一個問題:若是要持續發展下去,我要不要懂代碼?java
在軟件測試初級階段,不須要編程能力。可是任何一個職業,都會追求長期發展。python
讓咱們來看看軟件測試的幾種職業生涯歷程(轉行的就另說了)。mysql
一、技術 + 管理方向:一枚萌新 - 》技術階段 -》測試經理、主管這樣的管理崗linux
-------編程能力 + 管理能力俱在web
二、純技術方向 :一枚萌新 -》功能測試 -》自動化/性能/安全 - 》測試開發/性能、安全測試專家/架構師面試
-------優秀的編程能力sql
三、產品方向:一枚萌新 -》業務專家 -》產品經理、產品需求等崗位。數據庫
-------不須要編程能力編程
初入軟件測試行業,要成爲一名合格的的軟件測試工程師,須要學習的東西仍是不少的。安全
1)軟件測試理論基礎;
2)測試用例設計、測試功能覆蓋、軟件測試項目實戰應用;
3)對業務的精準把握 、培養對bug初步處理和分析
4)在長期的測試工做中,要培養敏銳的bug嗅覺;
5)良好的溝通表達能力。若是你連一個bug都表達不清楚,那就尷尬了。若是你不能與開發好好聊天,那也尷尬了。
但此階段,主要是功能測試爲主,像用戶同樣去手工操做系統,模擬用戶的使用場景 。
因此不須要任何的編程能力,你都是能夠勝任的。所以,軟件測試的入門並不難。
也所以,在軟件測試崗位上,有不少非計算機專業的同胞同樣能夠優秀的勝任。
隨着測試時間的增長,就須要掌握更多的東西來擴充本身的技術能力了。畢竟也只能剛入行的時候才能叫萌新啊。。。
1)數據庫操做:mysql、oracle等
2)linux操做、環境搭建
3)各類測試工具:抓包fiddler,wireshark
4)從架構層瞭解被測系統、http通訊協議、接口測試及其工具postman、soupui、jmeter等。
5)app的專項測試、兼容性測試、易用性測試
在這個階段,會有一部分人成爲小組長、小領導。主要工做內容就是分配組內的測試任務、把握和反饋任務進展、完成測試工做。
在一些特殊的行業(好比醫療),能夠逐漸造成業務專家。
在此階段對編程能力也沒有要求。
具有測試能力與代碼能力,提高測試效率與軟件質量。
如下以自動化測試爲例來講明。
1)選一門編程語言學習:java、python、ruby等
2)瞭解自動化測試、自動化測試工具、web/app/接口/pc端自動化基礎
3)框架思想、項目實踐與流程
在功能測試崗位中作了幾年時間以後,會開始焦慮。
在工做中,感覺到了成長的限制。除了業務愈來愈熟以外,工做就是點點點,其它方面沒有成長。
想跳槽想漲薪,可是頗有挫敗和無力感,由於全身上下價值就在這裏。
想在工做的過程當中自學提高,邁向高薪的自動化測試、性能 測試、安全測試等。
固然自動化測試工具也能夠實現自動化,可是有好與壞的區別。
第一道門坎就是編程!!
-----引發了不少人的頭疼。非計算機專業的沒接觸過、計算機專業已畢業幾年,早忘了。
因而,又妥妥的成爲新階級的萌新。
我應該把編程和自動化學到什麼程度?我應該學到什麼程度才能在面試中面上自動化測試?才能在工做中勝任起來?(性能 和安全通用)
帶着一臉懵逼的狀態去自學代碼、自學自動化。查到什麼資料學什麼。
而招自動化測試的崗位,基本上都是要有實戰經驗的,沒經驗的直接咔了,或者轉功能測試崗。
在這個過程當中,有些人放棄了,有些人經歷了一兩年還在掙扎中,有些人機遇來了上了這趟船。。。。
但一旦上了船,就打開了新世界的大門,能夠揚帆起航走的更遠。
並且,在開發同胞的眼中,你做爲測試的地位絕對上升很多。。。。
另外,想要成爲優秀的安全測試與性能測試工程師,則不只僅是會編程還須要有更多的計算機相關知識。
測試開發,具有測試能力與代碼能力,提高測試效率與軟件質量。又能夠作開發,又能夠作測試。
要求比較強的開發能力,深刻代碼層。通常不直接參加測試工做。
一、對測試框架、測試工具的二次開發,更好的符合公司產品的測試要求
二、開展單元測試或者協助開發開展單元測試,從開發階段就開始把控產品代碼質量。在後續迭代過程當中快速挖掘問題
三、開發測試工具和平臺,爲測試團隊提升測試效率,各類測試的簡化、測試結果的量化。好比性能測試平臺、接口測試平臺等。
此處省略幾百字。
若是你不是業務專家,也不想在初級測試工程師裏中止不前,那麼長遠發展來講,編程是你不管如何都躲不掉的。