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