在市場需求的影響下,軟件測試從業(yè)人員越來越多,但依舊有很多人對軟件測試崗位并不了解。在很多人的意識里,軟件測試是一個(gè)非常高深的崗位,軟件測試工程師離我們非常遙遠(yuǎn),這其實(shí)都是因?yàn)槲覀儗@個(gè)崗位不了解。
一、軟件測試崗位入門究竟難不難?
首先,學(xué)習(xí)軟件測試是個(gè)不錯(cuò)的選擇,總體上來說入門難度并不算高,即使計(jì)算機(jī)基礎(chǔ)知識比較薄弱的人,只要通過一個(gè)系統(tǒng)的學(xué)習(xí)過程,也是能夠滿足軟件測試崗位的基本要求的。
雖然入門軟件測試的難度并不算高,但是需要學(xué)習(xí)的內(nèi)容卻比較多,也比較雜。
簡單的說,就是測試什么類型的軟件就需要掌握其相應(yīng)的知識,像Linux操作系統(tǒng),各種數(shù)據(jù)庫產(chǎn)品以及各種服務(wù)器產(chǎn)品等等,所以軟件測試人員需要掌握的知識面是比較廣的。
另外,測試人員還要掌握測試工具的使用,比如采用自動(dòng)化測試時(shí)可以使用Robotframework。
軟件測試工作是圍繞軟件生命周期展開的,根據(jù)軟件生命周期的不同階段進(jìn)行相應(yīng)的功能驗(yàn)證(周期內(nèi)要做的參考CSTQB)。
通常來說,在需求設(shè)計(jì)階段,測試人員需要理解需求和具體的業(yè)務(wù)知識;
在用例設(shè)計(jì)階段測試需要根據(jù)業(yè)務(wù)需求進(jìn)行業(yè)務(wù)場景識別,進(jìn)而進(jìn)行用例設(shè)計(jì)、用例評審等;
在測試執(zhí)行階段需要執(zhí)行測試用例結(jié)合探索測試;
測試總結(jié)階段需要收集測試的相關(guān)數(shù)據(jù)并完成測試報(bào)告。
另外,根據(jù)不同的測試方向,需要選擇不同的測試方法。
不同團(tuán)隊(duì)對于測試人員的要求也不同,當(dāng)前不少團(tuán)隊(duì)賦予了測試人員更多的工作內(nèi)容,比如測試不僅僅局限于功能性驗(yàn)證,還需要從用戶的使用體驗(yàn)入手進(jìn)行測試。
測試的內(nèi)容涵蓋了交互、視覺等更廣泛的內(nèi)容,這其實(shí)也賦予了測試人員更多的職責(zé),從職業(yè)發(fā)展的角度來說,這就要求測試人員能夠站在一個(gè)更高的角度來審視軟件產(chǎn)品。
總之,專業(yè)測試人員是目前軟件行業(yè)比較短缺的人才,未來的發(fā)展前景也比較廣闊。
二、關(guān)于怎么系統(tǒng)學(xué)習(xí)的問題。
說一點(diǎn)點(diǎn)非計(jì)算機(jī)專業(yè)人員從事軟件測試的心得體會(huì)
如果你是非計(jì)算機(jī)專業(yè),畢業(yè)不久,軟件測試工作門檻相對較低,比較容易入門。建議入職互聯(lián)網(wǎng)行業(yè),因?yàn)橐话闱闆r下,薪資相比傳統(tǒng)的行業(yè)測試要高。
如果是測試小白,很多人面臨不知道怎么系統(tǒng)學(xué)習(xí),提供一點(diǎn)意見和學(xué)習(xí)內(nèi)容。
- 測試用例設(shè)計(jì)方法,什么邊界值,等價(jià)劃分,正交法等等,這些一般都是功能測試需要的技能,不用去死記硬背理論,先用起來。
- 抓包,運(yùn)用工具進(jìn)行抓包,這里需要了解http協(xié)議,請求頭,請求體,響應(yīng)消息這些基本的知識。通過抓包得到的數(shù)據(jù),用postman或者jmeter構(gòu)造接口請求,接口能否請求成功。不要單純?yōu)榱俗ググ?將會(huì)的技能運(yùn)用起來。
- 數(shù)據(jù)庫,一般互聯(lián)網(wǎng)公司在測試都有用到數(shù)據(jù)庫,學(xué)習(xí)基本的增刪改查。深入的話可以了解子查詢,左右連接,多表查詢,存儲(chǔ)過程,事務(wù)等。
- Linux命令: 測試需要定位bug,部署環(huán)境等。所以掌握常見的linux命令是很有必要的,列舉一些常見的。cd,pwd,cp,mv,tail,cat,ps,netstat,chmod等。
那測試基礎(chǔ)有哪些內(nèi)容呢?
- 測試的定義、測試的分類、測試的方法、測試的生命周期。
- 測試計(jì)劃、測試方案、測試策略、測試用例的編寫。
- BUG的定義、BUG的分類、BUG的六要素、BUG的生命周期。
- 測試和開發(fā)流程的關(guān)系、瀑布流、V字形、W字型(雙V)、螺旋型、敏捷等等。
- PDCA、5W2H等分析管理的方法
- 質(zhì)量管理體系CMMI(了解)
還有測試工具的學(xué)習(xí)
- BUG管理工具:禪道、Jira、Bugzilla等。
- web端自動(dòng)化測試工具:selenium、QTP等。
- app自動(dòng)化測試工具,有Appium,MonkeyRunner、Robotium等,
- 性能測試工具主要是Loadrunner和Jmeter。
- 抓包分析工具wireshak、fiddler。
- 數(shù)據(jù)庫工具:mysql/oracle
- 接口測試工具:postman
以上的學(xué)習(xí)內(nèi)容就差不多了,有時(shí)間可以上B站、知乎、CSDN、testerhome等等網(wǎng)站查找相關(guān)的知識,也可以看我往期發(fā)的文章。
三、是否報(bào)培訓(xùn)班學(xué)習(xí)
這是一個(gè)很多門外的人想要知道的一個(gè)問題,進(jìn)軟件測試行業(yè)是否要選擇培訓(xùn)呢?
每個(gè)人的情況是不一樣的,自學(xué)還是培訓(xùn)根據(jù)個(gè)人情況去選擇,有的學(xué)習(xí)能力強(qiáng),有的溝通能力強(qiáng),自制力、學(xué)歷等等。
自學(xué):
首先是學(xué)習(xí)能力,自學(xué)能力比較好,理解能力好,控制力夠強(qiáng)的,網(wǎng)上有很多豐富的資源,足夠了,比如B站、慕課網(wǎng)、CSDN這些網(wǎng)站有免費(fèi)視頻,或者買相關(guān)學(xué)習(xí)書籍。學(xué)習(xí)之前得有個(gè)思路,有個(gè)學(xué)習(xí)計(jì)劃,就像讀書時(shí)學(xué)校課程安排一樣,從基礎(chǔ)學(xué)起,循序漸進(jìn),做筆記,練習(xí),實(shí)操。
自學(xué)消耗的時(shí)間比較長,如果沒有基礎(chǔ)的話,想要自學(xué)也是比較難的,相對于有一定基礎(chǔ)的,一般都是在空閑之余用碎片化的時(shí)間去學(xué)習(xí),想要在軟件測試的領(lǐng)域小有所成,找到一份正式工作,怎么也得一年半載吧。自學(xué)需要強(qiáng)大的自制力,需要耐得住寂寞,每天固定的堅(jiān)持學(xué)習(xí),但是遇到技術(shù)難點(diǎn)很容易做牛角尖,導(dǎo)致半途而廢。
培訓(xùn):
自學(xué)能力較弱,自制力較差的同學(xué),還是建議培訓(xùn),系統(tǒng)學(xué)習(xí),因?yàn)榕嘤?xùn)學(xué)習(xí)時(shí)間相對較短,整體學(xué)習(xí)比較全面,學(xué)習(xí)內(nèi)容也比較集中,有老師輔導(dǎo)還是能快速進(jìn)入這個(gè)行業(yè)的,但是有一點(diǎn)別以為你報(bào)了培訓(xùn)班,不好好學(xué),還是不行的,不可能像*老師一樣天天逼著你學(xué),如果這樣,還不如趁早放棄這個(gè)行業(yè)。
*重要的一點(diǎn)選擇報(bào)班的同學(xué)別被機(jī)構(gòu)忽悠了,現(xiàn)在培訓(xùn)行業(yè)魚龍混雜,別聽培訓(xùn)班老師說培訓(xùn)完工資有多高,工作有多好,直接問重點(diǎn)就業(yè)率,授課內(nèi)容,口碑等等,多選幾家機(jī)構(gòu)做做對比,有機(jī)會(huì)接觸一下老學(xué)員。
四、*后的建議
根據(jù)我的經(jīng)驗(yàn)給朋友們一點(diǎn)建議
1、軟件測試行業(yè),入門容易,學(xué)精困難,術(shù)業(yè)有專攻,師父領(lǐng)進(jìn)門后,你得靠自己;
2、在大公司,你可能只是測試一個(gè)模塊,小公司,負(fù)責(zé)所有測試,一人多職,比較鍛煉人。剛?cè)胄薪ㄗh以學(xué)東西為主,不要只在乎薪資待遇。
3、萬變不離其宗,軟件測試是個(gè)軟件系統(tǒng)工程,掌握全面,測試點(diǎn)各個(gè)擊破,方能庖丁解牛;
4、學(xué)會(huì)溝通交流,準(zhǔn)確反饋測試結(jié)果和解決思路,技術(shù)再好,沒有表達(dá)給程序員,成果不利于轉(zhuǎn)化;
5、抱著一顆時(shí)刻學(xué)習(xí)、時(shí)刻進(jìn)步的心,軟件是一個(gè)快速迭代的行業(yè),跟不上時(shí)代,追不上趨勢,就會(huì)被社會(huì)淘汰。