更新時間:2022-12-28 來源:黑馬程序員 瀏覽量:
軟件測試一般學(xué)什么技能?該如何規(guī)劃職業(yè)方向?有些朋友對軟件測試這個行業(yè)可能還比較陌生,這么說吧,有人把功能開發(fā)比喻成蓋一座房子,那么軟件測試技術(shù)人員就是對蓋房子所用的材料、外觀樣式、工程圖紙、抗震性和線路鋪設(shè)這些綜合因素進行驗證,最后得出一份“質(zhì)檢報告”。
隨著信息技術(shù)的快速發(fā)展,軟件測試的工作也越來越重要。如今,軟件測試已經(jīng)是軟件開發(fā)過程中必不可少的一項工作。在職業(yè)規(guī)劃上,軟件測試人員可以細分為以下幾種。
一款優(yōu)秀的產(chǎn)品要綜合考慮功能和質(zhì)量兩個方面。功能直接和產(chǎn)品的競爭力掛鉤。一般用戶決定某買一款產(chǎn)品,主要因素就是考慮產(chǎn)品的功能是否滿足他的心理,功能實際上可以理解為產(chǎn)品總體的功用或用途。而產(chǎn)品質(zhì)量指的是產(chǎn)品質(zhì)量是指產(chǎn)品滿足規(guī)定需要和潛在需要的特征和特性的總和。
一個優(yōu)秀的性能測試工程師需要對企業(yè)業(yè)務(wù)和產(chǎn)品的基本功能有比較深刻的認知,還要熟悉產(chǎn)品的研發(fā)環(huán)境。也就是說在系統(tǒng)部署方面,性能測試工程師要熟悉中間件如Nginx、Tomcat,服務(wù)器硬件如CPU、Network、IO、CPU,數(shù)據(jù)庫MySQL、Oracle以及操作系統(tǒng)等知識。
功能測試的重點就是要熟悉如何去設(shè)計測試用例。想要把測試用例設(shè)計到位,測試工程師需要對產(chǎn)品需求有較為深刻的了解。而測試工程師對業(yè)務(wù)越了解,越能Get到產(chǎn)品需求的每個點,這些是相輔相成的。互聯(lián)網(wǎng)中的功能測試人員往往也會遇到瓶頸期,在接手不同的項目后其實是一個反復(fù)學(xué)習(xí)業(yè)務(wù)的過程,這其中其實是業(yè)務(wù)上的差別更多一些。所以說測試工程師要懂得測試管理,調(diào)整測試的策略且要會運用不同的策略,職業(yè)發(fā)展方向一般是管理崗位。
為了讓測試工程師更加高效、快捷地進行工作,測試開發(fā)崗位曾幾何時誕生出來。顧名思義,這個崗位需要測試人員具備一定的開發(fā)能力。在平日的工作中,測試開發(fā)工程師經(jīng)常會寫一些自動化的工具或者腳本給項目組人員進行使用,直接大幅提升了測試效率,與此同時也縮短了測試的周期,在把產(chǎn)品交付給客戶后,客戶會連連稱贊完成的又快又好。
不想當將軍的士兵不是好士兵,不會自動化測試的工程師也不是一個出色的工程師。重復(fù)性比較高的工作幾乎是每個測試工程師在日常中都會遇到的,像這個領(lǐng)域里的人都熟知的冒煙測試、回歸測試等;單從字面意思理解,進行自動化測試的目的可以說是為了解放雙手,脫離呆板重復(fù)的循環(huán)任務(wù),比方說編寫一個selenium測試腳本進行Web自動化測試,只要一次寫好,就可以在需求沒有大改的情況下反復(fù)地去利用。
筆者結(jié)合自己的經(jīng)驗,把軟件測試常用的技能進行了以下簡單的羅列。
1.測試工具:Selenium可以用來錄制腳本,Jmeter用于測試動態(tài)和靜態(tài)資源,是Apache組織開發(fā)的基于Java的壓力測試工具。MaxQ、WebInject、Watir屬于開源功能 自動化測試工具,TPTEST、OpenSTA、DBMonster屬于開源性能自動化測試工具。還有用PHP+MySQL獨立編寫的Bug管理系統(tǒng)Bugfree,用于測試過程管理的Testlink,輕量級的缺陷跟蹤系統(tǒng)Mantis等。
2.操作系統(tǒng):Linux常用的操作指令起碼要會一些,懂一些Shell編程基礎(chǔ)。
3.中間件:像上文提到的Tomcat、用于分表分庫的Mycat,Nginx負載均衡,Zookeeper、Redis。
4.數(shù)據(jù)庫:Oracle、MySQL。
5.版本管理:SVN、Git。
6.開發(fā)能力:Python自動化編程測試、Java、JavaScript前后端技術(shù)。
7.常用框架:Vue.js、SpringBoot、SpringMVC。
8.調(diào)度工具:Azkaban、Airflow、Jenkins(限于理解)。
9.大數(shù)據(jù):Hive、Hadoop等(限于理解)。
10.計算機網(wǎng)絡(luò)知識:OSI與TCP/IP。
以上筆者總結(jié)的技能和知識點,是當今軟件測試職場中會碰到的,有一部分并不需要精通,理解概念會使用即可。