أهلاً وسهلاً فيكم في درس جديد، ويعطيكم العافية!
تخيّل معي: فتحت Amazon، وتريد أن تختبر الـ Checkout. جهّزت كل شيء، لكن... لا تملك بيانات!
لا تملك User للـ Login، ولا منتج بالـ Cart، ولا عنوان، ولا Credit Card.
ما الذي ستفعله؟ لن تستطيع أن تختبر!
هذا هو موضوعنا اليوم: Test Data — البيانات التي تشغّل اختباراتك.
Test Data هو الوقود الذي يشغّل اختباراتك. بدون بيانات صحيحة، الاختبار لا يفيد!
Test Data = أي معلومة تحتاجها حتى تختبر.
أمثلة:
Test Case بدون Test Data = سيارة بدون نزين!
Title: Test Login
Steps:
1. Enter username
2. Enter password
3. Click Loginليش خاطئ؟ لأننا لم نحدّد ما هو الـ Username والـ Password.
Title: Test Login
Test Data:
- Username: ahmad@test.com
- Password: Test1234
Steps:
1. Enter username: ahmad@test.com
2. Enter password: Test1234
3. Click Loginليش صحيح؟ لأنه البيانات واضحة ومحدّدة.
كلما أردت أن تختبر الـ Login، هل لازم تسجّل User جديد؟ هذا يأخذ وقتاً طويلاً.
مثال: تريد أن تختبر Delete Account في Instagram:
خمس دقائق في كل مرة.
استخدمت User معيّناً اليوم. وغداً جئت لتختبر — والـ User محذوف!
Developer آخر مسح الـ Database، والبيانات ذهبت معها.
حتى تختبر الـ Checkout في Amazon، تحتاج:
أربعة أنواع بيانات مترابطة. ولو كان واحد منها خطأ، الاختبار يفشل.
الفكرة: بدلاً من أن تسجّل User جديد من الموقع، غيّر البيانات مباشرة في الـ Database.
مثال واقعي: تريد أن تختبر صلاحيات Admin User أو Premium User.
من الـ UI:
من الـ Database:
user إلى admin أو premiumمثال ثانٍ: تريد أن تختبر ميزات Netflix Premium؟ بدلاً من أن تدفع اشتراكاً، غيّر الـ subscription_type في الـ Database إلى premium، ثم اعمل Refresh — وستجد نفسك Premium.
الفكرة: بدلاً من أن تنتظر API حقيقياً، استخدم جواباً وهمياً.
مثال: تريد أن تختبر الـ Payment في Amazon، لكنك لا تريد أن تدفع أموالاً حقيقية في كل مرة.
الحل: استخدم Payment Gateway وهمياً يرجّع Success دايماً.
ليش هذا مفيد؟
الفكرة: قبل أن تبدأ الاختبار، جهّز كل البيانات التي تحتاجها.
اعمل ملفاً (Excel أو Note) فيه:
وشارك الملف مع الفريق — ليستخدم الجميع نفس البيانات.
لا تبدأ الاختبار وأنت لا تملك بيانات.
اكتب في الـ Test Case ما هي البيانات التي استخدمتها.
هكذا، لو نفّذ الاختبار شخص آخر، سيعرف ما الذي يستخدمه.
لا تجعل كل شخص يستخدم بيانات مختلفة.
اعمل ملفاً مشتركاً فيه كل الـ Test Data، ليستخدم الجميع نفس البيانات.
✅ Test Data هو الوقود الذي يشغّل الاختبارات. بدونه لا يوجد اختبار.
✅ Test Case بدون Test Data = سيارة بدون نزين.
✅ التحديات الثلاثة: إنشاء البيانات يأخذ وقتاً، البيانات تتغيّر أو تُحذف، والبيانات المترابطة معقّدة.
✅ الحلول الذكية:
✅ نصائح مهمة:
✅ تذكّر: البيانات الصحيحة تعني اختبارات صحيحة.
يعطيكم العافية، ونلتقي في الدرس الجاي!