مرحبا ويعطيكم العافية وأهلا وسهلا فيكم في الدرس السابع عشر من رحلتنا في تعلم الاختبار!
في الدرس السابق، تعلمنا عن Test Cases و Test Scenarios وكيف نكتبهم تفاصيل كثيرة.
لكن خلينا نكون صريحين مع بعض...
في الواقع العملي، مش دايم عندنا وقت نكتب Test Cases مفصلة بكل الخطوات والنتائج المتوقعة!
يمكن تكون بنفسك في الفريق، أو عندك Story واحدة لازم تختبرها بسرعة، أو شغال في بيئة Agile والوقت محدود. في هذه الحالات، كتابة Test Cases رسمية ممكن تكون مضيعة للوقت!
اليوم سنحكي عن الطريقة العملية اللي تستخدمها المختبرين الحقيقيين في الميدان: ملاحظات الاختبار البسيطة (Test Notes).
بنهاية هذا الدرس، ستكون قادراً على:
خلينا نكون واقعيين. أنت جالس تكتب Test Case رسمية:
Test Case ID: TC-LOGIN-001
Title: Verify user can login with valid credentials
Preconditions: User must have a registered account
Test Data:
- Email: test@example.com
- Password: Test@1234
Steps:
1. Navigate to www.example.com
2. Click on "Login" button in the top right corner
3. Enter email address in the email field
4. Enter password in the password field
5. Click on "Sign In" button
6. Verify user is redirected to homepage
Expected Result: User successfully logs in and sees their name displayed
Actual Result: [To be filled during execution]
Status: [Pass/Fail]كم وقت أخذت منك هذه الكتابة؟ 5 دقائق؟ 10 دقائق؟
والاختبار الفعلي؟ 30 ثانية!
أحياناً منقضي وقت أطول في التوثيق من الاختبار نفسه! وهذا مش منطقي.
بدل لا تكتب Test Cases رسمية بكل التفاصيل، افتح ملف نصي بسيط (Note) واكتب فيه bullet points عن ماذا سـتختبر.
بسيطة، سريعة، عملية!
الطريقة التقليدية (Test Cases مفصلة): ساعة كتابة، 10 دقائق اختبار
الطريقة العملية (Test Notes): 5 دقائق كتابة، 10 دقائق اختبار، 45 دقيقة تفكير في Business Logic!
# اختبار Login - Instagram
التاريخ: 2025-01-15
المختبر: أحمد
# # لن أختبره:
- ✅ Login بـ email + password صحيح
- ✅ Login بـ username + password صحيح
- ❌ Login بـ email غلط
- ❌ Login بـ password غلط
- ❌ Login بـ email فاضي
- ❌ Login بـ password فاضي
- ✅ زر "Forgot Password" يعمل
- ✅ زر "Show/Hide Password" يعمل
- ✅ "Remember Me" checkbox تحفظ الجلسة
- ❌ محاولة Login 5 مرات غلط ← Account lock؟
- ✅ Login من موبايل
- ✅ Login من كمبيوترشفت الفرق؟
الهدف من الاختبار مش الكتابة، الهدف هو إيجاد Bugs وضمان الجودة!
عندما توفر 45 دقيقة من الكتابة، تستطيع أن تستثمرهم في:
عندما تكتب Test Case رسمية، دماغك مشغول بـ:
بينما لازم دماغك يكون مركز على:
ملاحظات بسيطة تجعلك تفكر كمختبر، مش كـ documentation writer!
عندما تكتشف شي جديد وأنت تختبر، تستطيع أن تضيفه للملاحظات بسهولة:
# # اكتشفت أثناء الاختبار:
- ⚠️ لما أدخل emoji في Password field، الموقع يعلق!
- 🐛 BUG: زر "Remember Me" ما بيشتغل على Safari
- 💡 فكرة: لازم أختبر Login بعد تغيير Passwordجرب تعمل نفس الشي بـ Test Case رسمية! ستضطر تعدل الـ ID، الـ Title، الخطوات، كل شي...
عندما لا يوجد مختبرين ثانيين سينفذوا نفس الاختبارات، لا داعي للتفاصيل الزائدة.
أنت تعرف ماذا تسوي، ولا تحتاج توثيق رسمي بنفسك.
مثال من Facebook: لازم تختبر الـ "React" feature الجديدة (الـ reactions: Like, Love, Haha، إلخ)
ملاحظاتك:
# اختبار Reactions - Facebook
- ✅ اضغط Like ← يتحول للون الأزرق
- ✅ اضغط مطولاً ← تطلع كل الـ reactions
- ✅ اختار Love ← يحفظ
- ✅ غير من Love لـ Haha ← يتحدث
- ❌ اضغط Reaction بدون إنترنت ← شو يصير؟
- ✅ الـ Reaction يظهر للناس الثانيين
- ✅ عدد الـ reactions صحيح5 دقائق كتابة، وبلشت اختبار!
في Agile، الـ Sprint قصير (أسبوعين مثلاً). لا تملك وقت تكتب documentation طويلة!
الملاحظات البسيطة تجعلك:
مديرك جاي يحكيلك: "لازم نطلع الـ Release غداً!"
مش معقول تقعد تكتب Test Cases! اكتب ملاحظات سريعة وابدأ اختبر.
تخيل بعد شهر، في bug ظهر في الـ Production. المدير سألك: "هل اختبرت هذه الحالة؟"
لو لم يكن عندك ملاحظات: "إممم... لا تذكر، صار شهر..."
لو عندك ملاحظات: "خلينا نشوف الملف... آه، اختبرتها وكانت شغالة. يعني في حد كسرها بعد أن اختبرتها!"
الملاحظات تساعدك تتعلم من الماضي وتحسن اختباراتك المستقبلية.
بعد فترة، ارجع لملاحظاتك واسأل نفسك:
مثال:
# مراجعة بعد شهر:
❌ ما اختبرت الـ Performance (لما في 1000 user)
❌ ما اختبرت على متصفحات قديمة (IE11)
✅ اختبرت الـ Security كويس
✅ غطيت كل الـ edge cases
الدرس: المرة الجاية لازم أركز أكثر على Performance!أحياناً، حد ثاني من الفريق (مثلاً Developer) يكسر feature كانت شغالة.
عندما المدير يسأل: "ليش ما لقيتوا هذه المشكلة؟"
ملاحظاتك تكون دليلك:
"شوف يا أستاذ، هذه ملاحظاتي من تاريخ 15/1، اختبرت الـ feature وكانت شغالة 100%. في حد عدّل عليها بعد هيك."
حتى تقوي الإثبات، أضف screenshot أو فيديو قصير لكل نقطة اختبرتها.
مثال:
# اختبار Checkout - Amazon
- ✅ أضفت منتج للسلة
📸 Screenshot: cart-with-product.png
- ✅ دخلت على Checkout
📸 Screenshot: checkout-page.png
- ✅ دفعت بنجاح
🎥 Video: payment-success.mp4الآن عندك proof كامل لكل شي سويته!
لو حد جديد سينفذ الاختبارات، يحتاج خطوات واضحة step-by-step.
الملاحظات البسيطة لن تكفي، لأنه لا يعرف التطبيق.
عندما نفس الاختبارات تتكرر كل Release، تحتاج Test Cases موثقة.
مثال: اختبار الـ Login يحدث كل Sprint. لازم يكون في Test Case رسمية حتى نضمن الـ consistency.
البنوك، شركات الصحة، الطيران... هذه الشركات تطلب documentation رسمية.
لا تستطيع أن تقولهم "عندي ملاحظات بسيطة". لازم Test Cases كاملة مع كل التفاصيل.
عندما تريد تحول الاختبارات لـ Automated Tests، تحتاج Test Cases مفصلة.
الملاحظات البسيطة صعب تحولها لكود.
الـ checkboxes تساعدك تتابع ما خلصت وما باقي:
- [ ] اختبار Login بـ email
- [x] اختبار Login بـ username
- [ ] اختبار Logout
- [x] اختبار Remember Meاستخدم رموز واضحة:
## Positive Cases ✅
- Login بمدخلات صحيحة
- إضافة منتج للسلة
## Negative Cases ❌
- Login ببريد غلط
- إضافة منتج نفذ من المخزونحتى تعرف متى اختبرت ومن اختبر:
# اختبار Payments - Netflix
📅 التاريخ: 2025-01-20
👤 المختبر: ليلى
🔖 Build Version: v2.3.1عندما تكتشف شي مثير للاهتمام، اكتبه:
- ✅ دفعت بـ Credit Card
💡 ملاحظة: الدفع أخذ 5 ثواني، شوي بطيء
- ❌ دفعت ببطاقة منتهية
🐛 BUG: ما ظهرت رسالة خطأ واضحة!# Test Notes for Story #1234: Implement Password Reset
Jira: https://company.atlassian.net/browse/STORY-1234
# # لن أختبره:
- ...هيك عندما ترجع بعد فترة، تعرف هذه الملاحظات لأي Story.
خلينا ناخذ مثال واقعي من Netflix ونطبق الطريقة:
"Continue Watching" - القسم الذي يظهر لك الأفلام والمسلسلات التي بدأت تشوفها وما خلصتها.
# اختبار Continue Watching - Netflix
📅 التاريخ: 2025-01-18
👤 المختبر: محمد
🔖 Build: v8.120.0
🎯 Story: NFLX-5678
---
# # لن أختبره:
# ## الظهور (Display)
- ✅ شغل فيلم لمدة 5 دقائق ← يظهر في Continue Watching
- ✅ شغل مسلسل (حلقة واحدة) ← يظهر
- ❌ شغل فيلم لمدة 10 ثواني فقط ← ما يظهر (too short)
- ✅ خلص فيلم كامل ← ما يظهر في Continue Watching
# ## الترتيب (Order)
- ✅ آخر فيديو شفته يظهر أول (الأحدث أولاً)
- ✅ الفيديوهات القديمة تروح لتحت
# ## الحذف (Remove)
- ✅ اضغط "X" على فيلم ← ينحذف من القائمة
- ✅ بعد ما أحذف، الفيلم ما يرجع يظهر
# ## الاستكمال (Resume)
- ✅ اضغط على فيلم من Continue Watching ← يكمل من وين وقفت
- ✅ الـ timestamp صحيح (نفس الدقيقة)
- ❌ لو خلصت آخر 2 دقيقة من فيلم ← ما يظهر في Continue Watching
### Multiple Devices
- ✅ شوف فيلم على الموبايل ← يظهر على الكمبيوتر
- ✅ احذف من الكمبيوتر ← ينحذف من الموبايل (sync)
---
# # Bugs وجدتها:
🐛 **BUG-001**: لما أشغل فيلم لمدة دقيقة واحدة بس، يظهر في Continue Watching. المفروض minimum 2 دقائق!
📸 Screenshot: bug-001-short-video.png
🐛 **BUG-002**: الترتيب مش دايماً صح. أحياناً فيلم قديم يظهر قبل الحديث.
🎥 Video: bug-002-wrong-order.mp4
---
# # ملاحظات:
💡 الـ feature شغالة كويس بشكل عام
⚠️ في مشكلة بسيطة بالـ sync بين الأجهزة (بياخذ 5 ثواني)
✅ الـ UI واضح وسهل
---
# # ما اختبرته (للمرة الجاية):
- Performance: لو عندي 50 فيديو في Continue Watching
- لو حذفت Netflix app وحملتها مرة ثانية
- لو غيرت الـ Profile✅ Test Cases المفصلة أحياناً تكون waste of time - أوقات منقضي وقت أكثر بالكتابة من الاختبار!
✅ الحل العملي: ملف ملاحظات بسيط - bullet points سريعة وواضحة عن ماذا سـتختبر
✅ ركز على الاختبار والـ Business Logic، مش التوثيق - دماغك لازم يفكر بالـ bugs، مش بالتنسيق
✅ استخدم Test Notes عندما تكون بنفسك، أو تختبر story واحدة، أو الوقت محدود - مثالية للـ Agile
✅ الملاحظات = مرجع للمستقبل - تعلم من أخطائك وحسّن اختباراتك
✅ الملاحظات = إثبات لعملك - أضف screenshots/videos كـ proof
✅ Test Cases رسمية لازم تستخدمها في حالات معينة - مختبرين جدد، Regression، Compliance، Automation
الآن دورك! 💪
اختار واحد من المواقع/التطبيقات التالية، واكتب Test Notes لاختبار feature معينة:
1. WhatsApp - Voice Messages
2. Amazon - Add to Cart
3. YouTube - Playlists
4. Uber - Request Ride
# اختبار [Feature Name] - [App Name]
📅 التاريخ: ______
👤 المختبر: ______
# # لن أختبره:
### [Category 1]
- ✅ ...
- ❌ ...
### [Category 2]
- ✅ ...
- ❌ ...
---
# # اكتشفت أثناء الاختبار:
- ...في الدرس الجاي، رح نحكي عن كيف نحدد أولويات الاختبار - شو نختبر أول، وشو ممكن نتركه للآخر!
يعطيكم العافية، ونلتقي في الدرس القادم! 🚀