API測試的終極指南你需要知道的一切,API測試如何進(jìn)行?
現(xiàn)在,我們有了一個(gè)清楚的關(guān)于什么是API測試和不同的分類的概述。所以,讓我們看看這可以在哪里進(jìn)行。軟件或應(yīng)用程序通常有三個(gè)重要的層,即用戶界面層、數(shù)據(jù)庫層和業(yè)務(wù)層。其中,業(yè)務(wù)層無疑是最重要的層。通過API測試,您檢查業(yè)務(wù)層中的邏輯處理,涵蓋應(yīng)用程序中UI和數(shù)據(jù)庫層之間的所有業(yè)務(wù)。
API測試的先決條件
API測試帶有一套優(yōu)化性能和最佳結(jié)果的先決條件?,F(xiàn)在讓我們快速瀏覽一下清單。
評估團(tuán)隊(duì)的熟練程度:當(dāng)涉及到這個(gè)測試和相關(guān)的架構(gòu)時(shí),檢查您的團(tuán)隊(duì)有多熟練。你應(yīng)該了解他們對API和自動化工具的理解程度。考慮讓一個(gè)外部質(zhì)量保證團(tuán)隊(duì)參與進(jìn)來,以防你的內(nèi)部團(tuán)隊(duì)在特定領(lǐng)域缺乏知識。
設(shè)置API測試環(huán)境:配置服務(wù)器和數(shù)據(jù)庫以適應(yīng)測試需求。
定義測試計(jì)劃:API測試需要一個(gè)預(yù)先定義的測試計(jì)劃。它有助于對應(yīng)該測試什么和應(yīng)該期待什么結(jié)果有一個(gè)明確的認(rèn)識。
選擇正確的API和自動化工具:當(dāng)涉及測試時(shí),選擇測試工具非常重要。選擇最合適的API工具,最好是自動化工具,以獲得更快和更準(zhǔn)確的測試體驗(yàn)。
制定錯誤跟蹤和執(zhí)行過程的策略:創(chuàng)建一個(gè)定義明確的策略來執(zhí)行測試、檢測、監(jiān)控、報(bào)告和修復(fù)API框架中的錯誤。
規(guī)定API輸出狀態(tài):將您正在尋找的輸出結(jié)果定義為API測試的結(jié)果。這有助于用相同的方法驗(yàn)證最終結(jié)果。
API測試的測試用例
用最小值驗(yàn)證鍵。以及麥克斯。API范圍(例如最長和最短長度)。如果我們有JSON或XMLAPI,我們應(yīng)該再次檢查所有鍵是否已到達(dá)。
創(chuàng)建一個(gè)測試用例來驗(yàn)證XML和JSON架構(gòu)
檢查從響應(yīng)中解析的數(shù)據(jù)
檢查JSON架構(gòu)的有效性,檢查字段類型和強(qiáng)制字段
負(fù)測試用例響應(yīng)和有效響應(yīng)頭
我們需要檢查如何處理API錯誤代碼
您應(yīng)該檢查響應(yīng)的http狀態(tài)代碼
有效響應(yīng)的有效載荷
要求在鏈條中進(jìn)行核查
使用數(shù)據(jù)參數(shù)的API驗(yàn)證
從一開始到最后
數(shù)據(jù)庫完整性測試用例
文件上載測試用例
如何使用郵遞員進(jìn)行API測試
新: 提出新的請求、收集或環(huán)境。
進(jìn)口: 這是用來引入集合或環(huán)境的。其他可能性包括導(dǎo)入文件、文件夾或鏈接,或粘貼原始測試。
跑步者: 我們可以使用收集跑運(yùn)行自動化測試。
新: 我們可以打開郵遞員或跑路人的窗戶。
我的工作區(qū): 這是你的工作區(qū)。您可以使用它來創(chuàng)建一個(gè)新的工作區(qū)。工作區(qū)是開發(fā)和使用API的協(xié)作環(huán)境。它能夠在團(tuán)隊(duì)內(nèi)部和團(tuán)隊(duì)之間進(jìn)行實(shí)時(shí)協(xié)作。
邀請: 這就是您邀請團(tuán)隊(duì)成員一起工作的地方。
歷史: 自動保存歷史中的請求和響應(yīng),使您可以隨時(shí)監(jiān)視您以前的行為。
收藏: 其目的是安排和跟蹤類似的請求。
請求選項(xiàng)卡: 您正在處理的請求的標(biāo)題,默認(rèn)情況下稱為"無標(biāo)題請求"。
請求: 您可能會看到http請求,如獲取、發(fā)布、復(fù)制、刪除等。
請求網(wǎng)址 :API將與之通信的URL;也稱為端點(diǎn)。
保存: 保存請求者更改現(xiàn)有請求者。
助理: 這些是請求所需的參數(shù)(臨界值)。
授權(quán): APIS使用授權(quán)來確??蛻舳苏埱螳@得對數(shù)據(jù)的安全訪問。本節(jié)討論授權(quán)細(xì)節(jié),如登錄、密碼、不記名令牌和基本授權(quán)。
標(biāo)題: 一些API要求您提交特定的標(biāo)題,例如JSON、JavaSIRIT等等,以及請求,以提供更多關(guān)于您正在進(jìn)行的操作的元數(shù)據(jù)。它們可以在這里建立。
身體: 此字段允許您指定隨請求發(fā)送的數(shù)據(jù)。為了適應(yīng)您的API,您可以傳輸多種類型的身體數(shù)據(jù)。
預(yù)先請求腳本: 在接收請求之前,我們需要執(zhí)行用JavaSIRTT編寫的預(yù)先請求腳本。這對于在請求標(biāo)題中添加時(shí)間戳或在URL參數(shù)中傳遞隨機(jī)的字母數(shù)字字符串是理想的。
測試: 測試是在請求期間運(yùn)行的腳本。測試可以幫助您確認(rèn)API的性能正如預(yù)期的那樣,服務(wù)之間的接口是可靠的,并且新的進(jìn)展并沒有破壞任何當(dāng)前的功能。
API測試的最佳方法
我們需要將API測試用例組織到測試類別中。
包括在每個(gè)測試頂部調(diào)用的API的聲明。
在測試用例中,參數(shù)應(yīng)該正確給出.
優(yōu)先考慮API函數(shù)調(diào)用,以便測試人員能夠快速測試它們。
測試用例應(yīng)該盡可能的獨(dú)立和不依賴他人。
在您的開發(fā)中,避免"測試鏈接"。"
在處理一次性調(diào)用功能(如刪除、關(guān)閉窗口等)時(shí),我們必須特別注意。
你必須精心安排呼叫順序和計(jì)劃
為API的所有可設(shè)想的輸入組合創(chuàng)建API測試用例,以確保測試的全面覆蓋。
API測試的挑戰(zhàn)
每種軟件測試都有自己的挑戰(zhàn),而API測試也不例外。以下是需要注意的一些共同挑戰(zhàn):
進(jìn)行API測試: 這一框架的準(zhǔn)備工作至關(guān)重要。第一個(gè)問題通常是測試人員和開發(fā)人員遇到的問題。您可以通過花費(fèi)時(shí)間來理解這些先決條件(為讀者提供上述條件)并相應(yīng)地設(shè)計(jì)框架來克服這個(gè)問題。
更新API測試的模式: 經(jīng)常更新數(shù)據(jù)格式或架構(gòu).它有助于在整個(gè)測試過程中保持相對性。挑戰(zhàn)在于,隨著程序中的每一次迭代,額外的參數(shù)開始發(fā)揮作用。
測試參數(shù): 需要測試通過數(shù)據(jù)庫和數(shù)據(jù)請求的所有相關(guān)參數(shù)。它涉及所有可能的組合和特定配置。
驗(yàn)證參數(shù): 驗(yàn)證若干參數(shù)是一項(xiàng)艱巨的任務(wù)。因?yàn)樗枰藢?shí)每一個(gè)數(shù)字?jǐn)?shù)據(jù)和序列。
API調(diào)用序列: API呼叫通常需要遵循特定的路徑或序列。對測試人員和開發(fā)人員來說,創(chuàng)建序列映射是一個(gè)障礙。
跟蹤系統(tǒng)集成: 跟蹤所有系統(tǒng)集成是一項(xiàng)繁瑣的任務(wù)。這通常會讓球隊(duì)感到害怕。
API測試檢測到的錯誤類型
未用過的旗幟。
它不處理錯誤的情況是不優(yōu)雅的。
一些功能缺失或重復(fù)。
對安全的擔(dān)憂。
多線程的問題。
對調(diào)用者錯誤的錯誤/警告。
正確參數(shù)值處理不當(dāng)。
性能問題API響應(yīng)時(shí)間是高速的。
它不組織響應(yīng)數(shù)據(jù)是不正確的(JSON或XML)。擔(dān)心可靠性。連接和接收API響應(yīng)的困難.
結(jié)論
API包括一組構(gòu)成業(yè)務(wù)邏輯層的類/函數(shù)/過程。如果我們沒有充分測試API,它可能會在API應(yīng)用程序和調(diào)用應(yīng)用程序中引起問題。這是軟件測試中必不可少的測試。