منهجية رشيقة في اختبار البرمجيات
ما هي المنهجية الرشيقة في الاختبار؟
تعني منهجية Agile ممارسة تعزز التكرار المستمر التطوير والاختبار طوال دورة حياة تطوير البرمجيات للمشروع. في نموذج Agile في اختبار البرمجيات، تكون أنشطة التطوير والاختبار متزامنة، على عكس نموذج Waterfall.
ما هو تطوير البرمجيات الرشيقة؟
تشير تطوير البرمجيات رشيق تعد المنهجية واحدة من أبسط العمليات وأكثرها فعالية لتحويل رؤية احتياجات العمل إلى حلول برمجية. Agile هو مصطلح يستخدم لوصف مناهج تطوير البرمجيات التي تستخدم التخطيط المستمر والتعلم والتحسين والتعاون الجماعي والتطوير التطوري والتسليم المبكر. ويشجع الاستجابات المرنة للتغيير.
يركز تطوير البرمجيات الرشيقة على أربع قيم أساسية.
- التفاعلات الفردية والجماعية على العمليات والأدوات
- تعمل البرامج على وثائق شاملة
- تعاون العملاء على التفاوض على العقود
- وردا على تغيير خلال اتباع خطة
نموذج رشيق مقابل نموذج الشلال
يعد نموذج Agile وWaterfall طريقتين مختلفتين لعملية تطوير البرمجيات. على الرغم من اختلافهما في نهجهما، إلا أن كلتا الطريقتين مفيدتان في بعض الأحيان، اعتمادًا على متطلبات المشروع ونوعه.
نموذج رشيق | نموذج الشلال |
---|---|
منهجية رشيقة في تعريف اختبار البرمجيات: تقترح المنهجيات الرشيقة نهجًا تدريجيًا ومتكررًا لتصميم البرمجيات | نموذج الشلال: يتدفق تطوير البرنامج بشكل تسلسلي من نقطة البداية إلى نقطة النهاية. |
تشير عملية رشيقة في اختبار البرمجيات يتم تقسيمها إلى نماذج فردية يعمل عليها المصممون | لا يتم تقسيم عملية التصميم إلى نماذج فردية |
يتمتع العميل بفرص مبكرة ومتكررة للنظر إلى المنتج واتخاذ القرار والتغييرات على المشروع | يمكن للعميل رؤية المنتج فقط في نهاية المشروع |
يعتبر النموذج الرشيق في الاختبار غير منظم مقارنة بنموذج الشلال | يعد نموذج الشلال أكثر أمانًا لأنه موجه نحو الخطة |
يمكن تنفيذ المشاريع الصغيرة بسرعة كبيرة. بالنسبة للمشاريع الكبيرة، من الصعب تقدير وقت التطوير. | يمكن تقدير جميع أنواع المشاريع وإكمالها. |
يمكن إصلاح الخطأ في منتصف المشروع. | فقط في النهاية، يتم اختبار المنتج بأكمله. إذا تم العثور على خطأ في المتطلبات أو كان لا بد من إجراء أي تغييرات، فيجب أن يبدأ المشروع من البداية |
عملية التطوير متكررة، ويتم تنفيذ المشروع في تكرارات قصيرة (2-4) أسابيع. التخطيط أقل بكثير. | تتم عملية التطوير على مراحل، والمرحلة أكبر بكثير من التكرار. وتنتهي كل مرحلة بالوصف التفصيلي للمرحلة التالية. |
التوثيق يحظى بأولوية أقل من تطوير البرمجيات | التوثيق له الأولوية القصوى ويمكن استخدامه أيضًا لتدريب الموظفين وترقية البرنامج مع فريق آخر |
كل تكرار له مرحلة الاختبار الخاصة به. يسمح بتنفيذ اختبار الانحدار في كل مرة يتم فيها إصدار وظائف أو منطق جديد. | فقط بعد مرحلة التطوير، يتم تنفيذ مرحلة الاختبار لأن الأجزاء المنفصلة لا تعمل بكامل طاقتها. |
في اختبار Agile عند انتهاء التكرار، يتم تسليم ميزات المنتج القابلة للشحن إلى العميل. الميزات الجديدة قابلة للاستخدام مباشرة بعد الشحن. يكون مفيدًا عندما يكون لديك اتصال جيد مع العملاء. | يتم تسليم جميع الميزات التي تم تطويرها مرة واحدة بعد مرحلة التنفيذ الطويلة. |
يعمل المختبرون والمطورون معًا | يعمل المختبرون بشكل منفصل عن المطورين |
في نهاية كل سباق، يتم تنفيذ قبول المستخدم | قبول المستخدم هو تنفيذ في نهاية المشروع. |
يتطلب التواصل الوثيق مع المطورين وتحليل المتطلبات والتخطيط معًا | لا يشارك المطور في عملية المتطلبات والتخطيط. عادةً ما يكون هناك تأخير زمني بين الاختبارات والترميز |
تحقق أيضا: - Agile Vs Waterfall: اعرف الفرق بين المنهجيات
عملية رشيقة
تحقق مما يلي منهجية رشيقة عملية لتقديم أنظمة ناجحة بسرعة.
هناك العديد أساليب رشيقة موجودة في اختبار رشيقة، وتلك المذكورة أدناه:
سكروم
SCRUM هي طريقة تطوير سريعة تركز بشكل خاص على كيفية إدارة المهام ضمن بيئة تطوير قائمة على الفريق. في الأساس، يتم اشتقاق Scrum من النشاط الذي يحدث أثناء مباراة الرجبي. يؤمن Scrum بتمكين فريق التطوير ويؤيد العمل في فرق صغيرة (على سبيل المثال، من 7 إلى 9 أعضاء). يتكون Agile وScrum من ثلاثة أدوار، ويتم شرح مسؤولياتهم على النحو التالي:
-
سكروم ماجستير
- سكروم ماجستير هو المسؤول عن تشكيل الفريق واجتماعات العدو السريع وإزالة العقبات التي تعترض التقدم
-
مالك المنتج
-
ينشئ مالك المنتج تراكمًا للمنتج، ويعطي الأولوية للتراكم ويكون مسؤولاً عن تقديم الوظيفة في كل تكرار
-
-
فريق سكروم
-
يدير الفريق عمله بنفسه وينظم العمل لإكمال العدو السريع أو الدورة
-
تراكم المنتج
هذا مستودع يتم فيه تتبع المتطلبات مع تفاصيل حول عدد المتطلبات (قصص المستخدم) التي يجب إكمالها لكل إصدار. يجب أن يتم صيانته وإعطائه الأولوية بواسطة مالك المنتج، ويجب توزيعه على فريق scrum. يمكن للفريق أيضًا طلب إضافة متطلب جديد أو تعديله أو حذفه
ممارسات سكرم
يتم وصف الممارسات بالتفصيل:
تدفق عملية منهجيات سكروم:
تدفق عملية اختبار سكروم هو كما يلي:
- يُعرف كل تكرار لـ scrum باسم Sprint
- سجل المنتجات هو قائمة يتم فيها إدخال كافة التفاصيل للحصول على المنتج النهائي
- خلال كل Sprint، يتم تحديد أهم قصص المستخدمين لتراكم المنتجات وتحويلها إلى Sprint تراكم
- يعمل الفريق على سجل العمل المحدد للسباق
- يتحقق الفريق من العمل اليومي
- في نهاية العدو السريع، يقوم الفريق بتسليم وظائف المنتج
البرمجة المتطرفة (XP)
تعتبر تقنية البرمجة المتطرفة مفيدة للغاية عندما تكون هناك طلبات أو متطلبات متغيرة باستمرار من العملاء أو عندما لا يكونون متأكدين من وظائف النظام. وهو يدعو إلى "الإصدارات" المتكررة للمنتج في دورات تطوير قصيرة، مما يؤدي بطبيعته إلى تحسين إنتاجية النظام ويقدم أيضًا نقطة تفتيش حيث يمكن تنفيذ أي متطلبات للعملاء بسهولة. يقوم XP بتطوير برنامج يبقي العميل في الهدف.
يتم جمع متطلبات العمل من حيث القصص. يتم تخزين كل تلك القصص في مكان يسمى موقف السيارات.
في هذا النوع من المنهجية، تعتمد الإصدارات على دورات أقصر تسمى التكرارات مع فترة زمنية مدتها 14 يومًا. يتضمن كل تكرار مراحل مثل الترميز واختبار الوحدة واختبار النظام حيث سيتم في كل مرحلة إنشاء بعض الوظائف الثانوية أو الرئيسية في التطبيق.
مراحل برمجة eXtreme:
هناك 6 مراحل متوفرة في طريقة Agile XP، ويتم شرحها على النحو التالي:
تخطيط الرحلة
-
تحديد أصحاب المصلحة والجهات الراعية
-
متطلبات البنية التحتية
-
حماية المعلومات ذات الصلة وجمعها
-
اتفاقيات مستوى الخدمة وشروطها
تحليل الأداء
-
التقاط القصص في موقف السيارات
-
إعطاء الأولوية للقصص في موقف السيارات
-
تنقية القصص للتقدير
-
تحديد نطاق التكرار (الوقت)
-
تخطيط الموارد لكل من فرق التطوير وضمان الجودة
تصميم
-
تقسيم المهام
-
إعداد سيناريو الاختبار لكل مهمة
-
إطار أتمتة الانحدار
التنفيذ
-
البرمجة
-
تنفيذ سيناريوهات الاختبار اليدوي
-
إنشاء تقرير عيب
-
تحويل الدليل إلى حالات اختبار الانحدار الآلي
-
مراجعة منتصف التكرار
-
مراجعة نهاية التكرار
التغليف
-
الإصدارات الصغيرة
-
العروض والمراجعات
-
تطوير قصص جديدة على أساس الحاجة
-
تحسينات العملية بناءً على تعليقات مراجعة نهاية التكرار
إغلاق
-
إطلاق الطيار
-
التدريب
-
إطلاق الإنتاج
-
ضمان ضمان SLA
-
Revعرض استراتيجية SOA
-
دعم الإنتاج
هناك نوعان من القصص المصورة المتاحة لتتبع العمل على أساس يومي، وهي مدرجة أدناه كمرجع.
-
قصة كرتون
-
هذه طريقة تقليدية لجمع كل القصص في لوحة على شكل ملاحظات لاصقة لتتبع أنشطة XP اليومية. وبما أن هذا النشاط اليدوي يتطلب المزيد من الجهد والوقت، فمن الأفضل التبديل إلى نموذج عبر الإنترنت.
-
-
القصة المصورة على الانترنت
-
يمكن استخدام أداة Storyboard عبر الإنترنت لتخزين القصص. يمكن لعدة فرق استخدامه لأغراض مختلفة.
-
منهجيات الكريستال
تعتمد منهجية الكريستال على ثلاثة مفاهيم
-
استئجار: تشمل الأنشطة المختلفة المتضمنة في هذه المرحلة إنشاء فريق تطوير وإجراء تحليل أولي للجدوى ووضع خطة أولية وضبط منهجية التطوير
-
التسليم الدوري: تتكون مرحلة التطوير الرئيسية من دورتين أو أكثر من دورات التسليم، يتم خلالها
- يقوم الفريق بتحديث وتحسين خطة الإصدار
- ينفذ مجموعة فرعية من المتطلبات من خلال تكرار واحد أو أكثر من اختبارات دمج البرنامج
- يتم تسليم المنتج المتكامل للمستخدمين الحقيقيين
- Rev- رؤية خطة المشروع ومنهجية التطوير المعتمدة
- يتم إحتوائه: الأنشطة التي يتم تنفيذها في هذه المرحلة هي النشر في بيئة المستخدم، وإجراء مراجعات وتأملات ما بعد النشر.
طريقة تطوير البرمجيات الديناميكية (DSDM)
DSDM هو التطوير السريع للتطبيق (RAD) نهج لتطوير البرمجيات ويوفر إطارًا رشيقًا لتسليم المشروع. الجانب المهم في DSDM هو أنه يُطلب من المستخدمين المشاركة بنشاط، ويتم منح الفرق القدرة على اتخاذ القرارات. يصبح التسليم المتكرر للمنتج هو التركيز النشط مع DSDM. التقنيات المستخدمة في DSDM هي
- الوقت: Boxجي
- قواعد MoSCoW
- النماذج
يتكون مشروع DSDM من 7 مراحل
- ما قبل المشروع
- دراسة الجدوى
- دراسة الأعمال
- تكرار النموذج الوظيفي
- تصميم وبناء التكرار
- تطبيق
- ما بعد المشروع
التطوير المدفوع بالميزات (FDD)
تركز هذه الطريقة على "تصميم وبناء" الميزات. على عكس طرق Agile الأخرى في هندسة البرمجيات، تصف FDD مراحل عمل محددة وقصيرة للغاية يجب إنجازها بشكل منفصل لكل ميزة. وهي تتضمن جولة في المجال، وفحص التصميم، والترقية إلى البناء، وفحص الكود والتصميم. تطور FDD الأشياء التالية للحفاظ على المنتج في الهدف
- نمذجة كائن المجال
- التطوير حسب الميزة
- ملكية المكون/الفئة
- الفرق المميزة
- عمليات التفتيش
- إدارة التهيئة
- بنيات منتظمة
- رؤية التقدم والنتائج
تطوير البرمجيات العجاف
تعتمد طريقة تطوير البرمجيات المرن على مبدأ "الإنتاج في الوقت المناسب". وهي تهدف إلى زيادة سرعة تطوير البرمجيات وخفض التكلفة. ويمكن تلخيص طريقة تطوير البرمجيات المرن في سبع خطوات.
- التخلص من الهدر
- تضخيم التعلم
- تأجيل الالتزام (اتخاذ القرار في وقت متأخر قدر الإمكان)
- تسليم مبكر
- تمكين الفريق
- ابني Integrity
- تحسين الكل
Kanban
Kanban نشأت في الأصل من كلمة يابانية تعني بطاقة تحتوي على جميع المعلومات اللازمة لتنفيذ المنتج في كل مرحلة على طول مساره حتى اكتماله. يتم اعتماد هذا الإطار أو الطريقة بشكل كبير في طريقة اختبار البرمجيات وخاصة في مفاهيم Agile.
سكروم مقابل كانبان
سكروم | Kanban |
---|---|
في تقنية scrum، يجب تقسيم الاختبار حتى يمكن إكماله في سباق واحد | لم يتم تحديد حجم معين للعنصر |
يصف تراكم المنتجات ذات الأولوية | تحديد الأولويات أمر اختياري |
يلتزم فريق Scrum بقدر معين من العمل للتكرار | الالتزام اختياري |
مخطط Burndown موصوف | لم يتم تحديد حجم معين للعنصر |
بين كل سباق، يتم إعادة تعيين لوحة scrum | لوحة كانبان مستمرة. فهو يحد من عدد العناصر في حالة سير العمل |
لا يمكن إضافة عناصر إلى التكرار المستمر | يمكنه إضافة عناصر كلما توفرت السعة |
WIP محدودة بشكل غير مباشر | WIP محدودة مباشرة |
تم تحديد التكرارات المحددة بوقت | التكرارات المحددة زمنياً اختيارية |
تحقق أيضا: - كانبان مقابل. سكروم: ما هو الفرق؟
مقاييس رشيقة
المقاييس التي يمكن جمعها للاستخدام الفعال لـ Agile هي:
-
عامل السحب
-
الجهد المبذول في الساعات التي لا تساهم في تحقيق هدف العدو السريع
-
يمكن تحسين عامل السحب عن طريق تقليل عدد الموارد المشتركة، مما يقلل من حجم العمل غير المساهم
-
يمكن زيادة التقديرات الجديدة بنسبة مئوية لعامل السحب -التقدير الجديد = (التقدير القديم+عامل السحب)
-
-
سرعة
-
كمية المتأخرات (قصص المستخدم) المحولة إلى وظائف قابلة للشحن من العدو السريع
-
-
تمت إضافة عدد من اختبارات الوحدة
-
الفاصل الزمني المستغرق لإكمال البناء اليومي
-
تم اكتشاف الأخطاء في التكرار أو في التكرارات السابقة
-
تسرب عيب الإنتاج