كتابة ملاحظات الاختبار العملية

مقال مجاني 11 دقيقة

مقدمة

مرحبا ويعطيكم العافية وأهلا وسهلا فيكم في الدرس السابع عشر من رحلتنا في تعلم الاختبار!

في الدرس السابق، تعلمنا عن Test Cases و Test Scenarios وكيف نكتبهم تفاصيل كثيرة.

لكن خلينا نكون صريحين مع بعض...

في الواقع العملي، مش دايم عندنا وقت نكتب Test Cases مفصلة بكل الخطوات والنتائج المتوقعة!

يمكن تكون بنفسك في الفريق، أو عندك Story واحدة لازم تختبرها بسرعة، أو شغال في بيئة Agile والوقت محدود. في هذه الحالات، كتابة Test Cases رسمية ممكن تكون مضيعة للوقت!

اليوم سنحكي عن الطريقة العملية اللي تستخدمها المختبرين الحقيقيين في الميدان: ملاحظات الاختبار البسيطة (Test Notes).


الأهداف التعليمية

بنهاية هذا الدرس، ستكون قادراً على:

  • فهم متى تكون Test Cases المفصلة مضيعة للوقت
  • كتابة ملاحظات اختبار بسيطة وفعّالة
  • التركيز على الاختبار الفعلي بدلاً من التوثيق الزائد
  • استخدام الملاحظات كمرجع مستقبلي وإثبات للعمل
  • تحديد متى تستخدم الملاحظات البسيطة ومتى تستخدم Test Cases رسمية
  • تحسين مهارات الاختبار من خلال مراجعة الملاحظات

المشكلة: كتابة Test Cases ممكن تكون waste of time!

خلينا نكون واقعيين. أنت جالس تكتب 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 عن ماذا سـتختبر.

بسيطة، سريعة، عملية!

مثال واقعي: اختبار Login في Instagram

الطريقة التقليدية (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 من كمبيوتر

شفت الفرق؟

  • لا يوجد Test Case ID
  • لا يوجد Preconditions
  • لا يوجد خطوات مفصلة واحدة واحدة
  • لكن في كل شي لازم أختبره!

ليش هذه الطريقة أفضل؟

1. توفير الوقت

الهدف من الاختبار مش الكتابة، الهدف هو إيجاد Bugs وضمان الجودة!

عندما توفر 45 دقيقة من الكتابة، تستطيع أن تستثمرهم في:

  • التفكير في سيناريوهات معقدة
  • الاستكشاف (Exploratory Testing)
  • فهم الـ Business Logic بشكل أعمق
  • إيجاد bugs حقيقية!

2. التركيز على الاختبار، مش التنسيق

عندما تكتب Test Case رسمية، دماغك مشغول بـ:

  • هل الخطوات مرقمة صح؟
  • هل كتبت Expected Result بوضوح؟
  • هل الـ formatting صح؟
  • هل نسيت حقل من الحقول؟

بينما لازم دماغك يكون مركز على:

  • ما الـ edge cases؟
  • لا يمكن يكسر هذه الـ feature؟
  • كيف المستخدم الحقيقي سيستخدمها؟
  • وين ممكن تكون في مشاكل؟

ملاحظات بسيطة تجعلك تفكر كمختبر، مش كـ documentation writer!


3. مرونة أكبر

عندما تكتشف شي جديد وأنت تختبر، تستطيع أن تضيفه للملاحظات بسهولة:

# # اكتشفت أثناء الاختبار:

- ⚠️ لما أدخل emoji في Password field، الموقع يعلق!
- 🐛 BUG: زر "Remember Me" ما بيشتغل على Safari
- 💡 فكرة: لازم أختبر Login بعد تغيير Password

جرب تعمل نفس الشي بـ Test Case رسمية! ستضطر تعدل الـ ID، الـ Title، الخطوات، كل شي...


متى تستخدم Test Notes البسيطة؟

✅ استخدمها في هذه الحالات:

1. عندما تكون بنفسك في الفريق (Solo Tester)

عندما لا يوجد مختبرين ثانيين سينفذوا نفس الاختبارات، لا داعي للتفاصيل الزائدة.

أنت تعرف ماذا تسوي، ولا تحتاج توثيق رسمي بنفسك.


2. اختبار Story أو Feature واحدة

مثال من Facebook: لازم تختبر الـ "React" feature الجديدة (الـ reactions: Like, Love, Haha، إلخ)

ملاحظاتك:

# اختبار Reactions - Facebook

- ✅ اضغط Like ← يتحول للون الأزرق
- ✅ اضغط مطولاً ← تطلع كل الـ reactions
- ✅ اختار Love ← يحفظ
- ✅ غير من Love لـ Haha ← يتحدث
- ❌ اضغط Reaction بدون إنترنت ← شو يصير؟
- ✅ الـ Reaction يظهر للناس الثانيين
- ✅ عدد الـ reactions صحيح

5 دقائق كتابة، وبلشت اختبار!


3. بيئات Agile سريعة

في Agile، الـ Sprint قصير (أسبوعين مثلاً). لا تملك وقت تكتب documentation طويلة!

الملاحظات البسيطة تجعلك:

  • تبدأ الاختبار بسرعة
  • تتكيف مع التغييرات
  • تركز على القيمة (Value) مش الوثائق

4. عندما الوقت محدود

مديرك جاي يحكيلك: "لازم نطلع الـ Release غداً!"

مش معقول تقعد تكتب Test Cases! اكتب ملاحظات سريعة وابدأ اختبر.


الملاحظات = مرجع للمستقبل

التعلم من الأخطاء

تخيل بعد شهر، في bug ظهر في الـ Production. المدير سألك: "هل اختبرت هذه الحالة؟"

لو لم يكن عندك ملاحظات: "إممم... لا تذكر، صار شهر..."

لو عندك ملاحظات: "خلينا نشوف الملف... آه، اختبرتها وكانت شغالة. يعني في حد كسرها بعد أن اختبرتها!"

الملاحظات تساعدك تتعلم من الماضي وتحسن اختباراتك المستقبلية.


مراجعة ما فاتك

بعد فترة، ارجع لملاحظاتك واسأل نفسك:

  • ما المناطق الذي ما اختبرتها كويس؟
  • وين كان في gaps؟
  • كيف أقدر أحسن المرة الجاية؟

مثال:

# مراجعة بعد شهر:

❌ ما اختبرت الـ Performance (لما في 1000 user)
❌ ما اختبرت على متصفحات قديمة (IE11)
✅ اختبرت الـ Security كويس
✅ غطيت كل الـ edge cases

الدرس: المرة الجاية لازم أركز أكثر على Performance!

الملاحظات = إثبات للعمل

حماية نفسك

أحياناً، حد ثاني من الفريق (مثلاً Developer) يكسر feature كانت شغالة.

عندما المدير يسأل: "ليش ما لقيتوا هذه المشكلة؟"

ملاحظاتك تكون دليلك:

"شوف يا أستاذ، هذه ملاحظاتي من تاريخ 15/1، اختبرت الـ feature وكانت شغالة 100%. في حد عدّل عليها بعد هيك."


إضافة Screenshots أو Videos

حتى تقوي الإثبات، أضف screenshot أو فيديو قصير لكل نقطة اختبرتها.

مثال:

# اختبار Checkout - Amazon

- ✅ أضفت منتج للسلة
  📸 Screenshot: cart-with-product.png

- ✅ دخلت على Checkout
  📸 Screenshot: checkout-page.png

- ✅ دفعت بنجاح
  🎥 Video: payment-success.mp4

الآن عندك proof كامل لكل شي سويته!


متى لا تستخدم Test Notes؟ استخدم Test Cases رسمية!

تحذير
ملاحظات الاختبار البسيطة مش دايم الحل الأمثل!

❌ متى تحتاج Test Cases رسمية:

1. عندما في مختبرين جدد أو مبتدئين

لو حد جديد سينفذ الاختبارات، يحتاج خطوات واضحة step-by-step.

الملاحظات البسيطة لن تكفي، لأنه لا يعرف التطبيق.


2. Regression Testing المتكرر

عندما نفس الاختبارات تتكرر كل Release، تحتاج Test Cases موثقة.

مثال: اختبار الـ Login يحدث كل Sprint. لازم يكون في Test Case رسمية حتى نضمن الـ consistency.


3. شركات تحتاج Compliance

البنوك، شركات الصحة، الطيران... هذه الشركات تطلب documentation رسمية.

لا تستطيع أن تقولهم "عندي ملاحظات بسيطة". لازم Test Cases كاملة مع كل التفاصيل.


4. Test Automation

عندما تريد تحول الاختبارات لـ Automated Tests، تحتاج Test Cases مفصلة.

الملاحظات البسيطة صعب تحولها لكود.


نصائح عملية لكتابة Test Notes فعّالة

1. استخدم Checkboxes (✅ / ❌)

الـ checkboxes تساعدك تتابع ما خلصت وما باقي:

- [ ] اختبار Login بـ email
- [x] اختبار Login بـ username
- [ ] اختبار Logout
- [x] اختبار Remember Me

2. ميّز بين Positive و Negative

استخدم رموز واضحة:

## Positive Cases ✅
- Login بمدخلات صحيحة
- إضافة منتج للسلة

## Negative Cases ❌
- Login ببريد غلط
- إضافة منتج نفذ من المخزون

3. اكتب التاريخ واسمك

حتى تعرف متى اختبرت ومن اختبر:

# اختبار Payments - Netflix
📅 التاريخ: 2025-01-20
👤 المختبر: ليلى
🔖 Build Version: v2.3.1

4. أضف ملاحظات أثناء الاختبار

عندما تكتشف شي مثير للاهتمام، اكتبه:

- ✅ دفعت بـ Credit Card
  💡 ملاحظة: الدفع أخذ 5 ثواني، شوي بطيء

- ❌ دفعت ببطاقة منتهية
  🐛 BUG: ما ظهرت رسالة خطأ واضحة!

5. اربط الملاحظات بالـ User Story أو Ticket

# Test Notes for Story #1234: Implement Password Reset

Jira: https://company.atlassian.net/browse/STORY-1234

# # لن أختبره:
- ...

هيك عندما ترجع بعد فترة، تعرف هذه الملاحظات لأي Story.


مثال كامل: اختبار Netflix "Continue Watching"

خلينا ناخذ مثال واقعي من Netflix ونطبق الطريقة:

الـ Feature

"Continue Watching" - القسم الذي يظهر لك الأفلام والمسلسلات التي بدأت تشوفها وما خلصتها.


Test Notes

# اختبار 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

  • ماذا سـتختبر في إنشاء وإدارة Playlists؟

4. Uber - Request Ride

  • ماذا سـتختبر في طلب رحلة؟

النموذج:

# اختبار [Feature Name] - [App Name]
📅 التاريخ: ______
👤 المختبر: ______

# # لن أختبره:

### [Category 1]
- ✅ ...
- ❌ ...

### [Category 2]
- ✅ ...
- ❌ ...

---

# # اكتشفت أثناء الاختبار:
- ...

نصيحة
خلي ملاحظاتك بسيطة وسريعة! الهدف مش تكتب كتاب، الهدف تختبر وتلاقي bugs. لا تقضي أكثر من 5-10 دقائق بالكتابة!

في الدرس الجاي، رح نحكي عن كيف نحدد أولويات الاختبار - شو نختبر أول، وشو ممكن نتركه للآخر!

يعطيكم العافية، ونلتقي في الدرس القادم! 🚀