API Academy
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
  1. Testing APIs
  • 歡迎
  • 目錄
  • API 學院
    • Get Started
      • 什麼是 API?
      • API 如何運作?
      • 如何呼叫 API?
      • 如何閱讀 API 文件?
      • 章節總結
    • API Fundamentals
      • API 基礎知識:概覽
      • 方法與路徑
      • 參數
      • 請求 Body
      • 回應
      • API 規格與 OAS
      • 章節總結
    • Working with APIs
      • 使用 API:概覽
      • 根據規格發送請求
      • 環境與變數
      • 串聯多個端點
      • 處理 Auth
      • 處理 API 簽名
      • 腳本介紹
      • 章節總結
    • Mocking APIs
      • Mocking API:概覽
      • Smart Mock
      • Mock 預期結果
      • Cloud Mock
      • Mock 腳本
      • 章節總結
    • Designing APIs
      • 設計 API:概覽
      • API 設計介紹
      • 建立您的第一個 API 專案
      • 分析需求並規劃您的 API
      • 設計資料模型
      • 設計端點
      • 使用組件與可重用性
      • 設定與 Auth
      • API 設計指南
      • 章節總結
    • Developing APIs
      • 開發 API:概覽
      • 設定:安裝您的 AI 程式碼助手
      • 快速入門:30 分鐘內從規格到運行的 API
      • 了解生成的程式碼
      • 使用 Apidog 測試您的 API
      • 部署:將您的 API 上線
      • 章節總結
    • Testing APIs
      • 測試 API:概覽
      • 快速入門:您的第一個測試場景
      • 整合測試與資料傳遞
      • 動態值
      • 斷言與驗證
      • 流程控制:If, For, ForEach
      • 資料驅動測試
      • 性能測試
      • 測試報告與分析
      • CI/CD 整合
      • 排程任務與自動化
      • 進階測試策略
      • 章節總結
    • API Documentations
      • API 文件:概覽
      • 發布您的第一個 API 文件
      • 自訂文件外觀
      • 給消費者的互動功能
      • 進階發布設定
      • 管理 API 版本
      • 章節總結
    • Advanced API Technologies
      • 進階 API 技術:概覽
      • GraphQL
      • gRPC
      • WebSocket
      • Socket.IO
      • Server-Sent Events
      • SOAP
      • 章節總結
    • API Lifecycle
      • API 生命周期:概覽
      • API 生命周期的階段
      • API 治理
      • API 安全最佳實踐
      • 監控與分析
      • API 版本策略
      • API 的未來
      • 章節總結
    • API Security
      • API 安全性:概覽
      • API 安全性基礎知識
      • 身份驗證 vs. 授權
      • 了解 OAuth 2.0 和 OpenID Connect
      • JSON Web Tokens (JWT)
      • OWASP API 安全 Top 10
      • 加密與 HTTPS
      • 章節總結
    • API Tools
      • API 工具:概覽
      • API 工具的演變
      • API Clients
      • 命令列工具 (cURL, HTTPie)
      • API 設計和文件工具
      • API Mocking 工具
      • API 測試工具
      • 一體化 API 平台
      • 章節總結
    • API Gateway
      • API Gateway:概覽
      • 什麼是 API Gateway?
      • API Gateway 的關鍵功能
      • API Gateway vs 負載平衡器 vs 服務網格
      • 流行 API Gateway 解決方案
      • BFF (Backend for Frontend) 模式
      • 章節總結
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
  1. Testing APIs

進階測試策略

您已經掌握了基礎知識:場景、斷言、自動化和監控。現在讓我們探索區分專業 QA 工程師與其他人的「黑帶」技術。
自動化「標準」流程很容易。捕捉邊緣情況、安全漏洞和回歸 Bug 需要策略。而最現代的策略涉及 人工智慧 (Artificial Intelligence)。

1. AI 驅動的自動化測試#

手動編寫全面的測試案例令人疲憊。您可能會想到「快樂路徑」,但您會記得測試 255 個字元的電子郵件嗎?或者 SQL 注入攻擊?
Apidog 的 AI Test Generation 充當您的智慧結對程式設計師,自動分析您的 API 定義以建立全面的測試套件。

生成全面覆蓋#

不要一個接一個地編寫測試,使用 API 的「Test Cases」分頁中的 Generate with AI 功能。
AI 將測試分為四個關鍵類別:
1.
Positive Tests (正面測試):「快樂路徑」(例如有效登入)。
2.
Negative Tests (負面測試):錯誤處理(例如無效電子郵件、缺少欄位)。
3.
Boundary Tests (邊界測試):人類經常忽略的邊緣情況(例如最大長度字串、空陣列)。
4.
Security Tests (安全測試):常見漏洞(例如 SQL 注入、XSS payload)。
專業提示:使用「Custom Instructions」欄位來指導 AI。例如:「確保使用各種國際格式測試所有電話號碼」 或 「針對包含 1 個大寫字母、1 個符號的特定密碼策略進行測試」。
透過接受這些 AI 生成的案例,您可以立即將測試覆蓋率從「基礎」提升到「專家」。

2. 回歸測試策略#

定義:確保新程式碼沒有破壞舊功能。
一個常見的錯誤是 只 測試新功能。
壞策略:開發人員更新 POST /login。QA 測試 POST /login。
好策略:開發人員更新 POST /login。QA 運行 Full Regression Suite(登入、註冊、結帳、個人資料),因為 Auth 的更改可能會破壞一切。
在 Apidog 中:將您的核心業務流程分組到「Regression Scenario」資料夾中,並在每個 Pull Request 上透過 CI/CD 觸發它。

3. API 契約測試#

定義:確保 API 實作與設計文件(OpenAPI/Swagger)匹配。
如果前端期望 userId (string) 但後端將其更改為 user_id (integer),應用程式就會崩潰。
解決方案:使用 Apidog 的 Schema Validation(在第 4 章中介紹)。
策略:將 API 設計視為「單一事實來源」。如果程式碼偏離文件,測試 必須 失敗。

4. 安全測試 (Fuzzing)#

功能測試通常遵循「快樂路徑」。安全測試探索「黑暗路徑」。

測試什麼:#

1.
Auth Bypass:嘗試在沒有 Token 的情況下存取 GET /admin/users。
2.
SQL 注入:嘗試發送 ' OR 1=1 -- 作為使用者名稱。
3.
XSS:嘗試在評論欄位中發送 <script>alert(1)</script>。
在 Apidog 中:您可以使用 Data-Driven Testing 手動建立「安全」場景,或者簡單地使用上述提到的 AI Security Tests 類別為您自動生成惡意 payload。

5. 邊界測試#

Bug 喜歡邊緣。使用我們所說的 邊界值分析 (Boundary Value Analysis)。
如果密碼必須是 6-12 個字元:
測試 5 個字元 (Fail)
測試 6 個字元 (Pass)
測試 12 個字元 (Pass)
測試 13 個字元 (Fail)
在 Apidog 中:讓 AI Boundary Tests 類別處理這個問題。它會根據您的 API 定義自動計算 maxLength、minLength 和類型約束,並在邊緣生成值。

6. 測試維護和覆蓋率#

編寫測試很有趣。維護它們是工作。

管理「不穩定」測試#

如果測試有 10% 的時間失敗(由於網路、時間或隨機資料),開發人員將不再信任它。
修復:增加超時時間。
修復:使用更好的清理 (Teardown) 步驟。
修復:Mock 不穩定的外部依賴項。

覆蓋率 vs 品質#

100% 的測試覆蓋率是一個虛榮指標。
關注:覆蓋產生 80% 業務價值的關鍵 20% 端點(登入、結帳、支付)。
忽略:低風險的管理端點或靜態資料端點可以有較輕的覆蓋率。

關鍵重點#

實作回歸、契約和安全測試
關注測試覆蓋率和維護
採用進階策略進行品質保證

下一步#

恭喜!您已完成 Apidog API 測試的綜合指南。您現在擁有了建構穩健、自動化和專業測試架構的技能。
讓我們在總結中總結一切。
繼續閱讀 → 章節總結
Modified at 2025-12-29 12:07:25
Previous
排程任務與自動化
Next
章節總結
Built with