你們公司的接口測試流程是?
接口測試我們是在XX項目做的,主要有XX接口,XX接口,XX接口等。
1、首先是從開發(fā)那里拿到API接口文檔,了解接口業(yè)務(wù)、包括接口地址、請求方式,入?yún)ⅰ⒊鰠?,token鑒權(quán),返回格式等信息。
2、然后使用Postman或Jmeter工具執(zhí)行接口測試,一般使用Jmeter的步驟是這樣的:
首先新建一個線程組;
然后就是新建一個HTTP請求默認值。(輸入接口服務(wù)器IP和端口);
再新建很多HTTP請求,一個請求一個用例。(輸入接口路徑,訪問方式,參數(shù)等);
然后創(chuàng)建斷言和查看結(jié)果樹。
3、最后調(diào)試并執(zhí)行用例,最后編寫接口測試報告。
4、其實我們做接口的時候也碰到了蠻多的問題,都是自己獨立解決的,比如返回值亂碼(修改jmeter的配置文件為UTF-8編碼方式),比如需要登錄后才能取得token鑒權(quán)碼并且這個鑒權(quán)碼在下面的請求中需要用到(使用正則表達式提取器提取token的值等。
02、簡述cookie、session及token的區(qū)別
cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。而token是接口測試時的鑒權(quán)碼,一般情況下登陸后才可以獲取到token,然后在每次請求接口時需要帶上token參數(shù)。
cookie不是很安全,別人可以分析存放在本地的cookie并進行cookie欺騙,考慮到安全應(yīng)當(dāng)使用session,session會在一定時間內(nèi)保存在服務(wù)器上。當(dāng)訪問增多,會比較占用你服務(wù)器的性能,考慮到減輕服務(wù)器性能方面應(yīng)當(dāng)使用cookie。
可以將登陸信息等重要信息存放為session;其他信息需要保存,可以放在cookie。
03、接口測試執(zhí)行中比對數(shù)據(jù)庫嗎?
肯定,因為接口返回值的數(shù)據(jù)來源于數(shù)據(jù)庫,接口對數(shù)據(jù)的操作還要進行深層次的數(shù)據(jù)庫檢查!
04、談?wù)勀銓TTP協(xié)議的了解?
超文本傳輸協(xié)議,端口為80,特點(無記憶功能、快速)是由請求和響應(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:重定向--要完成請求必須進行更進一步的操作;
4xx:客戶端錯誤--請求有語法錯誤或請求無法實現(xiàn);
5xx:服務(wù)器端錯誤--服務(wù)器未能實現(xiàn)合法的請求。
07、接口測試中要注意的測試點有哪些?
接口中返回了圖片地址,要手工去進行圖片的測試(大小、內(nèi)容);
接口完成查詢功能的時候,數(shù)據(jù)返回的排序顯示;
接口測試的時候,關(guān)注參數(shù)的默認值、必填項。
08、接口執(zhí)行測試返回結(jié)果比對哪部分?
之前必須要對比的就是返回狀態(tài)碼,其次再去對比返回其它關(guān)鍵內(nèi)容。
09、為什么開展接口測試?
接口測試屬于集成測試、測試介入越早、就越能在項目早期發(fā)現(xiàn)問題,其修復(fù)問題的成本越低;
接口測試非??焖佟I自動化執(zhí)行一個測試用例10S左右、接口測試用例執(zhí)行的話,需要的時間是毫秒級的。
010、用過抓包工具嗎?如何使用?
之前在項目中用過fiddler抓包工具進行HTTP協(xié)議請求的抓取。
打開fiddler之后,默認瀏覽器配置了127.0.0.18888端口的代理,在fiddler設(shè)置好過濾策略后,打開需要進行抓包的網(wǎng)站進行操作,就可以進行抓包。
011、postman使用流程是什么?
編寫好用例;
在postman先建好url環(huán)境變量;
根據(jù)接口用例所屬的模塊新建集合管理;
在集合中不同模塊下錄入測試用例;
錄入測試用例的時候根據(jù)預(yù)期結(jié)果在tests頁簽中增加斷言;
導(dǎo)出通過Newman去運行。
012、postman中設(shè)置環(huán)境變量有什么用?
在之前項目中,接口測試測試的環(huán)境有開發(fā)環(huán)境,測試環(huán)境等,為了測試的時候方便,就在postman設(shè)置環(huán)境變量,到時所有接口都引用該環(huán)境變量,這樣就不用為了切換環(huán)境導(dǎo)致每次都去修改被測系統(tǒng)接口的主機地址;點擊右上角環(huán)境變量管理按鈕-新建環(huán)境變量,在腳本中使用{undefined{變量名}}去調(diào)用。
013、關(guān)聯(lián)是什么?如何postman設(shè)置關(guān)聯(lián)?
關(guān)聯(lián)就是把上一個接口返回值的部分截取出來,作為下一個接口的參數(shù),能讓接口串聯(lián)運行。
在postman中設(shè)置關(guān)聯(lián)的步驟如下:
先通過正則表達式提取的方式或json取值的方式把下一個接口需要的信息從上一個接口截取出來;
使用設(shè)置全局變量的代碼把取出來的值保存到全局變量;
在下一個接口中,使用{undefined{全局變量}}代替要替換的靜態(tài)值。
014、postman參數(shù)化有哪幾種方式?
內(nèi)建變量、pre-scripts編寫js腳本、批量運行時導(dǎo)入csv或json格式的文件。
015、jmeter用的是什么版本?如何安裝?
jmeter用的是5.1.1版本,安裝如下:
先在電腦上安裝jdk1.8或以上的版本,然后從官網(wǎng)下載最新的安裝包,解壓后,進行環(huán)境變量的配置,配置好后即安裝完成
016、在項目中如何用jmeter進行接口測試?
把線程組數(shù)量設(shè)置為1,循環(huán)次數(shù)設(shè)置為1;
配置好全局變量URL通過配置元件---用戶自定義的變量添加;
增加配置元件http請求默認值,放置在用戶定義的變量之后;
添加事務(wù)控制器管理和組織測試用例;
在事務(wù)控制中添加http請求添加測試用例中的接口請求信息;
添加對應(yīng)的斷言元件進行斷言。
017、jmeter中如何設(shè)置斷言?
右擊請求---斷言---響應(yīng)斷言---響應(yīng)斷言界面輸入要檢查比對的項,設(shè)置好斷言后,執(zhí)行接口測試如果是通過的,查看結(jié)果樹不會有任何提示,如果斷言失敗,就會有紅色報錯。如果接口返回的數(shù)據(jù)是json數(shù)據(jù),也可以添加json斷言。
018、jmeter中如何實現(xiàn)關(guān)聯(lián)?
先從上一個接口中通過正則表達式提取器或json path解析器截取下一個接口需要的參數(shù)值保存到變量,然后在寫一個接口中通過${變量名}去獲取。
019、jmeter添加http請求默認值元件作用?
添加并設(shè)置好后,相當(dāng)于給所有的http請求取樣器都設(shè)置了默認值,既不用填寫取樣器中的比如主機地址、端口、代理等,都可以使用http請求默認值設(shè)置的。
020、jmeter參數(shù)化方式有哪幾種可以實現(xiàn)?
配置元件---用戶定義的變量元件可以設(shè)置全局變量;
函數(shù)助手對話框中可以選擇比如隨機字符串、隨機日期、隨機數(shù)字作為參數(shù)化;
可以使用csv文件作為參數(shù)化,通過配置元件中的csv dataset config元件進行設(shè)置即可。
技能提升END資源分享
最后感謝每一個認真閱讀我文章的人,看著粉絲一路的上漲和關(guān)注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走

這些資料,對于做【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!凡事要趁早,特別是技術(shù)行業(yè),一定要提升技術(shù)功底。希望對大家有所幫助…….
關(guān)注我的微信公眾號:【程序員小濠】即可獲取這份資料了!
如果你不想再體驗一次自學(xué)時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,可以加入我們的群:779450660 大家一起討論交流,里面也有各種軟件測試資料和技術(shù)交流。
如果對你有幫助的話,點個贊收個藏,給作者一個鼓勵。也方便你下次能夠快速查找。