مرحبًا، مستخدمي Apidog! 👋 على مدار العام الماضي، قمنا ببناء منصة اختبار تلقائي شاملة تتمحور حول سيناريوهات الاختبار (Test Scenarios) — وهي تسلسلات سير عمل قابلة لإعادة الاستخدام تربط طلبات واجهة برمجة التطبيقات المتعددة في تدفقات عمل تجارية كاملة. تحل سيناريوهات الاختبار مشكلة "كيفية الاختبار"، لكننا تلقينا ملاحظات متسقة من الفرق حول تحدٍ مختلف: "كيفية تنظيم ما يجب اختباره".
تخبرنا الفرق أن لديهم المئات من حالات الاختبار المنظمة حسب الوحدات التجارية، ولكن عندما يحين وقت اختبار الانحدار للإصدار، فإنهم يرغبون فقط في تشغيل حالات P0 الخاصة بهم — وليس كل شيء. حاليًا، يتعين عليهم البحث واختيار كل واحدة يدويًا. يحتفظ آخرون بحالات اختبار إيجابية وسلبية، لكنهم يريدون أن تغطي اختبارات Smoke Tests التدفقات الإيجابية فقط. وعندما تُضاف حالات جديدة، غالبًا ما تُنسى في قوائم الانحدار.
اليوم، نقدم Test Suites (مجموعات الاختبار): نوع جديد من الموارد يتيح لك تنظيم وتنفيذ الاختبارات بواسطة القواعد بدلاً من الاختيار الفردي. تقدم مجموعات الاختبار ثلاث قدرات أساسية لسير عمل الاختبار الخاص بك:
- توجيه الاختبار الديناميكي: حدد قواعد التصفية مرة واحدة — حسب العلامات، أو الأدلة، أو مستويات الأولوية — وسيتم تضمين الحالات المطابقة تلقائيًا عند التشغيل. تُضاف الحالات الجديدة التي تستوفي معاييرك دون الحاجة إلى صيانة يدوية.
- التنفيذ المتوازي: التبديل بين الوضع التسلسلي والمتوازي بنقرة واحدة. يقوم النظام تلقائيًا بتحسين التزامن بناءً على الموارد المتاحة، مما يقلل من اختبارات الانحدار التي تستغرق ساعة إلى دقائق.
- تقارير اختبار منظمة: عرض النتائج مجمعة حسب منطق تنظيمك — حسب الوحدة، أو الأولوية، أو العلامة — بدلاً من التمرير عبر قوائم مسطحة. تظهر الحالات الفاشلة على الفور بسياق واضح.

إليك نظرة فاحصة على كيفية عمل كل قدرة.
توجيه الاختبار الديناميكي
أكثر طلب نسمعه من فرق ضمان الجودة هو: "أريد تشغيل جميع حالات P0 في وحدة الدفع دون تحديدها واحدة تلو الأخرى." تحل مجموعات الاختبار هذه المشكلة عن طريق فصل تأليف الاختبار عن تنظيم الاختبار.
تبقى سيناريوهات الاختبار هي لبنات البناء الخاصة بك — حيث يمثل كل منها سير عمل تجاريًا كاملاً (تسجيل الدخول، إنشاء طلب، الدفع، التحقق من الحالة). تتيح لك مجموعات الاختبار تجميع هذه السيناريوهات حسب الشروط: العلامات، الأدلة، مستويات الأولوية، أو أي مجموعة منها. عند تشغيل مجموعة، فإنها تتضمن تلقائيًا جميع الحالات المطابقة في وقت التنفيذ.
يصبح هذا الأمر ذا أهمية متزايدة مع تسريع أدوات التطوير المدعومة بالذكاء الاصطناعي لتوليد التعليمات البرمجية والاختبارات. باستخدام المجموعات الديناميكية، لا تحتاج إلى تحديث قوائم الانحدار يدويًا في كل مرة يتم فيها إضافة حالة جديدة. اكتب الحالة، طبق العلامات الصحيحة، وستتكفل المجموعة بالباقي.
نحن ندعم وضعين لتناسب احتياجات الاختبار المختلفة:
يوفر الوضع الثابت قائمة ثابتة من الحالات. يمكنك تحديد السيناريوهات التي تريد تضمينها بدقة، وتبقى هذه القائمة دون تغيير حتى تقوم بتعديلها. يعمل هذا بشكل جيد لاختبارات Smoke Tests — وهي مجموعة منتقاة من 5-15 سيناريو حاسم نادرًا ما تتغير ولكنها تُشغَّل بشكل متكرر.

يستخدم الوضع الديناميكي قواعد لتضمين الحالات المطابقة تلقائيًا. حدد شرطًا (جميع الحالات في دليل "الدفع" بأولوية P0)، وستظل المجموعة محدثة مع تطور مكتبة الاختبار الخاصة بك. يعمل هذا بشكل جيد لاختبارات الانحدار للوحدات، حيث تتغير أعداد الحالات بانتظام.

في واجهة المنتج، نوجهك خلال هذا الاختيار دون أن نطلب منك فهم المصطلحات مسبقًا. عندما تختار الوضع الثابت، تظهر مربعات اختيار للتحديد الفردي. وعندما تختار الوضع الديناميكي، ترى معاينة للقراءة فقط للحالات المطابقة مع ملاحظة: "سيتم تضمين الحالات الجديدة التي تطابق هذه الشروط تلقائيًا".
التنفيذ المتوازي
عندما تنمو مجموعة الاختبار الخاصة بك لتشمل المئات من الحالات، يصبح التنفيذ التسلسلي عنق الزجاجة. اختبار انحدار كامل يستغرق ساعة لإكماله يؤخر خط أنابيب الإصدار الخاص بك ويُبطئ اكتشاف المشكلات في مراقبة الإنتاج.
تدعم مجموعات الاختبار التنفيذ المتوازي مباشرة. ما عليك سوى التبديل بين الوضع التسلسلي والمتوازي — يقوم النظام تلقائيًا بتحديد التزامن الأمثل بناءً على الموارد المتاحة لجهازك. لا يلزم أي ضبط يدوي. يقلل هذا من اختبار انحدار مدته 60 دقيقة إلى أقل من 30 دقيقة دون تغيير منطق الاختبار الخاص بك.

يتعامل التنفيذ المتوازي مع عزل التبعيات تلقائيًا. يعمل كل سيناريو في سياقه الخاص، مما يضمن أن المتغيرات المشتركة أو حالة البيئة من سيناريو واحد لا تتداخل مع آخر. بالنسبة للسيناريوهات التي تعتمد على بعضها البعض حقًا، يمكنك تجميعها في سيناريو واحد بخطوات متسلسلة.
تقارير اختبار منظمة
تسرد تقارير الاختبار التقليدية النتائج واحدة تلو الأخرى. عندما تقوم بتشغيل مجموعة تحتوي على 200 حالة عبر وحدات متعددة، يصبح العثور على الإخفاقات الهامة أمرًا مملًا.
تُنظّم تقارير مجموعات الاختبار حول منطق مؤسستك. تُجمّع النتائج حسب الشروط التي حددتها — حسب الوحدة، حسب الأولوية، حسب العلامة. يمكنك رؤية "وحدة الدفع: 45/47 نجحت" و "وحدة المستخدم: 32/32 نجحت" على الفور دون الحاجة إلى التمرير عبر الإدخالات الفردية.

تتوسع كل مجموعة لعرض نتائج السيناريو الفردية مع وقت التنفيذ، وعدد التأكيدات، وتفاصيل الفشل. تظهر السيناريوهات الفاشلة في الأعلى بسياق خطأ واضح، بحيث يمكنك فرز المشكلات دون البحث في السجلات.

تتضمن التقارير أيضًا بيانات تعريف التنفيذ: المدة الإجمالية، كفاءة التوازي (الوقت المحفوظ مقارنةً بالتنفيذ التسلسلي)، وتكوين البيئة المستخدم. يساعدك هذا على تحسين تكوين المجموعة بمرور الوقت ويوفر مسارات تدقيق لمتطلبات الامتثال.
تكوين موحد مع تجاوزات مرنة
قد يكون لكل سيناريو اختبار تكوينه الخاص للتشغيل: البيئة، عدد الدورات، والإعدادات الأخرى. عند تجميع عدة سيناريوهات في مجموعة، تحتاج إلى تحديد أي من التكوينات له الأولوية.
افتراضيًا، يعمل كل سيناريو بتكوينه المحفوظ — وهو السلوك الأكثر سهولة. بالنسبة لإعدادات البيئة على وجه التحديد، توفر المجموعة محدد بيئة موحد يمكن للسيناريوهات أن ترثه. يتيح لك هذا تبديل مجموعة الانحدار بأكملها من بيئة التطوير إلى الإنتاج بتغيير واحد.
إذا كنت بحاجة إلى تحكم كامل، يمكنك تحديد تكوين مخصص يتجاوز جميع الإعدادات على مستوى السيناريو. يتوفر هذا الخيار في الإعدادات المتقدمة للحفاظ على المسار العام بسيطًا.

مجموعات الاختبار (Test Suites) مقابل التشغيلات الدفعية للمجلدات
يدعم Apidog بالفعل التشغيلات الدفعية على مستوى المجلدات. مجموعات الاختبار تخدم غرضًا مختلفًا.
تنظم المجلدات الحالات حسب الهيكل المادي. تنتمي حالة واحدة إلى مجلد واحد.
تنظم مجموعات الاختبار الحالات بواسطة قواعد منطقية. يمكن أن تنتمي حالة واحدة إلى مجموعات متعددة في وقت واحد.
على سبيل المثال: يمكن أن تظهر حالة اختبار دفع من نوع P0 في كل من "اختبار الانحدار لوحدة الدفع" (جميع حالات P0/P1 الموسومة بالدفع) و "اختبار الدخان الكامل" (جميع حالات P0 عبر النظام). تتيح لك هذه المرونة بناء وحدات تنفيذ اختبار قابلة لإعادة الاستخدام لسيناريوهات مختلفة — اختبارات الدخان التي تُشغل عند كل عملية دفع (commit)، واختبار الانحدار الكامل قبل الإصدارات، وفحوصات السلامة المجدولة في الإنتاج.
القدرة | الغرض | الأفضل لـ |
|---|---|---|
سيناريو الاختبار | تنسيق تدفقات العمل | تحديد تدفقات عمل الاختبار الفردية |
المجلد | التنظيم المادي | تعاون الفريق، إدارة الحالات |
التشغيل الدفعة للمجلدات | التنفيذ السريع | الاختبار الاستكشافي، اختبار الانحدار المخصص |
مجموعة الاختبار | وحدة تنفيذ قابلة لإعادة الاستخدام | اختبار الانحدار للإصدار، اختبارات الدخان، المراقبة المجدولة |
ما نخطط لبنائه لاحقًا
نحن نقيم تداخل المجموعات (تكوين المجموعات من مجموعات أخرى) وإعادة المحاولة التلقائية عند الفشل. يتعامل الوضع الديناميكي بالفعل مع معظم احتياجات التكوين، ونحن نريد تجنب إخفاء الإخفاقات الحقيقية بإعادة المحاولات. سنعيد النظر في ذلك بناءً على أنماط الاستخدام.
كيف تبدأ
مجموعات الاختبار متاحة الآن في Apidog. أنشئ مجموعتك الأولى من وحدة الاختبار التلقائي، حدد الوضع الثابت أو الديناميكي، حدد شروطك، ثم قم بالتشغيل. ادمجها مع خط أنابيب CI/CD الخاص بك باستخدام واجهة سطر الأوامر (CLI) لتشغيل المجموعات عند دمج التعليمات البرمجية أو حسب الجدول الزمني.
انضم إلى المحادثة
نود أن نعرف كيف تتناسب مجموعات الاختبار مع سير عملك. شاركنا ملاحظاتك في قنوات مجتمعنا. تواصل مع زملائك مهندسي واجهات برمجة التطبيقات وفريق Apidog:
- Discord (ديسكورد): انضم إلى مجتمعنا للمناقشات الفورية واستراتيجيات الاختبار
- X (تويتر): تابعنا للحصول على آخر تحديثات المنتجات ورؤى واجهات برمجة التطبيقات
- LinkedIn (لينكد إن): تواصل معنا للحصول على تحديثات احترافية ووجهات نظر صناعية. اكتشف التفاصيل الكاملة لجميع هذه التحديثات في سجل التغييرات الخاص بـ Apidog! 🚀
اختبار سعيد!
