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