دورة حياة اختبار البرمجيات (STLC)
دورة حياة اختبار البرمجيات (STLC) هي مجموعة أنشطة الاختبار المرتّبة التي يمر بها الفريق في إصدار أو سبرنت أو مستوى اختبار: فهم ما سيُختبر، والتخطيط له، وتصميم الاختبارات وتجهيزها، وإعداد البيئة، والتنفيذ وإدارة العيوب، ثم إغلاق الدورة بتقرير ودروس مستفادة. تستهلك كل مرحلة مدخلات، وتنتج مخرجات عمل، ولها معايير تحدد متى يجوز أن تبدأ ومتى تُعدّ منتهية.
يمر هذا الدليل على كل مرحلة بالمهام التي ينفذها المختبِر فعلاً، ومعايير دخول وخروج واقعية، والمخرجات النموذجية، والأخطاء التي تُفشل الدورة، ويقابل مراحل STLC الشائعة في الصناعة بعملية الاختبار التي يصفها منهج ISTQB CTFL الإصدار 4.0 والمعيار ISO/IEC/IEEE 29119-2.
ما هي STLC — وما ليست هي
STLC نموذج لعمل الاختبار لا تقويم زمني. في المشروع التتابعي قد تستغرق كل مرحلة أسابيع وتجري المراحل بالترتيب غالباً؛ وفي سبرنت من أسبوعين تحدث المراحل الست لكل قصة، خلال أيام في الغالب، ويتداخل عدد منها. المراحل مرتّبة منطقياً — فلا يمكنك تنفيذ اختبار لم يُصمَّم — لكنها في الواقع تكرارية ومتداخلة. ويقرر CTFL الإصدار 4.0 الأمر نفسه عن أنشطة الاختبار: فهي تجري كثيراً بشكل تكراري أو متوازٍ، وتُكيَّف طريقة تنفيذها بحسب السياق.
والدورة متداخلة أيضاً. للإصدار دورة اختبار؛ وداخلها قد يكون لكل مستوى اختبار (تكامل المكوّنات، والنظام، والقبول) دورته الخاصة؛ وكل إصلاح لعيب يطلق دورة صغيرة من اختبار التأكيد (Confirmation testing) واختبار الانحدار (Regression testing). وما يجعلها دورة حياة أن كل دورة تُغلق: يتحقق أحدهم من معايير الخروج، ويسجل ما اختُبر وما لم يُختبر، ويسلّم.
- ليست مرحلة بعد التطوير — يبدأ تحليل المتطلبات بمجرد وجود المتطلبات.
- ليست التنفيذ فقط — التحليل والتصميم والتجهيز هي التي تقرر إن كان التنفيذ سيجد شيئاً يستحق العثور عليه.
- ليست تمريناً في التوثيق — مقدار ما يُكتب يتبع السياق: النظام الخاضع للتنظيم يحتاج سجلات رسمية، وفريق منتج صغير قد يكفيه خطة من صفحة واحدة.
- ليست ملكاً للمختبِرين وحدهم — المطورون ينفذون اختبارات المكوّنات، ومالكو المنتج يقبلون، وفريق التشغيل يدعم البيئات.
- 1تحليل المتطلبات≈ تحليل الاختبار
- 2تخطيط الاختبار≈ تخطيط الاختبار
- 3تطوير حالات الاختبار≈ تصميم الاختبار وتهيئتهعادةً بالتوازي
- 4تجهيز بيئة الاختبار≈ تهيئة الاختبار: البيئة
- 5تنفيذ الاختبار وإدارة العيوب≈ تنفيذ الاختبار
يتكرر: كل إصلاح لعيب: اختبار التأكيد ثم اختبار الانحدار
- 6إغلاق دورة الاختبار≈ إتمام الاختبار
طوال الخطوات 2–6 متابعة الاختبار والتحكم فيه — ليس لهما مرحلة في STLC؛ يمتدان من التخطيط حتى الإتمام.
بعد ذلك:إلى الدورة التالية: تضم حزمة الانحدار الاختبارات الجديدة وكل عيب متسرّب
مقابلة مراحل STLC بعملية الاختبار في ISTQB
«STLC» مصطلح صناعي لا يعرّفه ISTQB. يصف منهج CTFL الإصدار 4.0 عملية اختبار من سبع مجموعات أنشطة، ويصف المعيار ISO/IEC/IEEE 29119-2 عمليات إدارة الاختبار (استراتيجية الاختبار والتخطيط، والمتابعة والتحكم، والإتمام) وعمليات الاختبار الديناميكي. يقابل الجدول بين المفردات الثلاث حتى تنتقل بسهولة بين إعلان وظيفة واختبار ISTQB ونظام جودة قائم على المعايير.
- تحليل المتطلبات — في ISTQB: تحليل الاختبار (ماذا نختبر)؛ وفي ISO/IEC/IEEE 29119-2: الخطوات الأولى من عملية تصميم الاختبار وتهيئته (Test design & implementation).
- تخطيط الاختبار — في ISTQB: تخطيط الاختبار؛ وفي 29119-2: عملية استراتيجية الاختبار والتخطيط (Test strategy & planning).
- تطوير حالات الاختبار — في ISTQB: تصميم الاختبار (كيف نختبر) وتهيئة الاختبار حتى تجهز مواد الاختبار؛ وفي 29119-2: عملية تصميم الاختبار وتهيئته.
- تجهيز بيئة الاختبار — في ISTQB: جزء البيئة من تهيئة الاختبار؛ وفي 29119-2: عملية إدارة بيئة الاختبار وبياناته (Test environment & data management).
- تنفيذ الاختبار — في ISTQB: تنفيذ الاختبار؛ وفي 29119-2: عملية تنفيذ الاختبار وعملية الإبلاغ عن حوادث الاختبار (Test incident reporting).
- إغلاق دورة الاختبار — في ISTQB: إتمام الاختبار؛ وفي 29119-2: عملية إتمام الاختبار (Test completion).
- ليس للمتابعة والتحكم (Test monitoring and control) مرحلة في STLC: فهما يمتدان من التخطيط حتى الإتمام، بمقارنة التقدم الفعلي بالخطة واتخاذ الإجراءات التصحيحية.
- يفصل ISTQB بين تحليل الاختبار (Test analysis: ماذا نختبر — شروط الاختبار مرتّبة حسب الأولوية) وتصميم الاختبار (Test design: كيف نختبر — حالات الاختبار وعناصر التغطية ومتطلبات البيانات وتصميم البيئة).
- تشمل تهيئة الاختبار (Test implementation) في ISTQB كل ما يلزم للتشغيل: بيانات الاختبار، وإجراءات الاختبار، والسكربتات اليدوية والآلية، وحزم الاختبار، وجدول التنفيذ، وبيئة اختبار مبنية ومُتحقَّق منها. أما STLC فتفصل البيئة في مرحلة مستقلة.
- يقيّم تحليل الاختبار أيضاً أساس الاختبار نفسه بحثاً عن العيوب — وهي الفكرة ذاتها في مرحلة تحليل المتطلبات في STLC.
Industry STLC phase | ISTQB CTFL v4.0 test activity | ISO/IEC/IEEE 29119-2 process
-------------------------|-------------------------------------------|------------------------------------------
Requirement analysis | Test analysis ("what to test") | Test design & implementation (first steps)
Test planning | Test planning | Test strategy & planning
(runs throughout) | Test monitoring and test control | Test monitoring & control
Test case development | Test design ("how to test") | Test design & implementation
| Test implementation (testware ready) |
Test environment set-up | Test implementation (environment ready) | Test environment & data management
Test execution | Test execution | Test execution; test incident reporting
Test cycle closure | Test completion | Test completionالمرحلة 1 — تحليل المتطلبات (تحليل الاختبار)
يقرأ المختبِر أساس الاختبار (Test basis) — قصص المستخدم والمواصفات والتصاميم وعقود الواجهات البرمجية والأنظمة المنطبقة — ويجيب عن سؤالين: ما الذي يمكن اختباره هنا، وما الخاطئ أو الناقص في الأساس نفسه؟ والمُخرَج قائمة بشروط الاختبار (Test conditions) مرتّبة حسب المخاطر، وقائمة بالأسئلة والعيوب في المتطلبات.
على سبيل المثال، من المتطلب «يستطيع العميل إلغاء الطلب قبل شحنه» يشتق المختبِر الشروط: إلغاء طلب معلّق؛ ومحاولة إلغاء طلب مشحون؛ وإلغاء طلب شُحن جزء منه؛ ومبلغ الاسترداد وطريقته؛ والإشعار المرسَل؛ وعميل يحاول إلغاء طلب عميل آخر. اثنان من هذه لا تجيب عنهما القصة، فيتحولان إلى أسئلة قبل كتابة أي حالة اختبار.
- المهام — تحديد الميزات داخل النطاق وخارجه؛ واشتقاق شروط الاختبار؛ ووسم العبارات غير القابلة للاختبار؛ وإظهار الاحتياجات غير الوظيفية الضمنية (الأداء والأمان وإمكانية الوصول والعربية والتخطيط من اليمين إلى اليسار)؛ وبدء مصفوفة تتبّع المتطلبات (Traceability matrix)؛ وتقدير مخاطر المنتج كاحتمال × أثر.
- معايير الدخول — المتطلبات أو عناصر قائمة المهام للنطاق متاحة؛ ومالك المنتج أو المحلل متاح للإجابة عن الأسئلة.
- معايير الخروج — لكل متطلب ضمن النطاق شروط اختبار أو سؤال مفتوح مسجَّل؛ والغموض أُجيب عنه أو قُبل كمخاطرة؛ ومصفوفة التتبّع بدأت.
- عيوب نموذجية — «REQ-14: الاسترداد ‹خلال مدة معقولة› بلا رقم»؛ «REQ-22 وREQ-31 يتناقضان في إمكانية إلغاء المستخدم الزائر».
جرّبها: كاشف غموض المتطلبات بالذكاء الاصطناعي جرّبها: المتطلبات ← سيناريوهات اختبار
المرحلة 2 — تخطيط الاختبار
يقرر التخطيط النطاق والنهج والموارد والجدول الزمني والمعايير التي ستُنهي الدورة. بنية وثيقة خطة الاختبار يغطيها دليل خطة الاختبار، والنهج على مستوى المؤسسة يغطيه دليل استراتيجية الاختبار؛ والمهم هنا ما يجب أن يحسمه التخطيط قبل بدء التصميم.
ينبغي أن تأتي التقديرات من تقنية معلنة لا من التخمين. يذكر CTFL الإصدار 4.0 أربعاً منها: التقدير المبني على النسب، والاستقراء، وتقنية Wideband Delphi، والتقدير الثلاثي النقاط (Three-point estimation). ومخاطر المشروع (بناء متأخر، أو بيئة التجربة (Sandbox) غير متاحة، أو مختبِر في إجازة) مكانها الخطة مع خطة بديلة، بجانب مخاطر المنتج التي تقود أولويات الاختبار.
- تحسم الخطة — النطاق والاستثناءات؛ ومستويات الاختبار وأنواعه؛ والنهج لكل مستوى مخاطر؛ ومعايير الدخول والخروج؛ والبيئات وبيانات الاختبار؛ والأدوار؛ والجدول والتقديرات؛ والأدوات؛ والمخاطر والخطط البديلة؛ ووتيرة التقارير.
- معايير الدخول — النطاق معروف بما يكفي للتقدير؛ واستراتيجية الاختبار أو سياسته متاحة؛ والفريق والجدول الزمني معروفان.
- معايير الخروج — الخطة مراجَعة ومعتمدة من أصحاب المصلحة الذين سيعملون بها؛ ومعايير الدخول والخروج للمراحل اللاحقة متفق عليها؛ وطلبات البيئة والبيانات مرفوعة.
المرحلة 3 — تطوير حالات الاختبار (التصميم والتهيئة)
تتحول شروط الاختبار إلى حالات اختبار عبر تقنيات تصميم الاختبار: تقسيم التكافؤ (Equivalence partitioning)، وتحليل القيم الحدّية (Boundary value analysis)، وجداول القرار، واختبار انتقال الحالة للتصميم المبني على المواصفات؛ وتخمين الأخطاء والاختبار الاستكشافي والاختبار المبني على قوائم التحقق للتصميم المبني على الخبرة. أما كيف تكتب حالة اختبار جيدة واحدة فيغطيه دليل حالات الاختبار. ثم تنظّم التهيئة الحالات في إجراءات وحزم، وتنشئ بيانات الاختبار، وتكتب السكربتات الآلية، وتحدد ترتيب التنفيذ. ويُحفظ التتبّع من المتطلب إلى الشرط إلى الحالة.
يبيّن المثال أدناه خمس حالات مشتقة من المتطلب REQ-07 «يمكن إلغاء الطلب قبل شحنه»، وبجانب كل حالة التقنية أو الخطر الذي جاءت منه: إلغاء طلب في حالة PENDING يجعله CANCELLED مع استرداد كامل (فئة تكافؤ صالحة)؛ وإلغاء طلب في حالة SHIPPED يُرفض بالرمز 409 (فئة تكافؤ غير صالحة)؛ ومحاولة إلغاء طلب عميل آخر تُرفض بالرمز 403 دون تغيير الحالة (الأمان)؛ وطلبا إلغاء متزامنان ينتجان استرداداً واحداً فقط (التزامن)؛ واسترداد المبلغين الحدّيين 0.01 و99,999.99 ريال بدقة (تحليل القيم الحدّية).
- معايير الدخول — الخطة معتمدة؛ وأساس الاختبار للنطاق مستقر بما يكفي للتصميم عليه؛ وتقنيات التصميم متفق عليها.
- معايير الخروج — لكل شرط عالي المخاطر حالة اختبار واحدة على الأقل؛ والحالات راجعها زميل؛ وبيانات الاختبار جاهزة؛ والفحوص الآلية مودَعة في المستودع؛ ومصفوفة التتبّع لا تُظهر متطلباً غير مغطى ضمن النطاق؛ والحزم وترتيب التنفيذ محددة.
REQ-07 Order can be cancelled before shipment
TC-07-01 Cancel order in status PENDING -> status CANCELLED, full refund (EP valid)
TC-07-02 Cancel order in status SHIPPED -> 409 "Order already shipped" (EP invalid)
TC-07-03 Cancel another customer's order -> 403, no state change (security)
TC-07-04 Two cancel requests in parallel -> one refund only (concurrency)
TC-07-05 Refund for totals SAR 0.01 and 99,999.99 -> exact amounts refunded (BVA)جرّبها: المتطلبات ← حالات اختبار جرّبها: تحليل القيم الحدّية جرّبها: مصنع بيانات الاختبار
المرحلة 4 — تجهيز بيئة الاختبار
بيئة الاختبار هي كل ما يعمل عليه الاختبار: الخوادم أو الأجهزة، والبناء قيد الاختبار، والإعدادات، والشبكة، وقواعد البيانات وبياناتها، وحسابات الاختبار، وبيئات التجربة للأطراف الخارجية أو محاكاتها، وأدوات ملاحظة النتائج. تُجهَّز عادةً بالتوازي مع تطوير حالات الاختبار، ويُتحقق منها باختبار دخان (Smoke test) قصير قبل بدء التنفيذ. والبيئة التي تختلف عن الإنتاج في أمر مؤثر تنتج نجاحات زائفة وإخفاقات زائفة.
- قائمة الجاهزية — الإصدار قيد الاختبار منشور ومسجَّل؛ والإعدادات تطابق الإنتاج حيث تؤثر في السلوك (أعلام الميزات واللغة والمنطقة الزمنية)؛ وخط أساس البيانات محمَّل وقابل للاستعادة؛ والأطراف الخارجية في بيئة التجربة أو محاكاة تشمل إخفاقاتها؛ ولكل دور حساب اختبار؛ والمختبِرون يستطيعون قراءة السجلات.
- معايير الدخول — متطلبات البيئة مذكورة في الخطة؛ وطلبات الوصول إلى البنية التحتية وبيئات التجربة وحسابات الاختبار مرفوعة. أما البناء القابل للنشر فيلزم لإنهاء هذه المرحلة لا لبدئها.
- معايير الخروج — اختبار الدخان يجتاز؛ وقائمة الجاهزية معتمدة؛ وخط أساس البيانات قابل للاستعادة عند الطلب.
- عيب نموذجي — «بيئة الاختبار تعمل بتوقيت UTC بينما يستخدم الإنتاج Asia/Riyadh؛ فينزاح مرشّح ‹طلبات اليوم› ثلاث ساعات».
المرحلة 5 — تنفيذ الاختبار وإدارة العيوب
يشغّل التنفيذ الاختبارات بالترتيب المخطط، ويقارن النتائج الفعلية بالمتوقعة، ويسجل نتيجة كل منها: ناجح أو فاشل أو محجوب أو لم يُنفَّذ. ويُحلَّل كل فشل — عيب في المنتج، أم عيب في الاختبار، أم مشكلة بيئة أو بيانات — ويُبلَّغ عن عيوب المنتج بخطوات قابلة لإعادة الإنتاج وأدلة وخطورة وأولوية. وتُعاد اختبارات العيوب المُصلَحة (اختبار التأكيد)، ويُعاد فحص المناطق المحيطة بالتغيير (اختبار الانحدار).
تجري المتابعة والتحكم يومياً أثناء التنفيذ: يُقارَن التقدم بالخطة، ويتصرف قائد الاختبار في الفجوات — بإعادة ترتيب الأولويات، أو إضافة جلسة استكشافية على منطقة غير مستقرة، أو تصعيد عائق. ثم تمر تقارير العيوب بدورة حياة العيب وفرزه الموصوفين في دليليهما الخاصين؛ ويشرح دليل تقرير الخطأ كيف يُكتب التقرير.
والمثال أدناه تقرير حالة يومي في اليوم السادس من عشرة لاختبار النظام في الإصدار 3.8: نُفّذ 205 من 260 اختباراً (79%)، ونجح 188 وفشل 17 وحُجب 7 ولم يُنفَّذ 48؛ والعيوب المفتوحة: لا حاجب، و2 حرجة، و6 رئيسية، و9 ثانوية؛ و41 من 44 متطلباً عالي المخاطر لها اختبار ناجح. ويسمّي التقرير العائق (بيئة التجربة للدفع تعيد 503 لكل أنواع البطاقات) والإجراءات المتخذة. لاحظ أنه يقيس المخاطر المغطاة لا عدد الحالات المنفَّذة فقط.
- معايير الدخول — معايير خروج البيئة متحققة واختبار الدخان اجتاز؛ وحالات الاختبار وبياناته جاهزة؛ وللبناء قيد الاختبار ملاحظات إصدار.
- معايير الخروج — الاختبارات المخططة نُفّذت أو استُبعدت بقرار صريح؛ وكل الإخفاقات حُلّلت وسُجّلت عيوبها؛ ولا عيوب حاجبة أو حرجة مفتوحة (أو قبول مخاطرة مسجَّل)؛ وحزمة الانحدار خضراء.
Cycle: Release 3.8 — system test, day 6 of 10
Executed: 205 / 260 (79%) Passed: 188 Failed: 17 Blocked: 7 Not run: 48
Open defects: Blocker 0 · Critical 2 · Major 6 · Minor 9
High-risk requirements with a passed test: 41 / 44
Blocked by: DEF-311 payment sandbox returns 503 for all card types
Actions: refunds exploratory session moved to day 7; retest DEF-298 and DEF-301 todayجرّبها: مولّد وصف الأخطاء بالذكاء الاصطناعي جرّبها: اقتراح خطورة الخطأ بالذكاء الاصطناعي جرّبها: مولّد سيناريوهات الانحدار
المرحلة 6 — إغلاق دورة الاختبار (إتمام الاختبار)
يحدث الإغلاق حين تتحقق معايير الخروج أو حين يقرر أصحاب المصلحة التوقف. يسرد CTFL الإصدار 4.0 مهام إتمام الاختبار (Test completion): التأكد من تحوّل العيوب غير المحلولة إلى طلبات تغيير أو عناصر في قائمة المهام، وتحديد مواد الاختبار (Testware) التي تستحق الحفظ وأرشفتها أو تسليمها، وإيقاف البيئة إلى حالة متفق عليها، وتحليل أنشطة الاختبار لاستخلاص الدروس، وإعداد تقرير إتمام الاختبار وإبلاغه.
- محتوى تقرير الإتمام — الاختبار المنفَّذ مقابل الخطة وأي انحرافات؛ وتقييم الجودة مقابل معايير الخروج؛ والعيوب المفتوحة والمخاطر التي تحملها؛ والمخاطر المتبقية؛ والمقاييس الأساسية (تغطية المتطلبات، والعيوب حسب الخطورة، والعيوب التي تسرّبت من الإصدار السابق)؛ وتوصية، مع بقاء قرار الإصدار نفسه لأصحاب المصلحة.
- معايير الدخول — التنفيذ اكتمل أو أوقف بقرار؛ ومعايير الخروج قُيّمت.
- معايير الخروج — التقرير صدر؛ ومواد الاختبار مؤرشفة؛ وحزمة الانحدار تضم الاختبارات الجديدة وكل عيب متسرّب؛ ولإجراءات التحسين المستخلصة من الاجتماع الاسترجاعي مالكون.
معايير الدخول والخروج لكل مرحلة في لمحة
لا تعمل المعايير إلا إذا كانت قابلة للقياس، وإذا كان تجاوز أي منها قراراً ظاهراً لا إغفالاً صامتاً. وفي الفرق الرشيقة تظهر الفكرة نفسها في تعريف الجاهزية (Definition of Ready) كمعيار دخول للقصة، وتعريف الإنجاز (Definition of Done) كمعيار خروج.
- تحليل المتطلبات — الدخول: القصص أو المواصفات متاحة للنطاق، ومالك المنتج متاح للأسئلة. الخروج: لكل متطلب ضمن النطاق شروط اختبار أو سؤال مفتوح مسجَّل.
- تخطيط الاختبار — الدخول: النطاق والجدول الزمني معروفان والاستراتيجية متاحة. الخروج: الخطة معتمدة، ومعايير الدخول والخروج متفق عليها، وطلبات البيئة والبيانات مرفوعة.
- تطوير حالات الاختبار — الدخول: الخطة معتمدة وأساس الاختبار مستقر للنطاق. الخروج: الشروط عالية المخاطر مغطاة، والحالات مراجَعة، والبيانات والفحوص الآلية جاهزة، ومصفوفة التتبّع محدَّثة.
- تجهيز البيئة — الدخول: مواصفات البيئة في الخطة وطلبات الوصول مرفوعة. الخروج: اختبار الدخان يجتاز، وخط أساس البيانات قابل للاستعادة، والأطراف الخارجية في بيئة التجربة أو محاكاة.
- تنفيذ الاختبار — الدخول: اختبار الدخان اجتاز، والحالات والبيانات وملاحظات الإصدار جاهزة. الخروج: الاختبارات المخططة نُفّذت أو استُبعدت بقرار، ولا عيوب حاجبة أو حرجة مفتوحة، وحزمة الانحدار خضراء.
- إغلاق دورة الاختبار — الدخول: التنفيذ اكتمل أو أوقف بقرار. الخروج: تقرير الإتمام صدر، ومواد الاختبار مؤرشفة، وللدروس المستفادة مالكون.
Phase | Entry criteria (example) | Exit criteria (example)
-----------------------|---------------------------------------------------|------------------------------------------------
Requirement analysis | Stories/specs available for the scope; | Every in-scope requirement has test conditions
| product owner reachable for questions | or a logged open question
Test planning | Scope and timeline known; strategy available | Plan approved; entry/exit criteria agreed;
| | environment and data requested
Test case development | Plan approved; test basis stable for the scope | High-risk conditions covered; cases reviewed;
| | data and automated checks ready; RTM updated
Environment set-up | Environment spec in plan; access requested | Smoke test passes; data baseline restorable;
| | third parties sandboxed or mocked
Test execution | Smoke passed; cases, data, release notes ready | Planned tests run or descoped by decision;
| | 0 open Blocker/Critical; regression green
Test cycle closure | Execution complete or stopped by decision | Completion report issued; testware archived;
| | lessons learned have ownersSTLC في السبرنت وفي خط التكامل، والأخطاء الشائعة
في Scrum تجري الدورة لكل قصة ولكل سبرنت: تهذيب قائمة المهام (Backlog refinement) هو تحليل المتطلبات وتعريف الجاهزية معيار خروجه؛ وتخطيط السبرنت يتضمن تخطيط الاختبار على مقياس السبرنت؛ والتصميم والأتمتة يجريان خلال السبرنت؛ وخط التكامل يوفّر البيئة؛ والتنفيذ مستمر؛ ومراجعة السبرنت والاجتماع الاسترجاعي يحملان الإغلاق. وفي بيئة CI/CD يؤتمت خط التكامل تجهيز البيئة وكثيراً من التنفيذ مع كل تغيير، وينتقل الجهد البشري إلى التحليل والتصميم والاختبار الاستكشافي وقراءة إشارات الإنتاج.
- تصميم الاختبارات قبل الإجابة عن أسئلة التحليل — فتُعاد كتابة الحالات حين تصل الإجابات.
- معايير خروج مكتوبة لكنها تُتجاهل تحت ضغط الموعد — الإصدار مع مخاطرة مفتوحة مشروع فقط حين يكون قراراً صريحاً ومسجَّلاً.
- غياب التتبّع — فلا يستطيع أحد أن يقول أي المتطلبات لم تُختبر.
- تأجيل تجهيز البيئة حتى وصول البناء — فتنكمش نافذة التنفيذ بمقدار وقت التجهيز تماماً.
- تخطي الإغلاق — فلا تدخل العيوب المتسرّبة حزمة الانحدار، وتُتعلَّم الدروس نفسها مرة أخرى.
- عدّ حالات الاختبار المنفَّذة كتقدم بدلاً من المخاطر المغطاة.
الأسئلة الشائعة
ما مراحل STLC؟
المراحل الست الشائعة هي تحليل المتطلبات، وتخطيط الاختبار، وتطوير حالات الاختبار، وتجهيز بيئة الاختبار، وتنفيذ الاختبار، وإغلاق دورة الاختبار. وتجري متابعة الاختبار والتحكم فيه طوال الدورة. والمراحل تتداخل وتتكرر لكل سبرنت وإصدار ومستوى اختبار.
ما معايير الدخول والخروج في STLC؟
معايير الدخول هي الشروط المسبقة لبدء المرحلة؛ ومعايير الخروج تحدد ما يجب تحقيقه لإنهائها. مثلاً، قد يبدأ تنفيذ الاختبار حين يجتاز اختبار الدخان وتُحمَّل بيانات الاختبار، وقد ينتهي حين تُنفَّذ كل الاختبارات المخططة ولا تبقى عيوب حاجبة أو حرجة مفتوحة وتكون حزمة الانحدار خضراء.
هل STLC هي نفسها عملية الاختبار في ISTQB؟
تغطي العمل نفسه بأسماء مختلفة. يصف ISTQB CTFL الإصدار 4.0 تخطيط الاختبار، ومتابعته والتحكم فيه، وتحليله، وتصميمه، وتهيئته، وتنفيذه، وإتمامه. تحليل المتطلبات يقابل تحليل الاختبار، وتطوير الحالات يقابل التصميم مع التهيئة، وتجهيز البيئة جزء من التهيئة، والإغلاق يقابل إتمام الاختبار.
ما الفرق بين تحليل الاختبار وتصميم الاختبار؟
تحليل الاختبار يقرر ماذا نختبر: يحدد شروط الاختبار من أساس الاختبار ويرتّبها حسب الأولوية. وتصميم الاختبار يقرر كيف نختبر: يحوّل تلك الشروط إلى حالات اختبار وعناصر تغطية باستخدام تقنيات مثل تحليل القيم الحدّية أو جداول القرار.
ماذا يحدث في إغلاق دورة الاختبار؟
يتحقق الفريق من معايير الخروج، ويحوّل العيوب غير المحلولة إلى عناصر في قائمة المهام أو طلبات تغيير، ويؤرشف مواد الاختبار المفيدة، ويعيد البيئة إلى حالتها، ويعقد اجتماعاً استرجاعياً، ويصدر تقرير إتمام الاختبار مع المخاطر المفتوحة وتوصية لقرار الإصدار.
هل تنطبق STLC على الفرق الرشيقة؟
نعم، على مقياس أصغر. تمر كل قصة بالتحليل أثناء التهذيب، وبالتصميم والتنفيذ أثناء السبرنت، وبالإغلاق عبر تعريف الإنجاز ومراجعة السبرنت والاجتماع الاسترجاعي. المراحل أقصر وأكثر تداخلاً، ويتولى خط CI كثيراً من تجهيز البيئة والتنفيذ.
المراجع
- ISTQB Certified Tester Foundation Level (CTFL) v4.0المنهج التأسيسي لاختبار البرمجيات: مستويات الاختبار وأنواعه وتقنيات تصميم الاختبارات وإدارة الاختبار والأدوات.
- ISO/IEC/IEEE 29119-2:2021 — Software and systems engineering — Software testing — Part 2: Test processesنموذج عمليات الاختبار: العمليات المؤسسية وعمليات إدارة الاختبار وعمليات الاختبار الديناميكي، مع أنشطتها ومخرجاتها.
- ISO/IEC/IEEE 29119-3:2021 — Software and systems engineering — Software testing — Part 3: Test documentationنماذج ومحتوى وثائق الاختبار — سياسة الاختبار واستراتيجيته وخطته وتقارير الحالة والإنجاز وتقارير الحوادث.
- ISTQB Glossaryالتعريفات القياسية لمصطلحات الاختبار — حالة الاختبار واختبار الانحدار والخطورة والأولوية وتحليل القيم الحدّية وغيرها.
- Certified Tester Advanced Level Test Management (CTAL-TM) v3.0منهج ISTQB المتقدم لإدارة الاختبار: التخطيط والتقدير، والاختبار المبني على المخاطر، والمتابعة، والمقاييس والتقارير.
تمرين عملي
هل يبدأ التنفيذ في موعده؟ مراجعة جاهزية دورة اختبار
تعمل مختبِراً لتطبيق مصرفي للجوال. يضيف الإصدار 5.2 ميزة التحويلات المجدولة، ومن المخطط أن يبدأ تنفيذ اختبار النظام بعد يومي عمل. تعرض المادة أدناه القصص ضمن النطاق مع تقييم مخاطرها من خطة الاختبار، وملاحظات قائد الاختبار عن الموضع الذي بلغته دورة الاختبار.
ضع كل ملاحظة في مرحلتها من STLC، وافحصها بمعايير الدخول والخروج التي يذكرها الدليل لكل مرحلة، ثم أرسل إلى قائد الاختبار توصية: هل يمكن بدء التنفيذ في موعده؟ اعمل بالورقة والقلم، واذكر رقم الملاحظة بجانب كل حكم، كما تفعل في مراجعة جاهزية حقيقية. وتساعدك أداة «محوّل المناطق الزمنية» على فهم أثر الملاحظة 9 في تنفيذ يجري في الصباح الباكر.
تطبيق مصرفي للجوال، الإصدار 5.2: التحويلات المجدولة
القصص ضمن النطاق (مع تقييم المخاطر من خطة الاختبار):
القصة ST-1: إنشاء تحويل لمرة واحدة بتاريخ مستقبلي (متوسط)
القصة ST-2: إنشاء تحويل شهري متكرر (متوسط)
القصة ST-3: تنفيذ التحويلات المستحقة في الصباح الباكر من يوم الاستحقاق (عالٍ)
القصة ST-4: إرسال رسالة SMS إلى العميل بعد كل تنفيذ، ناجحاً كان أو فاشلاً (متوسط)
القصة ST-5: إلغاء تحويل مجدول قبل تنفيذه (عالٍ)
ملاحظات قائد الاختبار، قبل يومي عمل من الموعد المخطط لبدء تنفيذ اختبار النظام:
الملاحظة 1: لا تحدد القصة ST-3 وقت التنفيذ ولا المنطقة الزمنية.
أُرسل السؤال إلى مالك المنتج قبل خمسة أيام، ولم يصل رد بعد.
الملاحظة 2: راجع مالك المنتج وقائد ضمان الجودة خطة الاختبار واعتمداها.
الملاحظة 3: لا توجد حالات اختبار للقصة ST-5، ومصفوفة التتبّع تُظهرها غير مغطاة.
الملاحظة 4: كُتبت 48 حالة اختبار للقصص من ST-1 إلى ST-4، وراجعها زملاء.
الملاحظة 5: بيانات الاختبار: يوجد في بيئة ما قبل الإنتاج (staging) ستة من حسابات العملاء
العشرة الواردة في الخطة؛ ولا يوجد الحسابان منخفضا الرصيد ولا الحسابان المجمَّدان.
الملاحظة 6: البناء 5.2.0-rc1 منشور على staging ومسجَّل، ولا ملاحظات إصدار له بعد.
الملاحظة 7: اختبار الدخان: تسجيل الدخول وعرض الرصيد ناجحان؛
و«إنشاء تحويل مجدول» يعيد HTTP 500.
الملاحظة 8: بيئة التجربة للنظام المصرفي الأساسي تعمل؛
أما بوابة SMS فلا بيئة تجربة لها ولا محاكاة.
الملاحظة 9: بيئة staging تعمل بتوقيت UTC، والإنتاج يعمل بتوقيت Asia/Riyadh.
الملاحظة 10: معيار الخروج من التنفيذ في الخطة: «ينتهي الاختبار حين تكون الجودة جيدة».- لكل ملاحظة من الملاحظة 1 إلى الملاحظة 10، سمِّ مرحلة STLC التي تنتمي إليها ونشاط الاختبار المقابل لها في ISTQB CTFL الإصدار 4.0.
- لكل ملاحظة، بيّن أي معيار دخول أو خروج تُظهره متحققاً أو غير متحقق.
- افحص معايير الدخول إلى تنفيذ الاختبار واحداً واحداً، ثم قرّر: البدء في الموعد، أو البدء الجزئي بقرار صريح، أو عدم البدء الآن.
- لكل فجوة، اقترح إجراءً واحداً مع المسؤول عنه، وبيّن هل تمنع بدء التنفيذ أم يمكن قبولها كمخاطرة مسجَّلة.
- أعد صياغة الملاحظة 10 في صورة معايير خروج قابلة للقياس لتنفيذ اختبار هذا الإصدار.
إظهار الإجابة النموذجية
الخطوتان 1 و2: لكل ملاحظة مرحلتها في STLC ونشاط ISTQB المقابل بين قوسين، ثم المعيار. الملاحظة 1: تحليل المتطلبات (تحليل الاختبار). هي عيب في أساس الاختبار؛ وتسجيل السؤال تصرّف صحيح، لكن معيار الخروج «الغموض أُجيب عنه أو قُبل كمخاطرة» غير متحقق للقصة ST-3، وهي قصة عالية المخاطر. الملاحظة 2: تخطيط الاختبار (تخطيط الاختبار)، ومعيار «الخطة مراجَعة ومعتمدة» متحقق. الملاحظة 3: تطوير حالات الاختبار (تصميم الاختبار)، والمعيار غير متحقق: فثمة شرط اختبار عالي المخاطر بلا حالة اختبار، ومصفوفة التتبّع تُظهر متطلباً غير مغطى ضمن النطاق. الملاحظة 4: تطوير حالات الاختبار (تصميم الاختبار)، ومعيار «الحالات راجعها زميل» متحقق للقصص ST-1 وST-2 وST-4؛ أما حالات ST-3 التي تفحص وقت التنفيذ فقد صُمّمت قبل الإجابة عن سؤال الملاحظة 1 وستحتاج إلى إعادة كتابة، وهذا أحد الأخطاء الشائعة التي يذكرها الدليل.
الملاحظة 5: تطوير حالات الاختبار وتجهيز البيئة، وكلاهما جزء من تهيئة الاختبار في ISTQB التي تنشئ بيانات الاختبار وتحمّل خط أساس البيانات؛ ومعيار «بيانات الاختبار جاهزة» غير متحقق، وخط أساس البيانات في staging ناقص، فلا يمكن تنفيذ الاختبارات السلبية التي تحتاج إلى هذه الحسابات. الملاحظة 6: تجهيز البيئة (تهيئة الاختبار)؛ الإصدار قيد الاختبار منشور ومسجَّل، وهذا بند متحقق من قائمة الجاهزية، لكن معيار الدخول إلى التنفيذ «للبناء قيد الاختبار ملاحظات إصدار» غير متحقق. الملاحظة 7: تجهيز البيئة (تهيئة الاختبار، وفيها يُتحقق من البيئة)؛ اختبار الدخان لم يجتز، فلا يمكن أن تنتهي المرحلة. الملاحظة 8: تجهيز البيئة (تهيئة الاختبار)؛ بند الجاهزية «الأطراف الخارجية في بيئة التجربة أو محاكاة تشمل إخفاقاتها» غير متحقق لرسائل SMS. الملاحظة 9: تجهيز البيئة (تهيئة الاختبار)؛ بند «الإعدادات تطابق الإنتاج حيث تؤثر في السلوك» غير متحقق: فتوقيت Asia/Riyadh يسبق UTC بثلاث ساعات، فيختلف وقت التنفيذ وحدود التاريخ في staging عنهما في الإنتاج. مثلاً، الساعة 00:30 يوم 15 مارس في الرياض هي الساعة 21:30 يوم 14 مارس بتوقيت UTC: ففي الساعات الثلاث الأولى من كل يوم في الرياض تَعدّ بيئة staging التاريخ السابق هو «اليوم»، والمهمة المضبوطة على 02:00 بساعة الخادم تعمل في staging عند 05:00 بتوقيت الرياض، وفي الإنتاج عند 02:00. الملاحظة 10: تخطيط الاختبار (تخطيط الاختبار)؛ الخطة معتمدة (الملاحظة 2)، لكن معيار «معايير الدخول والخروج للمراحل اللاحقة متفق عليها» متحقق على الورق فقط، لأن أحداً لا يستطيع قياس «الجودة جيدة».
وقائمة الملاحظات نفسها متابعة للاختبار (Test monitoring): يقارن فيها قائد الاختبار الوضع الفعلي بالخطة. والقرار المطلوب منك تحكّم في الاختبار (Test control). وليس لأيّ منهما مرحلة خاصة في STLC، فكلاهما يمتد من التخطيط حتى الإتمام.
الخطوة 3، القرار: لا تبدأ التنفيذ في موعده. معايير الدخول الثلاثة كلها غير متحققة: معايير خروج البيئة غير متحققة واختبار الدخان لم يجتز (الملاحظات 5 و7 و8 و9)؛ وحالات الاختبار وبياناته غير جاهزة (الملاحظتان 3 و5)؛ ولا ملاحظات إصدار للبناء (الملاحظة 6). والملاحظة 7 وحدها تحسم الأمر: فكل قصة تبدأ بإنشاء تحويل مجدول، فتكاد كل حالة اختبار تُسجَّل «محجوبة» بينما تنكمش نافذة التنفيذ في كل الأحوال. والملاحظة 9 وحدها تجعل كل نتيجة تعتمد على التاريخ أو الوقت غير موثوقة: عمليات التنفيذ في ST-3، ورسالة SMS بعد كل تنفيذ في ST-4، وفحص التاريخ المستقبلي في ST-1 وST-2.
وثمة بديل معقول إذا سجّله قائد الاختبار ومالك المنتج قراراً صريحاً: بمجرد إصلاح الملاحظة 7 وتصحيح الملاحظة 9 وصدور ملاحظات الإصدار واجتياز اختبار الدخان، ابدأ بحالات ST-1 وST-2 التي لا تحتاج إلا إلى الحسابات الستة الموجودة، وأجّل ST-3 وST-4 وST-5 والاختبارات السلبية حتى تُسدّ فجواتها. وإلى أن تُعالَج الملاحظة 8، تأكّد مع مسؤول البيئة أن staging لا يمكنها إرسال رسالة SMS حقيقية حين يحين موعد أحد هذه التحويلات. أما البدء بصمت واختبار الدخان فاشل فهو الخيار الوحيد غير المقبول.
الخطوة 4، الإجراءات والمسؤولون وهل تمنع كل فجوة البدء. الملاحظة 7: يسجّل المختبِر عيباً مع الطلب والاستجابة والوقت ومرجع سجل الخادم؛ ويُحلَّل الفشل (عيب في المنتج أم مشكلة بيئة أم بيانات) ويُصلَح، ثم يُعاد اختبار الدخان. تمنع البدء، ولا فائدة من قبولها كمخاطرة، إذ لا يكاد يمكن اختبار شيء ما دام الفشل قائماً؛ وإن ثبت أنه عيب في المنتج فالخطورة المرجّحة حاجب (Blocker)، لأنه يوقف الوظيفة الرئيسية للميزة ويحجب اختبار القصص الخمس كلها. الملاحظة 9: يضبط مسؤول البيئة المنطقة الزمنية لبيئة staging على Asia/Riyadh كما في الإنتاج. تمنع البدء ولا ينبغي قبولها كمخاطرة، لأن المنطقة الزمنية جزء من السلوك قيد الاختبار. الملاحظة 6: ينشر قائد التطوير ملاحظات إصدار للبناء rc1 تذكر محتواه ومشكلاته المعروفة. تمنع البدء لأن معايير الدخول تشترط ملاحظات الإصدار، لكن سدّها سريع، فلا ينبغي أن تكون سبب تأخير أبداً.
الملاحظة 3: يصمّم المختبِر حالات اختبار للقصة ST-5، مثل: إلغاء تحويل لمرة واحدة لم يُنفَّذ بعد، وإلغاء تحويل متكرر (مع سؤال: هل يوقف ذلك تنفيذاً واحداً أم السلسلة كلها؟)، والإلغاء قبيل وقت التنفيذ مباشرةً، ومحاولة إلغاء تحويل نُفّذ بالفعل، ومحاولة إلغاء تحويل مجدول لعميل آخر؛ ثم يحدّث مصفوفة التتبّع ويعرض الحالات على زميل للمراجعة. تمنع اختبار القصة ST-5، وترك ST-5 خارج الاختبار مقبول فقط بقرار استبعاد صريح من مالك المنتج. الملاحظة 1: يصعّد قائد الاختبار السؤال لأنه ينتظر منذ خمسة أيام، ويجيب مالك المنتج بوقت تنفيذ ومنطقة زمنية؛ ثم يحدّث المختبِر شروط اختبار ST-3 ويعيد كتابة الحالات المتأثرة. تمنع اختبارات وقت التنفيذ في ST-3، إذ لا نتيجة متوقعة لها بدون الإجابة.
الملاحظة 5: ينشئ المختبِر، مع المسؤول عن بيانات staging، الحسابين منخفضي الرصيد والحسابين المجمَّدين، ويضيفها إلى خط أساس البيانات القابل للاستعادة. تمنع الاختبارات السلبية فقط: رصيد غير كافٍ يوم الاستحقاق، وحساب مصدر مجمَّد، ورسالة SMS بعد تنفيذ فاشل. الملاحظة 8: يضع المطورون أو مسؤول البيئة محاكاة أو بيئة تجربة أمام بوابة SMS، تستطيع أن تعيد الأخطاء وانتهاء المهلة أيضاً، وتتيح للمختبِرين رؤية كل رسالة. تمنع ST-4، وإلى أن تُنجز قد تفشل عمليات التنفيذ على staging أو تحاول إرسال رسائل حقيقية. الملاحظة 10: يقترح قائد الاختبار معايير قابلة للقياس (الخطوة 5)، ويعتمدها مالك المنتج قبل اليوم الأول من التنفيذ. وهي ليست من معايير الدخول إلى التنفيذ، فلا تمنع البدء، لكن بدونها لا يستطيع أحد أن يقول متى ينتهي التنفيذ.
الخطوة 5، معايير خروج قابلة للقياس لتنفيذ الاختبار، مثلاً: نُفّذت كل حالة اختبار مخططة للقصص من ST-1 إلى ST-5، أو استُبعدت بقرار يسجّله مالك المنتج؛ ولكل متطلب ضمن النطاق في مصفوفة التتبّع حالة اختبار ناجحة واحدة على الأقل، ولكل شرط اختبار عالي المخاطر في ST-3 وST-5 حالة ناجحة؛ وحُلّل كل فشل وسُجّل كل عيب في المنتج؛ ولا يبقى مفتوحاً أي عيب حاجب (Blocker) أو حرج (Critical)، إلا بقبول مخاطرة يسجّله أصحاب المصلحة؛ واجتاز كل عيب مُصلَح اختبار التأكيد (Confirmation testing)؛ وحزمة الانحدار للتحويلات والمدفوعات الحالية خضراء على البناء النهائي. الحدود الدقيقة يختارها الفريق؛ المهم أن يُجاب عن كل معيار بنعم أو لا أو برقم، وأن يكون تجاوز أي منها قراراً مسجَّلاً.
وعند مراجعة إجابتك انتبه لثلاث زلّات: قراءة الملاحظة 2 على أنها «التخطيط انتهى» مع أن الملاحظة 10 تُظهر أن معايير الخروج غير صالحة للاستخدام؛ وقراءة الملاحظة 4 (48 حالة مراجَعة) على أنها جاهزية مع أن القصة ST-5 عالية المخاطر بلا حالة واحدة، أي عدّ حالات الاختبار بدلاً من المخاطر المغطاة؛ واقتراح «البدء على أي حال لتوفير الوقت» واختبار الدخان فاشل، وهو لا ينتج إلا قائمة طويلة من النتائج المحجوبة.
تقدّمك في هذا الموضوع
سجّل الدخول لتتابع تقدّمك
علّم الموضوعات مكتملة، وتابع من حيث توقفت، وافتح امتحانات التخصص.
جزء من مسار تعلم ضمان الجودة
قبل هذا الموضوع
الموضوعات التالية
الأدوات المذكورة في هذا الدليل
حوّل قائمة متطلبات مرقّمة إلى حالات اختبار قابلة للتتبّع مع مصفوفة تربط المتطلبات بالاختبارات.
اكتشف العبارات الغامضة أو المبهمة أو المتناقضة في المتطلبات واحصل على أسئلة توضيحية من الذكاء الاصطناعي من متقن.
قيّم الميزات حسب الاحتمالية والأثر، ثم ولّد خطة اختبار مبنية على المخاطر ومرتّبة حسب الأولوية.
نفّذ تحليلاً كاملاً للقيم الحدّية (ثنائي القيم وثلاثي القيم) مع فئات التكافؤ والنتائج المتوقّعة.
مصنع متكامل لبيانات الاختبار الاصطناعية: مستخدمون وعملاء وشركات وعناوين وأرقام وتواريخ وسلاسل نصية بصيغة JSON أو CSV أو SQL أو XML.
افحص عدة نقاط نهاية لصحة API دفعة واحدة واحصل على الحالة وزمن الاستجابة وملخّص نجاح/فشل.
حوّل الملاحظات الأولية إلى تقرير خطأ كامل: خطوات إعادة الإنتاج، والمتوقّع مقابل الفعلي، والبيئة، ودرجة الخطورة، وقائمة تحقق للمرفقات.
ولّد سيناريوهات اختبار الانحدار من وصف التغيير وقائمة الوحدات المتأثرة والمرتبطة.
قارن المتطلبات أو قصة مستخدم بحالات الاختبار الموجودة للعثور على المجالات غير المختبَرة، باستخدام الذكاء الاصطناعي من متقن.