SDLC وSTLC: دورتا التطوير والاختبار

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

يشرح هذا الدليل المحوري العلاقة بين الدورتين، وأين يشارك المختبِر في كل مرحلة من مراحل التطوير، وكيف يقابل المصطلح الصناعي «STLC» عملية الاختبار كما يصفها ISTQB، وكيف يتغير الاختبار بين النموذج التتابعي ونموذج V والنموذج التكراري وScrum وDevOps. وتتناول الصفحة الأضيق في هذا الموضوع، عن دورة حياة اختبار البرمجيات، مراحل STLC مرحلةً مرحلة.

SDLC وSTLC: ماذا يعني كل مصطلح

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

وتصف STLC كيف يُنظَّم الاختبار داخل ذلك الجهد. النسخة التي تُدرَّس في أغلب المواد التدريبية لها ست مراحل: تحليل المتطلبات، وتخطيط الاختبار، وتطوير حالات الاختبار، وتجهيز بيئة الاختبار، وتنفيذ الاختبار، وإغلاق دورة الاختبار. لكل مرحلة مدخلات ومخرجات ومعايير تحدد متى يجوز أن تبدأ ومتى تُعدّ منتهية.

وهنا دقة مهمة: «STLC» مصطلح صناعي يُستخدم في الدورات والمقابلات وإعلانات الوظائف، وليس مصطلحاً يعرّفه ISTQB. فمنهج ISTQB للمختبِر المعتمد – المستوى التأسيسي (CTFL) الإصدار 4.0 يصف عملية اختبار (Test process) من سبع مجموعات أنشطة: تخطيط الاختبار، ومتابعة الاختبار والتحكم فيه، وتحليل الاختبار، وتصميم الاختبار، وتهيئة الاختبار (Test implementation)، وتنفيذ الاختبار، وإتمام الاختبار. ويصف المعيار ISO/IEC/IEEE 29119-2 عمليات الاختبار على المستوى المؤسسي ومستوى إدارة الاختبار ومستوى الاختبار الديناميكي. الجوهر واحد، وتختلف الأسماء والحدود بين الخطوات. وباختصار:

  • تحليل المتطلبات ≈ تحليل الاختبار (Test analysis) — تقرير ما الذي سيُختبر (شروط الاختبار) وإيجاد العيوب في أساس الاختبار.
  • تخطيط الاختبار ≈ تخطيط الاختبار — ومعه متابعة الاختبار والتحكم فيه، وليس لهما مرحلة خاصة في STLC بل يمتدان من التخطيط حتى الإتمام.
  • تطوير حالات الاختبار ≈ تصميم الاختبار (كيف نختبر: حالات الاختبار وعناصر التغطية واحتياجات البيانات) ومعظم تهيئة الاختبار (الإجراءات والسكربتات والحزم والبيانات).
  • تجهيز بيئة الاختبار ≈ جزء البيئة من تهيئة الاختبار؛ ويعامله المعيار ISO/IEC/IEEE 29119-2 كعملية مستقلة.
  • تنفيذ الاختبار ≈ تنفيذ الاختبار، بما فيه الإبلاغ عن العيوب واختبار التأكيد (Confirmation testing) واختبار الانحدار (Regression testing).
  • إغلاق دورة الاختبار ≈ إتمام الاختبار (Test completion).

العلاقة بين دورة حياة التطوير ودورة حياة الاختبار

أبسط صورة دقيقة هي مساران متوازيان تربط بينهما صلات. وكل مُخرَج من مخرجات التطوير يغذّي أعمال الاختبار في مرحلته. فالمتطلبات والتصاميم وعقود الواجهات البرمجية هي أساس الاختبار (Test basis) الذي يقرؤه تحليل الاختبار وتصميمه: المتطلب هو ما يقرؤه تحليل الاختبار، وعقد الواجهة البرمجية هو ما تُشتق منه اختبارات التكامل. أما البناء (Build)، ثم النظام العامل لاحقاً، فهو موضوع الاختبار (Test object)، أي ما يُنفَّذ عليه الاختبار. وكل مُخرَج من مخرجات الاختبار يعود إلى التطوير: تعليق المراجعة يغيّر متطلباً، وتقرير العيب يغيّر الكود، وتقرير إتمام الاختبار يُغذّي قرار الإصدار.

يسير الاختبار بموازاة التطوير لا بعده: كل مُخرَج تطوير هو أساس الاختبار أو موضوع الاختبار لأنشطة الاختبار في مرحلته، ومخرجات الاختبار تعود إلى التطوير.
  1. التطوير (SDLC):
    1المتطلبات
    الاختبار (STLC):
    تحليل المتطلبات≈ تحليل الاختبار؛ ويبدأ تخطيط الاختبار
  2. التطوير (SDLC):
    2التصميم
    الاختبار (STLC):
    تحليل الاختبار وتصميمهلمستويي التكامل والنظام، مع تحديد احتياجات البيئة
  3. التطوير (SDLC):
    3التنفيذ
    الاختبار (STLC):
    تصميم الاختبار وتهيئتهبيانات الاختبار، وتجهيز البيئة، والفحوص الآلية، والتحليل الساكن في CI
  4. التطوير (SDLC):
    4التكامل
    الاختبار (STLC):
    تنفيذ الاختبارالنشر في بيئة الاختبار، واختبارات الدخان والتكامل
  5. التطوير (SDLC):
    5الإصدار
    الاختبار (STLC):
    تنفيذ الاختبار وإتمامهاختبارات النظام والانحدار والقبول، وتقييم معايير الخروج، والتحقق من النشر
  6. التطوير (SDLC):
    6التشغيل
    الاختبار (STLC):
    اختبار الصيانةاختبار الانحدار للإصلاحات، ومراجعة إشارات الإنتاج

طوال الخطوات 1–5 متابعة الاختبار والتحكم فيه: ليس لهما مرحلة خاصة في STLC، بل يمتدان من التخطيط حتى الإتمام.

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

ويصوغ CTFL الإصدار 4.0 ذلك كممارسة جيدة في أي نموذج دورة حياة: لكل نشاط تطوير نشاط اختبار مقابل؛ ولكل مستوى اختبار أهدافه الخاصة؛ ويبدأ تحليل الاختبار وتصميمه لمستوى معيّن أثناء مرحلة التطوير المقابلة له؛ ويشارك المختبِرون في مراجعة مخرجات العمل بمجرد توفر مسوداتها. والفريق الذي يتبع هذه القواعد الأربع قد وافق فعلياً بين STLC وSDLC أياً كانت الأسماء التي يستخدمها.

  • النطاق — تغطي SDLC المنتج كله من الفكرة حتى السحب من الخدمة؛ وتغطي STLC أعمال التحقق والمصادقة (Verification and validation) داخلها.
  • المُخرَج — تنتج SDLC برنامجاً يعمل ووثائقه؛ وتنتج STLC أدوات الاختبار ومخرجاته (Testware): شروط الاختبار والحالات والبيانات والسكربتات والنتائج وتقارير العيوب وتقارير الحالة والإتمام، إضافة إلى تقييم للجودة والمخاطر المتبقية.
  • الملكية — SDLC ملك الفريق كله بقيادة المنتج والهندسة؛ وSTLC يقودها عادةً دور الاختبار، لكن المطورين يملكون اختبارات المكوّنات ومالكي المنتج يملكون القبول.
  • التكرار — للمنتج دورة SDLC واحدة بتكرارات كثيرة؛ أما STLC فتتكرر مع كل إصدار وكل سبرنت وكل مستوى اختبار، وكل إصلاح عيب يطلق دورة صغيرة من اختبار التأكيد والانحدار.
  • مقياس النجاح — في SDLC القيمة المسلَّمة للمستخدمين؛ وفي STLC مقدار الثقة المبرَّرة التي يمنحها الدليل وقلة العيوب المتسرّبة إلى الإنتاج.

أين يشارك ضمان الجودة في كل مرحلة من مراحل SDLC

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

  • المتطلبات — مراجعة القصص والمواصفات بحثاً عن الغموض والتناقضات ومسارات الخطأ الناقصة وقابلية الاختبار؛ واقتراح معايير القبول (Acceptance criteria)؛ وحصر مخاطر المنتج. أمثلة نموذجية لما يُكتشف: «الاسترداد خلال مدة معقولة» بلا رقم؛ ولا شيء يقول ماذا يحدث لطلب شُحن جزء منه.
  • التصميم — مراجعة البنية المعمارية وعقود الواجهات البرمجية وتصاميم الواجهة من حيث قابلية الاختبار: هل تعمل الخدمة مع مزوّد دفع محاكى؟ هل تُسجَّل الأخطاء مع معرّف الطلب؟ هل يمكن ضبط المنطقة الزمنية واللغة؟ واشتقاق شروط اختبار التكامل من عقود الواجهات، والمطالبة بأهداف غير وظيفية رقمية (زمن الاستجابة، ومستوى إمكانية الوصول، والتخطيط من اليمين إلى اليسار).
  • التنفيذ — إعداد حالات الاختبار وبياناته والفحوص الآلية بينما تُبنى الميزة؛ والعمل مع المطورين على اختبارات المكوّنات؛ والتأكد من أن التحليل الساكن (Static analysis) ومراجعة الكود يعملان في خط التكامل. وهدف المختبِر هنا أن يجتاز أول بناء يُسلَّم الفحوص البديهية.
  • التكامل — تنفيذ اختبارات تكامل المكوّنات وتكامل الأنظمة: عقود الواجهات، وتدفق البيانات عبر الخدمات، والتعامل مع مهل الأطراف الخارجية واستجابات الخطأ؛ وتشغيل حزمتي الدخان (Smoke) والانحدار على كل بناء مدمج.
  • الإصدار — اختبار النظام واختبار القبول، والانحدار الكامل على المرشّح للإصدار، وتقييم معايير الخروج، والمساهمة في قرار الإطلاق أو عدمه (Go/no-go)، والتحقق مباشرة بعد النشر من أن الإصدار يعمل في البيئة المستهدفة.
  • التشغيل — مراجعة إشارات الإنتاج (الأخطاء وزمن الاستجابة وبلاغات المستخدمين)، واختبار الإصلاحات العاجلة، وإجراء اختبار الصيانة (Maintenance testing) حين تتغير المنصة أو إحدى الاعتماديات أو البيانات، وتحويل كل عيب متسرّب إلى اختبار انحدار.

جرّبها: كاشف غموض المتطلبات بالذكاء الاصطناعي جرّبها: محلّل فجوات المتطلبات بالذكاء الاصطناعي جرّبها: مولّد معايير القبول

خريطة المقابلة بين SDLC وSTLC

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

  • المتطلبات — مُخرَج التطوير: القصص والمواصفات والمتطلبات غير الوظيفية. أنشطة الاختبار: تحليل المتطلبات (≈ تحليل الاختبار) وبدء تخطيط الاختبار. مخرجات الاختبار: ملاحظات المراجعة وشروط الاختبار وقائمة المخاطر ومسودة خطة الاختبار. المستوى: القبول (يُخطَّط له).
  • التصميم — مُخرَج التطوير: البنية المعمارية وعقود الواجهات البرمجية وتصاميم الواجهة. أنشطة الاختبار: تحليل وتصميم اختبارات مستويي التكامل والنظام، وتحديد احتياجات البيئة. مخرجات الاختبار: شروط اختبار التكامل ومتطلبات البيئة. المستوى: التكامل والنظام (يُخطَّط لهما).
  • التنفيذ — مُخرَج التطوير: الكود واختبارات الوحدة والبناءات. أنشطة الاختبار: تصميم الاختبار وتهيئته، وبيانات الاختبار، وتجهيز البيئة، والفحوص الآلية، والتحليل الساكن في CI. مخرجات الاختبار: حالات الاختبار والسكربتات والبيانات والفحوص الآلية. المستوى: المكوّن (يتولاه المطورون).
  • التكامل — مُخرَج التطوير: البناء المدمج. أنشطة الاختبار: النشر في بيئة الاختبار وتنفيذ اختبارات الدخان والتكامل. مخرجات الاختبار: سجلات الاختبار وتقارير العيوب. المستوى: تكامل المكوّنات وتكامل الأنظمة.
  • الإصدار — مُخرَج التطوير: المرشّح للإصدار ثم النسخة المنشورة. أنشطة الاختبار: تنفيذ اختبارات النظام والانحدار والقبول، والمتابعة والتحكم، وتقييم معايير الخروج، والتحقق من النشر، وإتمام الاختبار. مخرجات الاختبار: النتائج والعيوب وتقارير الحالة ومدخلات قرار الإطلاق وتقرير الإتمام. المستوى: النظام والقبول، وفحص دخان في الإنتاج.
  • التشغيل — مُخرَج التطوير: النظام العامل وتغييراته. أنشطة الاختبار: اختبار الصيانة والانحدار للإصلاحات، ومراجعة إشارات الإنتاج. مخرجات الاختبار: حزمة انحدار محدَّثة ودروس مستفادة. المستوى: أي مستوى يمسّه التغيير.
SDLC phase      | Development output          | Test activities (STLC ~ ISTQB)              | Test work products                 | Test level
----------------|-----------------------------|---------------------------------------------|------------------------------------|---------------------------
Requirements    | Stories, specs, NFRs        | Requirement analysis ~ test analysis;       | Review findings, test conditions,  | Acceptance (planned)
                |                             | test planning starts                        | risk list, draft test plan         |
Design          | Architecture, API contracts,| Analysis and design for integration and     | Integration test conditions,       | Integration, system
                | UI designs                  | system levels; environment needs identified | environment requirements           | (planned)
Implementation  | Code, unit tests, builds    | Test design and implementation; test data;  | Test cases, scripts, data,         | Component (developers)
                |                             | environment set-up; automated checks;       | automated checks                   |
                |                             | static analysis in CI                       |                                    |
Integration     | Integrated build            | Deploy to test env; smoke and integration   | Test logs, defect reports          | Component integration,
                |                             | test execution                              |                                    | system integration
Release         | Release candidate, then     | System, regression and acceptance           | Results, defects, status reports;  | System, acceptance;
                | deployed version            | execution; monitoring and control;          | go/no-go input, completion report  | smoke in production
                |                             | exit-criteria evaluation; deployment        |                                    |
                |                             | verification; test completion               |                                    |
Operation       | Running system, changes     | Maintenance and regression testing for      | Updated regression suite,          | Whatever the change touches
                |                             | fixes; review of production signals         | lessons learned                    |

جرّبها: المتطلبات ← حالات اختبار

الإزاحة لليسار والإزاحة لليمين في الاختبار

الإزاحة لليسار (Shift-left) تعني نقل أنشطة الاختبار إلى وقت أبكر في دورة الحياة حتى تُكتشف العيوب حين يكون إصلاحها أرخص. يصف CTFL الإصدار 4.0 هذا النهج ويذكر ممارسات نموذجية: مراجعة المواصفات من منظور المختبِر، وكتابة حالات الاختبار قبل كتابة الكود، واستخدام التكامل المستمر (Continuous integration) للحصول على تغذية راجعة سريعة، وإجراء التحليل الساكن قبل الاختبار الديناميكي، والبدء بالاختبار غير الوظيفي على مستوى المكوّن حيثما أمكن. ويشير المنهج أيضاً إلى جانب الكلفة: قد تتطلب الإزاحة لليسار تدريباً أو جهداً أو كلفة إضافية في بداية المشروع يُتوقع أن توفّر جهداً لاحقاً. والإزاحة لليسار ممارسة راسخة.

والإزاحة لليمين (Shift-right) تعني مدّ الاختبار والمراقبة إلى بيئة الإنتاج: إطلاق التغيير لنسبة صغيرة من الحركة أولاً ومقارنته بخط الأساس (الإطلاق الكناري Canary release كما يصفه كتاب SRE العملي من Google)، وإخفاء الميزات غير المكتملة خلف أعلام الميزات (Feature flags)، وتشغيل فحوص اصطناعية على نقاط النهاية الحية، ومراقبة معدلات الخطأ وزمن الاستجابة بعد كل نشر. الإطلاق الكناري ومراقبة الإنتاج ممارسة راسخة في الفرق التي تنشر باستمرار؛ أما تجارب حقن الأعطال المضبوطة في الإنتاج (وتُسمى غالباً هندسة الفوضى Chaos engineering) فتذهب خطوة أبعد.

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

  • أمثلة على الإزاحة لليسار — مراجعة معايير القبول قبل تخطيط السبرنت؛ وكتابة اختبارات عقد الواجهة من مستند OpenAPI قبل وجود نقطة النهاية؛ وفحوص الوحدة والفحوص الساكنة على كل طلب دمج (Pull request).
  • أمثلة على الإزاحة لليمين — إطلاق كناري على 5% من الحركة مع تراجع تلقائي إذا ارتفع معدل الخطأ فوق خط الأساس؛ وفحص اصطناعي لتسجيل الدخول كل دقيقة؛ وفحص صحة بعد النشر لكل الواجهات البرمجية العامة.

جرّبها: مولّد معايير القبول

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

يحدد نموذج دورة الحياة متى يمكن أن تجري أنشطة الاختبار، وكم يُوثَّق منها، وما أكبر مخاطر الاختبار. أنشطة الاختبار نفسها — التحليل والتصميم والتنفيذ والإتمام — موجودة في كل نموذج؛ وما يتغير هو توقيتها ودرجة تفصيلها.

  • التتابعي (الشلالي Waterfall) — تجري المراحل بالترتيب وتنتهي كل مرحلة قبل أن تبدأ التالية. يتركّز الاختبار الديناميكي في مرحلة اختبار بعد التنفيذ؛ ويُنجَز تخطيط الاختبار وتوثيقه مسبقاً وبصورة رسمية عادةً. والخطر الرئيسي هو التأخر: عيوب المتطلبات تُكتشف بعد أشهر من كتابتها، وحين يتجاوز التطوير موعده تكون مرحلة الاختبار هي التي تُضغط. والعلاج إجراء الاختبار الساكن (Static testing) — مراجعات المتطلبات والتصميم — في المراحل المبكرة حتى لو انتظر الاختبار الديناميكي.
  • نموذج V (V-model) — ما زال تتابعياً، لكنه يقرن كل مستوى تطوير بمستوى اختبار: المتطلبات مع اختبار القبول، ومواصفة النظام مع اختبار النظام، والتصميم المعماري مع اختبار التكامل، والتصميم التفصيلي مع اختبار المكوّن. يبدأ تحليل الاختبار وتصميمه لكل مستوى بمجرد إنتاج نظيره في التطوير، وهذا شكل مبكر من الإزاحة لليسار؛ أما التنفيذ فيظل على الجانب الأيمن من حرف V بعد وجود الكود.
  • التكراري والتزايدي (Iterative and incremental) — يُبنى المنتج على زيادات، وتمر كل زيادة بتصميمها وبنائها واختبارها. يتكرر الاختبار في كل دورة، فتصبح حزمة الانحدار المتنامية الكلفة الرئيسية؛ ودون أتمتة تنفق كل دورة وقتاً أطول في إعادة فحص السلوك القديم ووقتاً أقل في الجديد.
  • الرشيق / Scrum — يعرّف دليل Scrum سبرنتات مدتها شهر أو أقل، وزيادة (Increment) يجب أن تستوفي تعريف الإنجاز (Definition of Done)، وثلاث مسؤوليات (مالك المنتج، وScrum Master، والمطورون) دون دور منفصل للمختبِر: كل من يصنع الزيادة هو «مطوّر»، فالاختبار مسؤولية الفريق كله داخل السبرنت. التوثيق أخف، ومعايير القبول وتعريف الإنجاز تعمل كمعايير خروج، وممارسات الاختبار أولاً (TDD وATDD وBDD) شائعة. والخطر الرئيسي أن تُعدّ القصة «منجزة» قبل أن يكتمل اختبارها، ولذلك يُدرَج الاختبار في تعريف الإنجاز. وتساعد أرباع الاختبار الرشيق (Agile testing quadrants) — التي عرّفها بريان ماريك (Brian Marick) ووصفتها ليزا كريسبن وجانيت غريغوري في كتابهما Agile Testing — الفريقَ على التأكد من حضور الاختبار الموجّه للأعمال والموجّه للتقنية، اليدوي والآلي.
  • DevOps والتسليم المستمر — يمر كل تغيير عبر خط CI/CD يبني وينشر ويشغّل الاختبارات الآلية، فيصبح خط التكامل المحرك الرئيسي لتنفيذ الاختبار وتقيم فيه بوابات الجودة (Quality gates). الإصدارات صغيرة ومتكررة، ما يخفض مخاطر كل منها، وتُغلق مراقبة الإنتاج الحلقة. ويُعدّ مقياسا DORA — نسبة فشل التغييرات (Change fail rate) وزمن التعافي من النشر الفاشل — إشارتين مفيدتين على أداء الاختبار داخل الخط. ويشير CTFL الإصدار 4.0 إلى أن الاختبار اليدوي من منظور المستخدم يظل مطلوباً، وأن خط التكامل نفسه يجب أن يُبنى ويُصان. والخطر الرئيسي هنا خط بطيء أو متذبذب النتائج (Flaky) ونقاط عمياء لا تصلها الفحوص الآلية؛ ويصبح سجل الخط نفسه هو التوثيق، والممارسة المحورية حزم اختبار سريعة مع مراقبة الإنتاج.
Model          | When dynamic testing runs        | Documentation      | Main testing risk                     | Key practice
---------------|----------------------------------|--------------------|---------------------------------------|------------------------------
Waterfall      | After implementation, one phase  | Formal, up front   | Requirement defects found late;       | Early reviews of requirements
               |                                  |                    | test phase squeezed                   | and design
V-model        | Per level, right side of the V   | Formal, per level  | Execution still late                  | Design tests per level early
Iterative      | Every iteration                  | Moderate           | Regression effort grows each round    | Automate regression
Scrum          | Inside every Sprint              | Light, just enough | "Done" without testing done           | Testing in Definition of Done
DevOps / CD    | On every change, in the pipeline | Pipeline as record | Slow or flaky pipeline; blind spots   | Fast suites + monitoring

معايير الدخول والخروج عبر دورة الحياة

تحدد معايير الدخول (Entry criteria) الشروط المسبقة لبدء نشاط ما؛ وتحدد معايير الخروج (Exit criteria) ما يجب تحقيقه قبل إعلان اكتماله. ويشير CTFL الإصدار 4.0 إلى أن معايير الخروج تُسمى غالباً في الفرق الرشيقة تعريف الإنجاز (Definition of Done)، وأن معايير الدخول لقصة المستخدم تُسمى تعريف الجاهزية (Definition of Ready). يقدّم الدليل المحوري لضمان الجودة الشامل النظرة العامة، وتقدّم صفحة دورة حياة الاختبار معايير كل مرحلة من مراحل STLC؛ أما على مستوى SDLC فالبوابات المفيدة هي نقاط التسليم بين مراحل التطوير:

  • المتطلبات ← التصميم — لكل قصة ضمن النطاق معايير قبول تشمل مسارات الخطأ؛ ومراجعة الغموض منجزة؛ وللأسئلة المفتوحة مالك وتاريخ.
  • التصميم ← التنفيذ — عقود الواجهات البرمجية منشورة؛ والأهداف غير الوظيفية أرقام لا صفات؛ واحتياجات بيئة الاختبار متفق عليها.
  • التنفيذ ← التكامل — البناء أخضر؛ واختبارات الوحدة ناجحة؛ والتحليل الساكن لا يُظهر نتائج حرجة جديدة؛ والتغيير خضع لمراجعة الكود.
  • التكامل ← الإصدار — المرشّح للإصدار (Release candidate) يُنشر في بيئة الاختبار؛ وحزمة الدخان تجتاز؛ وخط أساس بيانات الاختبار محمَّل. وهذه بوابة الدخول إلى اختبار النظام واختبار القبول على المرشّح للإصدار.
  • داخل مرحلة الإصدار، من المرشّح للإصدار إلى الإنتاج (قرار الإطلاق أو عدمه Go/no-go) — الاختبارات المخططة نُفّذت أو استُبعدت صراحةً؛ ولا عيوب حاجبة أو حرجة مفتوحة؛ وحزمة الانحدار خضراء؛ والمخاطر المتبقية مقبولة كتابياً من مالك المنتج.
  • الإصدار ← التشغيل — التحقق من النشر اجتاز؛ ولوحات المراقبة والتنبيهات موجودة للسلوك الجديد؛ والتراجع جُرِّب مسبقاً.

مثال تطبيقي: ميزة واحدة عبر الدورتين

على سبيل المثال، يضيف متجر إلكتروني افتراضي في الرياض خيار «الدفع على 4 أقساط» عند إتمام الشراء للطلبات بين 200 و5,000 ريال، عبر مزوّد أقساط خارجي. إليك ما يفعله الاختبار في كل مرحلة من مراحل SDLC.

  • المتطلبات — تطرح مراجعة المختبِر ثلاثة أسئلة لم تُجب عنها القصة: كيف يُقسَّم مبلغ 999.99 ريال على أربع دفعات (ومن يتحمّل الهللة الناتجة عن التقريب)؟ وماذا يرى المتسوّق إذا رفض المزوّد؟ وكيف يُعالَج الاسترداد الجزئي بعد دفع قسطين؟ تتحول الإجابات إلى معايير قبول.
  • التصميم — يُراجَع عقد الواجهة البرمجية للمزوّد؛ ويطلب المختبِر حساباً في بيئة التجربة (Sandbox) ومحاكاة لاستجابتي الرفض وانتهاء المهلة، وقاعدة تحدد كم تنتظر صفحة الدفع قبل أن تتوقف.
  • التنفيذ — تُصمَّم حالات الاختبار بالقيم الحدّية (199.99 و200.00 و5,000.00 و5,000.01)، وبفئات تكافؤ لاستجابات المزوّد (موافقة، رفض، انتهاء مهلة، استجابة مشوّهة)، وبترتيب للمخاطر يضع الدفع والاسترداد أولاً؛ وتُؤتمت فحوص الواجهة البرمجية كلما ظهرت نقاط النهاية.
  • التكامل — تُنفَّذ الاختبارات على بيئة تجربة المزوّد: موافقة، ورفض، ومهلة 30 ثانية، واستدعاء راجع (Callback) مكرر. ويُكتشف عيب: «الطلب يبقى في حالة PENDING إلى الأبد عندما يصل استدعاء المزوّد مرتين».
  • الإصدار — انحدار كامل لمسار الدفع، وتقييم معايير الخروج (لا عيوب حرجة مفتوحة، وكل شروط المخاطر العالية ناجحة)، ثم الإطلاق لـ 5% من الحركة أولاً مع مراقبة معدل أخطاء الأقساط مقارنةً بخط أساس الدفع بالبطاقة.
  • التشغيل — يُظهر الإنتاج نسبة صغيرة من انتهاء مهلة المزوّد في ساعات الذروة؛ فيضيف المختبِر اختبار انحدار لمسار إعادة المحاولة وفحص مراقبة لمعدل انتهاء المهلة.

جرّبها: تحليل القيم الحدّية جرّبها: مولّد الاختبار المبني على المخاطر جرّبها: مولّد سيناريوهات الانحدار

خريطة هذا الموضوع وإلى أين تتجه بعدها

هذا الدليل المحوري هو نقطة الدخول لأسئلة دورة الحياة. تتناول صفحة دورة حياة اختبار البرمجيات كل مرحلة من مراحل STLC بعمق — المهام ومخرجات العمل ومعايير الدخول والخروج لكل مرحلة — وتقابلها بعملية الاختبار في ISTQB وبالمعيار ISO/IEC/IEEE 29119-2. وتغطي أدلة محورية أخرى الموضوعات المجاورة: الاختبار الساكن والمراجعات (كيف تُراجع المتطلبات والتصاميم قبل تشغيل أي كود)، واستراتيجية الاختبار وتخطيطه والاختبار المبني على المخاطر (كيف يُقرَّر الجهد ويُرتَّب)، ودورة حياة العيب وفرزه (ما يحدث للعيب بعد الإبلاغ عنه)، والاختبار في CI/CD مع اختبارات الدخان والسلامة (Sanity) والانحدار والتحقق من النشر (كيف تجري الدورة داخل خط التكامل).

وللصورة الشاملة لمستويات الاختبار وأنواعه وبوابات الإصدار، راجع الدليل المحوري لضمان الجودة الشامل؛ ولما يُؤتمت وما يبقى يدوياً، راجع مقارنة الاختبار اليدوي والآلي. وهذه مراجعة ذاتية قصيرة لأي فريق:

  • يراجع المختبِرون المتطلبات قبل بدء التطوير، لا بعد أول بناء.
  • لكل مرحلة تطوير نشاط اختبار مسمّى ومالك.
  • توجد معايير دخول وخروج لنقاط التسليم، وتجاوز أي معيار قرار صريح ومسجَّل.
  • تعمل حزمة الانحدار تلقائياً على كل بناء مدمج.
  • تُراجع إشارات الإنتاج بعد كل إصدار، ويتحول كل عيب متسرّب إلى اختبار انحدار.

الأسئلة الشائعة

ما الفرق بين SDLC وSTLC؟

SDLC هي العملية الكاملة لبناء البرمجيات وتشغيلها — المتطلبات والتصميم والتنفيذ والتكامل والإصدار والتشغيل. وSTLC هي تسلسل أنشطة الاختبار داخلها — تحليل المتطلبات وتخطيط الاختبار وتطوير الحالات وتجهيز البيئة والتنفيذ والإغلاق. تنتج SDLC المنتج؛ وتنتج STLC الدليل على جودته.

هل STLC جزء من SDLC؟

نعم. تجري STLC داخل SDLC وبالتوازي معها: يبدأ تحليل الاختبار مع المتطلبات، وتصميم الاختبار مع التصميم والتنفيذ، والتنفيذ مع التكامل والإصدار، ويستمر اختبار الصيانة أثناء التشغيل. وليست مرحلة تبدأ بعد انتهاء التطوير.

هل يستخدم ISTQB مصطلح STLC؟

لا. STLC مصطلح صناعي. ويصف منهج ISTQB CTFL الإصدار 4.0 عملية اختبار من سبع مجموعات أنشطة — تخطيط الاختبار، ومتابعته والتحكم فيه، وتحليله، وتصميمه، وتهيئته، وتنفيذه، وإتمامه — تغطي العمل نفسه بأسماء وحدود مختلفة.

متى يجب أن يبدأ الاختبار في SDLC؟

بمجرد وجود مُخرَج عمل يمكن مراجعته — وهو عادةً المسودة الأولى للمتطلبات. مراجعة المتطلبات والتصاميم اختبار ساكن؛ يكشف الغموض والحالات الناقصة قبل كتابة أي كود، وهو الوقت الذي يكون فيه إصلاحها أرخص.

كيف يختلف الاختبار في المنهج الرشيق عنه في الشلالي؟

في الشلالي يتركّز الاختبار الديناميكي في مرحلة بعد التنفيذ، مع توثيق رسمي مخطط مسبقاً. وفي Scrum يجري الاختبار داخل كل سبرنت كمسؤولية للفريق كله، والتوثيق أخف، ويعمل تعريف الإنجاز كمعايير خروج. وأتمتة الانحدار أهم بكثير في المنهج الرشيق لأن السلوك نفسه يُعاد فحصه في كل سبرنت.

ما الفرق بين الإزاحة لليسار والإزاحة لليمين في الاختبار؟

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

من المسؤول عن الاختبار في Scrum؟

فريق Scrum كله. لا يتضمن دليل Scrum مسؤولية منفصلة للمختبِر: المطورون يصنعون زيادة قابلة للاستخدام تستوفي تعريف الإنجاز، والاختبار جزء من ذلك. وما زالت فرق كثيرة تضم متخصصين في الاختبار بين المطورين، يقودون تحليل الاختبار والاختبار الاستكشافي وجودة الحزمة الآلية.

المراجع

تمرين عملي

تتبّع مشكلات ميزة مصرفية إلى مراحل SDLC

المطلوب

انضممت إلى فريق ضمان الجودة في بنك افتراضي أطلق تطبيقه للجوال للتو ميزة «التحويلات المجدولة». بُنيت الميزة في مشروع تتابعي (شلالي Waterfall)، ولم يُشرَك المختبِرون إلا منذ أول بناء (Build). يرصد سجل المشروع أدناه خمس مشكلات من P1 إلى P5. ويطلب منك قائد الفريق مراجعة لاحقة قصيرة (Retrospective): أين كان ينبغي للاختبار أن يكتشف كل مشكلة، وماذا كان ينبغي للاختبار أن يفعل في كل مرحلة من مراحل SDLC؟

استعن بخريطة المقابلة بين SDLC وSTLC وبمعايير الدخول والخروج في هذا الدليل. سمِّ كل نشاط اختبار باسمه الشائع في STLC وباسم نشاط عملية الاختبار في منهج ISTQB CTFL الإصدار 4.0. تكفيك الورقة والقلم، وخصّص للتمرين نحو 30 دقيقة.

المادة
المشروع: «التحويلات المجدولة» في تطبيق الجوال لبنك افتراضي
النموذج: تتابعي (شلالي)، وموعد الإطلاق محدد مسبقاً

الأسابيع من 1 إلى 3 — المتطلبات
  القصة: «يستطيع العميل جدولة تحويل لمرة واحدة أو تحويل شهري إلى مستفيد محفوظ.
  يُنفَّذ التحويل في التاريخ المختار». يعتمدها قسم الأعمال.
  لا يُدعى فريق ضمان الجودة.

الأسابيع من 4 إلى 6 — التصميم
  ستستدعي خدمة الدفع النظام المصرفي الأساسي (Core banking)، وهو لا ينفّذ
  التحويلات إلا في أيام العمل (من الأحد إلى الخميس، باستثناء العطل الرسمية).
  يُكتب عقد الواجهة البرمجية. لا مراجعة من ضمان الجودة.

الأسابيع من 7 إلى 12 — التنفيذ
  يُكتب الكود، ويكتب المطورون اختبارات وحدة لحساب «تاريخ التنفيذ التالي».

الأسبوع 13 — التكامل
  يستلم فريق ضمان الجودة أول بناء ويبدأ كتابة حالات الاختبار.

الأسبوع 14 — اختبار النظام
  المشكلة P1: تحويل لمرة واحدة بتاريخ يوم جمعة لا يُنفَّذ أبداً، ولا تظهر أي رسالة.
  المشكلة P2: تحويل شهري محدد بيوم 31 يُتخطّى في الأشهر ذات 30 يوماً وفي فبراير.
  المشكلة P3: إذا لم يكفِ الرصيد في تاريخ التنفيذ لا يتم التحويل،
  ولا يُبلَّغ العميل بشيء.
  المشكلة P4: لا يوجد في بيئة الاختبار بديل محاكٍ (Stub) للنظام المصرفي الأساسي،
  فتبقى كل الاختبارات التي تنفّذ تحويلاً معطّلة ثلاثة أيام.
  يُصلَح P1 (تنتقل تواريخ الجمعة والسبت إلى الأحد التالي) ويُعاد اختباره.
  يبقى P2 وP3 مفتوحين بخطورة «ثانوي (Minor)».

الأسبوع 15 — الإصدار
  موعد الإطلاق ثابت، فيتوقف الاختبار. لم يُتفق قط على معايير خروج.

الأسبوع 18 — التشغيل
  المشكلة P5: التحويلات المؤرخة بيوم عطلة رسمية لا تُنفَّذ ولا يُبلَّغ العملاء.
  وتصل الشكاوى إلى مركز الاتصال.
الخطوات
  1. لكل مشكلة من P1 إلى P5، سمِّ مرحلة SDLC التي وقع فيها الخطأ الذي أدى إليها، وأبكر مرحلة في SDLC كان يمكن فيها لنشاط اختبار أن يكتشفها.
  2. لكل مشكلة، سمِّ نشاط الاختبار ذاك (باسمه في STLC واسمه في ISTQB)، وبيّن هل هو اختبار ساكن (مراجعة) أم اختبار ديناميكي (تشغيل البرنامج)؛ وفي الاختبار الديناميكي أضف مستوى الاختبار.
  3. أعد كتابة اختبار المشروع مرحلةً مرحلة من المتطلبات إلى التشغيل: نشاط أو نشاطان للاختبار في كل مرحلة، ومُخرَج الاختبار الذي ينتجه كل منهما. ميّز ما يُعدّ إزاحة لليسار (Shift-left) وما يُعدّ إزاحة لليمين (Shift-right)، واذكر ما يفعله فريق ضمان الجودة الآن بشأن P5.
  4. اكتب معايير الخروج التي كان ينبغي أن يستند إليها قرار الإطلاق أو عدمه (Go/no-go) في الأسبوع 15، وبيّن أيّها تحقق، واذكر التوصية التي كان ينبغي أن يقدمها الاختبار.
إظهار الإجابة النموذجية
الإجابة النموذجية

الخيط المشترك: لم يراجع أي مختبِر القصة، فلم تصل ثغراتها — أيام غير العمل (وقاعدتها معروفة في التصميم)، ونهايات الأشهر، ومسار عدم كفاية الرصيد — إلى المتطلب ولا إلى معايير قبوله. فالمشكلات P1 وP2 وP3 وP5 تبدأ من عيوب في أساس الاختبار (Test basis)، وكان يمكن للاختبار الساكن أن يكشفها قبل كتابة أي كود. وبدقة مصطلحات ISTQB: ما رآه المختبِرون من P1 وP2 وP3 في الأسبوع 14 إخفاقات (Failures)، أما العيوب التي سببتها فكانت في القصة وفي الكود. ويُظهر السجل أيضاً الخطرين اللذين يذكرهما الدليل للنموذج التتابعي: عيوب متطلبات تُكتشف متأخرة، ومرحلة اختبار تُضغط.

P1 (تحويل الجمعة لا يُنفَّذ). وقع الخطأ في مرحلة المتطلبات: تقول القصة «يُنفَّذ في التاريخ المختار» دون قاعدة لغير أيام العمل، وتكرر في التصميم حين عُرف قيد النظام المصرفي الأساسي ولم يُضَف إلى القصة. أبكر اكتشاف: في مرحلة المتطلبات بمراجعة القصة، وهي تحليل المتطلبات بلغة STLC وتحليل الاختبار (Test analysis) بلغة ISTQB؛ اختبار ساكن. والسؤال الذي يُطرح: «ماذا يحدث إذا لم يكن التاريخ المختار يوم عمل؟». وكانت مراجعة عقد الواجهة البرمجية في الأسابيع من 4 إلى 6 فرصة ثانية، وهي ساكنة أيضاً. أما الاختبار الديناميكي الذي يكشفه فاختبار نظام بتاريخ يوم جمعة.

P2 (يوم 31 يُتخطّى في الأشهر الأقصر). وقع الخطأ في المتطلبات، إذ لا تعرّف القصة «شهرياً» للأيام التي لا توجد في كل شهر، وتكرر في التنفيذ حين سدّ المطورون الثغرة باختيارهم بدلاً من طرح السؤال، فصارت اختبارات الوحدة لديهم تتحقق من ذلك الاختيار لا من قاعدة متفق عليها. أبكر اكتشاف: مراجعة المتطلبات (تحليل المتطلبات ≈ تحليل الاختبار؛ اختبار ساكن) بسؤال: «ماذا يحدث لتحويل شهري يوم 29 أو 30 أو 31 في شهر أقصر؟». والفرصة التالية في التنفيذ عند تطوير حالات الاختبار (≈ تصميم الاختبار): فحالة اختبار بيوم 31 في شهر من 30 يوماً، أو بفبراير في سنة كبيسة أو غير كبيسة، تحتاج إلى نتيجة متوقعة، وكتابتها تفرض السؤال الذي تركته القصة مفتوحاً. وهذه اختبارات ديناميكية: اختبارات مكوّن ضمن اختبارات الوحدة لدى المطورين، ثم اختبارات نظام حين يتوفر البناء.

P3 (تحويل لا يتم بصمت عند عدم كفاية الرصيد). وقع الخطأ في المتطلبات: مسار الخطأ غائب، ولا يُذكر أي إشعار. أبكر اكتشاف: مراجعة المتطلبات (اختبار ساكن؛ تحليل المتطلبات ≈ تحليل الاختبار)، وينتج عنها معيار قبول مثل: «إذا لم يكفِ الرصيد في تاريخ التنفيذ لا يُنفَّذ التحويل ويُشعَر العميل». ثم تأتي الفحوص الديناميكية في اختبار النظام واختبار القبول بحساب رصيده منخفض. وتسجيل P3 بخطورة ثانوي (Minor) يقلل من شأنه: دفعة لا تتم دون علم العميل تمسّ أمواله، فخطورته رئيسي (Major) على الأقل، ومكانه نقاش قرار الإطلاق.

P4 (لا بديل محاكياً للنظام المصرفي الأساسي). ليس عيباً في المنتج بل ثغرة في تخطيط الاختبار. وقع الخطأ في التصميم: لم يحدد أحد احتياجات بيئة الاختبار. أبكر اكتشاف: في التصميم، حين تُراجَع البنية المعمارية من حيث قابلية الاختبار («هل تعمل خدمة الدفع مع بديل محاكٍ للنظام المصرفي الأساسي؟») وتُسجَّل احتياجات البيئة في خطة الاختبار. مراجعة التصميم اختبار ساكن؛ وتخطيط الاختبار (بالاسم نفسه في STLC وISTQB) نشاط إداري، ولا يُشغَّل أي برنامج في أيّ منهما. ثم يُبنى البديل المحاكي في مرحلة التنفيذ (تجهيز بيئة الاختبار ≈ جزء البيئة من تهيئة الاختبار)، ويصبح توفره معيار دخول لاختبار التكامل.

P5 (العطل الرسمية). الخطأ نفسه الذي وراء P1، ووقع في المتطلبات؛ أما الإصلاح المستعجل للمشكلة P1 فغطى عطلة نهاية الأسبوع وحدها. أبكر اكتشاف: مراجعة المتطلبات نفسها التي كانت ستكشف P1 (اختبار ساكن). وآخر فرصة قبل الإصدار كانت في الأسبوع 14 عند إصلاح P1: أكّد المختبِر حالة الجمعة (اختبار التأكيد Confirmation testing) ولم يسأل عن أيام غير العمل الأخرى. وكان ينبغي لتحليل الاختبار لحالة «تاريخ التنفيذ ليس يوم عمل» أن ينتج شرطَي اختبار: تاريخاً في عطلة نهاية الأسبوع وتاريخاً في عطلة رسمية، ولكل منهما اختباره؛ والاختبار الديناميكي الذي يكشف P5 اختبار نظام بتاريخ عطلة رسمية. ولأن P5 وصل إلى الإنتاج فهو عيب متسرّب.

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

المتطلبات (الأسابيع من 1 إلى 3): تحليل المتطلبات ≈ تحليل الاختبار. مراجعة القصة (اختبار ساكن) وطرح الأسئلة عن أيام غير العمل ونهاية الشهر وعدم كفاية الرصيد والإشعارات، وتحويل الإجابات إلى معايير قبول، وحصر مخاطر المنتج (مال يُحوَّل في يوم خاطئ أو لا يُحوَّل أصلاً)، وبدء تخطيط الاختبار. المخرجات: ملاحظات المراجعة، ومعايير القبول، وشروط الاختبار، وقائمة المخاطر، ومسودة خطة الاختبار.

التصميم (الأسابيع من 4 إلى 6): تحليل المتطلبات ≈ تحليل الاختبار، ومادته الآن وثائق التصميم لمستويي التكامل والنظام، ومعه تخطيط الاختبار للبيئة. مراجعة عقد الواجهة البرمجية والبنية المعمارية من حيث قابلية الاختبار (اختبار ساكن). بماذا يردّ النظام المصرفي الأساسي على تحويل في غير يوم عمل أو مع رصيد غير كافٍ؟ هل يمكن أن تستخدم بيئة الاختبار بديلاً محاكياً له؟ هل يستطيع المختبِر ضبط تاريخ النظام لمحاكاة تاريخ تنفيذ مستقبلي؟ وتُسجَّل احتياجات البيئة في خطة الاختبار. المخرجات: شروط اختبار التكامل، ومتطلبات البيئة (البديل المحاكي، وتاريخ قابل للضبط، وبيانات اختبار لقائمة العطل).

التنفيذ (الأسابيع من 7 إلى 12): تطوير حالات الاختبار ≈ تصميم الاختبار وتهيئته. حالات اختبار لكل نوع من التواريخ (يوم عمل، وعطلة نهاية الأسبوع، وعطلة رسمية، والأيام 29 و30 و31 في الأشهر الأقصر، وفبراير في السنة الكبيسة وغير الكبيسة) ولعدم كفاية الرصيد؛ وبيانات الاختبار (حسابات برصيد منخفض، ومستفيدون محفوظون)؛ وتجهيز بيئة الاختبار مع البديل المحاكي؛ واختبارات وحدة لدى المطورين تشمل نهايات الأشهر. المخرجات: حالات الاختبار، وبيانات الاختبار، والبديل المحاكي، والفحوص الآلية.

التكامل (الأسبوع 13): تنفيذ الاختبار (بالاسم نفسه في STLC وISTQB). نشر البناء المدمج في بيئة الاختبار، وتشغيل اختبار الدخان (Smoke)، ثم اختبارات التكامل بين خدمة الدفع والبديل المحاكي (قبول التحويل، ورفضه لأن التاريخ ليس يوم عمل، ورفضه لعدم كفاية الرصيد). المخرجات: سجلات الاختبار وتقارير العيوب.

الإصدار (الأسبوعان 14 و15، وإلى هذه المرحلة ينتمي أسبوع «اختبار النظام» في السجل): تنفيذ الاختبار، ومتابعة الاختبار والتحكم فيه، وإغلاق دورة الاختبار ≈ إتمام الاختبار. اختبار النظام واختبار القبول على المرشّح للإصدار، مع تحقق قسم الأعمال من معايير القبول؛ واختبار التأكيد لكل إصلاح يليه اختبار الانحدار لمسار الجدولة والتحويل؛ ومتابعة التقدم مقابل الخطة والتحكم فيه؛ وتقييم معايير الخروج وتقرير إتمام الاختبار مدخلاً لقرار الإطلاق أو عدمه؛ والتحقق من النشر مباشرة بعد الإطلاق. المخرجات: نتائج الاختبار، وتقارير العيوب، وتقارير الحالة، ومدخلات قرار الإطلاق، وتقرير إتمام الاختبار.

التشغيل (من الأسبوع 16 فصاعداً): مراجعة إشارات الإنتاج: مقارنة يومية بين التحويلات المجدولة المستحقة وما نُفّذ منها أو أُرسل إشعاره (إزاحة لليمين)، وشكاوى العملاء. وبشأن P5: تقرير عيب يذكر تاريخ العطلة والنتيجة المتوقعة والنتيجة الفعلية؛ واختبار التأكيد للإصلاح بتواريخ عطل؛ واختبار انحدار لمسار الجدولة؛ واختبار انحدار دائم للعطل؛ واختبار الصيانة (Maintenance testing) كلما تغيرت قائمة العطل. فبعض العطل الرسمية تتبع التقويم الهجري، فتتغير تواريخها الميلادية كل سنة، والقائمة بيانات يجب تحديثها. المخرجات: تقارير العيوب، وحزمة انحدار محدَّثة، ودروس مستفادة.

معايير الخروج لقرار الإطلاق أو عدمه في الأسبوع 15، ومدى تحققها: (1) نُفّذت كل الاختبارات المخططة أو استُبعدت بقرار مسجَّل — لم يتحقق: تعطلت الاختبارات ثلاثة أيام ثم توقف الاختبار ببساطة. (2) لا عيوب حاجبة (Blocker) أو حرجة (Critical) مفتوحة، وكل عيب رئيسي مفتوح مقبول كتابياً من مالك المنتج — لم يتحقق في جوهره: P2 وP3 مفتوحان ومسجّلان بخطورة ثانوي مع أن كليهما يعني دفعة لا تتم. (3) نجحت كل شروط الاختبار عالية المخاطر: تواريخ عطلة نهاية الأسبوع والعطل الرسمية، ونهايات الأشهر، والرصيد المنخفض — لم يتحقق: لم تُختبر العطل قط، وP2 وP3 مفتوحان. (4) حزمة الانحدار خضراء على المرشّح للإصدار بعد آخر إصلاح — لم يتحقق: لم يخضع إصلاح P1 إلا لاختبار التأكيد. (5) المخاطر المتبقية مقبولة كتابياً، ووسيلة لإيقاف الميزة جاهزة (علَم ميزة Feature flag أو تراجع Rollback) — غير مسجَّل.

التوصية: عدم إطلاق التحويلات المجدولة في الأسبوع 15. لا يملك المختبِرون قرار الإصدار، فهو لمالك المنتج وقسم الأعمال، لكن مدخلات الاختبار يجب أن تقول بوضوح إن أياً من معايير الخروج لم يتحقق، وأن تسمّي المخاطر المتبقية: أموال لا تُحوَّل في التاريخ المتوقع، وعملاء لا يُبلَّغون. ومن الخيارات المعقولة: تأجيل الميزة، أو إطلاق التطبيق مع إيقاف التحويلات المجدولة خلف علَم ميزة حتى يُصلَح P2 وP3 وتُختبر تواريخ العطل.

لتقييم إجابتك: إذا جعلت أبكر فرصة لاكتشاف P1 وP2 وP3 وP5 مراجعةً ساكنة في مرحلة المتطلبات، وأبكر فرصة لاكتشاف P4 تخطيطَ الاختبار في مرحلة التصميم، فقد أمسكت بالفكرة الأساسية لهذا الدليل: كل مُخرَج من مخرجات التطوير يغذّي الاختبار: فالمتطلبات والتصاميم وعقود الواجهات البرمجية أساس الاختبار (Test basis)، والبناءات والنظام العامل موضوع الاختبار (Test object)؛ ويبدأ الاختبار بمجرد وجود المسودة الأولى للمتطلبات.

تقدّمك في هذا الموضوع

جزء من مسار تعلم ضمان الجودة

الأدوات المذكورة في هذا الدليل

اعثر على المتطلبات المفقودة — معالجة الأخطاء والصلاحيات والظروف الحدّية والاحتياجات غير الوظيفية — باستخدام الذكاء الاصطناعي من متقن.

تحليل المتطلبات ذكاء اصطناعي

ولّد معايير قبول بصيغة Given/When/Then وقائمة تحقق لتعريف الإنجاز (Definition of Done) من قصة مستخدم.

تصميم الاختبارات

حوّل قائمة متطلبات مرقّمة إلى حالات اختبار قابلة للتتبّع مع مصفوفة تربط المتطلبات بالاختبارات.

تصميم الاختبارات

نفّذ تحليلاً كاملاً للقيم الحدّية (ثنائي القيم وثلاثي القيم) مع فئات التكافؤ والنتائج المتوقّعة.

تصميم الاختبارات

كيف تساعدك متقن سوفت

أدلة أخرى

أدلة أخرى
تصميم الاختبارات

دورة حياة اختبار البرمجيات (STLC)

مراحل STLC واحدة تلو الأخرى — التحليل والتخطيط والتصميم والبيئة والتنفيذ والإغلاق — مقابل عملية الاختبار في ISTQB، مع معايير الدخول والخروج لكل مرحلة.

وقت القراءة 12 دقائق
تصميم الاختبارات

ضمان جودة المنتج من البداية إلى النهاية

ما الذي يشمله ضمان الجودة الشامل — مراجعة المتطلبات وتصميم الاختبارات والاختبار الوظيفي واختبار الأداء والأمان وبوابات الإصدار والمقاييس — وكيف تنفّذه.

وقت القراءة 8 دقائق
تصميم الاختبارات

الاختبار الساكن

شرح الاختبار الساكن: الفرق بينه وبين الاختبار الديناميكي، والمراجعات والتفتيش، وأدوات التحليل الساكن وحدودها، وكيف تكتشف العيوب مبكراً.

وقت القراءة 13 دقائق
تصميم الاختبارات

استراتيجية الاختبار: دليل عملي

ما استراتيجية الاختبار، وكيف تختلف عن خطة الاختبار، وما الذي تحتويه، وما مناهج الاختبار الرئيسية، وكيف تختار بينها، مع مخطط استراتيجية نموذجي.

وقت القراءة 9 دقائق
تصميم الاختبارات

الاختبار اليدوي مقابل الاختبار الآلي

مقارنة بين الاختبار اليدوي والآلي في التكلفة والسرعة وما يجده كل منهما وما يفوته والصيانة — مع قاعدة عملية لتقرير ما يُؤتمت وما يُترك للبشر.

وقت القراءة 6 دقائق
تصميم الاختبارات

كيف تكتب خطة اختبار (Test Plan)

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

وقت القراءة 8 دقائق