小米HR:说说对API有多少的理解? 看了后,和面试官扯皮,吹牛逼!绰绰有余!
目錄
什么是API?
什么是API測試
API測試的測試用例:
API測試方法:
如何進(jìn)行API測試
API測試的最佳做法:
API測試檢測到的錯誤類型
API測試工具
API測試的挑戰(zhàn)
結(jié)論:
最后
什么是API?
API(全稱Application Programming Interface)是兩個單獨(dú)的軟件系統(tǒng)之間的通信和數(shù)據(jù)交換。實(shí)現(xiàn)API的軟件系統(tǒng)包含可以由另一個軟件系統(tǒng)執(zhí)行的功能/子例程。
?
什么是API測試
API測試是一種用于驗(yàn)證API(應(yīng)用程序編程接口)的軟件測試類型。它與GUI測試非常不同,主要集中在軟件體系結(jié)構(gòu)的業(yè)務(wù)邏輯層。在API測試中,您無需使用標(biāo)準(zhǔn)的用戶輸入(鍵盤)和輸出,而是使用軟件將調(diào)用發(fā)送到API,獲取輸出并記下系統(tǒng)的響應(yīng)。
API測試需要可以通過API進(jìn)行交互的應(yīng)用程序。為了測試API,您需要
-
使用測試工具調(diào)用API
-
編寫自己的代碼調(diào)用API
?
API測試的測試用例:
API測試的測試用例基于
-
基于輸入條件的返回值:相對容易測試,因?yàn)榭梢远x輸入并可以驗(yàn)證結(jié)果
-
不返回任何內(nèi)容:沒有返回值時,將檢查系統(tǒng)上的API行為
-
觸發(fā)其他一些API /事件/中斷:如果API的輸出觸發(fā)了某些事件或中斷,則應(yīng)跟蹤這些事件和中斷偵聽器
-
更新數(shù)據(jù)結(jié)構(gòu):更新數(shù)據(jù)結(jié)構(gòu)將對系統(tǒng)產(chǎn)生某些結(jié)果或影響,應(yīng)進(jìn)行身份驗(yàn)證
-
修改某些資源:如果API調(diào)用修改了某些資源,則應(yīng)通過訪問相應(yīng)資源來對其進(jìn)行驗(yàn)證
?
API測試方法:
以下幾點(diǎn)可幫助用戶進(jìn)行API測試:
-
了解API程序的功能并明確定義程序范圍
-
應(yīng)用諸如等效類,邊界值分析和錯誤猜測之類的測試技術(shù),并為API編寫測試用例
-
API的輸入?yún)?shù)需要適當(dāng)計(jì)劃和定義
-
執(zhí)行測試用例,并比較預(yù)期結(jié)果和實(shí)際結(jié)果。
-
API測試和單元測試之間的區(qū)別
| 開發(fā)人員執(zhí)行它 | 測試人員執(zhí)行它 |
| 單獨(dú)的功能經(jīng)過測試 | 端到端功能經(jīng)過測試 |
| 開發(fā)人員可以訪問源代碼 | 測試人員無法訪問源代碼 |
| 還涉及UI測試 | 僅測試API函數(shù) |
| 僅測試基本功能 | 所有功能問題均經(jīng)過測試 |
| 范圍有限 | 范圍更廣 |
| 通常在辦理登機(jī)手續(xù)前運(yùn)行 | 創(chuàng)建完成后運(yùn)行 |
?
如何進(jìn)行API測試
API測試應(yīng)至少涵蓋除常規(guī)SDLC流程以外的以下測試方法:(1140267353)一起成長一起加油的伙伴群!軟件測試,與你同行!
-
發(fā)現(xiàn)測試:測試組應(yīng)手動執(zhí)行API中記錄的一組調(diào)用,例如驗(yàn)證是否可以列出,創(chuàng)建和刪除API公開的特定資源。
-
可用性測試:此測試可驗(yàn)證API是否功能正常且用戶友好。API是否也可以與其他平臺很好地集成
-
安全測試:此測試包括需要哪種身份驗(yàn)證以及是否通過HTTP加密敏感數(shù)據(jù)或同時通過這兩種方法對敏感數(shù)據(jù)進(jìn)行加密
-
自動化測試:API測試應(yīng)以創(chuàng)建一組腳本或可用于定期執(zhí)行API的工具為最終結(jié)果
-
文檔:測試團(tuán)隊(duì)必須確保文檔足夠,并提供足夠的信息來與API交互。文檔應(yīng)成為最終交付成果的一部分
?
API測試的最佳做法:
-
測試用例應(yīng)按測試類別分組
-
在每個測試的頂部,您應(yīng)包括被調(diào)用的API的聲明。
-
測試用例中應(yīng)明確提及參數(shù)選擇
-
確定API函數(shù)調(diào)用的優(yōu)先級,以便測試人員輕松進(jìn)行測試
-
每個測試用例應(yīng)盡可能獨(dú)立且獨(dú)立于依賴項(xiàng)
-
在開發(fā)中避免“測試鏈”
-
處理諸如-Delete,CloseWindow等一次性調(diào)用函數(shù)時必須格外小心。
-
呼叫排序應(yīng)執(zhí)行且計(jì)劃合理
-
為了確保完整的測試范圍,請為API的所有可能的輸入組合創(chuàng)建測試用例。
?
API測試檢測到的錯誤類型
-
無法優(yōu)雅地處理錯誤情況
-
未使用的標(biāo)志
-
功能缺失或重復(fù)
-
可靠性問題。難以連接API并從API獲得響應(yīng)。
-
安全問題
-
多線程問題
-
性能問題。API響應(yīng)時間非常高。
-
錯誤的錯誤/警告呼叫者
-
對有效參數(shù)值的錯誤處理
-
響應(yīng)數(shù)據(jù)的結(jié)構(gòu)不正確(JSON或XML)
?
API測試工具
由于API和單元測試都是目標(biāo)源代碼,因此可以使用工具/框架進(jìn)行自動化。
-
jmeter
-
postwomen
-
Parasoft SOAtest
-
Runscope
-
Postman
-
Curl? ??(1140267353)一起成長一起加油的伙伴群!軟件測試,與你同行!
-
Eclipse SDK tool- Automated API testing
API測試的挑戰(zhàn)
API測試的挑戰(zhàn)包括:
-
Web API測試中的主要挑戰(zhàn)是參數(shù)組合,參數(shù)選擇和調(diào)用排序
-
沒有可用于測試應(yīng)用程序的 GUI ,這很難提供輸入值
-
對測試人員而言,在不同系統(tǒng)中驗(yàn)證和驗(yàn)證輸出幾乎沒有困難
-
測試人員必須知道參數(shù)的選擇和分類
-
異常處理功能需要測試
-
測試人員必須具備編碼知識
結(jié)論:
API由代表業(yè)務(wù)邏輯層的一組類/函數(shù)/過程組成。如果未正確測試API,則可能不僅會導(dǎo)致API應(yīng)用程序出現(xiàn)問題,還會導(dǎo)致調(diào)用應(yīng)用程序出現(xiàn)問題。它是軟件工程中必不可少的測試。
?
最后
俺叫小楓,一個成天想著一夜暴富的測試員
(1140267353)一起成長一起加油的伙伴群!軟件測試,與你同行!
群內(nèi)可領(lǐng)取最新軟件測試大廠面試資料和Python自動化、接口、框架搭建學(xué)習(xí)資料!
點(diǎn)贊關(guān)注不迷路!!!【三連?】,有問題也可私聊喲~(*?▽?*)
總結(jié)
以上是生活随笔為你收集整理的小米HR:说说对API有多少的理解? 看了后,和面试官扯皮,吹牛逼!绰绰有余!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌邮箱lmap服务器填什么_解决Gma
- 下一篇: The perfect floor ch