البرنامج التعليمي لاختبار API: ما هو أتمتة اختبار API؟
⚡ ملخص ذكي
يقوم اختبار واجهة برمجة التطبيقات (API) بالتحقق من صحة واجهات برمجة التطبيقات لضمان الوظائف والموثوقية والأداء والأمان باستخدام استدعاءات قائمة على التعليمات البرمجية بدلاً من التفاعلات مع واجهة المستخدم الرسومية.

ما هو اختبار API؟
اختبار API اختبار واجهة برمجة التطبيقات هو نوع من أنواع اختبارات البرمجيات التي تتحقق من صحة واجهات برمجة التطبيقات (APIs). الغرض من اختبار واجهة برمجة التطبيقات هو التحقق من وظائف واجهات البرمجة وموثوقيتها وأدائها وأمانها. في اختبار واجهة برمجة التطبيقات، بدلاً من استخدام مدخلات المستخدم القياسية (لوحة المفاتيح) والمخرجات، تستخدم البرنامج لإرسال المكالمات إلى واجهة برمجة التطبيقات، والحصول على المخرجات، وتدوين استجابة النظام. تختلف اختبارات واجهة برمجة التطبيقات كثيرًا عن اختبارات واجهة المستخدم الرسومية ولن تركز على مظهر التطبيق وشعوره. إنها تركز بشكل أساسي على طبقة منطق الأعمال في بنية البرنامج.
للخلفية ، API (واجهة برمجة التطبيقات) هي واجهة حاسوبية تتيح الاتصال وتبادل البيانات بين نظامين برمجيين منفصلين. يشتمل نظام البرنامج الذي ينفذ واجهة برمجة التطبيقات (API) على العديد من الوظائف/الإجراءات الفرعية التي يمكن لنظام برمجي آخر القيام بها. تحدد واجهة برمجة التطبيقات (API) الطلبات التي يمكن إجراؤها، وكيفية تقديم الطلبات، وتنسيقات البيانات التي يمكن استخدامها، وما إلى ذلك، بين نظامين برمجيين.
إعداد بيئة أتمتة اختبار API
يتطلب اختبار أتمتة واجهات برمجة التطبيقات (API) تطبيقًا يمكن التفاعل معه عبر واجهة برمجة تطبيقات. لاختبار واجهة برمجة تطبيقات، ستحتاج إلى:
- استخدم أداة اختبار لتشغيل واجهة برمجة التطبيقات (API).
- اكتب الكود الخاص بك لاختبار API
بعض النقاط التي يجب ملاحظتها:
- يختلف اختبار واجهة برمجة التطبيقات عن أنواع الاختبارات الأخرى حيث لا تتوفر واجهة المستخدم الرسومية، ويجب عليك إعداد بيئة تستدعي واجهة برمجة التطبيقات بالمعلمات المطلوبة ثم تفحص نتائج الاختبار.
- يبدو إعداد بيئة اختبار لاختبار أتمتة واجهة برمجة التطبيقات أمرًا معقدًا بعض الشيء.
- يجب تهيئة قاعدة البيانات والخادم وفقًا لمتطلبات التطبيق.
- بمجرد اكتمال التثبيت، يجب استدعاء وظيفة واجهة برمجة التطبيقات للتحقق مما إذا كانت واجهة برمجة التطبيقات تعمل.
أنواع مخرجات API
قد يكون ناتج واجهة برمجة التطبيقات (API) كالتالي:
- أي نوع من البيانات
- الحالة (قل ناجح أو فاشل)
- استدعاء وظيفة API أخرى.
أي نوع من البيانات
مثال: هناك وظيفة API يجب أن تضيف رقمين صحيحين.
Long add(int a, int b)
يجب إدخال الأرقام كمعلمات إدخال. يجب أن يكون الناتج عبارة عن مجموع رقمين صحيحين. يجب التحقق من هذا الناتج باستخدام النتيجة المتوقعة.
add (1234, 5656)
يجب التعامل مع الاستثناءات إذا تجاوز الرقم الحد المسموح به للأعداد الصحيحة.
النتيجة (ناجح أو راسب)
ضع في اعتبارك وظائف واجهة برمجة التطبيقات (API) التالية:
- قفل()
- الغاء القفل()
- حذف ()
تُعيد هذه الدوال أي قيمة مثل "صحيح" (في حالة النجاح) أو "خطأ" (في حالة الخطأ) كناتج. وهذا أكثر دقة. حالة اختبار سيقوم باستدعاء الدوال في أي من البرامج النصية، ثم يتحقق لاحقًا من وجود تغييرات إما في قاعدة البيانات أو واجهة المستخدم الرسومية للتطبيق.
استدعاء واجهة برمجة تطبيقات أخرى / حدث
في هذه الحالة، نستدعي إحدى وظائف واجهة برمجة التطبيقات (API)، والتي بدورها تستدعي وظيفة أخرى. على سبيل المثال، يمكن استخدام وظيفة واجهة برمجة التطبيقات الأولى لحذف سجل محدد من الجدول، وهذه الوظيفة بدورها تستدعي وظيفة أخرى لتحديث قاعدة البيانات.
حالات اختبار لاختبار واجهات برمجة التطبيقات
تعتمد حالات اختبار واجهة برمجة التطبيقات (API) على ما يلي:
- قيمة الإرجاع بناءً على حالة الإدخال: ومن السهل نسبيًا اختباره، حيث يمكن تحديد المدخلات والتحقق من النتائج
- لا يرجع شيئا: عندما لا تكون هناك قيمة إرجاع، يجب التحقق من سلوك واجهة برمجة التطبيقات (API) على النظام
- تشغيل بعض واجهات برمجة التطبيقات/الحدث/المقاطعة الأخرى: إذا أدى مُخرَج واجهة برمجة التطبيقات (API) إلى إطلاق حدث أو مقاطعة ما، فيجب أن تكون تلك الأحداث ومستمعو المقاطعات tracالطبوع
- تحديث بنية البيانات: سيكون لتحديث بنية البيانات بعض النتائج أو التأثير على النظام، ويجب المصادقة على ذلك
- تعديل موارد معينة: إذا قام استدعاء API بتعديل بعض الموارد، فيجب التحقق من صحتها من خلال الوصول إلى الموارد المعنية
نهج اختبار API
منهجية اختبار واجهة برمجة التطبيقات (API) هي استراتيجية أو أسلوب مُحدد مسبقًا يتبعه فريق ضمان الجودة لإجراء اختبار واجهة برمجة التطبيقات بعد اكتمال عملية البناء. لا يشمل هذا الاختبار شفرة المصدر. تُساعد منهجية اختبار واجهة برمجة التطبيقات على فهم أفضل للوظائف، وتقنيات الاختبار، ومعلمات الإدخال، وتنفيذ حالات الاختبار.
تساعد النقاط التالية في توجيه منهجية اختبار واجهة برمجة التطبيقات (API):
- فهم وظائف برنامج API وتحديد نطاق البرنامج بوضوح
- تطبيق تقنيات الاختبار مثل فئات التكافؤ وتحليل القيمة الحدودية وتخمين الأخطاء وكتابة حالات الاختبار لواجهة برمجة التطبيقات (API).
- يجب تخطيط وتحديد معلمات الإدخال الخاصة بواجهة برمجة التطبيقات (API) بشكل مناسب.
- تنفيذ حالات الاختبار ومقارنة النتائج المتوقعة والفعلية.
كيفية اختبار API
ينبغي أن يشمل اختبار أتمتة واجهة برمجة التطبيقات (API) على الأقل أساليب الاختبار التالية بالإضافة إلى عملية دورة حياة تطوير البرمجيات (SDLC) المعتادة:
- اختبار الاكتشاف: يجب أن تنفذ مجموعة الاختبار يدويًا مجموعة الاستدعاءات الموثقة في واجهة برمجة التطبيقات (API) مثل التحقق من إمكانية إدراج مورد محدد تم الكشف عنه بواسطة واجهة برمجة التطبيقات (API) وإنشائه وحذفه بالشكل المناسب
- اختبار قابلية الاستخدام: يتحقق هذا الاختبار مما إذا كانت واجهة برمجة التطبيقات فعالة وسهلة الاستخدام. وهل تتكامل واجهة برمجة التطبيقات بشكل جيد مع منصة أخرى أيضًا؟
- اختبار الأمان: يتضمن هذا الاختبار نوع المصادقة المطلوبة وما إذا كانت البيانات الحساسة مشفرة عبر HTTP أو كليهما
- الاختبار الآلي: يجب أن يؤدي اختبار واجهة برمجة التطبيقات (API) إلى إنشاء مجموعة من البرامج النصية أو أداة يمكن استخدامها لتنفيذ واجهة برمجة التطبيقات (API) بانتظام
- المستندات: يتعين على فريق الاختبار التأكد من أن الوثائق كافية وتوفر معلومات كافية للتفاعل مع واجهة برمجة التطبيقات. يجب أن يكون التوثيق جزءًا من التسليم النهائي
الفرق بين اختبار واجهة برمجة التطبيقات (API) واختبار الوحدة
| وحدة التجارب | اختبار API |
|---|---|
| المطورين يقومون بذلك | يقوم المختبرون بتنفيذها |
| يتم اختبار وظيفة منفصلة | يتم اختبار الوظائف الشاملة |
| يمكن للمطور الوصول إلى الكود المصدري | لا يمكن للمختبرين الوصول إلى الكود المصدري |
| ويشارك أيضًا اختبار واجهة المستخدم | يتم اختبار وظائف API فقط |
| يتم اختبار الوظائف الأساسية فقط | يتم اختبار جميع المشكلات الوظيفية |
| محدود النطاق | أوسع نطاقا |
| يتم تشغيلها عادة قبل تسجيل الوصول | تشغيل تجريبي بعد إنشاء البناء |
أفضل ممارسات اختبار واجهة برمجة التطبيقات (API).
- ينبغي تجميع حالات اختبار واجهة برمجة التطبيقات حسب فئة الاختبار، تمامًا كما هو الحال أسئلة مقابلة شركة TCS يتم تجميعها حسب الموضوع لتسهيل التحضير.
- فوق كل اختبار ، يجب عليك تضمين إعلانات API التي يتم استدعاؤها.
- ينبغي ذكر اختيار المعلمات بشكل صريح في حالة الاختبار نفسها.
- أعط الأولوية لاستدعاءات وظائف واجهة برمجة التطبيقات (API) بحيث يسهل على المختبرين إجراء الاختبارات.
- ينبغي أن تكون كل حالة اختبار مكتفية ذاتيًا ومستقلة عن التبعيات قدر الإمكان.
- تجنب "تسلسل الاختبارات" في عملية التطوير.
- يجب توخي الحذر الشديد عند التعامل مع وظائف الاستدعاء لمرة واحدة مثل الحذف، وإغلاق النافذة، وما إلى ذلك.
- ينبغي إجراء تسلسل المكالمات والتخطيط له جيداً.
- لضمان تغطية الاختبار الكاملة، قم بإنشاء حالات اختبار واجهة برمجة التطبيقات (API) لجميع مجموعات الإدخال الممكنة لواجهة برمجة التطبيقات (API).
أنواع الأخطاء التي يكشفها اختبار واجهة برمجة التطبيقات
- فشل في التعامل مع ظروف الخطأ بأمان
- أعلام غير مستخدمة
- وظيفة مفقودة أو مكررة
- مشاكل في الموثوقية، بما في ذلك صعوبة الاتصال والحصول على استجابة من واجهة برمجة التطبيقات (API).
- القضايا الأمنية
- قضايا خيوط متعددة
- مشاكل في الأداء حيث يكون وقت استجابة واجهة برمجة التطبيقات مرتفعًا جدًا
- أخطاء غير لائقة / تحذير للمتصل
- معالجة غير صحيحة لقيم الوسيطة الصالحة
- بيانات الاستجابة غير منظمة بشكل صحيح (JSON أو XML)
كيفية إجراء اختبار أتمتة واجهة برمجة التطبيقات (API)
توفر المصادر التالية أدلة مفصلة لأتمتة اختبار واجهة برمجة التطبيقات (API):
- كيفية اختبار API مع اطمئن، لا تشغل بالك
- كيفية اختبار API مع Postman
- كيفية اختبار API مع UFT
إلى جانب ذلك، هناك أمور أخرى أدوات لاختبار واجهة برمجة التطبيقات (API).
كيف يُحدث الذكاء الاصطناعي تحولاً في اختبار واجهات برمجة التطبيقات (APIs)
الذكاء الاصطناعي هو إعادة تشكيلping اختبار واجهات برمجة التطبيقات (APIs) عن طريق أتمتة المهام اليدوية. تستطيع خوارزميات التعلم الآلي تحليل مواصفات واجهات برمجة التطبيقات، وإنشاء حالات اختبار، وتحديد الحالات الشاذة التي قد يغفل عنها المختبرون البشريون.
كما يعزز الذكاء الاصطناعي اختبارات الأمان من خلال اكتشاف الثغرات الأمنية، ولكن المرشحين الذين يستعدون لـ أهم أسئلة مقابلات اختبار واجهات برمجة التطبيقات ينبغي أن نتذكر أن مهندسي ضمان الجودة ما زالوا يمتلكون معرفة متخصصة وحكمًا بشريًا لا يمكن للذكاء الاصطناعي محاكاته.
تحديات اختبار API
- تتمثل التحديات الرئيسية في اختبار واجهة برمجة تطبيقات الويب في دمج المعلمات، واختيار المعلمات، وتسلسل الاستدعاءات.
- لا توجد واجهة مستخدم رسومية متاحة لاختبار التطبيق، مما يجعل من الصعب إدخال القيم.
- يُعد التحقق من صحة المخرجات والتأكد منها في نظام مختلف أمرًا صعبًا بعض الشيء بالنسبة للمختبرين.
- يجب أن يكون اختيار المعلمات وتصنيفها معروفًا للمختبرين.
- يجب اختبار وظيفة معالجة الاستثناءات.
- المعرفة البرمجية ضرورية للمختبرين.
خاتمة
تتكون واجهة برمجة التطبيقات (API) من مجموعة من الفئات/الوظائف/الإجراءات التي تمثل طبقة منطق الأعمال. إذا لم يتم اختبار واجهة برمجة التطبيقات (API) بشكل صحيح، فقد يتسبب ذلك في حدوث مشكلات ليس فقط في تطبيق واجهة برمجة التطبيقات (API) ولكن أيضًا في تطبيق الاستدعاء. إنه اختبار لا غنى عنه في هندسة البرمجيات.



