在學(xué)習(xí)軟件測試的時(shí)候你是否會感覺到不知從何下手菲饼?
今天教導(dǎo)你們軟件測試學(xué)習(xí)的系統(tǒng)流程和面試常見的問題炫掐。
學(xué)習(xí)流程
一盲镶、必備技能
1. 編程基礎(chǔ)仓蛆,能看懂前端頁面睁冬,掌握一門語言:php/python/java等
2.數(shù)據(jù)庫知識,建議準(zhǔn)備好sql語言看疙,能掌握高級查詢使用基本可以應(yīng)對了豆拨。
3.軟件測試?yán)碚摚@個(gè)大家都不陌生能庆,也是必考的了施禾,應(yīng)該可以輕松應(yīng)付。要注意準(zhǔn)備下web和app測試和性能測試這塊搁胆,現(xiàn)在做web弥搞、app和微信小程序的公司好多。
4.根據(jù)公司具體的職位要求可以準(zhǔn)備的有l(wèi)inux的命令渠旁,CMMI的基礎(chǔ)知識攀例,TCP/IP的基礎(chǔ)知識等。
二顾腊、學(xué)習(xí)流程
1.功能測試學(xué)習(xí)
功能是軟件測試最基礎(chǔ)最本質(zhì)的工作粤铭,就和地基一樣,所以功能測試基礎(chǔ)一定要打好杂靶。在了解基礎(chǔ)的功能測試的時(shí)候可以看一看《軟件測試的藝術(shù)》這本書對才學(xué)習(xí)軟件測試的人真的很有用梆惯。
2.接口測試
接口是前后端數(shù)據(jù)交互的通道,接口測試也是測試中很重要的一部分伪煤,接口測試的學(xué)習(xí)包括測試工具的學(xué)習(xí):apipost加袋、jmeter、loadrunner等抱既。通信協(xié)議职烧,http協(xié)議也需要重點(diǎn)學(xué)習(xí),推薦看一下《圖解網(wǎng)絡(luò)-小林coding》,可以幫助我們基礎(chǔ)了解互聯(lián)網(wǎng)通信蚀之,前端如何傳遞數(shù)據(jù)到后端蝗敢。
3.性能測試
性能測試一般是接口測試的一部分,通過接口對服務(wù)器進(jìn)行的測試足删,查看服務(wù)器各種數(shù)值寿谴,性能測試包括很多分類測試注重點(diǎn)也不一樣,如:壓力測試失受、負(fù)載測試讶泰、穩(wěn)定姓測試等。
4.自動化測試
自動化測試可以分為:接口自動化測試和ui自動化測試拂到。
學(xué)習(xí)自動化測試痪署,需要掌握一門語言,php/python/java等兄旬。接口自動化測試要掌握requests框架狼犯,ui自動化測試需要掌握:web端需要掌握selenium、app端需要掌握appium领铐。
5.Linux操作系統(tǒng)
學(xué)習(xí)Linux操作系統(tǒng)是為了自己部署測試環(huán)境悯森,方便于自己測試。學(xué)習(xí)好Linux shell語句也很重要绪撵,學(xué)習(xí)書籍可以看看《鳥哥的linux私房菜》瓢姻。
6.前端、后端和數(shù)據(jù)庫語言
能夠看懂前端頁面莲兢,知道前端頁面是如何編寫出來的汹来,ajax傳值的方法续膳,后端會一門后端語言改艇,php/python/java等。會數(shù)據(jù)庫基本的sql語句的編寫坟岔。
常見面試題
一谒兄、功能測試
1.說說你以前公司的測試流程。必答題社付。主要結(jié)合自己的項(xiàng)目經(jīng)驗(yàn)相信講一個(gè)自己做過的項(xiàng)目承疲,從立項(xiàng)到測試結(jié)束,當(dāng)然側(cè)重測試和自己所做的內(nèi)容鸥咖。這里面試官一般都會根據(jù)你說的再提問燕鸽。
2.功能測試主要有那些測試方法?
等價(jià)類劃分、邊界值啼辣、因果圖劃分啊研、正交、場景、隨機(jī)党远、錯誤推斷削解、測試大綱
A:等價(jià)類劃分法: : 1:有效等價(jià)類: 2:無效等價(jià)類:
案例:比如一個(gè)登陸輸入框,規(guī)定只能輸入中文,同時(shí)長度為6-10,
通過等價(jià)類設(shè)計(jì)測試用例:
測試用例中重要的三步: 輸入 操作 預(yù)計(jì)結(jié)果 如果與預(yù)期結(jié)果不符合就是bug
有效等價(jià)類: 輸入:輸入長度為6的中文,輸入的為王小明,這就是有效等價(jià)類
無效等價(jià)類:
1: 輸入長度為4的中文,輸入位小名,點(diǎn)擊登錄,預(yù)計(jì)結(jié)果長度不符合要求
2: 輸入長度為6,但是是英文的,點(diǎn)擊登錄,預(yù)計(jì)結(jié)果 請輸入中文
3: 輸入長度為4,而且不是中文的,是數(shù)字,1234,點(diǎn)擊登錄,預(yù)計(jì)結(jié)果請輸入中文并且長度為6-10位
4:輸入長度為12而且不是中文的,比如qwertyuiopas,點(diǎn)擊登錄,預(yù)計(jì)結(jié)果請輸入中文并且長度為6-10位
B:邊界值法:
應(yīng)用場景:邊界值往往和等價(jià)類劃分法一起使用,形成一套更為完善的測試方案,找到有效數(shù)據(jù)和無效數(shù)據(jù)的分界點(diǎn),
注解邊界值一般和有效等價(jià)類劃分法配合使用:
案例:比如一個(gè)登陸輸入框,規(guī)定只能輸入中文,同時(shí)長度為6-10,
上面輸入框的邊界的:如果固定大于等于6,并且小于等于10,
那左邊界就是 5和 6
右邊界是:10 和 11
測試用例:
1:輸入的為王小明,這就是有效等價(jià)類和邊界值的結(jié)合使用
2:輸入小名,這就是邊界值為5,同時(shí)有效等價(jià)類
3:輸入歐陽致遠(yuǎn)家,這就是邊界值10,同時(shí)等價(jià)類有效
4:輸入歐陽致遠(yuǎn)啦啦,這就是邊界值為11,同時(shí)有效等價(jià)類
C:因果圖及判定表法:
應(yīng)用場景:在一個(gè)界面中有多個(gè)控件,如果控件之間有組合關(guān)系或者限制關(guān)系,不同的控件組合會產(chǎn)生不同的輸入結(jié)果,為了弄清楚不同的輸入組合會產(chǎn)生咋樣的輸出結(jié)果,可以使用因果圖及判定表法:
判斷是兒童還是青年還是成年人:
條件1:年齡 age
條件2:身高h(yuǎn)eight
條件3:體重weight
輸入年齡5,體重80公斤,身高170,查無此人
輸入提高80,身高170,輸入年齡20,成年人
輸入年齡5,體重30,身高60,小孩
D:正交表:
應(yīng)用場景:在一個(gè)界面中有多個(gè)控件,每個(gè)控件有多個(gè)取值沟娱,測試時(shí)考慮不同的控件不同取值之間的多種組合氛驮,但組合數(shù)量巨大(>20種,20種以下一般考慮判定表因果圖)济似,沒有必要全部測試矫废,如何從所有的組合中挑選最少、最優(yōu)的組合進(jìn)行測試砰蠢,可以使用正交排列法磷脯。
正交表的測試思想特點(diǎn):
1)使用每個(gè)控件的每個(gè)取值參與組合的次數(shù)是基本相等的(均勻的)
2)在所有的組合數(shù)據(jù)中,選取數(shù)據(jù)時(shí)娩脾,應(yīng)該均勻的選取赵誓,而不能從局部選取。
3)如果時(shí)間允許柿赊,盡可能的多測一些組合
正交表:主要針對一個(gè)輸入框里面可能有多個(gè)值,而且數(shù)量巨大
年齡 體重 省 市 縣
比如:輸入年齡 18,體重45,山西 大同 陽高
E:測試大綱法
適用場合:程序包含多個(gè)窗口俩功,每個(gè)窗口中又有多個(gè)功能,這些功能之間又有一定的聯(lián)系碰声。為了梳理清楚窗口之間以及窗口不同功能之間的聯(lián)系诡蜓,使用測試大綱法。
F:場景法
適用場合:大多數(shù)的業(yè)務(wù)比較復(fù)雜的軟件系統(tǒng)都適合使用場景法(便于將各個(gè)功能點(diǎn)串起來胰挑,便于形成完整的業(yè)務(wù)感覺)是一種基于軟件業(yè)務(wù)的測試方法蔓罚,把自己當(dāng)成最終用戶,盡可能的模擬用戶在使用此軟件的操作
案例:
場景一:比如買東西:輸入襪子,點(diǎn)擊查詢,出現(xiàn)列表,點(diǎn)擊七匹狼,點(diǎn)擊進(jìn)入詳情,點(diǎn)擊加入購物車,點(diǎn)擊去購物車結(jié)算,點(diǎn)擊收獲地址,點(diǎn)擊支付,支付成功
場景二:比如買東西:輸入襪子,點(diǎn)擊查詢,出現(xiàn)列表,點(diǎn)擊七匹狼,點(diǎn)擊進(jìn)入詳情,點(diǎn)擊加入購物車,點(diǎn)擊去購物車結(jié)算,點(diǎn)擊收獲地址,點(diǎn)擊取消支付
G:?錯誤推斷法
基于經(jīng)驗(yàn)和直覺推測程序中所有可能存在的各種錯誤 , 從而有針對性的設(shè) 計(jì)測試用例的方法
在進(jìn)行灰盒測試的時(shí)候經(jīng)常用到此方法
H:隨機(jī)測試
隨意測試瞻颂,不考慮任何用例和需求豺谈,完全站在一個(gè)用戶或者的角度對產(chǎn)品進(jìn)行使用。
適用場景:
1) 所有之前設(shè)定的用例已經(jīng) 執(zhí)行完畢
2)海量的條件組合無法一遍 歷的時(shí)候
二.性能測試和接口測試
1.一般使用什么性能測試和接口測試工具
性能測試:jmeter贡这、loadrunner
接口測試:apipost茬末、postman
ApiPost - 可直接生成文檔的API調(diào)試、管理工具?www.apipost.cn
2.如何進(jìn)行接口測試盖矫,接口測試需要注意那些方面
通過apipost丽惭、postman等工具,根據(jù)接口文檔辈双,輸入請求方法get责掏、post等方法,輸入url湃望,輸入需要傳遞的參數(shù)换衬,然后查看響應(yīng)是否符合接口文檔所顯示的局义。需要注意json響應(yīng)中的參數(shù)的類型等
3.性能測試具體指什么
指驗(yàn)證軟件的性能可以滿足系統(tǒng)規(guī)格給定的指定要求的性能指標(biāo)。性能測試是一個(gè)比較大的范圍冗疮,可以進(jìn)一步衍生出負(fù)載測試萄唇、強(qiáng)度測試、壓力測試术幔、穩(wěn)定性測試另萤。通過自動化測試工具模擬多種正常、異常诅挑、峰值條件四敞,對系統(tǒng)各項(xiàng)性能指標(biāo)測試
4.什么是壓力測試
壓力測試方法測試系統(tǒng)在一定飽和狀態(tài)下,例如cpu拔妥、內(nèi)存在飽和使用情況下忿危,系統(tǒng)能夠處理的會話能力,以及系統(tǒng)是否會出現(xiàn)錯誤没龙。測試出系統(tǒng)所能承受的最大極限铺厨。是指系統(tǒng)在極限下的壓力情況,系統(tǒng)在什么樣的壓力下會導(dǎo)致系統(tǒng)得到失效硬纤,無法正常運(yùn)行解滓。100個(gè)用戶連續(xù)訪問1小時(shí)可以看做是壓力測試,連續(xù)訪問10小時(shí)可以認(rèn)為是負(fù)載測試
三.自動化測試
1.自動化測試指什么
ui界面自動化和接口自動化
ui界面自動化:通過代碼模擬人對程序進(jìn)行的操作
接口自動化;通過代碼實(shí)現(xiàn)大批量接口測試
2.自動化測試一般使用什么工具
web測試:python+selenium+瀏覽器驅(qū)動
app測試:python+appium