職業(yè)小貼士
從業(yè)者:蘇煒
從業(yè)年限:5年
從業(yè)地點:深圳
工作崗位:測試組長
一句話感受:我們是“程序員的一生之敵”
對口專業(yè):軟件工程、計算機科學與技術、信息管理與信息系統(tǒng)等
從業(yè)門檻:大專及以上學歷
能力要求:熟悉軟件測試理論、測試用例設計方法,熟悉Postman、JMeter等測試工具的使用方法
晉升路徑:初級測試工程師→中級測試工程師→高級測試工程師→測試架構師→測試總監(jiān)
薪資水平:20萬—30萬元/年
入職提醒:掌握自動化測試技能是你邁向更高臺階的敲門磚
在每一款軟件產品背后,都有一群努力找BUG(即軟件中的缺陷、漏洞、不合理的存在)的測試人。沒錯,我們就是軟件產品的BUG終結者——軟件測試工程師,江湖人送外號“程序員的一生之敵”。
軟件測試是指在規(guī)定的條件下對程序進行操作,以發(fā)現(xiàn)程序中的漏洞,衡量軟件產品的質量,并對其能否滿足設計要求進行評估。通俗來說,軟件測試工程師就是軟件產品質檢員。
軟件測試工程師的日常工作就是與軟件開發(fā)工程師“斗智斗勇”,就拿我們公司來說,許多技術“大?!倍荚缘乖谖业摹氨┝Α睖y試之下,因此我獲得了一個獨特的稱號——BUG之神。久而久之,軟件開發(fā)工程師對我聞風喪膽,每到功能壓力測試環(huán)節(jié),負責軟件開發(fā)的同事都會提心吊膽,徹夜難眠。
軟件測試不是“點點點”
在大多數(shù)人看來,軟件測試就是根據(jù)需求,按照業(yè)務手冊和設計穩(wěn)點,對軟件開發(fā)工程師設計的功能進行“點點點”,簡單來講,就是用鼠標一直點擊測試點。對初級測試工程師來說,“點點點”的確是最主要的測試方法。不過,“點點點”只能在界面上進行功能測試,實際上,真正的測試不僅僅要測產品的功能,還要從其他維度出發(fā),比如性能、接口、安全等。尤其是當前互聯(lián)網軟件版本迭代快速,如果你想在軟件測試這條道路上走得更遠,那么還需要掌握一些更高級的技能——自動化測試的方法,就是通過一系列測試工具、代碼將原本需要手工“點點點”的操作轉化為系統(tǒng)自動執(zhí)行,這種方式的測試效率及準確率要比傳統(tǒng)的高出很多。這些相關技術都需要軟件測試工程師進行系統(tǒng)的學習,不是僅靠簡單的“點點點”就能掌握的。
加強理論學習,技多不壓身
相較于軟件開發(fā),軟件測試工作確實不需要測試人員掌握高水平的代碼編寫技能,但這并不意味著軟件測試工程師不需要掌握編程技能。軟件測試工程師需要掌握的技能非常多且雜,這可不是招來一個人培訓幾天就能干的活。
首先,軟件測試工程師必須掌握基本的軟件測試理論。別小看軟件測試理論,它可是指導測試人員進行軟件測試的基石、方法論。正所謂“萬丈高樓平地起,全靠牢牢打地基”,時至今日,我依舊清晰地記得上司帶我入門時對我說的話:“你的技術還可以,就是基礎不扎實!”
軟件測試理論基礎包括軟件測試定義、軟件測試用例編寫、BUG處理、軟件測試計劃編寫、軟件測試報告編寫等。同時,軟件測試工程師還需要掌握一些信息技術知識,比如Linux系統(tǒng)的相關命令,以及掌握數(shù)據(jù)庫的相關理論知識。當然,要想掌握這些理論技術,離不開對編程語言的熟悉和掌握,如Java和Python這兩種常用的編程語言;若想熟練應用自動化測試工具,還需要掌握進階編程語言。
其次,“工欲善其事,必先利其器”,軟件測試工程師經常要與測試工具打交道,畢竟要想從“代碼海洋”中尋找出那小部分需求不達標的功能,是需要耗費大量精力的,因此我們通常需要借助一些測試工具來輔助進行測試,比如Postman、JMeter等軟件。這就要求我們熟練掌握測試工具的使用方法。
所以說,做好軟件測試工作,是需要學習很多基礎知識和技能的。軟件測試的工作十分嚴謹,它和軟件開發(fā)一樣需要投入大量的時間和精力,這樣才能夠在成千上萬條代碼中尋找出BUG。
如何成為一名優(yōu)秀的軟件測試工程師
要想成為一名優(yōu)秀的軟件測試工程師,就必須要有“打破砂鍋問到底”的勁頭,要有精益求精的工作態(tài)度,時刻懷著質疑的心,哪怕是公司“大牛”開發(fā)的產品功能,也要嚴格按照測試理論,一點點去驗證,不能麻痹大意。
要想成為一名優(yōu)秀的軟件測試工程師,需要練就一雙慧眼。軟件測試就像猜燈謎一樣,需要我們迅速通過事物的表面現(xiàn)象去發(fā)現(xiàn)內部的聯(lián)系和規(guī)律。
要想成為一名優(yōu)秀的軟件測試工程師,還要有不恥下問的勇氣,不斷強化自己的技能,積攢項目經驗,深入了解公司產品,這樣才能更快地找出軟件產品所存在的問題,并給出合理的建議,進而做出優(yōu)秀的軟件產品。
后記
軟件測試工作可能會比較枯燥,前期工作的大部分時間都是在“點點點”,若你想走得更高、更遠,就需要沉得住氣、耐得住寂寞。順便給想成為軟件測試工程師的你一點小建議:如果你能熟練掌握編程語言,那么與開發(fā)工程師溝通起來就更為簡單、高效。
計算機類行業(yè)一直都是熱門的就業(yè)行業(yè),尤其是軟件測試工作,坊間傳言其“薪資水平高,還不用寫代碼和加班”,使得很多人跟風投身于此。不過,邁入任何行業(yè)之前都需要三思而后行,要考慮清楚自己的興趣愛好,還要有長遠的職業(yè)發(fā)展規(guī)劃。我就認識一些跟風從事軟件測試的人,干了幾年,錢沒掙到,技術也沒有得到很好的沉淀,混不下去就只能再次轉行,這樣純粹是浪費大好青春年華。