Test Scenario ولا Test Case؟ الفرق اللي بيغلط فيه أغلب المبتدئين
الفرق بين Test Scenario و Test Case بالعربي، بمثال واحد يتحوّل من سيناريو لحالات كاملة، وجدول مقارنة، ومتى تكتفي بالسيناريو ومتى لازم تفصّل.

بمقابلة عمل، سؤال «شو الفرق بين Test Scenario و Test Case؟» بيفرز المرشّحين بسرعة. مش لأنّه صعب — لأنّ الجواب بيكشف إذا كان الشخص اشتغل فعلاً بملف حالات اختبار ولا حفظ تعريف.
الفرق بجملة: السيناريو بيقول شو بدنا نختبر، والحالة بتقول كيف بدنا نختبره وشو المتوقّع بالضبط.
الاثنين بجملة
Test Scenario — السيناريو
وصف عالي المستوى لوظيفة أو رحلة بدنا نتأكّد إنّها تشتغل. بيكتب بسطر واحد، بلغة مفهومة حتى لغير التقنيين، وبلا خطوات ولا بيانات.
أمثلة:
- «التحقّق من تسجيل الدخول بحساب صالح»
- «التحقّق من إتمام عملية شراء بالبطاقة»
- «التحقّق من رفع صور العقار»
Test Case — حالة الاختبار
خطوات تنفيذيّة محدّدة إلها بيانات ونتيجة متوقّعة واحدة. أي شخص من الفريق يقدر ينفّذها ويطلع بنفس النتيجة.
عناصرها: مُعرّف، عنوان، شروط مسبقة، بيانات اختبار، خطوات مرقّمة، نتيجة متوقّعة، أولوية، وربط بالمتطلب.
العلاقة: سيناريو واحد بيتولّد منه عدّة حالات اختبار — واحدة للمسار الناجح، وباقيهم للحالات البديلة والفاشلة والحدّية.
جدول المقارنة
| Test Scenario | Test Case | |
|---|---|---|
| المستوى | عالي (شو) | تفصيلي (كيف) |
| الطول | سطر واحد | من 3 لـ 10 خطوات |
| بيتضمّن بيانات؟ | لأ | نعم |
| نتيجة متوقّعة؟ | ضمنيّة | صريحة ومحدّدة |
| مين بيقرأه | الفريق كله والعميل | المختبر والمطوّر |
| قابل للأتمتة مباشرة؟ | لأ | نعم |
| العدد | قليل | كثير (لكل سيناريو عدّة حالات) |
| متى يُكتب | بعد تحليل المتطلبات | بمرحلة تصميم الاختبار |
مثال كامل: من سيناريو لحالات
السيناريو
TS-01: التحقّق من تسجيل الدخول لبوابة المستثمرين
سطر واحد. بيوصف الوظيفة، ما بيوصف التنفيذ. من هذا السطر بيتولّد:
الحالات
TC-01-01 — تسجيل دخول ناجح ببيانات صحيحة
-
الشرط المسبق: حساب مفعّل موجود
-
البيانات:
investor@example.com/Test@1234 -
الخطوات:
- افتح صفحة تسجيل الدخول
- أدخل البريد الإلكتروني
- أدخل كلمة المرور
- اضغط «تسجيل الدخول»
-
النتيجة المتوقّعة: يتم التحويل للوحة المؤشّرات، ويظهر اسم المستخدم بأعلى الصفحة
TC-01-02 — كلمة مرور خاطئة
- البيانات: بريد صحيح / كلمة مرور غلط
- النتيجة المتوقّعة: رسالة «البريد الإلكتروني أو كلمة المرور غير صحيحة»، والبقاء على نفس الصفحة، وعدم كشف أي منهما الخطأ
TC-01-03 — بريد غير مسجّل
- النتيجة المتوقّعة: نفس رسالة الخطأ العامّة (ما بتقول «هذا البريد غير مسجّل»)
TC-01-04 — حقول فاضية
- النتيجة المتوقّعة: رسائل «هذا الحقل مطلوب» تحت كل حقل، وعدم إرسال الطلب
TC-01-05 — قفل الحساب بعد 3 محاولات فاشلة
- الخطوات: كرّر كلمة مرور خاطئة 3 مرّات
- النتيجة المتوقّعة: رسالة قفل مؤقّت، وعدم قبول الدخول حتى بكلمة مرور صحيحة
TC-01-06 — حساب غير مفعّل
- النتيجة المتوقّعة: رسالة «الحساب بانتظار التفعيل» مع رابط إعادة إرسال التفعيل
سيناريو واحد → ست حالات. وهذا الرقم مش عشوائي: طلع من تقنيات تصميم الاختبار — مجموعات صالحة وغير صالحة، وحدود، وحالات النظام.
متى تكتفي بالسيناريو، ومتى لازم تفصّل؟
السيناريو بيكفي لمّا:
- الفريق صغير وخبير، والاختبار استكشافي موجّه.
- الميزة بسيطة ومنخفضة المخاطر.
- الوقت ضيّق جداً، والبديل إنّك ما تكتب شي (سيناريو مكتوب أفضل من ولا شي).
- بفرق Agile اللي بتشتغل بـ Acceptance Criteria واضحة — أحياناً الـ AC نفسها بتلعب دور الحالات.
لازم تفصّل بحالات لمّا:
- المسار فيه مال، أو بيانات حسّاسة، أو التزام تعاقدي.
- الميزة رح تتأتمت — Script الأتمتة بيحتاج خطوات وبيانات محدّدة.
- الفريق فيه أشخاص جدد، أو الاختبار رح يُنفّذ من شخص غير كاتبه.
- عندك متطلب تنظيمي أو تدقيق بيطلب دليل تنفيذ موثّق.
- المسار جزء من Regression Suite رح يتكرّر كل إصدار.
القاعدة العملية: قد ما يزيد الخطر وتكرار التنفيذ، قد ما تفصّل أكثر.
ثلاثة أخطاء شائعة
- سيناريو مكتوب كأنّه حالة: «افتح الصفحة وأدخل بريد صحيح واضغط دخول» — هذي حالة ناقصة، مش سيناريو. السيناريو ما بيحتوي خطوات.
- حالة فيها أكثر من نتيجة متوقّعة: «تأكّد إنّ الدخول شغّال والملف الشخصي بيفتح والخروج شغّال» — ثلاث حالات مدموجة. لمّا تفشل، ما بتعرف مين اللي فشل، والتقرير بيصير غامض.
- حالة بلا بيانات: «أدخل بريد صحيح» — مين بيحدّد شو «صحيح»؟ كل شخص رح ينفّذها بشكل مختلف، والنتائج ما بتنقارن.
ووين الـ Test Condition من هذا كله؟
بمصطلحات ISTQB فيه مستوى ثالث: Test Condition — الجانب المحدّد اللي بدنا نغطّيه (مثلاً: «التحقّق من قفل الحساب»). الترتيب المنطقي:
متطلب → Test Condition → Test Scenario → Test Case → Test Script (مؤتمت)
بالسوق العملي، كثير فرق بتدمج Condition مع Scenario وبتشتغل بمستويين بس. المهم إنّ فريقك يتفق على التسمية ويكتبها بالـ قاموس — الخلاف على التسميات بيضيّع وقت أكثر من الخلاف على المحتوى.
أسئلة شائعة
كم حالة لكل سيناريو؟ ما فيه رقم ثابت. عادة من 3 لـ 8، حسب عدد المسارات البديلة والحالات الحدّية.
السيناريو بيكتبه المختبر ولا المحلّل؟ غالباً المختبر بعد قراءة المتطلبات، بمراجعة من المحلّل أو Product Owner.
هل الأتمتة بتشتغل على السيناريو ولا الحالة؟ على الحالة. الـ Script المؤتمت بيحتاج خطوات وبيانات ونتيجة متوقّعة صريحة.
شو الفرق بين Test Case و Test Script؟ الحالة موصوفة للبشر، والـ Script هو تنفيذها بالكود أو بأداة أتمتة.
بيتسأل بالمقابلات كثير؟ كثير — وهو ضمن 30 سؤال من مقابلة QA.
خطوتك الجاية
- القالب والمثال الكامل: كيف تكتب حالة اختبار فعّالة.
- غطِّ أكثر بحالات أقل: تقنيات تصميم الاختبار.
- شوف مكان التصميم بالدورة: STLC.
- قوالب جاهزة للتحميل: موارد المنصة.



النقاش 🔻