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