ما هو اختبار عقود API؟
عقد API هو الوصف المتفق عليه للواجهة — نقاط النهاية والمعاملات ومخططات الطلب والاستجابة ورموز الحالة — ويُكتب عادةً كمستند OpenAPI. اختبار العقد يقارن ما تعيده الخدمة فعلياً بذلك الوصف، فيُكشف الحقل المعاد تسميته أو النوع المتغيّر لدى المنتِج أو المستهلك قبل أن يعطّل الطرف الآخر.
اقرأ الدليل: ما هو اختبار API؟ وكيف تختبر REST API
كيفية استخدام مواصفة API ← حالات اختبار بالذكاء الاصطناعي
- الصق مقتطفاً من OpenAPI 3 أو Swagger 2 (YAML أو JSON)، أو صِف نقاط النهاية بنص عادي.
- اختر التركيز — «كل الفئات» أو «إيجابي» أو «سلبي» أو «المصادقة / التفويض» أو «الحدود» أو «الأمان» — وعدد حالات الاختبار (من 3 إلى 40).
- اختر لغة المخرجات واضغط «توليد»، ثم تحقّق من جدول العمليات المكتشفة للتأكد من أن الأداة قرأت النطاق الذي تقصده.
- راجع طلب كل حالة ورمز الحالة المتوقّع والتأكيدات (assertions)، ثم نزّل النتيجة بصيغة CSV أو Markdown أو JSON.
مزايا مواصفة API ← حالات اختبار بالذكاء الاصطناعي
- يفهم مقاطع OpenAPI 3 / Swagger 2 (بصيغة JSON أو YAML) وأوصاف نقاط النهاية بالنص العادي
- حالات لكل عملية مع الطلب (الطريقة والمسار والترويسات والاستعلام والجسم) والحالة المتوقّعة والتأكيدات (assertions)
- محدّد التركيز: الكل، أو إيجابية، أو سلبية، أو مصادقة، أو قيم حدّية، أو أمنية
- جدول بالعمليات المكتشفة إضافة إلى تصدير Markdown/CSV/JSON
مثال على مواصفة API ← حالات اختبار بالذكاء الاصطناعي
المواصفة ← اختبارات API
الإدخال:
DELETE /lookups/{lookup}/values/{id} → 204 / 403 / 409النتيجة:
API-001 Delete unreferenced value → 204
API-002 Delete as Viewer → 403
API-003 Delete referenced value → 409 with reference count
…الأسئلة الشائعة حول مواصفة API ← حالات اختبار بالذكاء الاصطناعي
هل تحتاج الأداة إلى ملف OpenAPI كامل؟
لا. يكفي مقطع يضم بضعة مسارات أو حتى وصف بنص عادي لنقاط النهاية؛ ويعرض الذكاء الاصطناعي العمليات التي اكتشفها حتى تتمكن من تأكيد النطاق.
ما رمز الحالة الذي يتوقعه الاختبار؟
الرمز الذي تذكره مواصفتك لتلك الحالة. وإن لم تذكر شيئاً تتبع الأداة أعراف REST: 201 للإنشاء، و204 للحذف، و400 أو 422 لأخطاء التحقق، و401 أو 403 للمصادقة والتفويض، و404 لمورد غير موجود، و409 للتعارض.
هل تتضمن اختبارات أمان؟
عند اختيار التركيز «كل الفئات» أو «الأمان» تحصل العمليات أيضاً على فحوص مثل حمولات الحقن، والوصول إلى كائن يخص مستخدماً آخر (IDOR)، والبيانات الزائدة في الاستجابة، إلى جانب حالات فشل المصادقة والتفويض.
ملاحظات تقنية
تذكر كل حالة العملية («METHOD /path») ونوعاً وأولوية من P0 إلى P3، وطلباً كاملاً (الطريقة والمسار الفعلي والترويسات وسلسلة الاستعلام وجسم JSON)، ورمز الحالة المتوقّع، والاستجابة المتوقّعة، ومن تأكيد واحد إلى اثني عشر تأكيداً صريحاً. وتتبع رموز الحالة المواصفة عندما تسرد الاستجابات، وإلا فأعراف REST.
لا يختلق الذكاء الاصطناعي أبداً نقاط نهاية غير موجودة في العقد؛ وعندما تكون المواصفة غامضة يسجّل حقل الملاحظات الافتراض المعتمد.
المراجع
- OpenAPI Specificationالمعيار لوصف واجهات REST: المسارات والعمليات والمعاملات والمخططات والاستجابات وأنظمة الأمان.
- JSON Schema Specificationالمفردات المستخدمة لوصف بنية مستندات JSON والتحقق منها (الأنواع والحقول المطلوبة والصيغ).
- RFC 9110: HTTP Semanticsمعاني أساليب HTTP وحقول الترويسات ورموز الحالة والتفاوض على المحتوى، بغضّ النظر عن إصدار البروتوكول.