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