軟件測試是由于軟件開發(fā)編程行業(yè)高度成熟后所形成的產(chǎn)物。
從整體行業(yè)背景看,在中國的很多軟件企業(yè)存在著重開發(fā)、輕測試的現(xiàn)象,造成日后的軟件產(chǎn)品的質(zhì)量問題頻出;
這時候軟件測試的重要性尤為凸顯,那么想要成為一名軟件測試開發(fā)工程師都需要學習哪些內(nèi)容呢?
開發(fā)能力:JAVA(集合,泛型,基礎(chǔ)知識,調(diào)試,代碼閱讀),JavaScript/CSS/HTML(基礎(chǔ)知識,能結(jié)合知識實現(xiàn)項目),Python(基礎(chǔ)知識);
框架:Spring Boot,Spring MVC;Vuejs;
開發(fā)成果:可以單獨開發(fā)JAVAWEB后臺系統(tǒng),前端項目;管理系統(tǒng);
興趣愛好:機器學習(理解常用的機器學習知識與算法原理,以及簡單機器學習實現(xiàn));
計算機網(wǎng)絡(luò)知識:TCP/IP協(xié)議(HTTP,DNS);
操作系統(tǒng):LINUX服務(wù)器常用指令,服務(wù)器硬件指標分析,shell編程基礎(chǔ);
中間件:TOMCAT,NGINX(負載均衡,結(jié)合keepalive高可用架構(gòu)),Mycat(分表分庫),Redis,Zookeeper;
數(shù)據(jù)庫:Oracle/MySQL,復(fù)雜查詢;
測試工具:JMeter,Postman等;
版本管理:GIT,SVN;
調(diào)度工具:JENKINS(理解);
大數(shù)據(jù):Hadoop(理解架構(gòu)),Hive;
以上知識,都是工作中接觸到的并且運用到的,當然測試工作中有些可能不需要精通掌握,只僅限于“使用”。
除了這些,軟件測試工程師還需要掌握一些軟技能。
一,系統(tǒng)思維能力
無論是出軟件測試方案,還是用例設(shè)計,測試建模,場景化分析等都需要具備一定的系統(tǒng)思維,環(huán)環(huán)相扣,把遺漏風險降到最 低。也是個人提升的必備
二,項目管理能力
測試人員最終的目標是評估質(zhì)量風險與風險控制,但質(zhì)量并非是靠測試測出來的,而是在產(chǎn)品未孵化前的規(guī)劃就開始了,所以了解整個項目管理流程才可以實現(xiàn)對各個階段的質(zhì)量把控。
三,溝通表達能力
以上案例中已提到過,無論是日常工作與其他跨部門團隊的溝通還是晉升的競聘環(huán)節(jié),以及面試過程中對自我的展示,都需要良好的溝通表達,再優(yōu)秀的技術(shù)也需要靠表達去實現(xiàn)繼承和運用。
四,領(lǐng)導(dǎo)管理技能
測試人員的發(fā)展方向除了專家路線就是管理方向,當然技術(shù)管理還是要以技術(shù)為本的,所以領(lǐng)導(dǎo)力會顯得尤其重要,但無論專家還是管理路線,擁有一定經(jīng)驗后需要做出決策以及測試策略如何讓別人信服就需要一定的領(lǐng)導(dǎo)力了,而領(lǐng)導(dǎo)力是可以有意培養(yǎng)的,如尊重法則,導(dǎo)航法則,影響力法則等,如何提出意見讓其他團隊樂意接受也是一門學問。
五,觀察能力
一般,做過技術(shù)人員面試官的都會有些微表情,或面試心理學的知識儲備,如何快速識別需要靠長期的細節(jié)觀察能力來判斷候選人。知己知彼百戰(zhàn)百勝,不僅僅是面試官還有一些測試人員轉(zhuǎn)為業(yè)務(wù)專家或顧問后會更有學習的必要。
六,導(dǎo)師能力
有一定經(jīng)驗的測試人員即使沒做到管理層,也會被委任做某個方向的導(dǎo)師或培訓人員,這時如何從自己學習到傳播給他人知識會有個轉(zhuǎn)變,也是工作的一部分,為測試組知識庫與技術(shù)儲備貢獻力量。工作一定時間后,就需要有意識的培養(yǎng)這方面的能力了。