你們公司的接口測試流程是虏两?
接口測試我們是在XX項(xiàng)目做的愧旦,主要有XX接口,XX接口定罢,XX接口等笤虫。
1、首先是從開發(fā)那里拿到API接口文檔,了解接口業(yè)務(wù)琼蚯、包括接口地址酬凳、請求方式,入?yún)⒃馐⒊鰠⒛校瑃oken鑒權(quán),返回格式等信息峦睡。
2翎苫、然后使用Postman或Jmeter工具執(zhí)行接口測試,一般使用Jmeter的步驟是這樣的:
首先新建一個(gè)線程組榨了;
然后就是新建一個(gè)HTTP請求默認(rèn)值煎谍。(輸入接口服務(wù)器IP和端口);
再新建很多HTTP請求龙屉,一個(gè)請求一個(gè)用例呐粘。(輸入接口路徑,訪問方式转捕,參數(shù)等)事哭;
然后創(chuàng)建斷言和查看結(jié)果樹。
3瓜富、最后調(diào)試并執(zhí)行用例鳍咱,最后編寫接口測試報(bào)告。
4与柑、其實(shí)我們做接口的時(shí)候也碰到了蠻多的問題谤辜,都是自己獨(dú)立解決的,比如返回值亂碼(修改jmeter的配置文件為UTF-8編碼方式)价捧,比如需要登錄后才能取得token鑒權(quán)碼并且這個(gè)鑒權(quán)碼在下面的請求中需要用到(使用正則表達(dá)式提取器提取token的值等丑念。
02、簡述cookie结蟋、session及token的區(qū)別
cookie數(shù)據(jù)存放在客戶的瀏覽器上脯倚,session數(shù)據(jù)放在服務(wù)器上。而token是接口測試時(shí)的鑒權(quán)碼嵌屎,一般情況下登陸后才可以獲取到token推正,然后在每次請求接口時(shí)需要帶上token參數(shù)。
cookie不是很安全宝惰,別人可以分析存放在本地的cookie并進(jìn)行cookie欺騙植榕,考慮到安全應(yīng)當(dāng)使用session,session會在一定時(shí)間內(nèi)保存在服務(wù)器上尼夺。當(dāng)訪問增多尊残,會比較占用你服務(wù)器的性能炒瘸,考慮到減輕服務(wù)器性能方面應(yīng)當(dāng)使用cookie。
可以將登陸信息等重要信息存放為session寝衫;其他信息需要保存顷扩,可以放在cookie。
03慰毅、接口測試執(zhí)行中比對數(shù)據(jù)庫嗎屎即?
肯定,因?yàn)榻涌诜祷刂档臄?shù)據(jù)來源于數(shù)據(jù)庫事富,接口對數(shù)據(jù)的操作還要進(jìn)行深層次的數(shù)據(jù)庫檢查技俐!
04、談?wù)勀銓TTP協(xié)議的了解统台?
超文本傳輸協(xié)議雕擂,端口為80,特點(diǎn)(無記憶功能贱勃、快速)是由請求和響應(yīng)兩部分組成請求由請求頭井赌、請求行、請求正文組成贵扰;響應(yīng)是由響應(yīng)頭仇穗、響應(yīng)行、響應(yīng)正文組成戚绕,之前我們公司的接口是采用https協(xié)議的纹坐。
httpshttp+ssl協(xié)議端口443面向安全的超文本傳輸協(xié)議。
05舞丛、get和post請求有什么區(qū)別耘子?
get和post請求都是客戶端向服務(wù)器提交的一種請求方式;
get是明文傳輸參數(shù)球切、傾向于請求服務(wù)器資源谷誓。比如打開網(wǎng)站;
post傳輸數(shù)據(jù)不可見吨凑,安全性高捍歪,傾向于向服務(wù)器提交數(shù)據(jù),比如注冊等鸵钝。
06糙臼、響應(yīng)狀態(tài)碼有哪些?
1xx:指示信息--表示請求已接受蒋伦,繼續(xù)處理弓摘;
2xx:成功--表示請求已被成功接收、理解痕届、接受韧献;
3xx:重定向--要完成請求必須進(jìn)行更進(jìn)一步的操作;
4xx:客戶端錯誤--請求有語法錯誤或請求無法實(shí)現(xiàn)研叫;
5xx:服務(wù)器端錯誤--服務(wù)器未能實(shí)現(xiàn)合法的請求锤窑。
07、接口測試中要注意的測試點(diǎn)有哪些嚷炉?
接口中返回了圖片地址渊啰,要手工去進(jìn)行圖片的測試(大小、內(nèi)容)申屹;
接口完成查詢功能的時(shí)候绘证,數(shù)據(jù)返回的排序顯示;
接口測試的時(shí)候哗讥,關(guān)注參數(shù)的默認(rèn)值嚷那、必填項(xiàng)。
08杆煞、接口執(zhí)行測試返回結(jié)果比對哪部分魏宽?
之前必須要對比的就是返回狀態(tài)碼,其次再去對比返回其它關(guān)鍵內(nèi)容决乎。
09队询、為什么開展接口測試?
接口測試屬于集成測試构诚、測試介入越早蚌斩、就越能在項(xiàng)目早期發(fā)現(xiàn)問題,其修復(fù)問題的成本越低范嘱;
接口測試非车仕拢快速、UI自動化執(zhí)行一個(gè)測試用例10S左右彤侍、接口測試用例執(zhí)行的話肠缨,需要的時(shí)間是毫秒級的。
010盏阶、用過抓包工具嗎晒奕?如何使用?
之前在項(xiàng)目中用過fiddler抓包工具進(jìn)行HTTP協(xié)議請求的抓取名斟。
打開fiddler之后脑慧,默認(rèn)瀏覽器配置了127.0.0.18888端口的代理,在fiddler設(shè)置好過濾策略后砰盐,打開需要進(jìn)行抓包的網(wǎng)站進(jìn)行操作闷袒,就可以進(jìn)行抓包。
011岩梳、postman使用流程是什么囊骤?
編寫好用例晃择;
在postman先建好url環(huán)境變量;
根據(jù)接口用例所屬的模塊新建集合管理也物;
在集合中不同模塊下錄入測試用例宫屠;
錄入測試用例的時(shí)候根據(jù)預(yù)期結(jié)果在tests頁簽中增加斷言;
導(dǎo)出通過Newman去運(yùn)行滑蚯。
012浪蹂、postman中設(shè)置環(huán)境變量有什么用?
在之前項(xiàng)目中告材,接口測試測試的環(huán)境有開發(fā)環(huán)境坤次,測試環(huán)境等,為了測試的時(shí)候方便斥赋,就在postman設(shè)置環(huán)境變量缰猴,到時(shí)所有接口都引用該環(huán)境變量,這樣就不用為了切換環(huán)境導(dǎo)致每次都去修改被測系統(tǒng)接口的主機(jī)地址灿渴;點(diǎn)擊右上角環(huán)境變量管理按鈕-新建環(huán)境變量洛波,在腳本中使用{undefined{變量名}}去調(diào)用。
013骚露、關(guān)聯(lián)是什么蹬挤?如何postman設(shè)置關(guān)聯(lián)?
關(guān)聯(lián)就是把上一個(gè)接口返回值的部分截取出來棘幸,作為下一個(gè)接口的參數(shù)焰扳,能讓接口串聯(lián)運(yùn)行。
在postman中設(shè)置關(guān)聯(lián)的步驟如下:
先通過正則表達(dá)式提取的方式或json取值的方式把下一個(gè)接口需要的信息從上一個(gè)接口截取出來误续;
使用設(shè)置全局變量的代碼把取出來的值保存到全局變量吨悍;
在下一個(gè)接口中,使用{undefined{全局變量}}代替要替換的靜態(tài)值蹋嵌。
014育瓜、postman參數(shù)化有哪幾種方式?
內(nèi)建變量栽烂、pre-scripts編寫js腳本躏仇、批量運(yùn)行時(shí)導(dǎo)入csv或json格式的文件。
015腺办、jmeter用的是什么版本焰手?如何安裝?
jmeter用的是5.1.1版本怀喉,安裝如下:
先在電腦上安裝jdk1.8或以上的版本书妻,然后從官網(wǎng)下載最新的安裝包,解壓后躬拢,進(jìn)行環(huán)境變量的配置躲履,配置好后即安裝完成
016见间、在項(xiàng)目中如何用jmeter進(jìn)行接口測試?
把線程組數(shù)量設(shè)置為1崇呵,循環(huán)次數(shù)設(shè)置為1缤剧;
配置好全局變量URL通過配置元件---用戶自定義的變量添加馅袁;
增加配置元件http請求默認(rèn)值域慷,放置在用戶定義的變量之后;
添加事務(wù)控制器管理和組織測試用例汗销;
在事務(wù)控制中添加http請求添加測試用例中的接口請求信息犹褒;
添加對應(yīng)的斷言元件進(jìn)行斷言。
017弛针、jmeter中如何設(shè)置斷言叠骑?
右擊請求---斷言---響應(yīng)斷言---響應(yīng)斷言界面輸入要檢查比對的項(xiàng),設(shè)置好斷言后削茁,執(zhí)行接口測試如果是通過的宙枷,查看結(jié)果樹不會有任何提示,如果斷言失敗茧跋,就會有紅色報(bào)錯慰丛。如果接口返回的數(shù)據(jù)是json數(shù)據(jù),也可以添加json斷言瘾杭。
018诅病、jmeter中如何實(shí)現(xiàn)關(guān)聯(lián)?
先從上一個(gè)接口中通過正則表達(dá)式提取器或json path解析器截取下一個(gè)接口需要的參數(shù)值保存到變量粥烁,然后在寫一個(gè)接口中通過${變量名}去獲取贤笆。
019、jmeter添加http請求默認(rèn)值元件作用讨阻?
添加并設(shè)置好后芥永,相當(dāng)于給所有的http請求取樣器都設(shè)置了默認(rèn)值,既不用填寫取樣器中的比如主機(jī)地址钝吮、端口埋涧、代理等,都可以使用http請求默認(rèn)值設(shè)置的搀绣。
020飞袋、jmeter參數(shù)化方式有哪幾種可以實(shí)現(xiàn)?
配置元件---用戶定義的變量元件可以設(shè)置全局變量链患;
函數(shù)助手對話框中可以選擇比如隨機(jī)字符串巧鸭、隨機(jī)日期、隨機(jī)數(shù)字作為參數(shù)化麻捻;
可以使用csv文件作為參數(shù)化纲仍,通過配置元件中的csv dataset config元件進(jìn)行設(shè)置即可呀袱。
技能提升END資源分享
最后感謝每一個(gè)認(rèn)真閱讀我文章的人,看著粉絲一路的上漲和關(guān)注郑叠,禮尚往來總是要有的夜赵,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走
這些資料乡革,對于做【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫寇僧,這個(gè)倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你沸版!凡事要趁早嘁傀,特別是技術(shù)行業(yè),一定要提升技術(shù)功底视粮。希望對大家有所幫助…….
關(guān)注我的微信公眾號:【程序員小濠】即可獲取這份資料了细办!
如果你不想再體驗(yàn)一次自學(xué)時(shí)找不到資料,沒人解答問題蕾殴,堅(jiān)持幾天便放棄的感受的話笑撞,可以加入我們的群:779450660 大家一起討論交流,里面也有各種軟件測試資料和技術(shù)交流钓觉。
如果對你有幫助的話茴肥,點(diǎn)個(gè)贊收個(gè)藏,給作者一個(gè)鼓勵议谷。也方便你下次能夠快速查找炉爆。