4D Training & Consultancy

تطوير البرمجيات

اختبار Java والتطوير الموجّه بالاختبار عبر JUnit 5

برنامج عملي في اختبار Java للفرق التي أصبحت مجموعة اختباراتها بطيئة أو هشة أو متجاهَلة في صمت. يكتب المشاركون اختبارات بـJUnit 5، ويعزلون المتعاونين عبر Mockito، ويشغّلون تبعيات حقيقية من خلال Testcontainers، ويتدربون على دورة التطوير الموجّه بالاختبار على خصائص تشبه أعمالهم القائمة.

3 أيامتنفيذ داخلي أو افتراضي أو مخصصفرق مؤسسية ومجموعات مهنيةالمستوى: متوسط

نظرة عامة

تعلم عملي قابل للتطبيق في بيئة العمل.

تُخذل مجموعة الاختبارات فريقها بإحدى طريقتين: إما أن تنكسر كلما أُعيدت هيكلة الشيفرة، وإما أن تبقى خضراء بينما تصل العيوب إلى العملاء. وينشأ الأمران عن التحقق من تفاصيل التنفيذ بدل السلوك، وينتهيان النهاية ذاتها: فريق يتجاوز الاختبارات ليلحق بموعد التسليم. يعيد هذا البرنامج بناء انضباط تحديد ما يجب التحقق منه وما يجب عزله وما يُترك حقيقياً، مستفيداً من إمكانات JUnit 5 التي نادراً ما تعتمدها الفرق: الاختبارات المعلّمة والمتداخلة والتحكم بدورة الحياة والتحققات المجمّعة والتنفيذ بالوسوم. ويتدرب المشاركون على دورة أحمر-أخضر-إعادة هيكلة، ويتعلمون إدخال الاختبارات حول شيفرة كُتبت بلا اختبار.

المتطلبات المسبقة

خبرة عملية في تطوير Java وإلمام بـMaven أو Gradle، ولا تُشترط خبرة سابقة بـJUnit 5.

الأهداف

  • كتابة اختبارات JUnit 5 معبّرة باستخدام البنى المعلّمة والمتداخلة والموسومة.
  • التمييز بين البدائل الساكنة والمحاكية والزائفة والمراقِبة واستخدام Mockito دون إفراط في تحديد السلوك.
  • اختبار الوصول إلى البيانات والمراسلة مقابل تبعيات حقيقية باستخدام Testcontainers.
  • ممارسة دورة أحمر-أخضر-إعادة هيكلة على الخصائص الجديدة وعلى إصلاح العيوب معاً.
  • تصميم اختبارات تتحقق من السلوك بحيث تحسّن إعادة الهيكلة الشيفرة دون كسر المجموعة.
  • وضع أهداف للتغطية وزمن التنفيذ وتذبذب النتائج يستطيع خط البناء فرضها.

الفئة المستهدفة

  • مطورو Java المسؤولون عن الاختبارات التي تُسلَّم مع شيفرتهم
  • مهندسو أتمتة الاختبار العاملون داخل قواعد شيفرة Java
  • القادة التقنيون الذين يرفعون مستوى الجودة في مجموعة اختبارات موروثة
  • مهندسو ضمان الجودة المنتقلون من الفحص اليدوي إلى الاختبار على مستوى الشيفرة
  • الفرق التي تُدخل التكامل المستمر على منتج مبني بلغة Java
  • المطورون الذين يصونون وحدات ذات تغطية اختبارية ضعيفة أو معدومة

محاور البرنامج

هيكل واضح لرحلة التعلم.

محاور البرنامج

تظهر محاور البرنامج في صندوق واحد بدلاً من تحويل كل سطر إلى وحدة منفصلة.

الوحدة 1: ماذا نختبر ولماذا تتآكل مجموعات الاختبار

الفصل بين مسؤوليات اختبارات الوحدة والتكامل والاختبارات الشاملة

السلوك مقابل التنفيذ ولماذا يحدد هذا الفرق عمر المجموعة

تسمية وترتيب يجعلان الاختبار يُقرأ كمواصفة

اقتصاديات المجموعة البطيئة واللحظة التي تبدأ الفرق فيها بتجاوزها

الوحدة 2: JUnit 5 بعمق

دورة حياة Jupiter والامتدادات ومسار الانتقال من JUnit 4

الاختبارات المعلّمة المغذّاة بمصادر القيم وCSV والتعدادات والدوال

الاختبارات المتداخلة وأسماء العرض والافتراضات للتنفيذ الشرطي

التحققات المجمّعة وتحققات الاستثناء والمهل والاختيار عبر الوسوم

الوحدة 3: بدائل الاختبار وMockito

البدائل الساكنة والمحاكية والزائفة والمراقِبة: اختيار الأضعف الذي يفي بالغرض

التهيئة في Mockito ومطابقات الوسائط والتحقق دون إفراط في التحديد

التصميم لقابلية الاختبار عبر الحقن والدوال النقية والمفاصل الصغيرة

محاكاة الحدود التي تملكونها وعدم محاكاة الأنواع التي لا تتحكمون بها

الوحدة 4: اختبار التكامل باستخدام Testcontainers

تشغيل قواعد البيانات ووسطاء الرسائل والتبعيات كحاويات مؤقتة

شرائح اختبار Spring Boot مقارنةً باختبارات السياق التطبيقي الكامل

بيانات اختبار حتمية وعزل بين الاختبارات واستراتيجية تنظيف

إبقاء اختبارات التكامل سريعة بما يكفي لتشغيلها عند كل التزام

الوحدة 5: التطوير الموجّه بالاختبار في الممارسة

تطبيق دورة أحمر-أخضر-إعادة هيكلة على خاصية بمعايير قبول حقيقية

ترك الاختبارات توجّه التصميم دون تجميد التنفيذ مبكراً

إعادة إنتاج عيب مُبلَّغ عنه كاختبار فاشل قبل إصلاحه

أين يفيد التطوير الموجّه بالاختبار وأين يبطئ التسليم وكيف يُتخذ القرار

الوحدة 6: الشيفرة الموروثة والتغطية وخط البناء

اختبارات توصيفية تثبّت السلوك القائم قبل تغييره

إيجاد المفاصل وإعادة الهيكلة الآمنة لجعل الشيفرة غير القابلة للاختبار قابلة له

قراءة التغطية بصدق: ما الذي يثبته الرقم وما الذي لا يثبته

معالجة الاختبارات المتذبذبة وميزانيات زمن التنفيذ وبوابات التكامل المستمر

المواد المقدمة

  • دليل الدورة وأمثلة شيفرة موثّقة وملاحظات مرجعية
  • بيئة معملية عملية ومستودعات بداية جاهزة
  • تمارين وقوائم تحقق وقوالب شيفرة قابلة لإعادة الاستخدام
  • شهادة إتمام من 4D
  • دعم فني بعد انتهاء البرنامج

خيارات التدريب

يمكن تقديم البرامج داخل مقر المؤسسة، أو عن بُعد، أو بصيغة مدمجة بحسب جدول الفريق وموقعه وأهداف التعلم. عندما يتضمن البرنامج شهادة أو اختباراً من جهة خارجية، تبقى قواعد الشهادة ورسومها خاضعة لسياسات الجهة المانحة، بينما تقدم 4D التدريب ودعم التحضير.

لماذا البعد الرابع

تنفّذ 4D هذا البرنامج على قاعدة شيفرة تحمل مشكلات الاختبار نفسها الموجودة لديكم: أصناف موروثة بلا مفاصل، ومحاكيات تتحقق من أكثر مما ينبغي، واختبارات تكامل أبطأ من أن تُشغَّل عند كل التزام. ويخرج المشاركون بسياسة مكتوبة للمجموعة تغطي زمن التنفيذ ومعالجة الاختبارات المتذبذبة وبوابات خط البناء التي اتفق عليها الفريق لا التي ورثها.

دورات ذات صلة

تطوير البرمجيات

أساسيات البرمجة بلغة Python

مقدمة عملية إلى Python للمهندسين والمحللين الذين يحتاجون شيفرة تعمل فعلاً لا مقتطفات تعليمية. يكتسب المشاركون طلاقة في أنواع البيانات والمجموعات والدوال والملفات ومعالجة الأخطاء، ثم يبنون برنامجاً صغيراً يقرأ بيانات حقيقية وينتج تقريراً قابلاً للاستخدام.

View course
تطوير البرمجيات

Python المتوسط وممارسات الشيفرة النظيفة

برنامج موجّه للمطورين الذين تعمل شيفرة Python لديهم لكن يصعب تغييرها. يغطي dataclasses والمولّدات والمزخرفات ومديري السياق وتلميحات الأنواع، ثم يطبّق خطوات إعادة الهيكلة التي تحوّل وحدة من تسعمئة سطر إلى وحدات صغيرة مختبَرة تحرسها أدوات black وruff وmypy.

View course
تطوير البرمجيات

أتمتة المهام المكتبية والبرمجة النصية بلغة Python

برنامج موجّه للفرق التي تهدر ساعات أسبوعية في أعمال متكررة على الملفات والجداول والتقارير. يقوم المشاركون بأتمتة هذه المهام باستخدام Python: معالجة الملفات دفعياً وجداول Excel وCSV واستدعاء واجهات REST وتنبيهات البريد والمهام المجدولة التي تعمل دون إشراف وتبلّغ بوضوح عند الفشل.

View course

تواصل مع البعد الرابع

خطط لمسار التدريب أو الاستشارة المناسب لفريقك.

شاركنا بعض التفاصيل وسنوجه طلبك نحو التدريب المؤسسي أو الاستشارات أو التقييم أو حلول فينييكس أو برنامج مخصص.