ابدأ من هنا
الرئيسية›ISTQB CTFL V4›الفصل الثاني: الاختبار خلال دورة حياة تطوير البرمجيات — Testing Throughout the SDLC

الفصل الثاني: الاختبار خلال دورة حياة تطوير البرمجيات — Testing Throughout the SDLC

6 أيلول 2026·57:10·مبتدئأساسياتشرح

الفصل الثاني من منهج ISTQB CTFL V4 بالعربي: كيف بتأثّر دورة حياة التطوير على الاختبار، shift-left و TDD/ATDD/BDD و DevOps، مستويات الاختبار وأنواعه، واختبار الصيانة.

قبل ما تبدأ

  • خلّص الفصل الأول: مبادئ الاختبار
  • يكفي تعرف شو يعني إصدار (release) وشو يعني بيئة اختبار — بدون خلفية برمجية

الخلاصة بنقاط

  • نموذج التطوير بيحدّد وقت الاختبار وشكله — بالتسلسلي بييجي متأخّر، وبالتكراري بيصير مع كل دورة
  • Shift-left يعني تبدأ الاختبار بدري: مراجعة متطلب قبل ما ينكتب سطر كود
  • المستويات: مكوّن ← تكامل مكوّنات ← نظام ← تكامل أنظمة ← قبول، وكل مستوى إله هدف مختلف
  • confirmation بيتأكّد إنّ الإصلاح زبط، و regression بيتأكّد إنّه ما كسر شي ثاني
  • اختبار الصيانة بيتفعّل بالتعديل أو الترحيل أو إيقاف النظام — وحجمه بيتحدّد بتحليل الأثر

هذا الدرس بيغطّي الفصل الثاني من منهج ISTQB CTFL نسخة 4.0 — Testing Throughout the Software Development Lifecycle. الشرح التفصيلي بالفيديو، وهذا ملخّص مرجعي ترجعله قبل الامتحان.

1. الاختبار وسياق دورة حياة التطوير

  • نموذج التطوير اللي بتشتغل فيه بيحدّد إمتى بتختبر وكيف بتختبر — مش بس بيغيّر الجدول الزمني.
  • النماذج التسلسلية (Waterfall، V-model): كل مرحلة بتخلص قبل اللي بعدها. بالـ V-model كل مستوى تطوير بيقابله مستوى اختبار، والتصميم بيبدأ بدري — بس التنفيذ الفعلي بيبقى بالنص الأخير من المشروع.
  • النماذج التكرارية والتزايدية (Scrum، Kanban، Spiral): المنتج بينبني على دفعات صغيرة، وكل دفعة بتنختبر لحالها — فالاختبار بيصير مستمر، وحجم الـ regression بيكبر مع كل دورة.
  • القاعدة العملية: كل ما قصرت الدورة، زادت الحاجة للأتمتة وللاختبار المبكر.

2. ممارسات جيّدة وأساليب بتقود التطوير

  • لكل نشاط تطوير في نشاط اختبار مقابله — ما في مرحلة بتمرّ بدون اختبار.
  • كل مستوى اختبار إله هدف مختلف، فما منكرّر نفس الاختبار بمستويين.
  • تحليل وتصميم الاختبارات بيبدأ من مرحلة المتطلبات، مش بعد ما يخلص الكود.
  • TDD: تكتب اختبار وحدة فاشل ← أبسط كود بينجّحه ← refactor.
  • ATDD: تشتق اختبارات القبول من معايير القبول قبل ما يبدأ التطوير.
  • BDD: تكتب السلوك المتوقّع بصيغة Given / When / Then بلغة يفهمها الفريق والعميل.
  • الفكرة المشتركة بالثلاثة: الاختبار بيقود كتابة الكود، مش بيجي بعدها.

3. DevOps و Shift-left

  • DevOps: التطوير والعمليّات بفريق واحد مع CI/CD — كل تغيير بيمرّ على اختبارات آلية والتغذية الراجعة بترجع بسرعة.
  • منافعه للاختبار: تغذية راجعة أسرع، بيئات متكرّرة وموثوقة، وثقة أعلى بالإصدار. وحدوده: بده استثمار بالأتمتة والبنية التحتية، والاختبار اليدوي بيضل ضروري (استكشافي وتجربة المستخدم).
  • Shift-left: تنقل نشاطات الاختبار لبدري — مراجعة المتطلبات، كتابة الحالات قبل الكود، اختبار static، وأتمتة من أول يوم. كل ما تأخّر اكتشاف الـ Bug، غليت كلفة إصلاحه.
  • Retrospectives: بنهاية كل دورة الفريق بيسأل شو زبط وشو لأ وشو منحسّن — وهاي أداة تحسين مستمر للعملية وللاختبار.

4. مستويات الاختبار

  • اختبار المكوّن (Component / Unit): وحدة معزولة، عادة المطوّر بيكتبه وبينفّذه.
  • تكامل المكوّنات (Component integration): التفاعل والواجهات بين الوحدات جوّا نفس النظام.
  • اختبار النظام (System): سلوك النظام كامل من طرف لطرف — وظيفي وغير وظيفي.
  • تكامل الأنظمة (System integration): الربط مع أنظمة خارجية مثل بوابة دفع أو خدمة رسائل.
  • اختبار القبول (Acceptance): جاهزية النشر — UAT، اختبار تشغيلي (OAT)، تعاقدي وتنظيمي، وألفا وبيتا.
  • لكل مستوى: هدف، قاعدة اختبار، كائن اختبار، Bugs نموذجية، ومسؤول محدّد — وهاي أكثر نقطة بتتلخبط بالامتحان.

5. أنواع الاختبار

  • وظيفي: شو بيعمل النظام — التغطية بتنقاس بنسبة الوظائف المختبَرة.
  • غير وظيفي: كيف بيعمله — أداء، أمان، قابلية استخدام، توافقية، موثوقية، قابلية صيانة ونقل. الغلط الشائع: تأجيله لآخر المشروع.
  • Black-box: مبني على المواصفات بدون النظر بالكود.
  • White-box: مبني على البنية الداخلية وتغطية الكود.
  • Confirmation testing: بعد الإصلاح — بيتأكّد إنّ الـ Bug راح فعلاً.
  • Regression testing: بيتأكّد إنّ التغيير ما كسر شي كان شغّال — وهو أول مرشّح للأتمتة.
  • المستويات والأنواع بتتقاطع: بتقدر تعمل اختبار أداء (نوع) على مستوى المكوّن أو على مستوى النظام.

6. اختبار الصيانة

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

بالدرس الجاي: الفصل الثالث — الاختبار الساكن (Static Testing).

تمرين

اربط نموذج التطوير بمستويات وأنواع الاختبار

  1. خذ مشروع اشتغلت عليه (أو تخيّل تطبيق توصيل) وحدّد نموذج التطوير المستخدم: تسلسلي ولا تكراري، وشو أثره على وقت الاختبار
  2. اكتب مثال حالة اختبار وحدة لكل مستوى من المستويات الخمسة على نفس التطبيق
  3. حدّد ثلاث نشاطات اختبار تقدر تعملها shift-left قبل ما يبدأ الكود
  4. اكتب مثالين اختبار غير وظيفي بينساهم الفريق عادة بهذا التطبيق
  5. ميّز بمثال من عندك: إمتى بتنفّذ confirmation testing وإمتى regression، وشو الفرق بالمخرجات
  6. تخيّل إنّ التطبيق بده يترحّل لمزوّد دفع جديد — اعمل تحليل أثر مصغّر: شو بتعيد اختباره وشو لأ وليش

ما في إجابة وحيدة صح — المهم كل مثال يكون بمستواه الصح (مش حالة نظام محطوطة بمستوى المكوّن)، وتحليل الأثر مربوط بالمكوّنات المتأثّرة فعلاً.

اكشف الحل
  • النموذج: بالتسلسلي بتستنى النظام يخلص لتبدأ تنفيذ الاختبارات، وبـ Scrum بتختبر مخرجات كل sprint — يعني الـ regression بيكبر كل دورة وبتحتاج أتمتة
  • المستويات على تطبيق توصيل: مكوّن ← دالة حساب سعر التوصيل؛ تكامل مكوّنات ← السلة مع خدمة الأسعار؛ نظام ← طلب كامل من الاختيار للدفع للتتبّع؛ تكامل أنظمة ← بوابة الدفع والخرائط والـ SMS؛ قبول ← UAT مع العميل واختبار تشغيلي للنسخ الاحتياطي
  • shift-left: مراجعة الـ user stories ومعايير القبول، كتابة حالات الاختبار قبل التطوير (ATDD)، ومراجعة تصميم الـ API قبل التنفيذ
  • غير وظيفي منسي: سلوك التطبيق على شبكة ضعيفة (أداء)، وصلاحيات الوصول لبيانات الطلبات (أمان)، وتجربة الواجهة بالعربي RTL (قابلية استخدام)
  • confirmation مقابل regression: بعد إصلاح Bug بحساب الخصم بتنفّذ نفس الحالة اللي فشلت (confirmation)، وبعدين حالات السلة والدفع والفاتورة (regression) — الأولى بتجاوب «انحلّ الـ Bug؟» والثانية «انكسر شي ثاني؟»
  • تحليل الأثر لترحيل مزوّد الدفع: بتعيد اختبار الدفع والاسترجاع والفواتير والتكامل مع البوابة وتقارير المحاسبة؛ وما بتعيد اختبار تسجيل الدخول أو تتبّع السائق إلا إذا بيشتركوا بمكوّنات — القرار مبني على المكوّنات المتأثّرة مش على الشاشة
تقدّم الشهادة0%

شاهد 90% من الفيديو حتى ينحسب هذا الدرس مكتمل.

خلصت الدرس؟ 👏خذ استراحة 60 ثانية واصطد bugsلعبة Debug Hunt — بتلعبها عالموبايل كمان
العب هسا

النقاش 🔻

اكتب سؤالك أو ملاحظتك. التعليقات بتظهر بعد المراجعة.