—مشاهدة
الفصل الرابع: تقنيات تصميم الاختبار — Test Analysis and Design
الفصل الرابع من منهج ISTQB CTFL V4 بالعربي: تقنيات الصندوق الأسود (تقسيم التكافؤ، القيم الحدّية، جداول القرار، انتقال الحالات)، تقنيات الصندوق الأبيض، التقنيات المبنيّة على الخبرة، والأساليب التعاونية مثل ATDD.
قبل ما تبدأ
- خلّص الفصول الأول والثاني والثالث
- ما بتحتاج تعرف تبرمج — تقنيات الصندوق الأبيض هون بتنشرح بالمفهوم مش بالكود
الخلاصة بنقاط
- ثلاث عائلات تقنيات: صندوق أسود (من المواصفات)، صندوق أبيض (من البنية الداخلية)، ومبنيّة على الخبرة
- تقسيم التكافؤ بيقلّل عدد الحالات، وتحليل القيم الحدّية بيمسك أكثر منطقة بتصير فيها الأخطاء
- جدول القرار للقواعد المتشابكة، وانتقال الحالات للأنظمة اللي إلها حالات وأحداث
- تغطية الجُمل أضعف من تغطية الفروع — 100% فروع بتضمن 100% جُمل والعكس مش صحيح
- التقنيات المبنيّة على الخبرة (تخمين الأخطاء، الاستكشافي، القوائم) مكمّلة مش بديلة
هذا الدرس بيغطّي الفصل الرابع من منهج ISTQB CTFL نسخة 4.0 — Test Analysis and Design. الشرح التفصيلي بالفيديو، وهذا ملخّص مرجعي ترجعله قبل الامتحان.
1. نظرة عامة على تقنيات الاختبار
- صندوق أسود (Black-box): بتصمّم الحالات من المواصفات والسلوك المتوقّع، بدون ما تشوف الكود.
- صندوق أبيض (White-box): بتصمّم الحالات من البنية الداخلية للكود أو التدفّق.
- مبنيّة على الخبرة (Experience-based): بتعتمد على معرفة المختبر وخبرته بالـ Bugs المتكرّرة.
- الثلاثة مكمّلين لبعض — الاختيار بيعتمد على السياق والمخاطر ونوع النظام.
2. تقسيم التكافؤ — Equivalence Partitioning
- بتقسّم مدخلات (أو مخرجات) لأقسام كل عناصرها متوقّع تتعامل بنفس الطريقة.
- بتختبر قيمة وحدة تمثيلية من كل قسم بدل ما تجرّب كل القيم — هيك بتقلّل الحالات بدون ما تفقد التغطية.
- لازم تغطّي الأقسام الصالحة وغير الصالحة، وكل قسم غير صالح لحاله (عشان ما يخفي واحد التاني).
- التغطية = عدد الأقسام المختبَرة ÷ إجمالي الأقسام.
3. تحليل القيم الحدّية — Boundary Value Analysis
- الـ Bugs بتتجمّع عند الحدود، فبنركّز عليها: امتداد طبيعي لتقسيم التكافؤ.
- طريقة القيمتين: القيمة الحدّية والقيمة اللي بعدها مباشرة على كل حد.
- طريقة الثلاث قيم: الحد، وقبله بواحد، وبعده بواحد.
- بتنطبق بس على الأقسام المرتّبة (أرقام، تواريخ) — مش على قائمة خيارات غير مرتّبة.
4. جداول القرار — Decision Table Testing
- مناسبة لما يكون في شروط متشابكة بتعطي نتائج مختلفة (قواعد عمل، خصومات، صلاحيات).
- بتكتب الشروط وكل تركيباتها والنتيجة المتوقّعة لكل تركيبة، وكل عمود بيصير حالة اختبار.
- فايدتها الكبيرة: بتكشف تركيبات ناسيها المواصفات — يعني بتلاقي Bugs بالمتطلبات مش بس بالكود.
- التغطية = عدد القواعد المختبَرة ÷ إجمالي القواعد.
5. اختبار انتقال الحالات — State Transition Testing
- مناسب للأنظمة اللي إلها حالات وأحداث: طلب، حجز، جلسة تسجيل دخول، اشتراك.
- بترسم الحالات، الأحداث، الانتقالات، والأفعال الناتجة — بمخطّط أو بجدول.
- بتختبر الانتقالات الصحيحة، والأهم: الانتقالات غير المسموحة (مثل إلغاء طلب منفّذ).
- التغطية ممكن تكون كل الحالات، أو كل الانتقالات الصالحة، أو كل الانتقالات بما فيها غير الصالحة.
6. تقنيات الصندوق الأبيض
- تغطية الجُمل (Statement coverage): نسبة الأسطر التنفيذية اللي اشتغلت.
- تغطية الفروع (Branch coverage): نسبة نتائج القرارات (true/false) اللي انفّذت.
- 100% تغطية فروع بتضمن 100% تغطية جُمل، والعكس مش صحيح — والاثنين ما بيضمنوا إنّ المنطق صح.
- قيمتها: بتقيس التغطية على كامل الكود وبتكشف أجزاء ما انختبرت أبداً — شي ما بتشوفه من المواصفات.
7. التقنيات المبنيّة على الخبرة
- تخمين الأخطاء (Error guessing): تتوقّع أين ممكن يغلط المطوّر بناءً على خبرتك وتاريخ الـ Bugs.
- الاختبار الاستكشافي (Exploratory): تصميم وتنفيذ وتعلّم بنفس الوقت، عادة ضمن test charter وجلسة محدّدة بوقت.
- الاختبار المبني على قائمة (Checklist-based): قائمة بنود مشتقّة من الخبرة أو المعايير — مرنة بس بتحتاج تحديث مستمر.
- نقطة مهمّة للامتحان: هي تقنيات مكمّلة، وتغطيتها صعب تُقاس بدقّة.
8. الأساليب التعاونية و ATDD
- الـ 3 C’s لكتابة user story: Card (البطاقة)، Conversation (النقاش)، Confirmation (معايير القبول).
- INVEST: مستقلة، قابلة للتفاوض، ذات قيمة، قابلة للتقدير، صغيرة، وقابلة للاختبار.
- معايير القبول: بتحدّد إمتى الـ story خلصت — بصيغة سيناريوهات (Given/When/Then) أو قائمة موجّهة.
- ATDD: الفريق بيكتب اختبارات القبول من معايير القبول قبل التطوير، فبتنكشف الغموضات بدري وبيصير عند الجميع نفس الفهم.
بالدرس الجاي: الفصل الخامس — إدارة نشاطات الاختبار (Managing the Test Activities).
تمرين
صمّم حالات اختبار لشاشة تحويل مالي بأربع تقنيات
- الميزة: تحويل مبلغ بين حسابين — المبلغ من 1 إلى 5000 دينار، والتحويل مرفوض إذا الرصيد ما بيكفي
- طبّق تقسيم التكافؤ على حقل المبلغ وحدّد الأقسام الصالحة وغير الصالحة، واكتب حالة لكل قسم
- طبّق تحليل القيم الحدّية بطريقة الثلاث قيم على نفس الحقل واكتب القيم اللي رح تختبرها
- اعمل جدول قرار لشرطين: الرصيد كافي أو لأ، والحساب المستفيد مفعّل أو لأ — وحدّد النتيجة لكل تركيبة
- ارسم انتقال الحالات لطلب التحويل: مُنشأ ← بانتظار التأكيد ← منفّذ / مرفوض / ملغى، وحدّد انتقال غير مسموح لازم تختبره
- اكتب ثلاث أفكار من تخمين الأخطاء وجلسة استكشافية قصيرة (test charter) لنفس الشاشة
المهم يكون كل حالة مربوطة بتقنية واضحة وبسبب اختيارها — مش مجرّد قائمة حالات.
اكشف الحل
- تقسيم التكافؤ: أقسام غير صالحة (أقل من 1، أكبر من 5000، صفر، نص أو رموز، فاضي) وقسم صالح واحد (1–5000) — حالة واحدة تمثيلية لكل قسم بدل عشرات الحالات
- القيم الحدّية بثلاث قيم: حول الحد الأدنى 0 و1 و2، وحول الحد الأعلى 4999 و5000 و5001
- جدول القرار: رصيد كافي + حساب مفعّل ← ينفّذ؛ رصيد كافي + حساب غير مفعّل ← يرفض مع رسالة الحساب؛ رصيد غير كافي + مفعّل ← يرفض مع رسالة الرصيد؛ الاثنين غلط ← يرفض ولازم تحدّد أي رسالة تظهر (هون بتطلع Bugs المواصفات)
- انتقال الحالات: الانتقالات المسموحة مُنشأ ← بانتظار التأكيد ← منفّذ أو مرفوض أو ملغى؛ والانتقال غير المسموح اللي لازم تختبره: من منفّذ ← ملغى، أو تأكيد طلب ملغى
- تخمين الأخطاء: مبلغ بفاصلة عشرية أو فاصلة آلاف، ضغط زر التأكيد مرتين بسرعة (تحويل مكرّر)، وانقطاع الشبكة بعد الضغط وقبل الرد
- Test charter استكشافي: «استكشف شاشة التحويل لمدة 45 دقيقة بالتركيز على حالات الرفض ورسائل الخطأ وسلوك التطبيق مع انقطاع الشبكة» — وسجّل الملاحظات وقت الجلسة
تقدّم الشهادة0%
شاهد 90% من الفيديو حتى ينحسب هذا الدرس مكتمل.

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



النقاش 🔻