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