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