API是什么?API的基础知识你知道多少
目錄
1、什么是API?
2、什么是API測試
3、API測試的測試用例:
4、API測試方法:
5、如何進行API測試
6、API測試的最佳做法:
7、API測試檢測到的錯誤類型
8、API測試工具
9、API測試的挑戰
10、結論:
在進行API測試之前,我們先了解一下
1、什么是API?
API(全稱Application Programming Interface)是兩個單獨的軟件系統之間的通信和數據交換。實現API的軟件系統包含可以由另一個軟件系統執行的功能/子例程。
2、什么是API測試
API測試是一種用于驗證API(應用程序編程接口)的軟件測試類型。它與GUI測試非常不同,主要集中在軟件體系結構的業務邏輯層。在API測試中,您無需使用標準的用戶輸入(鍵盤)和輸出,而是使用軟件將調用發送到API,獲取輸出并記下系統的響應。
API測試需要可以通過API進行交互的應用程序。為了測試API,您需要
-
使用測試工具調用API
-
編寫自己的代碼調用API
? ? ? ? ? ? ??
3、API測試的測試用例:
API測試的測試用例基于
-
基于輸入條件的返回值:相對容易測試,因為可以定義輸入并可以驗證結果
-
不返回任何內容:沒有返回值時,將檢查系統上的API行為
-
觸發其他一些API /事件/中斷:如果API的輸出觸發了某些事件或中斷,則應跟蹤這些事件和中斷偵聽器
-
更新數據結構:更新數據結構將對系統產生某些結果或影響,應進行身份驗證
-
修改某些資源:如果API調用修改了某些資源,則應通過訪問相應資源來對其進行驗證
4、API測試方法:
以下幾點可幫助用戶進行API測試:
-
了解API程序的功能并明確定義程序范圍
-
應用諸如等效類,邊界值分析和錯誤猜測之類的測試技術,并為API編寫測試用例
-
API的輸入參數需要適當計劃和定義
-
執行測試用例,并比較預期結果和實際結果。
-
API測試和單元測試之間的區別
5、如何進行API測試
API測試應至少涵蓋除常規SDLC流程以外的以下測試方法:
-
發現測試:測試組應手動執行API中記錄的一組調用,例如驗證是否可以列出,創建和刪除API公開的特定資源。
-
可用性測試:此測試可驗證API是否功能正常且用戶友好。API是否也可以與其他平臺很好地集成
-
安全測試:此測試包括需要哪種身份驗證以及是否通過HTTP加密敏感數據或同時通過這兩種方法對敏感數據進行加密
-
自動化測試:API測試應以創建一組腳本或可用于定期執行API的工具為最終結果
-
文檔:測試團隊必須確保文檔足夠,并提供足夠的信息來與API交互。文檔應成為最終交付成果的一部分
? ? ? ? ? ? ? ? ? ??
6、API測試的最佳做法:
-
測試用例應按測試類別分組
-
在每個測試的頂部,您應包括被調用的API的聲明。
-
測試用例中應明確提及參數選擇
-
確定API函數調用的優先級,以便測試人員輕松進行測試
-
每個測試用例應盡可能獨立且獨立于依賴項
-
在開發中避免“測試鏈”
-
處理諸如-Delete,CloseWindow等一次性調用函數時必須格外小心。
-
呼叫排序應執行且計劃合理
-
為了確保完整的測試范圍,請為API的所有可能的輸入組合創建測試用例。
7、API測試檢測到的錯誤類型
-
無法優雅地處理錯誤情況
-
未使用的標志
-
功能缺失或重復
-
可靠性問題。難以連接API并從API獲得響應。
-
安全問題
-
多線程問題
-
性能問題。API響應時間非常高。
-
錯誤的錯誤/警告呼叫者
-
對有效參數值的錯誤處理
-
響應數據的結構不正確(JSON或XML)
8、API測試工具
由于API和單元測試都是目標源代碼,因此可以使用工具/框架進行自動化。
-
jmeter
-
postwomen
-
Parasoft SOAtest
-
Runscope
-
Postman
-
Curl
-
Eclipse SDK tool- Automated API testing
9、API測試的挑戰
API測試的挑戰包括:
-
Web API測試中的主要挑戰是參數組合,參數選擇和調用排序
-
沒有可用于測試應用程序的 GUI ,這很難提供輸入值
-
對測試人員而言,在不同系統中驗證和驗證輸出幾乎沒有困難
-
測試人員必須知道參數的選擇和分類
-
異常處理功能需要測試
-
測試人員必須具備編碼知識
10、結論:
API由代表業務邏輯層的一組類/函數/過程組成。如果未正確測試API,則可能不僅會導致API應用程序出現問題,還會導致調用應用程序出現問題。它是軟件工程中必不可少的測試。
?
感謝每一個認真閱讀我文章的人!!!
那么在這里我也精心準備了軟件測試、自動化測試的詳細資料包含:電子書,簡歷模塊,各種工作模板,面試寶典,自學項目等。需要的點擊下方名片加入群聊與我一起學習交流,群里還有大佬幫忙解答問題。
?
?
總結
以上是生活随笔為你收集整理的API是什么?API的基础知识你知道多少的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL使用JDBC高级操作和事务
- 下一篇: 2019AWE海信中央空调发布智慧空气战