溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Api測(cè)試有哪些技巧

發(fā)布時(shí)間:2020-06-06 15:59:30 來(lái)源:億速云 閱讀:242 作者:Leah 欄目:編程語(yǔ)言

本文以Api測(cè)試為例,為大家介紹Api測(cè)試的技巧、Api測(cè)試的流程以及測(cè)試的方法和工具,閱讀完整文相信大家對(duì)Api測(cè)試技巧有了一定的認(rèn)識(shí)。

API測(cè)試是一種直接在API級(jí)別執(zhí)行驗(yàn)證的軟件測(cè)試。它是集成測(cè)試的一部分,它確認(rèn)API是否滿足測(cè)試人員對(duì)功能、可靠性、性能和安全性的期望。與UI測(cè)試不同,API測(cè)試是在沒(méi)有GUI層執(zhí)行操作的。
API測(cè)試技巧
Web API有兩大類Web服務(wù):SOAP和REST。
SOAP(簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)是W3C標(biāo)準(zhǔn)定義的一種標(biāo)準(zhǔn)協(xié)議,用于發(fā)送和接收Web服務(wù)請(qǐng)求和響應(yīng)。
REST(表示狀態(tài)傳輸)是使用HTTP的基于Web標(biāo)準(zhǔn)的體系結(jié)構(gòu)。與基于SOAP的Web服務(wù)不同,沒(méi)有針對(duì)RESTful Web API的正式標(biāo)準(zhǔn)。
以下是API測(cè)試的10條基本技巧:
指定API輸出狀態(tài)
您需要在API測(cè)試中驗(yàn)證的最常見的API輸出是響應(yīng)狀態(tài)代碼。
新API測(cè)試人員熟悉驗(yàn)證響應(yīng)代碼是否等于200以確定API測(cè)試是通過(guò)還是失敗。這不是錯(cuò)誤的驗(yàn)證。但是,它并不反映API的所有測(cè)試方案。
在通用標(biāo)準(zhǔn)中,所有API響應(yīng)狀態(tài)代碼均分為五類。狀態(tài)碼的第一位數(shù)字定義響應(yīng)的類別。后兩位沒(méi)有任何類別或分類作用。
第一位數(shù)有五個(gè)值:
?1xx(信息性):收到請(qǐng)求并繼續(xù)進(jìn)行處理
?2xx(成功):成功接收,理解并接受了請(qǐng)求
?3xx(重定向):需要采取進(jìn)一步的措施來(lái)完成請(qǐng)求
?4xx(客戶端錯(cuò)誤):請(qǐng)求包含錯(cuò)誤的語(yǔ)法或無(wú)法實(shí)現(xiàn)
?5xx(服務(wù)器錯(cuò)誤):服務(wù)器無(wú)法滿足看似有效的請(qǐng)求
API的實(shí)際響應(yīng)狀態(tài)代碼由構(gòu)建API的開發(fā)團(tuán)隊(duì)指定。
專注于小型功能性API
在測(cè)試項(xiàng)目中,總是有一些簡(jiǎn)單的API,只有一個(gè)或兩個(gè)輸入,例如登錄API,獲取身份令牌API,運(yùn)行狀況檢查API等。但是,這些API是必需的,被視為進(jìn)入其他業(yè)務(wù)的“門API”。首先關(guān)注這些API,將確保API服務(wù)器,環(huán)境和身份驗(yàn)證正常工作。
還應(yīng)該避免在一個(gè)測(cè)試案例中測(cè)試多個(gè)API。如果發(fā)生錯(cuò)誤,這是很痛苦的,因?yàn)槟鷮⒉坏貌话错樞蛘{(diào)試API生成的測(cè)試數(shù)據(jù)。保持測(cè)試盡可能簡(jiǎn)單。在某些情況下,如果需要調(diào)用一系列API來(lái)實(shí)現(xiàn)端到端測(cè)試流程,這些任務(wù)應(yīng)該在所有API都經(jīng)過(guò)單獨(dú)測(cè)試之后完成。
分類API
一個(gè)測(cè)試項(xiàng)目可能有幾個(gè)甚至數(shù)百個(gè)用于測(cè)試的API。強(qiáng)烈建議將它們分類,以更好地進(jìn)行測(cè)試管理。它需要采取額外的步驟,但是將大大幫助您創(chuàng)建具有高覆蓋率和集成度的測(cè)試方案。
同一類別的API共享一些公共信息,例如資源類型,路徑等。以相同的結(jié)構(gòu)組織測(cè)試將使您的測(cè)試在集成流程中可重復(fù)使用和擴(kuò)展。
利用自動(dòng)化功能進(jìn)行API測(cè)試
盡可能早地利用自動(dòng)化進(jìn)行API測(cè)試。以下是自動(dòng)化API測(cè)試的一些重要好處:
?測(cè)試數(shù)據(jù)和執(zhí)行歷史記錄可以與API信息一起保存。這使得以后重新運(yùn)行測(cè)試變得更加容易。
?API測(cè)試穩(wěn)定且較少更改。API反映了系統(tǒng)的業(yè)務(wù)規(guī)則。API的任何更改都需要明確的要求;因此,測(cè)試人員始終可以及時(shí)了解更改并進(jìn)行調(diào)整。
?與Web UI測(cè)試相比,測(cè)試執(zhí)行速度要快得多
?API測(cè)試被視為灰盒測(cè)試,用戶可以在其中發(fā)送輸入數(shù)據(jù)并獲取輸出數(shù)據(jù)以進(jìn)行驗(yàn)證。數(shù)據(jù)驅(qū)動(dòng)方法的自動(dòng)化(即在同一測(cè)試場(chǎng)景中應(yīng)用不同的數(shù)據(jù)集)可以幫助增加API測(cè)試覆蓋率
選擇合適的自動(dòng)化工具
利用API測(cè)試的自動(dòng)化功能的另一步驟是從市場(chǎng)上的數(shù)百種選擇中選擇最合適的工具或一組合適的工具。選擇API自動(dòng)測(cè)試工具時(shí),應(yīng)考慮以下一些標(biāo)準(zhǔn):
1、該工具是否支持測(cè)試您的AUT(被測(cè)應(yīng)用程序)正在使用的API / Web服務(wù)類型?如果您在AUT使用SOAP服務(wù)時(shí)所選的工具支持測(cè)試RESTful服務(wù),則沒(méi)有任何意義。
2、該工具是否支持您的AUT服務(wù)所需的授權(quán)方法?以下是您的API可以使用的一些授權(quán)方法:No Auth、Bearer Token、Basic auth、Digest Auth、NTLM Authentication、OAuth 1.0、OAuth 2.0、Hawk Authentication、AWS Signature。這是一項(xiàng)必不可少的任務(wù),因?yàn)槟銦o(wú)法在未經(jīng)授權(quán)的情況下開始測(cè)試API。
3、該工具是否支持從WSDL,Swagger,WADL和其他服務(wù)規(guī)范中導(dǎo)入API / Web服務(wù)端點(diǎn)?這是一項(xiàng)可選功能。但是,如果您要測(cè)試數(shù)百個(gè)API,這一點(diǎn)非常重要。
選擇合適的驗(yàn)證方法
當(dāng)響應(yīng)狀態(tài)代碼告訴請(qǐng)求狀態(tài)時(shí),響應(yīng)主體內(nèi)容就是API通過(guò)給定輸入返回的內(nèi)容。API響應(yīng)內(nèi)容因數(shù)據(jù)類型和大小而異。響應(yīng)可以是純文本,JSON數(shù)據(jù)結(jié)構(gòu),XML文檔等。通常,有一些驗(yàn)證API響應(yīng)正文內(nèi)容的基本方法:
1、將整個(gè)響應(yīng)正文內(nèi)容與預(yù)期信息進(jìn)行比較,此方法適用于具有靜態(tài)內(nèi)容的簡(jiǎn)單響應(yīng)。日期時(shí)間,增加的ID等動(dòng)態(tài)信息會(huì)在斷言中引起麻煩。
2、比較響應(yīng)的每個(gè)屬性值,對(duì)于JSON或XML格式的響應(yīng),很容易獲得給定鍵或?qū)傩缘闹?。因此,此方法在?yàn)證動(dòng)態(tài)內(nèi)容或單個(gè)值而不是整個(gè)內(nèi)容時(shí)很有用。
3、比較匹配與正則表達(dá)式,與驗(yàn)證單個(gè)屬性值一起,此方法用于驗(yàn)證具有特定模式的數(shù)據(jù)響應(yīng)以處理復(fù)雜的動(dòng)態(tài)數(shù)據(jù)。
創(chuàng)建正面和負(fù)面的測(cè)試
API測(cè)試需要正向測(cè)試和反向測(cè)試,以確保API正常運(yùn)行。由于API測(cè)試被視為一種灰盒測(cè)試,因此兩種類型的測(cè)試均由輸入和輸出數(shù)據(jù)驅(qū)動(dòng)。
正向測(cè)試:
驗(yàn)證API是否已接收輸入并按要求中指定的那樣返回預(yù)期的輸出。驗(yàn)證是否按要求指定返回了響應(yīng)狀態(tài)代碼,無(wú)論它返回的是2xx還是錯(cuò)誤代碼。用最小的必填字段和最大的字段指定輸入。
反向測(cè)試:
當(dāng)預(yù)期的輸出不存在時(shí),請(qǐng)驗(yàn)證API是否返回了適當(dāng)?shù)捻憫?yīng)。執(zhí)行異常輸入驗(yàn)證測(cè)試。使用不同的授權(quán)級(jí)別驗(yàn)證API的行為。
現(xiàn)場(chǎng)測(cè)試流程
建議在測(cè)試過(guò)程中安排每天的API測(cè)試執(zhí)行。由于API測(cè)試執(zhí)行快速,穩(wěn)定且足夠小,因此很容易以最小的風(fēng)險(xiǎn)將更多測(cè)試添加到當(dāng)前測(cè)試過(guò)程中。
測(cè)試過(guò)程完成后,每天都可以得到這些測(cè)試的結(jié)果。如果發(fā)生失敗的測(cè)試,則可以立即檢查輸出并驗(yàn)證問(wèn)題以找到適當(dāng)?shù)慕鉀Q方案。
API自動(dòng)化測(cè)試
API測(cè)試流程非常簡(jiǎn)單,只需三個(gè)主要步驟:發(fā)送帶有必要輸入數(shù)據(jù)的請(qǐng)求;獲取具有輸出數(shù)據(jù)的響應(yīng);驗(yàn)證響應(yīng)是否按要求返回
API測(cè)試最重要的部分既不是發(fā)送請(qǐng)求也不是接收響應(yīng)。它們是測(cè)試數(shù)據(jù)管理和驗(yàn)證。通常,測(cè)試一些第一個(gè)API非常簡(jiǎn)單。因此,API測(cè)試任務(wù)很容易被低估。在常規(guī)手段方法無(wú)法達(dá)到你的目的時(shí),使用編程技能可以極大拓展API測(cè)試的邊界。
看完上述內(nèi)容,你們對(duì)Api測(cè)試有進(jìn)一步的了解嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI