如何從零學(xué)習(xí)軟件測試(寫給軟件測試新人和轉(zhuǎn)行測試的同學(xué))
隨著國內(nèi)軟件行業(yè)的蓬勃發(fā)展,各種各樣的軟件應(yīng)用層出不窮,人們的生活也越來越依賴軟件,因此軟件的質(zhì)量就越來越受重視,而軟件測試作為軟件研發(fā)過程的兩大核心之一,在企業(yè)和研發(fā)團(tuán)隊(duì)的地位也越來越重要,崗位需求也越來越大。
本文內(nèi)容較長,望各位小伙伴能夠耐心讀完,相信一定會令你茅塞頓開,獲益匪淺!
一、聊一聊測試行業(yè)
1、軟件測試工程師,崗位需求多
2、軟件測試技術(shù),軟件質(zhì)量守護(hù)神
沒有哪個公司敢于將未測試的軟件上線,一個不起眼的軟件問題,都可能讓公司萬劫不復(fù)。
就算是臉書的扎克伯格違心地高呼著所謂我們沒有測試,這也只是將測試右移而已(什么是測試右移,感興趣的小伙伴可以自行查閱或者私信探討)。
軟件測試,一直并將繼續(xù)作為軟件質(zhì)量的保護(hù)神而存在。
3、軟件測試的發(fā)展前景廣泛
學(xué)編程語言只是獲取了一門技術(shù),而學(xué)習(xí)軟件測試卻是獲得了一個持續(xù)發(fā)展的機(jī)會。
4、軟件測試簡單易學(xué)還高薪
學(xué)習(xí)忌跟風(fēng),適合自己的才是好的。
做開發(fā)太苦?學(xué)UI沒有天分?想擁有高薪技術(shù)?軟件測試是你的不二之選。
二、學(xué)習(xí)軟件測試的方法
1、理論指導(dǎo)項(xiàng)目實(shí)戰(zhàn)、項(xiàng)目中驗(yàn)證理論
在企業(yè)實(shí)際在研項(xiàng)目中鍛煉自己,不僅可以能夠驗(yàn)證自己學(xué)習(xí)的理論知識,更能從實(shí)戰(zhàn)中得新知。如果沒有,也可以從開源項(xiàng)目下手,在這塊要比開發(fā)項(xiàng)目更容易入手。
2、一圖了解測試工具有哪些
測試工具永遠(yuǎn)是軟件測試人員的得力助手,不能完全依賴工具,但也不能沒有工具,在學(xué)習(xí)軟件過程中,要著中軟件測試工具的使用,下圖覆蓋初、中級軟件測試工程師所需具備的測試工具,要想學(xué)好,下手吧。

三、最新學(xué)習(xí)路線
1、通用軟件測試基礎(chǔ)技術(shù)
拋開所有其他的計(jì)算機(jī)技術(shù)不談,就只是軟件測試基礎(chǔ)技術(shù)那也是比較復(fù)雜的,遠(yuǎn)不像網(wǎng)絡(luò)上或者你身邊的朋友說的那樣,對軟件點(diǎn)點(diǎn)點(diǎn)就夠。
因?yàn)槿绻皇菍浖c(diǎn)點(diǎn)點(diǎn),軟件測試有一種測試方法叫做“猴子測試”,完全可以找個小動物隨便進(jìn)行,找人干啥?因此就要有各種創(chuàng)新性的作法。
比如看到軟件界面上有個出生日期的字樣,首先就要聯(lián)想到后面跟著的是一個日歷的選擇,并且只需要年月日就夠了,更要保證這個選擇過程不能選擇當(dāng)前日期未來的日期,畢竟未來一切尚不可知。當(dāng)然了,這只是軟件測試的一個方面。
再比如,我們購買的手機(jī),有個性能參數(shù)是工作溫度,在適合的工作溫度區(qū)間,測試人員要關(guān)注在不同的溫度時,APP運(yùn)行期間的耗電量,理應(yīng)平穩(wěn)的好點(diǎn)會不會在較低溫度時出現(xiàn)耗電量猛增的現(xiàn)象。
所以,軟件測試工程師可以在不懂其他技術(shù)的時候,只需要按照其他的軟件運(yùn)行要求和標(biāo)準(zhǔn),也就是我們所說的需求,進(jìn)行測試和判斷就好。
下面就說一下這部分應(yīng)該掌握的技術(shù):
軟件測試常見概念
軟件測試的分類
基于軟件生命周期的測試
軟件測試流程
黑盒測試方法
測試用例設(shè)計(jì)
測試用例執(zhí)行及缺陷報告
測試報告1
2、軟件測試環(huán)境配置技術(shù)
在管理科學(xué)和嚴(yán)謹(jǐn)?shù)能浖邪l(fā)團(tuán)隊(duì)中,測試人員所使用的測試環(huán)境和開發(fā)團(tuán)隊(duì)所使用的開發(fā)環(huán)境是不同的。這就要求測試團(tuán)隊(duì)的成員能夠自行配置和管理測試環(huán)境。
我們都知道,現(xiàn)在絕大多數(shù)的軟件和系統(tǒng)都是B/S(Browser/Server:用瀏覽器通過網(wǎng)頁的形式使用應(yīng)用)結(jié)構(gòu)或者C/S(Client/Server:通過專門的客戶端軟件享受服務(wù))結(jié)構(gòu)的應(yīng)用。
所以,作為測試工程師需要會安裝和配置,能讓被測試軟件提供正常應(yīng)用服務(wù)所需的各種軟件和參數(shù)配置。
比如,使用什么類型的操作系統(tǒng),使用哪一種開發(fā)語言環(huán)境,使用哪一種數(shù)據(jù)庫管理系統(tǒng),使用哪一種應(yīng)用服務(wù)軟件。
所以,作為軟件測試工程師,需要會使用包含Windows系統(tǒng)在內(nèi)的其他操作系統(tǒng),并且按照特定的軟件搭配技術(shù)進(jìn)行安裝和配置應(yīng)用服務(wù)環(huán)境。
下面就說一下這部分應(yīng)該掌握的技術(shù):
Mysql數(shù)據(jù)庫
Linux系統(tǒng)基礎(chǔ)
Redis數(shù)據(jù)庫
虛擬機(jī)測試環(huán)境管理
LAMP環(huán)境搭建
云服務(wù)器搭建
docker環(huán)境搭建
k8s環(huán)境搭建
3、web測試前端開發(fā)技術(shù)
通過前三個方面的測試技術(shù),基本算是掌握了一定技術(shù)的測試工程師,如果經(jīng)驗(yàn)多一點(diǎn),拿到8K左右的工資還是比較可以的,但是那也只是測試技術(shù)的基礎(chǔ)階段。測試工作非常重要的目標(biāo)就是找軟件的bug,如何能找到軟件的缺陷,我們就需要了解軟件是怎么開發(fā)出來的。
比如,最常見的各種Web網(wǎng)站。網(wǎng)頁上每一個頁面的元素都是測試對象。文本框能夠輸入的數(shù)據(jù)類型怎么限制,數(shù)據(jù)長度怎么限制,單選按鈕是不是真的能夠選擇并且只能選擇一個,復(fù)選框是不是真的能夠勾選和取消勾選,提交出去的數(shù)據(jù)為什么有些就會顯示在瀏覽器的地址欄,有些就不顯示,網(wǎng)頁上的彈出框是怎么實(shí)現(xiàn)的……而以上內(nèi)容就真的需要Web開發(fā)的知識。
其實(shí)網(wǎng)上是有豐富的學(xué)習(xí)資源的。
下面就說一下這部分應(yīng)該掌握的技術(shù):
html基礎(chǔ)標(biāo)簽
h5新特性
css3
svn
git/github
了解了web前端的本質(zhì),再進(jìn)行web前端測試就更得心應(yīng)手了。

4、自動化測試(web+app+接口)
軟件測試之所以被認(rèn)為沒有什么技術(shù)含量,那是因?yàn)楹芏嘬浖蛔阋灾С执笠?guī)模的自動化測試,他們的測試處于比較低級的階段。
如果滿足自動化測試的要求,那軟件測試工作也是一項(xiàng)充滿了挑戰(zhàn)與激情的工作。
自動化測試,那就勢不可擋的需要開發(fā)語言,我們更偏向于推薦使用python語言,所以在有了開發(fā)語言的技能之后,Web自動化測試也將不再是難事。
下面說一下Web自動化測試需要掌握的技能:
python基礎(chǔ)
selenium
unittest
ddt
xlrd
pymysql
appium
requests
json
BeautifulReport
jenkins
git/github/svn
5、接口測試技術(shù)
接口測試是一種目前較為流行的測試方向,名字看起來特別的高大上,但是技術(shù)實(shí)現(xiàn)非常簡單。通常市面上的主流的測試工具都可以實(shí)現(xiàn)企業(yè)要求的接口測試的目標(biāo)。
為什么是測試工具呢?因?yàn)榻涌跍y試和基本的功能測試不一樣,接口測試沒有界面的輔助,全靠數(shù)據(jù)分析和判斷。
所以對工具要求較多,主要掌握如下即可。
HTTP請求報文
HTTP響應(yīng)報文
Fiddler抓包
postman
jmeter
6、性能測試技術(shù)
性能測試可以說是與手工、功能、UI自動化、接口測試完全不在同一個層面的東西。它的技術(shù)要求更高,知識要求更深,經(jīng)驗(yàn)要求更多。
因?yàn)橛绊懸粋€軟件運(yùn)行的性能的因素太多了:

所以,市場上性能測試工程師的經(jīng)驗(yàn)普遍要求在5年以上,并且對操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)、開發(fā)語言、工具應(yīng)用、系統(tǒng)架構(gòu)和設(shè)計(jì)都有比較高的要求。例如要明確負(fù)載測試、壓力測試、穩(wěn)定性測試、可靠性測試、失效恢復(fù)測試、大數(shù)據(jù)量測試等內(nèi)容的區(qū)別,更是要能夠讀懂測試中系統(tǒng)的各項(xiàng)數(shù)據(jù):

以下是小編為新手入門的小伙伴準(zhǔn)備的一套全棧軟件測試學(xué)習(xí)教程,希望對新手小伙伴有所幫助,有其他需求,可以直接私聊小編。
