摘要:同時我們也可以使用控件來實現(xiàn)小型的接口自動化來提高接口測試效率。接口測試的流程首先我們要了解需求,熟悉業(yè)務場景然后根據(jù)需求文檔,接口文檔以及業(yè)務場景來編寫測試用例。
原文地址:接口測試常見問題
接口測試用例編寫除了使用功能測試中最基本的等價類,邊界值,因果圖,錯誤推測,場景設計等方法外,還要考慮一些其他方面,首先我們要先進行冒煙測試,說白了就是傳遞正確的參數(shù)查看是否返回正確的結果然后還要考慮參數(shù)組合:因為參數(shù)有必填和非必填,參數(shù)的格式、長度,以及數(shù)據(jù)傳輸?shù)臉I(yè)務流程中的一些限制,我們要考慮不同的參數(shù)組合的情況,以保證能夠覆蓋到所有的情況以及繞過驗證、權限驗證、參數(shù)是否加密
最重要的是要考慮業(yè)務邏輯校驗,請求的類型、格式,地址、參數(shù),以及數(shù)據(jù)庫的落地情況(比 如測試新增更新的接口時,要看數(shù)據(jù)的返回是否完整,與數(shù)據(jù)庫進行對比)。
做過接口測試,一般我們都是使用jmeter工具來進行接口測試,首先在測試計劃中添加一個線程組,然后在線程組中添加一個HTTP請求,然后通過抓包獲取接口網(wǎng)址,然后將IP,端口號,路徑,請求方式,以及相應的參數(shù)手動添加到HTTP請求中,然后在線程組里再建一個察看結果樹來查看執(zhí)行結果。也可以添加一些斷言來判斷返回結果。然后我們執(zhí)行HTTP請求,在察看結果樹里驗證返回內(nèi)容、格式等是否符合接口文檔。
同時我們也可以使用CSV控件來實現(xiàn)小型的接口自動 化來提高接口測試效率。在CSV中添加本地Text的文件路徑,TEXT文件中主要包含測試用例的內(nèi)容及每條測試用例的預期結果,每行包含一條用例,我們需要給用例中的每項內(nèi)容起一個變量名,配置完畢就可以使用 變 量 名 來 調(diào) 用 了 , 然 后 添 加 響 應 斷 言 , 也 是 使 用 {變量名}來調(diào)用了,然后添加響應斷言,也是使用 變量名來調(diào)用了,然后添加響應斷言,也是使用{}來調(diào)用CSV中的預期結果,最后將線程組中的線程數(shù)改一下,這樣就可以執(zhí)行多條用例了,大概就這樣。
首先我們在線程組中添加兩個HTTP請求,然后在第一個接口下添加一個正則表達式提取器,然后把我們需要提取的參數(shù)使用(.+?)()代表封裝了待返回的匹配字符.代表匹配任何字符,+代表匹配一次或多次?代表不要臺貪婪,匹配到第一個符合的字符后停止
先在網(wǎng)頁上登錄,然后通過開發(fā)人員工具獲取登錄的cookie參數(shù),然后在使用的時候在HTTP請求前添加HTTP cookie管理器,直接將cookie的參數(shù)手動添加到 HTTP cookie管理器中就可以了
批量進行接口測試我們是通過jmeter中的CSV控件來實現(xiàn)的,首先我們在本地建一個text文件,然后將用例及預期結果添加到文件中,然后在線程組中添加CSV控件,在控件中配置用例每項對應的變量名,然后再添加HTTP請求以及響應斷言,通過${}來調(diào)用CSV中的變量,最后再把線程組中的線程數(shù)調(diào)為我們執(zhí)行用例的數(shù)量就可以了。
一種是在錄制腳本的時候添加HTTP cookie管理器獲取cookie,還有一種就是手動添加cookie的參數(shù)到HTTP cookie管理器中
首先,我們測試計劃中添加一個線程組,線程組中添加cookie管理器(如果需要登錄的話),然后將瀏覽器設置好代理,在jmeter控制臺添加一個HTTP代理服務器,端口號設置為與瀏覽器代理端口號一致,把目標控制器選擇測試計劃線程組,啟動HTTP代理服務器,我們在瀏覽器的操作就可以錄制了。
get和post本質(zhì)上都是TCP連接并無區(qū)別,由于HTTP協(xié)議規(guī)定以及瀏覽器的限制導致在應用過程中有一些不同。
get請求類型主要用于直接獲取數(shù)據(jù)比如查詢,搜索,讀取。post請求類型需要邏輯處理比如支付、登錄、注冊。
get請求的參數(shù)是附在URL之后,post請求的參數(shù)是放在請求體中
get請求有長度限制,一般不超過4KB,post請求理論上沒有限制,限制的是服務器處理數(shù)據(jù)的能力
get請求的數(shù)據(jù)在URL后可以通過瀏覽器的地址欄看到,不安全,post請求相對來說比較安全,但是如果post請求不對隱私數(shù)據(jù)進行加密也是不安全的
get請求的參數(shù)會保存在瀏覽器歷史記錄上,而post請求的參數(shù)不會保留。
對于get請求而言,瀏覽器會直接把HTTP、header和請求參數(shù)一起發(fā)送給服務器,而post是瀏覽器先發(fā)送header,服務器響應100后,瀏覽器再發(fā)送請求數(shù)據(jù),然后服務器再返回結果。
對于一些經(jīng)常變動又頻繁調(diào)用的數(shù)據(jù),我們一般存放在用戶自定義變量中,使用的時候直接使用${變量名}進行調(diào)用,而對于一些默認的參數(shù)如網(wǎng)址,端口路徑等,我們存放在HTTP請求默認值中,如果需要使用,在HTTP請求中那項置空就可以了
首先我們需要先將上傳圖片的接口通過jmeter抓到,然后在HTTP請求中輸入相關的參數(shù),在下方的files upload中添加圖片的本地完整路徑及圖片的格式就可以上傳圖片了。
測試HTTPS的接口我們將HTTP請求中的端口改為443,協(xié)議為HTTPS就可以了
Jmeter中的HTTP代理服務器中有jmeter的過濾模塊,我們把需要過濾的參數(shù)放在過濾模式里面就可以了。
Get接口比如查詢,搜索,讀取。post請求比如訂單,交易,登錄等
我用過jmeter的響應斷言
循環(huán)控制器,計數(shù)器
HTTP是超文本傳輸協(xié)議,是瀏覽器在數(shù)據(jù)傳輸時必須遵循的協(xié)議。它可以將超文本標記語言文檔從客戶端傳輸?shù)椒掌鳌?/p>
首先我們需要在測試計劃中添加MySQL的配置jar包,然后在測試計劃中添加線程組,線程組中添加JDBC connection configration去進行數(shù)據(jù)庫的配置,有數(shù)據(jù)庫連接池,mysql驅(qū)動,以及MySQL的賬號密碼。然后再添加一個JDBC request 輸入查詢語句進行查詢添加一個察看結果樹查看結果就可以了。
首先我們先將MySQL的連接配置好,然后在JDBCrequest中輸入查詢語句查詢出相應的字段名及字段值,然后給查詢的內(nèi)容重命名,調(diào)用的時候使用${變量名_第幾行的數(shù)據(jù)}就可以了。
使用${變量名}進行參數(shù)化
接口測試是測試系統(tǒng)組件之間數(shù)據(jù)傳輸?shù)囊环N測試,主要檢測系統(tǒng)與系統(tǒng)之間或系統(tǒng)與 內(nèi)部組件之間的數(shù)據(jù)正確性。
接口測試的原理就是模擬客戶端向服務器發(fā)出請求,服務器接收請求之后,對請求做出 處理并把響應結果返回給客戶端。
(1)請求地址
(2)請求方式
(3)請求參數(shù)
(4)參數(shù)詳解(每個參數(shù)代表什么意思,如果沒有詳解就去問開發(fā))
(5)響應結果
(6)結果詳解(響應結果中每個參數(shù)所代表的意思)
最常見的是http接口和https接口,除此之外還有webservice接口、dubbo接口等
Jmeter(開源的,接口/性能)、postman、soap UI、load runner(接口/性能)
(1)物流訂單信息,一般物流信息都是通過各大物流公司的接口獲取到的
(2)通過攜程等APP訂不同航空公司的機票,機票信息一般都是通過各大航空公司的接獲取到的。
(3)12306訂票支付的時候,使用微信、支付寶、銀行卡支付都是調(diào)用的接口
(4)軟件實名認證時驗證姓名身份證號是否匹配就是調(diào)用公安系統(tǒng)的接口
(5)綁卡時需要輸入姓名身份證號銀行卡號也是調(diào)用的銀行系統(tǒng)的接口。
一般情況下在單元測試之后,進行集成測試的時候我們進行接口測試,或者在功能測試之前我們會進行接口測試。
一般問有沒有做過集成測試,可以理解為有沒有做過接口測試
(1)現(xiàn)在很多系統(tǒng)都是前后端分離的,從安全層面上來說,只依賴前端進行限制已經(jīng)完全 不能滿足安全需求,因為繞前端太容易了,這種情況下我們需要去測試接口。
(2)因為接口中傳輸?shù)氖菙?shù)據(jù),所以我們要測試數(shù)據(jù)的正確性
(3)接口測試能夠覆蓋功能測試覆蓋不到的點,而且接口測試效率更快,覆蓋相對更全面, 結合功能測試能夠更好的提高測試覆蓋率。
(1)首先我們要了解需求,熟悉業(yè)務場景
(2)然后根據(jù)需求文檔,接口文檔以及業(yè)務場景來編寫測試用例。
(3)再進行測試用例的評審,征求開發(fā)、測試、產(chǎn)品的意見對用例進行完善
(4)再然后準備測試數(shù)據(jù),測試工具以及測試用例
(5)最后執(zhí)行接口測試,提交bug并驗證bug測試完畢后發(fā)送測試報告并確定是否能上線
我們會通過抓包,先把這個接口的信息抓到然后再去測試這個接口
博客來源:雨夜的博客
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/122095.html
摘要:接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互點。隨著案例和執(zhí)行結果的不斷積累,接口測試覆蓋會更加充分,統(tǒng)計結果會更加精確。 原文出自【聽云技術博客】:http://blog.tingyun.com/web/a... 今年遇到了幾個問題,與接口的功能和性能相關,恰巧最近公司也在組織以冒煙測試為主題的活動,于是乎突發(fā)奇想,尋思著能否將接口測試與冒煙測試結合起來,發(fā)掘一...
摘要:接口測試形式單個接口測試包含性能測試和通過接口調(diào)用進行場景測試。充分來說就是接口測試相對容易實現(xiàn)自動化持續(xù)集成。 本文你將了解到 1、接口測試基本概念,包含什么是接口,什么是接口測試,為什么要做接口測試2、接口測試用例設計3、怎樣不用寫代碼,也能快速的根據(jù)開發(fā)的API文檔完成接口自動化測試腳本 注:如果你對接口基本概念和接口測試用例已熟悉,可以直接跳過,其實看一遍也無防,就當作 溫故知...
摘要:接口測試結果歸類分析方法基于接口測試結果模型化和組織級的錯誤碼庫非缺陷知識庫,本專利的方法及裝置將接口測試的結果分類分析,輸出概要表和錯誤分類表。 詳細介紹技術背...
摘要:所以要想做好中級軟件測試工程師,第一步就是能夠完成接口測試。通常情況下,接口測試最多還是使用工具來完成原因無他,高效。 想來我26歲才正式投身進入軟件測試行業(yè);通過...
閱讀 2445·2023-04-25 14:17
閱讀 1607·2021-11-23 10:02
閱讀 2248·2021-11-23 09:51
閱讀 958·2021-10-14 09:49
閱讀 3469·2021-10-11 10:57
閱讀 2998·2021-09-24 09:47
閱讀 3127·2021-08-24 10:00
閱讀 2381·2019-08-29 18:46