How to Create Effective Test Cases (With Examples)
Software Teams

كيفية إنشاء حالات اختبار فعالة (مع أمثلة)

تفشل معظم حالات الاختبار قبل أن تكتشف أي خطأ برمجي. فهي تُكتب على شكل قوائم مراجعة غامضة، أو تفتقر إلى الشروط المسبقة، أو تجمع عدة إجراءات في خطوة واحدة، أو تصف النتائج المتوقعة بشكل فضفاض لدرجة أن اثنين من المختبرين يقرآن نفس الحالة قد يختلفان حول معنى كلمة «نجاح». والنتيجة: تمر الأخطاء البرمجية دون أن يتم اكتشافها، ولا يمكن إعادة تنفيذ عمليات الاختبار، وتصبح عملية ضمان الجودة عقبة بدلاً من أن تكون شبكة أمان.

لا تعتمد كتابة حالة اختبار جيدة على مهارة الاختبار بقدر ما تعتمد على تصميم عملية التحقق. تسمي الخدمات المالية هذه العملية «عملية الصانع-المراجع». أما القيادة النووية فتسميها «قاعدة الشخصين». والمبدأ واحد: لا ينبغي أبدًا أن تعتمد المهام الحرجة على إجراء واحد لم يتم التحقق منه. وتضفي حالة الاختبار المكتوبة جيدًا نفس الدقة على البرمجيات. فهي تفصل بين ما تتوقعه وما تلاحظه، بحيث يصبح من المستحيل تجاهل الفجوة بينهما.

سنوضح لك كيفية كتابة حالات الاختبار، وأهميتها، وكيفية تحسين جودة حالات الاختبار بمرور الوقت.

ملخص

تحدد حالة الاختبار الخطوات الدقيقة والمدخلات والنتائج المتوقعة اللازمة للتحقق من أن الميزة تعمل بشكل صحيح. تحتاج كل حالة إلى معرّف فريد وشروط مسبقة ونتائج متوقعة مكتوبة حتى يمكن التحقق من النتيجة. يغطي هذا الدليل عملية الكتابة المكونة من سبع خطوات، وثلاثة أمثلة توضيحية، وكيفية الحفاظ على موثوقية مجموعة الاختبارات مع تغير المنتج.

ما هي حالات الاختبار؟

حالة الاختبار هي وثيقة منظمة تحدد الخطوات الدقيقة والمدخلات والشروط المسبقة والنتائج المتوقعة اللازمة للتحقق مما إذا كان برنامج معين يعمل بشكل صحيح. وهي ليست خطة اختبار (التي تحدد استراتيجية الاختبار) ولا نصوص اختبار (رمز آلي ينفذ الخطوات برمجياً). بل إن حالة الاختبار هي المواصفات التي يُبنى كل منهما على أساسها.

مثال: أنت تقوم باختبار وظيفة تسجيل الدخول في أحد تطبيقات الويب. ستحدد حالة الاختبار الخاصة بهذه الميزة العناصر التالية:

  • الإجراءات التي تصف الخطوات التي يقوم بها المستخدم واستجابات النظام المتوقعة
  • الشروط التي تحدد القواعد التي يجب استيفاؤها حتى يتمكن النظام من المضي قدمًا في كل خطوة
  • أدخل البيانات بقيم نموذجية لاختبار النتائج المختلفة والتحقق من سيناريوهات النجاح والفشل على حد سواء

مقارنة بين حالات الاختبار اليدوية والآلية

أصبح الذكاء الاصطناعي الآن جزءًا من معظم سير عمل الاختبار. يستخدم 76.8% من المتخصصين في الاختبار الذكاء الاصطناعي في ضمان الجودة، حيث يُعد إنشاء حالات الاختبار (69.6%) وصيانة البرامج النصية (59.6%) الاستخدامين الأكثر شيوعًا، وفقًا لتقرير PractiTest لعام 2026 حول حالة الاختبار. وتظهر هذه التحولات بشكل أكبر في حالات الاختبار الآلية، لذا من المفيد معرفة كيف تختلف عن حالات الاختبار اليدوية.

المعلمةحالات الاختبار اليدويةحالات الاختبار المؤتمتة
التنفيذيتم إجراؤها بواسطة مختبِر بشري يتبع مجموعة من الخطوات الموثقةيتم تنفيذها بواسطة أدوات برمجية أو نصوص برمجية أو وكلاء الذكاء الاصطناعي
السرعةعملية بطيئة وتستغرق وقتًا طويلاً، حيث يتعين على البشر إدخال البيانات يدويًّا والتحقق من النتائجيمكنه تنفيذ مئات حالات الاختبار في وقت واحد
قابلية التكرارعرضة للأخطاء البشرية والتفسير غير المتسق للخطواتتتميز القابلية العالية للتكرار والاتساق عندما يتم صيانة نصوص الاختبار بشكل جيد
تكامل CI/CDيصعب دمجها في مسارات التسليم سريعة الحركة بسبب الاختناقات البشريةيتكامل مباشرةً مع مسارات CI/CD لتشغيل الاختبارات على كل إصدار
الصيانةيتطلب تحديثات يدوية للمستندات كلما تغيرت المتطلباتيتطلب صيانة فنية لتحديث البرامج النصية عند تغيير واجهة المستخدم أو المنطق
مثالي لـ الاختبارات الاستكشافيةالاختبارات المتكررة واختبارات الانحدار

أهمية كتابة حالات الاختبار بشكل جيد

يمكنك اكتشاف حالات التراجع قبل أن يقوم المستخدمون بإنشاء تذاكر الدعم. كل تغيير في الكود ينطوي على خطر تعطيل شيء يعمل بالفعل. وتصبح حالة الاختبار المكتوبة جيدًا نقطة فحص ثابتة يتم تشغيلها بعد كل عملية نشر. فعندما يقوم أحد المطورين بإعادة هيكلة كود تسجيل الدخول بعد مرور عام ويؤدي ذلك عن غير قصد إلى تعطيل معالجة الجلسة، فإن حالة الاختبار تلك هي التي تكتشف المشكلة في بيئة الاختبار.

اجعل النجاح أو الفشل حقيقة واقعة، وليس مجرد رأي. فالنتائج المتوقعة الغامضة مثل "يستجيب النظام بشكل مناسب" تجبر كل مختبر على تفسير معنى كلمة "مناسب". يقوم مختبران بتشغيل نفس الحالة، أحدهما يضع علامة "ناجح"، والآخر يبلغ عن عيب، والآن يقوم الفريق بتصحيح الخلاف بدلاً من تصحيح البرنامج. عندما تكون النتيجة المتوقعة هي «يعرض النظام رسالة خطأ: "كلمة مرور غير صالحة" ويبقي المستخدم على صفحة تسجيل الدخول»، فلا مجال للتفسير. إما أن تتطابق النتيجة أو لا تتطابق. هذه هي قاعدة الشخصين في الممارسة العملية: حالة الاختبار هي المُحدِّدة، والمختبر هو المُتحقق، وكلاهما بحاجة إلى التحدث بنفس اللغة.

أنت تحول المعرفة الضمنية إلى أصل قابل لإعادة الاستخدام. في معظم الفرق، يحمل مهندس ضمان الجودة الأقدم خريطة غير مرئية لكل حالة استثنائية، وكل حل بديل، وكل عبارة من نوع «أوه، تأكد من التحقق أيضًا من X». وعندما يذهب هذا الشخص في إجازة أو ينتقل إلى فريق آخر، تذهب الخريطة معه. أما حالات الاختبار الموثقة ذات الشروط المسبقة والقيم الحدية الصريحة، فهي تحافظ على تلك المعرفة بشكل منظم. يمكن للمختبر الجديد الذي ينضم إلى الفريق أن يختار TC_LOGIN_005 ويختبر مسار «قفل الحساب بعد خمس محاولات» في اليوم الأول، دون أن يسأل أي شخص عن الحد الأقصى أو كيفية إعادة ضبط المؤقت.

يمكنك عزل الأخطاء إلى خطوات محددة، وليس مجالات عامة. عندما تجمع حالة اختبار "الانتقال إلى الصفحة، وإدخال بيانات الاعتماد، والنقر على إرسال" في خطوة واحدة ويفشل الاختبار، كل ما تعرفه هو أن "شيئًا ما في عملية تسجيل الدخول تعطل". " وعندما تكون كل إجراء خطوة مستقلة بذاتها مع النتيجة المتوقعة الخاصة بها، فإن الفشل يقع على الخطوة 4: «النقر على "إرسال رابط إعادة الضبط" → رسالة نجاح متوقعة، ولكن ظهر خطأ 500». هذه الدقة تقلل وقت تصحيح الأخطاء بشكل كبير لأن المطور يعرف بالضبط أي تفاعل تسبب في الخلل، وليس مجرد مجال الميزة الذي يجب البحث فيه.

ستتمكن من معرفة ما تم تغطيته وما هي النقاط التي لم يتم تغطيتها. بدون حالات اختبار منظمة، تظل تغطية الاختبار مجرد تخمين. أما بوجودها، فيمكنك ربط كل حالة بمتطلب معين واكتشاف الثغرات على الفور. إذا كانت ميزة إعادة تعيين كلمة المرور لديك تتضمن ستة سيناريوهات (إعادة تعيين ناجحة، رابط منتهي الصلاحية، رابط معاد استخدامه، بريد إلكتروني غير مسجل، تنسيق غير صالح، طلبات متعددة) ولم تكن لديك حالات اختبار إلا لثلاثة منها، فإن الفجوة تكون واضحة وقابلة للقياس. هذه الرؤية هي ما يحول الاختبار من مجرد «لقد اختبرناها» إلى «هذا بالضبط ما اختبرناه، وهذا ما لم نختبره، وهذه هي المخاطر التي نقبلها».

مكونات حالة الاختبار الجيدة

لا تقتصر فائدة حالة الاختبار المفيدة على وصف ما يجب اختباره فحسب، بل إنها تلتقط السياق وخطوات التنفيذ وسلوك النظام المتوقع، بحيث يمكن لمختبر آخر أو مطور أو مدير منتج إعادة إجراء الاختبار والتحقق من النتيجة.

مكونات حالة الاختبار هي:

  • المعرف الفريد
  • الغرض أو الوصف
  • الشروط المسبقة
  • خطوات التنفيذ
  • النتائج المتوقعة
  • النتائج الفعلية للمقارنة

بالنسبة لمثال وظيفة تسجيل الدخول إلى الموقع الإلكتروني الذي ذكرناه أعلاه، يجب أن تتضمن حالة الاختبار الخاصة بك ما يلي:

معرف حالة الاختبار: تحتاج كل حالة اختبار إلى معرف فريد. عند اختبار إحدى الميزات، غالبًا ما تنشئ فرق ضمان الجودة حالات اختبار متعددة للتحقق من صحة شروط متشابهة. يساعد معرف حالة الاختبار على تتبعها وتنظيمها والرجوع إليها بسهولة أثناء تصحيح الأخطاء أو إعداد التقارير.

مثال: TC_LOGIN_001

الوصف: يشرح هذا الوصف الوظيفة التي تتحقق منها حالة الاختبار. ويقدم ملخصًا موجزًا حتى يتمكن أي شخص يقرأ حالة الاختبار من فهم الغرض منها على الفور.

مثال: تحقق من أن المستخدم المسجل يمكنه تسجيل الدخول بنجاح إلى التطبيق باستخدام بيانات اعتماد صالحة.

الشروط المسبقة: تصف الشروط المسبقة حالة النظام المطلوبة قبل تنفيذ حالة الاختبار. فبدونها، قد يجري المختبرون نفس الاختبار في ظروف مختلفة ويحصلون على نتائج غير متسقة.

أمثلة:

  • يجب أن يكون حساب المستخدم موجودًا بالفعل في النظام
  • يجب أن يكون حساب المستخدم نشطًا وغير مقفل
  • يجب أن تكون صفحة تسجيل الدخول قابلة للوصول

الخطوات: هي الإجراءات التي يقوم بها المستخدم أو المختبر لتنفيذ حالة الاختبار. يجب أن تكون كل خطوة واضحة ومتسلسلة بحيث يمكن لأي فرد من الفريق إعادة تنفيذ الاختبار.

  • ينتقل المستخدم إلى صفحة تسجيل الدخول
  • يقوم المستخدم بإدخال عنوان بريد إلكتروني مسجل
  • يقوم المستخدم بإدخال كلمة المرور الصحيحة
  • ينقر المستخدم على زر تسجيل الدخول

النتائج المتوقعة: تحدد هذه النتائج ما يجب أن يفعله النظام إذا كانت الميزة تعمل بشكل صحيح.

  • إذا كانت بيانات الاعتماد صالحة، يقوم النظام بمصادقة المستخدم
  • يتم إعادة توجيه المستخدم إلى لوحة التحكم
  • تم إنشاء جلسة المستخدم بنجاح

إذا كانت بيانات الاعتماد غير صالحة، يجب أن يعرض النظام رسالة الخطأ المناسبة.

النتائج الفعلية: تُسجل هذه النتائج ملاحظات المختبر بعد تشغيل حالة الاختبار. إذا اختلف السلوك الملاحظ عن النتيجة المتوقعة، يتم تسجيل المشكلة كعيب.

ملاحظة توضيحية:

  • أدخلت بيانات اعتماد صالحة ولكن تلقيت رسالة خطأ "كلمة مرور غير صالحة"

والآن، دعنا نستفيد من مهاراتك في كتابة حالات الاختبار.

هل تعلم؟ تصف 2.1% فقط من الفرق ممارساتها في اختبار الذكاء الاصطناعي بأنها مُحسّنة، في حين أن أكثر من 85% لا تزال في المراحل الأولية أو التجريبية. الاستخدام الأكثر شيوعًا هو إنشاء حالات اختبار (69.6%)، وليس الأعمال الاستراتيجية مثل تحديد المخاطر (19.9%).

كيفية كتابة حالات الاختبار (عملية خطوة بخطوة)

تتكون عملية كتابة حالة الاختبار من سبع خطوات: تحليل المتطلبات، وإدراج السيناريوهات، وتخطيط الهيكل، وكتابة الخطوات مع النتائج المتوقعة، وإرفاق السياق، ومراجعتها، ثم تنفيذها وتسجيلها.

الخطوة 1: تحليل المتطلبات

قبل كتابة حالة الاختبار، افهم الوظيفة المفترضة للميزة. وهنا تقوم بمراجعة الوثائق المتاحة — وثائق متطلبات المنتج (PRDs)، وقصص المستخدمين، ومواصفات الميزات، ووثائق التصميم — وتحديد كل وظيفة تحتاج إلى التحقق منها.

مثال: أنت تعمل على تطوير ميزة تتيح للمستخدمين إعادة تعيين كلمات مرورهم عبر البريد الإلكتروني. لإنشاء حالة اختبار حول هذا الأمر، عليك فهم ما يلي:

  • ما هي المشكلة التي تحلها هذه الميزة، أي هل يمكن للمستخدم استعادة الوصول إلى حسابه في حالة نسيانه كلمة المرور؟
  • ما هي الإجراءات التي يمكن للمستخدم القيام بها، أي طلب رابط إعادة التعيين، وتلقيه عبر البريد الإلكتروني، وتعيين كلمة مرور جديدة؟
  • ما الذي يجب أن يحدث عند تنفيذ تلك الإجراءات، أي هل يرسل النظام رابط إعادة تعيين ويسمح للمستخدم بتحديث كلمة المرور بنجاح؟
  • هل هناك أي قيود، أي هل تنتهي صلاحية الرابط بعد فترة زمنية محددة أم يصبح غير صالح بعد استخدامه مرة واحدة؟
  • هل توجد أي معايير تحقق أو قواعد، أي هل يجب أن تستوفي كلمة المرور الجديدة متطلبات محددة تتعلق بالتنسيق أو الطول؟
  • هل توجد أي وظيفة غامضة أو غير محددة؟ إذا كان الأمر كذلك، فاحصل على توضيح من الجهة المعنية

يمنحك هذا الوضوح الأساس اللازم لوضع هدف واحد واضح لحالة الاختبار الخاصة بك.

الهدف: التحقق من أن المستخدم المسجل يمكنه إعادة تعيين كلمة المرور بنجاح عبر البريد الإلكتروني.

الخطوة 2: تحديد سيناريوهات الاختبار المختلفة

بعد ذلك، قم بإدراج سيناريوهات الاختبار التي تحتاج إلى التحقق من صحتها. سيناريو الاختبار هو موقف عام — وهو ما يتفرع عادةً إلى حالات اختبار متعددة تغطي مدخلات ونتائج مختلفة.

بالنسبة لميزة إعادة تعيين كلمة المرور، قد تبدو سيناريوهاتك كما يلي:

  • إعادة التعيين الناجحة: تحقق من أن المستخدم المسجل يمكنه طلب رابط إعادة التعيين وتعيين كلمة مرور جديدة
  • بريد إلكتروني غير مسجل: اختبر ما يحدث عند إرسال بريد إلكتروني غير موجود في النظام
  • رابط منتهي الصلاحية: تحقق من أن النظام يحظر الوصول عند النقر على رابط إعادة التعيين بعد انتهاء صلاحيته
  • رابط مُعاد استخدامه: اختبر أن رابط إعادة الضبط الذي تم استخدامه بالفعل لا يمكن استخدامه مرة أخرى
  • كلمة مرور جديدة غير صالحة: تأكد من رفض كلمات المرور التي لا تستوفي متطلبات التنسيق
  • طلبات إعادة الضبط المتعددة: اختبر أي رابط يظل صالحًا عندما يطلب المستخدم عدة طلبات متتالية

سيُترجم كل سيناريو هنا إلى حالة اختبار واحدة أو أكثر تغطي مدخلات وشروط محددة. ويضمن تقسيم الميزة بهذه الطريقة تغطية الاختبار لكل من السلوك المتوقع والحالات الحدية التي سيواجهها المستخدمون الحقيقيون حتمًا.

الخطوة 3: تخطيط الاختبار وتحديد هيكل حالات الاختبار

بالنسبة لاختبارات الانحدار المتكررة، تحتاج إلى هيكل يتيح لك توثيق حالات الاختبار ونتائجها بشكل متسق. يوفر قالب حالات الاختبار المحدد جيدًا هذا الاتساق ويسمح بإعادة الاستخدام دون الحاجة إلى البدء من الصفر في كل مرة.

خطط لتنفيذ الاختبار من خلال توضيح العناصر التالية:

من سيقوم بإجراء الاختبار؟

ما الدور أو المؤهلات المطلوبة من الشخص الذي يجري هذا الاختبار؟ قم بتعيين الأدوار وفقًا لمدى تعقيد الاختبار والتدخل البشري المطلوب:

  • مختبر ضمان الجودة: الاختبارات الوظيفية واختبارات الانحدار، مثل التحقق من تدفقات تسجيل الدخول، والتحقق من صحة النماذج، أو عمليات إتمام الشراء
  • فريق الأمن: الاختبارات التي تتعلق بالمصادقة، أو التحكم في الوصول، أو الثغرات الأمنية المتعلقة بتسرب البيانات
  • المطور: اختبارات الوحدات للوظائف الفردية مثل تجزئة كلمات المرور أو إنشاء الرموز المميزة

كيف سيتم إجراء الاختبار؟

  • ما هي الأجهزة وأنظمة التشغيل التي سيُجرى الاختبار عليها؟
  • ما هي الأدوات أو أطر الاختبار التي سيتم استخدامها؟
  • هل سيتم تنفيذ الاختبار يدويًّا أم من خلال وكيل يعمل بالذكاء الاصطناعي؟
  • كيف سيتم تسجيل النتائج — في أداة إدارة الاختبارات، أم في جدول بيانات، أم في أداة تتبع الأخطاء؟

ما هي الشروط المسبقة؟

أدرج كل شرط يجب أن يتحقق قبل الخطوة 1، واجعل كل شرط قابلًا للتحقق من قبل المختبر:

مثال:

  • يوجد حساب مستخدم بالبريد الإلكتروني «test@example.com»
  • تم تسجيل خروج المستخدم من النظام
  • خدمة البريد الإلكتروني نشطة وقادرة على توصيل الرسائل
  • بيئة الاختبار متاحة وتعمل

ما هي بيانات الاختبار التي سيتم استخدامها؟

حدد قيم الإدخال الدقيقة اللازمة لتشغيل الاختبار — البيانات الصحيحة، والبيانات غير الصحيحة، والقيم الحدية.

مثال:

  • صالح: البريد الإلكتروني المسجل «test@example.com»، وكلمة المرور تستوفي متطلبات التنسيق
  • غير صالح: عنوان بريد إلكتروني غير مسجل، كلمة مرور أقل من الحد الأدنى لعدد الأحرف
  • الحدود: كلمة المرور يجب أن تتطابق تمامًا مع الحد الأدنى والحد الأقصى لعدد الأحرف

الخطوة 4: اكتب خطوات الاختبار والنتائج المتوقعة

قسّم عملية التنفيذ إلى خطوات متسلسلة. استخدم مصطلحات متسقة وتأكد من أن كل خطوة تتضمن إجراءً واحدًا. عند تحديد الخطوات، حدد أيضًا النتيجة المتوقعة وما الذي يشكل نجاحًا أو فشلًا.

استكمالًا لسلسلة خطوات إعادة تعيين كلمة المرور، إليك كيف ستبدو خطوات الاختبار:

الخطواتالنتيجة المتوقعة
انتقل إلى صفحة تسجيل الدخوليتم تحميل صفحة تسجيل الدخول مع رابط «نسيت كلمة المرور» القابل للنقر
انقر على «نسيت كلمة المرور»يتم إعادة توجيه المستخدم إلى صفحة طلب إعادة تعيين كلمة المرور
أدخل عنوان بريدك الإلكتروني في حقل البريد الإلكترونيالبريد الإلكتروني مقبول دون أخطاء في التحقق من الصحة
انقر على «إرسال رابط إعادة الضبط»تظهر رسالة النجاح: «تم إرسال رابط إعادة الضبط إلى test@example.com»
افتح رابط إعادة الضبط الموجود في البريد الإلكترونييتم إعادة توجيه المستخدم إلى صفحة إنشاء كلمة مرور جديدة
أدخل كلمة مرور جديدة صالحةيقبل حقل كلمة المرور الإدخال دون أي خطأ
انقر على «إعادة تعيين كلمة المرور»تظهر رسالة النجاح، ويتم إعادة توجيه المستخدم إلى صفحة تسجيل الدخول

الآن، حدد الخطوات والنتائج المتوقعة للسيناريوهات البديلة (التي تمت مناقشتها سابقًا). اشرح ما يحدث عندما يدخل المستخدم عنوان بريد إلكتروني غير صالح أو عندما لا تتطابق كلمة المرور مع المعايير المحددة مسبقًا.

مكافأة: إليك كيفية أتمتة التوثيق باستخدام الذكاء الاصطناعي لجميع حالات الاختبار الخاصة بك.

الخطوة 5: أضف المرفقات ذات الصلة

أدرج المستندات أو المرفقات ذات الصلة التي ستساعد المختبرين على تنفيذ حالة الاختبار في سياقها الكامل ودون أي غموض. ويمكن أن يشمل ذلك:

  • لقطات شاشة مشروحة لواجهة المستخدم في الخطوات الرئيسية
  • تسجيلات الشاشة التي توضح كيفية تنفيذ الاختبار في سيناريوهات مختلفة والنتائج المتوقعة
  • سجلات النظام أو ملفات التكوين للمساعدة في تشخيص مشكلات الخلفية عند فشل الاختبار
  • وثائق المتطلبات التي تربط حالة الاختبار بقصة المستخدم أو معايير القبول التي تتحقق من صحتها
  • ملفات بيانات الاختبار التي تحتوي على مدخلات صالحة وغير صالحة، أو بيانات مُولَّدة مثل أرقام بطاقات الائتمان، أو العناوين العشوائية، أو بيانات اعتماد المستخدمين
  • قم بإعداد الوثائق التي تغطي إصدار البرنامج المحدد، والأجهزة المطلوبة، ونظام التشغيل، وأي تصاريح أمنية ضرورية
  • بالنسبة لاختبار واجهة برمجة التطبيقات (API)، مواصفات OpenAPI أو وثائق نقاط النهاية التي توضح بالتفصيل طرق الطلب والمعلمات ورموز الحالة المتوقعة

الخطوة 6: اطلب مراجعة حالة الاختبار

شارك حالة الاختبار المكتوبة مع زميل أو أحد كبار مسؤولي ضمان الجودة قبل تنفيذها. أثناء المراجعة، تأكد مما يلي:

  • حالة الاختبار شاملة وتغطي جميع السيناريوهات المحتملة المستمدة من المتطلبات
  • الخطوات واضحة وتمثل بالتسلسل تدفق التنفيذ الفعلي
  • يُشير كل نتيجة متوقعة إلى نتيجة قابلة للملاحظة (رسالة، إعادة توجيه، رمز حالة)، وليس إلى صفة مثل «يعمل بشكل صحيح»
  • بيانات الاختبار والشروط المسبقة كاملة ودقيقة
  • يتم توثيق أي افتراضات يتم وضعها أثناء الكتابة بشكل صريح

الخطوة 7: تنفيذ الاختبار وتسجيل النتائج

قم بإجراء الاختبار وسجل النتيجة الفعلية مقابل كل نتيجة متوقعة. حدد ما إذا كان الاختبار ناجحًا أم فاشلًا في كل خطوة. بالنسبة لكل خطوة فاشلة، قم بالإبلاغ عن خطأ على الفور واربطه بحالة الاختبار. علاوة على ذلك، إذا حدث أي سلوك غير متوقع لا يمكن تصنيفه بوضوح على أنه نجاح أو فشل، فقم بتدوينه في حقل التعليقات لمراجعته لاحقًا.

أمثلة على كتابة حالات الاختبار

توضح هذه الأمثلة الثلاثة كيف تتكيف بنية حالة الاختبار نفسها مع أنواع مختلفة من اختبارات البرمجيات. تستخدم كل حالة المكونات وتنسيق الخطوات المذكورين سابقًا في هذا الدليل، لكن درجة التعقيد وبيانات الاختبار وأنماط الفشل تتغير وفقًا لما تقوم بالتحقق منه.

المثال 1: مسار إتمام عملية الشراء في التجارة الإلكترونية (واجهة المستخدم، سير عمل متعدد الخطوات)

يقوم فريق ضمان الجودة في متجر إلكتروني باختبار تجربة إتمام عملية الشراء قبل انطلاق عروض التخفيضات بمناسبة الأعياد. يمتد سير العملية عبر عدة صفحات: سلة التسوق → الشحن → الدفع → التأكيد. ويتمثل التحدي المميز هنا في التبعية بين الحالات: تعتمد كل خطوة على إتمام الخطوة السابقة بشكل صحيح، ويجب أن تظل بيانات الاختبار (محتويات سلة التسوق، وعنوان الشحن، وطريقة الدفع) ثابتة عبر جميع هذه الخطوات.

المختبر: راهول د.

تاريخ الاختبار: 09/03/2026

معرّف حالة الاختبار: TC_CHECKOUT_003

الوصف: تحقق من أن المستخدم الذي قام بتسجيل الدخول يمكنه إتمام عملية شراء باستخدام بطاقة ائتمان محفوظة وخدمة الشحن القياسية.

المتطلبات المسبقة:

  • يوجد حساب مستخدم يحتوي على بطاقة ائتمان واحدة على الأقل وعنوان شحن واحد محفوظ
  • يوجد عنصر واحد على الأقل متوفر في المخزون وقد تمت إضافته إلى سلة التسوق
  • تعمل بيئة الاختبار على متصفح Chrome 128 ونظام التشغيل macOS
الخطوةالنتيجة المتوقعةالنتيجة الفعليةنجاح/فشل
انتقل إلى صفحة سلة التسوقتعرض سلة التسوق العنصر والكمية والمجموع الفرعي بشكل صحيحكما هو متوقعاجتياز
انقر على «المتابعة إلى الدفع»تحميل صفحة الشحن مع تحديد العنوان المحفوظ مسبقًاكما هو متوقعاجتياز
حدد «الشحن القياسي» وانقر على «متابعة»يتم تحميل صفحة الدفع مع عرض إجمالي قيمة الطلب مع إضافة تكلفة الشحنكما هو متوقعاجتياز
تأكد من صحة بيانات بطاقة الائتمان المحفوظة وانقر على «تقديم الطلب»تظهر صفحة تأكيد الطلب مع رقم الطلب وملخص العناصر وتاريخ التسليم المتوقعتتم إعادة تحميل صفحة الدفع مع ظهور الخطأ التالي: «تعذر معالجة الدفع»فشل

ملخص النتائج: يتعامل مسار الدفع مع عملية الانتقال من سلة التسوق إلى الشحن بشكل صحيح، لكن معالجة الدفع تفشل عند استخدام بطاقات الائتمان المحفوظة. تم تسجيل الخلل: تنتهي مهلة البحث عن البطاقة المُرمزة عندما تستغرق بوابة الدفع أكثر من 3 ثوانٍ للرد.

المثال 2: نقطة نهاية واجهة برمجة التطبيقات REST (بدون واجهة مستخدم، والتحقق من صحة المدخلات/المخرجات)

يقوم مهندس البنية التحتية باختبار نقطة نهاية واجهة برمجة التطبيقات (API) الخاصة بـ «إنشاء مستخدم» قبل أن يستخدمها فريق الواجهة الأمامية. لا توجد واجهة يمكن النقر عليها: حيث تقوم حالة الاختبار بالتحقق من صحة حمولات الطلبات ورموز الاستجابة واستمرارية البيانات بشكل مباشر. ويكمن التحدي المميز في اختبار العقد بين الأنظمة، وليس تجربة المستخدم.

المختبرة: سارة س.

تاريخ الاختبار: 09/05/2026

معرف حالة الاختبار: TC_API_USER_001

الوصف: تحقق من أن طلب POST الموجه إلى /api/v1/users ينشئ مستخدمًا جديدًا ويعرض الاستجابة الصحيحة.

المتطلبات المسبقة:

  • بيئة اختبار واجهة برمجة التطبيقات (API) قيد التشغيل ويمكن الوصول إليها
  • تم إنشاء رمز المصادقة (Auth token) ذي صلاحيات المسؤول وهو صالح
  • لا يوجد مستخدم في قاعدة البيانات بعنوان البريد الإلكتروني «newuser@testdomain.com»
الخطوةالنتيجة المتوقعةالنتيجة الفعليةناجح/راسب
أرسل طلب POST إلى /api/v1/users مع حمولة صالحة: { "name": "Test User", "email": "newuser@testdomain.com", "role": "viewer" }تُرجع الاستجابة الرمز 201 مع نص JSON يحتوي على معرّف المستخدم واسمه وبريده الإلكتروني ودوره201 مع نص صحيحاجتياز
أرسل طلب POST نفسه مرة أخرى باستخدام نفس عنوان البريد الإلكترونيتُرجع الاستجابة الرمز 409 "تعارض" مع الرسالة التالية: "المستخدم الذي يحمل عنوان البريد الإلكتروني هذا موجود بالفعل"تم إرجاع الرمز 200 OK؛ تم إنشاء مستخدم مكررفشل
إرسال طلب POST مع حقل «البريد الإلكتروني» فارغًاتُرجع الاستجابة رمز الخطأ 400 (طلب غير صحيح) مع خطأ في التحقق من الصحة: «البريد الإلكتروني مطلوب»400 تم إرجاعها كما هو متوقعاجتياز
أرسل استعلام GET /api/v1/users/{id} باستخدام المعرف المحدد في الخطوة 1تُرجع الاستجابة الرمز 200 OK مع تطابق تفاصيل المستخدم مع الحمولة الأصليةكما هو متوقعاجتاز

ملخص النتائج: تقوم نقطة النهاية بإنشاء المستخدمين بشكل صحيح والتحقق من صحة الحقول الإلزامية، لكنها تفشل في فرض تفرد عناوين البريد الإلكتروني على مستوى قاعدة البيانات. تم إنشاء سجلات مكررة دون ظهور أي خطأ. تم تسجيل العيب بدرجة خطورة: عالية.

المثال 3: التحكم في الوصول بناءً على الأدوار (الأمان، حدود الأذونات)

يقوم فريق الأمن باختبار ما إذا كان التطبيق يقيد الإجراءات بشكل صحيح بناءً على أدوار المستخدمين قبل إجراء تدقيق الامتثال. ويكمن التحدي المميز في أنك لا تختبر ما إذا كانت الميزة تعمل أم لا؛ بل تختبر ما إذا كان يتم رفض الميزة بشكل صحيح. والنتيجة المتوقعة لمعظم الخطوات هي الحظر، وليس النجاح.

المختبر: ماركوس ل.

تاريخ الاختبار: 09/08/2026

معرف حالة الاختبار: TC_RBAC_002

الوصف: تحقق من أن المستخدم الذي يحمل دور «المشاهد» لا يمكنه إنشاء المشاريع أو تعديلها أو حذفها.

المتطلبات المسبقة:

  • يوجد حسابان: أحدهما بدور «المسؤول»، والآخر بدور «المشاهد»
  • يوجد مشروع واحد على الأقل في مساحة العمل، تم إنشاؤه بواسطة المسؤول
  • المشاهد مسجل الدخول على متصفح Firefox 130، نظام التشغيل Windows 11
الخطوةالنتيجة المتوقعةالنتيجة الفعليةنجاح/فشل
انتقل إلى صفحة «المشاريع»يرى المشاهد قائمة المشاريع في وضع القراءة فقط؛ ويكون زر «إنشاء مشروع» إما مخفيًا أو معطلاًالزر مرئي ولكنه معطّلاجتياز
حاول النقر على «إنشاء مشروع»النظام يمنع تنفيذ الإجراء؛ لا يتم تحميل نموذج مشروع جديدلم يتم تحميل أي نموذج؛ تظهر تلميحة تقول «ليس لديك إذن»اجتياز
افتح مشروعًا موجودًا وحاول تعديل العنوانحقل العنوان غير قابل للتحرير، أو يقوم النظام بحظر عملية الحفظكان حقل «العنوان» قابلاً للتعديل؛ تم حفظ التغييرات بنجاحفشل
حاول حذف المشروع عبر القائمة ذات النقاط الثلاثخيار الحذف مخفي، أو الإجراء محظور بسبب خطأ في الأذوناتخيار الحذف غير ظاهر في القائمةاجتياز

ملخص النتائج: تم تقييد أذونات الإنشاء والحذف بشكل صحيح بالنسبة للمشاهدين، ولكن أذونات التحرير لا تُطبق على مستوى الحقول. يمكن للمشاهد تعديل عناوين المشاريع على الرغم من أن لديه حق الوصول للقراءة فقط. تم تسجيل العيب بدرجة خطورة: حرجة (معوق للامتثال).

ما هي أفضل الأدوات لإدارة حالات الاختبار؟

يمكن إدارة حالات الاختبار باستخدام أداة مخصصة لضمان الجودة (مثل TestRail أو Zephyr)، أو أداة عامة لإدارة المشاريع (مثل ClickUp أو Jira)، أو جدول بيانات؛ ويعتمد الاختيار المناسب على ما إذا كنت بحاجة إلى ميزة التنفيذ المدمجة أم مجرد التتبع.

ClickUp

قم بتركيز دورة حياة الهندسة بأكملها، بدءًا من خارطة الطريق وصولًا إلى الإصدار، باستخدام ClickUp لفرق البرمجيات
حالات الاختبار التي يتم تتبعها كمهام في ClickUp لفرق البرمجيات

يُعد ClickUp لفرق البرمجيات منصة لإدارة المشاريع تُعرض فيها حالات الاختبار كمهام جنبًا إلى جنب مع السبرينتات والأخطاء وطلبات السحب ذات الصلة. وهي ليست أداة مخصصة لإدارة الاختبارات، لكن هيكل المهام المرن الذي تتميز به يتيح للفرق إنشاء سير عمل لحالات الاختبار باستخدام حالات وحقول وأنواع مهام مخصصة دون الحاجة إلى أداة منفصلة.

الميزات الرئيسية لـ ClickUp

  • هيكل هرمي مرن لتنظيم حالات الاختبار عبر المساحات والمجلدات والقوائم مع حقول مخصصة لنوع الاختبار والأولوية والبيئة
  • أكثر من 15 عرضًا في ClickUp (اللوحة، القائمة، الجدول) لتتبع تنفيذ الاختبارات حسب الحالة أو المكلف أو السبرينت
  • مستندات لحفظ وثائق متطلبات المنتج (PRD) وخطط الاختبار وأدلة إعداد البيئة بجانب حالات الاختبار التي تستند إليها
  • ميزة الدردشة المدمجة لتسهيل التواصل بين فريق ضمان الجودة والمطورين دون الحاجة إلى الانتقال إلى Slack أو البريد الإلكتروني
  • ملخصات المهام المدعومة بالذكاء الاصطناعي عبر ClickUp Brain للحصول على سياق سريع أثناء مراجعات السبرينت

قيود ClickUp

  • لا يوجد محرك أصلية لتنفيذ الاختبارات
  • تتطلب التقارير الخاصة بالاختبارات (التغطية حسب المتطلبات، ومعدل النجاح لكل دورة) لوحات معلومات مخصصة بدلاً من تقارير ضمان الجودة الجاهزة للاستخدام

أسعار ClickUp

تقييمات ومراجعات ClickUp

  • G2: 4. 6/5 (أكثر من 14,100 تقييم)
  • Capterra: 4.6/5 (أكثر من 4600 تقييم)

ماذا يقول المستخدمون الفعليون عن ClickUp؟

إليك ما قاله أحد المراجعين على G2:

أكثر ما يعجبني في ClickUp هو أنه يجمع كل شيء في مكان واحد. فالمهام والجداول الزمنية والملاحظات والتحديثات كلها موجودة في نفس النظام، مما يقلل من التنقل بين الأدوات المختلفة. كما أقدر المرونة التي يوفرها. يمكننا تخصيص الحالات والحقول وطرق العرض لتتناسب مع طريقة عمل فريقنا الفعلية. وهذا يسهل الحفاظ على التنظيم ويوفر رؤية واضحة لمن هو المسؤول عن ماذا، وحالة المشاريع في أي وقت.

أكثر ما يعجبني في ClickUp هو أنه يجمع كل شيء في مكان واحد. فالمهام والجداول الزمنية والملاحظات والتحديثات كلها موجودة في نفس النظام، مما يقلل من التنقل بين الأدوات. كما أقدر المرونة التي يوفرها. يمكننا تخصيص الحالات والحقول وطرق العرض لتتناسب مع طريقة عمل فريقنا الفعلية. وهذا يسهل الحفاظ على التنظيم ويوفر رؤية واضحة لمن هو المسؤول عن ماذا، وحالة المشاريع في أي وقت.

الأفضل لـ: مسؤول ضمان الجودة الذي يرغب في تحويل الاختبار الفاشل إلى تذكرة خطأ للمطور بنقرة واحدة، مع إمكانية رؤية طلب السحب (PR) وخطوات الاختبار والسبرينت جميعها من نفس المهمة.

تخطّ هذه الخطوة إذا: كانت دورة الاختبار لديك مؤتمتة في الغالب. إذا كان 80% من مجموعة الاختبارات الخاصة بك يتم تشغيلها من خط أنابيب التكامل المستمر (CI)، فأنت بحاجة إلى أداة تستقبل نتائج التنفيذ، وليس أداة يتولى فيها شخص ما تحديث الحالة يدويًّا.

TestRail

لوحة معلومات TestRail
عبر TestRail

TestRail هي منصة مخصصة لإدارة الاختبارات مصممة لفرق ضمان الجودة التي تحتاج إلى تحكم منظم في عملية الاختبار بأكملها. تتولى المنصة الدورة الكاملة لكتابة حالات الاختبار وتشغيلها وإعداد التقارير عنها، مع تكامل مع DevOps وCI/CD لتزويدها بالنتائج.

الميزات الرئيسية لـ TestRail

  • إدارة مركزية لحالات الاختبار ومجموعات الاختبارات مع إمكانية إعادة استخدام حالات الاختبار عبر المشاريع المختلفة
  • خطط الاختبار والمراحل الرئيسية لتنظيم وجدولة عمليات الاختبار عبر السبرينتات والإصدارات
  • تقارير مفصلة تتضمن تحليل التغطية، وتتبع التقدم المحرز، وسجل التنفيذ
  • التكامل مع Jira و GitHub و Jenkins و Azure DevOps وأكثر من 20 أداة DevOps أخرى
  • واجهة برمجة تطبيقات REST لأتمتة المهام ومزامنة بيانات الاختبار مع الأنظمة الخارجية

قيود TestRail

  • لا توجد ميزات أصلية لمتابعة المتطلبات أو المشكلات — لذا يتعين على الفرق الاعتماد على أدوات خارجية مثل Jira، مما قد يؤدي إلى تجزئة إمكانية التتبع
  • يصبح التنقل في التنظيم القائم على المجلدات صعبًا مع تزايد عدد مستودعات الاختبارات إلى الآلاف

أسعار TestRail

  • الإصدار الاحترافي: 39 دولارًا أمريكيًا لكل مستخدم شهريًا
  • Enterprise: 78 دولارًا أمريكيًا لكل مستخدم شهريًا

تقييمات ومراجعات TestRail

  • G2: 4.4/5 (أكثر من 600 تقييم)
  • Capterra: 4.3/5 (أكثر من 160 تقييمًا)

ماذا يقول المستخدمون الفعليون عن TestRail؟

إليك ما قاله أحد المراجعين على G2:

أكثر ما أجده قيّماً في TestRail هو أنه يوفر لفريق ضمان الجودة لدينا بيئة آمنة ومنظمة جيدًا لإدارة خطط الاختبار وحالات الاختبار وعمليات التشغيل. أقدر مدى سهولة تنظيم مجموعات الاختبارات وتنفيذها، فضلاً عن إعادة استخدام حالات الاختبار التي تم إنشاؤها مسبقًا. وقد جعلت عمليات التكامل مع Jira وأدوات CI/CD سير العمل لدينا أكثر تماسكًا وأسهل في التتبع. كانت القدرة على مراقبة تقدم الاختبار والتغطية في الوقت الفعلي مفيدة للغاية في تخطيط السبرينت وإعداد التقارير. وفي عملي اليومي كمهندس ضمان الجودة، وفر لي استخدام TestRail أيضًا قدرًا كبيرًا من الوقت.

أكثر ما أجده قيّماً في TestRail هو أنه يوفر لفريق ضمان الجودة لدينا بيئة آمنة ومنظمة جيدًا لإدارة خطط الاختبار وحالات الاختبار وعمليات تشغيل الاختبار. أقدر مدى سهولة تنظيم مجموعات الاختبارات وتنفيذها، فضلاً عن إعادة استخدام حالات الاختبار التي تم إنشاؤها مسبقًا. وقد جعلت عمليات التكامل مع Jira وأدوات CI/CD سير العمل لدينا أكثر تماسكًا وأسهل في التتبع. كانت القدرة على مراقبة تقدم الاختبار والتغطية في الوقت الفعلي مفيدة للغاية في تخطيط السبرينت وإعداد التقارير. وفي عملي اليومي كمهندس ضمان الجودة، وفر لي استخدام TestRail أيضًا قدرًا كبيرًا من الوقت.

الأفضل لـ: فريق ضمان الجودة المكون من خمسة أفراد أو أكثر الذي يُجري دورات اختبار رسمية لكل إصدار، حيث يحتاج المدير إلى الإجابة عن سؤال «ما هي النسبة المئوية من الإصدار 2.0 التي تم تنفيذها واجتيازها» من خلال لوحة التحكم، وليس من خلال جدول بيانات.

تخطّ هذه الخطوة إذا: كان عدد حالات الاختبار في مجموعتك أقل من بضع مئات، أو كان المختبرون لديك يعملون أيضًا كمطورين. في هذه الحالة، فإن التكلفة لكل مستخدم وعملية تسجيل الدخول المنفصلة ستكلفك تقارير لن تطلع عليها.

Zephyr

Zephyr من Smartbear: إدارة الاختبارات
عبر SmartBear

Zephyr هو المكون الإضافي لإدارة الاختبارات من SmartBear الخاص بـ Jira، والذي تم تصميمه للتعامل مع حالات الاختبار من داخل واجهة Jira. وهو يدعم الاختبار اليدوي والآلي على حد سواء، مع ميزات قوية لإعداد التقارير والتتبع مخصصة للفرق التي تعمل بنظام Agile وفرق المؤسسات.

الميزات الرئيسية لـ Zephyr

  • التكامل الأصلي مع Jira — قم بإنشاء حالات الاختبار وربطها وتنفيذها مباشرةً من مشكلات Jira
  • مكتبات اختبار هرمية مشتركة بين المشاريع لإعادة استخدام حالات الاختبار وتنظيمها على نطاق واسع
  • أكثر من 70 تقريرًا جاهزًا للاستخدام يغطي تغطية الاختبار، وتقدم التنفيذ، وتتبع العيوب
  • دعم BDD باستخدام صيغة Gherkin لسير عمل التطوير القائم على السلوك
  • تكامل CI/CD مع Jenkins وGitHub وGitLab وBitbucket وBamboo

قيود Zephyr

  • يتم الترخيص لكل مستخدم Jira، وليس لكل مختبر
  • قد تبدو مستودعات الاختبار الكبيرة (التي تحتوي على آلاف الحالات) أصعب في التنقل فيها مقارنة بالأدوات المستقلة مثل TestRail
  • يتم توجيه الدعم عبر Atlassian Marketplace، مما يضيف طبقة إضافية للفرق التي اعتادت على الحصول على الدعم المباشر من الموردين

أسعار Zephyr

  • الخطة الأساسية: ابتداءً من 5.99 دولارًا للمستخدم شهريًّا (11-50 مستخدمًا)
  • الخطة القياسية: ابتداءً من 6.81 دولارًا أمريكيًا للمستخدم شهريًّا (11-50 مستخدمًا)
  • المستوى المتقدم: ابتداءً من 8.73 دولارًا أمريكيًا للمستخدم شهريًّا (11-50 مستخدمًا)

تقييمات ومراجعات Zephyr

  • G2: 4.1/5 (أكثر من 80 تقييمًا)
  • Capterra: لا توجد تقييمات كافية

ماذا يقول المستخدمون الفعليون عن Zephyr؟

إليك ما قاله أحد المراجعين على G2:

هذه هي أفضل أداة لاستيراد حالات الاختبار مباشرةً من ملف Excel. باستخدام هذه الأداة، يصبح عمل المختبرين أسهل مقارنةً باستيراد حالات الاختبار في Jira. كما أن أفضل ميزة لهذه الأداة هي إمكانية تحديد نجاح أو فشل حالات الاختبار وإضافة المرفقات.

هذه هي أفضل أداة لاستيراد حالات الاختبار مباشرةً من ملف Excel. باستخدام هذه الأداة، يصبح عمل المختبرين أسهل مقارنةً باستيراد حالات الاختبار في Jira. كما أن أفضل ميزة لهذه الأداة هي إمكانية تحديد نجاح أو فشل حالات الاختبار وإضافة المرفقات.

الأفضل لـ: الفرق الخاضعة للرقابة أو التي تخضع لعمليات تدقيق مكثفة (مثل شركات التكنولوجيا المالية والرعاية الصحية) التي تحتاج إلى ربط كل اختبار بمتطلبات Jira وربط كل عيب بالاختبار الذي اكتشفه، كل ذلك داخل مثيل واحد من Atlassian.

تخطّ هذه الخطوة إذا: كانت نسخة Jira الخاصة بك كبيرة وفريق ضمان الجودة لديك صغير. إن استخدام Jira بسعة 200 مستخدم مع 10 مختبرين يعني دفع ثمن 190 ترخيصًا لـ Zephyr لا يستخدمها أحد؛ في حين أن أداة مستقلة يُحدد سعرها لكل مختبر تكلف أقل.

Jira

لوحة معلومات Jira
عبر Jira

Jira هي منصة إدارة المشاريع وتتبع المشكلات من Atlassian، وتستخدم على نطاق واسع من قبل فرق الهندسة وضمان الجودة لإدارة السبرينتات والأخطاء وسير عمل التطوير. وعلى الرغم من أنها ليست أداة مخصصة لإدارة الاختبارات، إلا أن العديد من الفرق تستخدمها جنبًا إلى جنب مع حلول مثل Zephyr Scale أو Xray للتعامل مع إدارة حالات الاختبار ضمن إعدادات Jira الحالية لديهم.

الميزات الرئيسية لـ Jira

  • لوحات سكرم وكانبان لإدارة السباقات والمهام المتراكمة وسير عمل الاختبارات باستخدام منهجية أجايل
  • عمليات عمل وأنواع المشكلات والحقول القابلة للتخصيص لتتناسب مع الطريقة التي يتبعها فريقك في تتبع العمل
  • خرائط طريق متقدمة للتخطيط المشترك بين الفرق وتتبع التبعيات (الإصدار المميز)
  • أكثر من 1,000 تكامل مع منصات السوق، بما في ذلك GitHub وConfluence وSlack وأدوات CI/CD
  • قواعد الأتمتة لتشغيل الإجراءات عبر المشاريع بناءً على تحديثات المشكلات أو تغييرات الحالة

قيود Jira

  • تتطلب إدارة حالات الاختبار استخدام مكون إضافي من Marketplace (Zephyr Scale، Xray) مع رسوم خاصة بكل مستخدم بالإضافة إلى اشتراك Jira
  • منحنى تعلم أكثر صعوبة للمستخدمين غير التقنيين، مع تكاليف بدء الاستخدام التي قد ترتفع في حالة الفرق الكبيرة

أسعار Jira

  • مجانًا
  • الخطة القياسية: 7.91 دولارًا لكل مستخدم شهريًا
  • الخطة المميزة: 14.54 دولارًا لكل مستخدم شهريًّا
  • المؤسسات: أسعار مخصصة

تقييمات ومراجعات Jira

  • G2: 4.3/5 (أكثر من 7,900 تقييم)
  • Capterra: 4.4/5 (أكثر من 15,400 تقييم)

ماذا يقول المستخدمون الفعليون عن Jira؟

إليك ما قاله أحد المراجعين على G2:

يُعد Jira أحد البرامج الرقمية المفضلة لدي لتتبع أداء جميع مشاريعي العملية وتصورها بالتعاون مع جميع أعضاء فريق العمل، لأنه يوفر أفضل إمكانيات الأداء الافتراضي في فئته، مما يسهل عليّ تحقيق جميع أهدافي المهنية.

يُعد Jira أحد برامجي الرقمية المفضلة لتتبع أداء جميع مشاريعي العملية وتصورها بالتعاون مع جميع أعضاء فريق العمل، لأنه يوفر أفضل إمكانيات الأداء الافتراضي في فئته، مما يسهل عليّ تحقيق جميع أهدافي المهنية.

الأفضل لـ: فرق الهندسة التي تقيّم ما إذا كانت بحاجة إلى إدارة اختبار مخصصة أم لا. إن إجراء بضع دورات اختبار كأنواع مخصصة من مشكلات Jira يُظهر أولاً ما إذا كان الحجم يبرر استخدام مكون إضافي.

تخطّ هذه الخطوة إذا: كنت تعلم بالفعل أنك بحاجة إلى إدارة الاختبارات. فالانتقال مباشرةً إلى مكون إضافي أو أداة مستقلة يتيح تجنب عملية الترحيل عندما تتوقف أنواع المشكلات المخصصة عن التوسع.

الأخطاء الشائعة التي يجب تجنبها عند إنشاء حالات الاختبار

تجنب هذه الأخطاء الشائعة في كتابة حالات الاختبار التي قد تقلل من فعاليتها الإجمالية.

خطأما الذي يجب فعله بدلاً من ذلك
كتابة حالات الاختبار في وقت متأخر جدًاأشرك المختبرين في مراحل جمع المتطلبات والتصميم لتحديد المشكلات المحتملة قبل بدء البرمجة
عدم تحديث حالات الاختبارقم بتحديث حالة الاختبار فور حصول الميزة على ترقية جديدة أو تغيير في وظائفها أو تغيير في واجهة المستخدم
لا توجد شروط لاحقةحدد الشكل الذي يجب أن يكون عليه النظام بعد اكتمال الاختبار (حذف المستخدم التجريبي، وإفراغ سلة التسوق، وإغلاق الجلسة) حتى تبدأ الحالة التالية من حالة نظيفة
بيانات المسار الناجح فقطيحتاج كل حقل إدخال إلى قيمة واحدة على الأقل يجب أن يرفضها النظام. قم بتوثيق كيفية إنشاء مجموعة البيانات أو استخراجها
عدم إعطاء الأولوية لحالات الاختبارحدد أولوية لكل حالة اختبار بناءً على تأثيرها على الأعمال، وتكرار استخدامها، ومخاطر الفشل. يساعدك ذلك على تركيز جهود الاختبار واتخاذ قرارات أكثر ذكاءً بشأن الميزانية وأساليب الاختبار

كيفية الحفاظ على فائدة حالات الاختبار بمرور الوقت

تظل مجموعة الاختبارات جديرة بالثقة عندما تكون كل حالة مستقلة، وتستهدف المدخلات الأكثر عرضة للفشل، ويتم استبعادها فور توقفها عن تقديم نتيجة موثوقة. هذه الممارسات الست هي ما يميز مجموعات الاختبارات التي تكتشف الأخطاء لسنوات عن تلك التي يتم تجاهلها بعد السبرينت الثاني.

اكتب اختبارات مستقلة ومتكاملة

يجب أن تحدد كل حالة اختبار حالتها الخاصة، وألا تعتمد أبدًا على تنفيذ حالة أخرى قبلها. فعندما تفترض الحالة TC_CHECKOUT_003 أن الحالة TC_CHECKOUT_002 تركت عنصرًا في سلة التسوق، يتحول فشل واحد إلى خمسة أعطال متتالية، وتقضي الصباح في محاولة تحديد أي من هذه الأعطال كان حقيقيًّا. وإذا احتوى عنوان الاختبار على كلمة «و»، فقسّمه إلى حالتين منفصلتين.

اختبر عند الحدود

تتجمع الأخطاء في أطراف المدخلات المقبولة، وليس في الوسط. إذا كان حقل كلمة المرور يقبل من 8 إلى 128 حرفًا، فاختبر 7 و8 و128 و129، وليس فقط كلمة مرور مريحة مكونة من 12 حرفًا. يُعد تحليل القيم الحدية تقنية رسمية في معيار تصميم الاختبار ISO/IEC/IEEE 29119-4 لهذا السبب بالذات: فهو يكتشف الأخطاء التي تختلف بمقدار واحد والتي تفوتها المدخلات العشوائية.

استخدم تقسيم التكافؤ لتقليل الحالات الزائدة

قم بتجميع المدخلات التي يجب أن يعاملها النظام بنفس الطريقة، ثم اختبر مدخلاً واحداً يمثل كل مجموعة. كل تنسيق بريد إلكتروني صالح يتصرف بنفس الطريقة في نموذج تسجيل الدخول، لذا يكفي بريد إلكتروني صالح واحد. إن اختبار user@example.com و jane@company.com و bob@domain.org كحالات منفصلة ثلاث يضاعف عبء الصيانة ثلاث مرات دون إضافة تغطية.

افصل بيانات الاختبار عن خطوات الاختبار

إن الترميز الثابت لعبارة «أدخل test@example.com» في إحدى الخطوات يعني إعادة كتابة الخطوة في كل مرة تتغير فيها بيئة الاختبار. اجعل الخطوات عامة («أدخل بريدًا إلكترونيًّا مسجَّلًا») واحتفظ بالقيم الفعلية في حقل أو ملف بيانات الاختبار. عندئذٍ تُنفَّذ الخطوات نفسها على بيئات الاختبار التجريبي وضمان الجودة وما قبل الإنتاج دون الحاجة إلى تعديلات، كما أن استبدال مجموعة بيانات جديدة لإجراء اختبار سلبي لا يتطلب سوى تغيير سطر واحد.

تتبع الاختبارات غير الموثوقة ومعدل تسرب العيوب

الاختبار المتقلب هو الذي يفشل بشكل غير متسق دون وجود خطأ حقيقي في المنتج، وكل اختبار متقلب يُعلّم الفريق تجاهل النتائج الحمراء. تتبع عدد المرات التي تتقلب فيها كل حالة بين النجاح والفشل عبر إصدارات متطابقة. إذا تقلبت حالة ما أكثر من مرتين في الشهر، فقم بإعادة كتابتها أو إزالتها. اربط ذلك بمعدل تسرب العيوب (الأخطاء المكتشفة في مرحلة الإنتاج والتي كان من المفترض أن تكتشفها حالة الاختبار) لمعرفة أين تكون التغطية ضعيفة، وليس فقط أين تكون هناك تقلبات.

أتمتة الاختبارات التي تجريها بشكل متكرر

تعد حالات الاختبار التراجعي واختبار "السموك" (smoke) والوظائف عالية التكرار من أقوى المرشحات للأتمتة لأنها تُجرى في كل إصدار (build) ونادرًا ما تتغير. انقلها إلى نصوص برمجية (scripts) في مسار التكامل المستمر/التسليم المستمر (CI/CD)، واستخدم أدوات مدعومة بالذكاء الاصطناعي مزودة بمحددات مواقع ذاتية الإصلاح (self-healing locators) في الأماكن التي تتغير فيها عناصر واجهة المستخدم (UI) بشكل متكرر. وهذا يحرر المختبرين البشريين للقيام بالأعمال الاستكشافية وأنواع اختبار البرمجيات التي تتطلب تقديرًا شخصيًّا، مثل قابلية الاستخدام والبحث عن الحالات الاستثنائية.

كيفية كتابة حالات الاختبار وتشغيلها في ClickUp

يغطي قسم «الأدوات» أعلاه المجال الذي يناسبه ClickUp. ويوضح هذا القسم الإعداد الفعلي، مقترنًا بالخطوات الواردة في أجزاء سابقة من الدليل.

نظم مكتبة حالات الاختبار الخاصة بك. أنشئ مساحة لمنتجك، ومجلدًا لكل مجال من مجالات الميزات (على سبيل المثال، المصادقة، والمدفوعات، وتجربة المستخدم الجديدة)، وقائمة لكل دورة اختبار أو سبرينت. تصبح كل مهمة حالة اختبار فردية. استخدم الحقول المخصصة في ClickUp لتسجيل مكونات مثل معرّف حالة الاختبار، والشروط المسبقة، وبيانات الاختبار، ومستوى الأولوية، والبيئة.

اكتب خطوات الاختبار مباشرةً في المهمة. استخدم وصف المهمة لتوثيق خطوات التنفيذ المتسلسلة والنتائج المتوقعة. تُعد قوائم المراجعة خيارًا مناسبًا للتدفقات خطوة بخطوة حيث يحتاج المختبر إلى وضع علامة على كل إجراء، بينما يحتوي الوصف على السياق مثل الشروط المسبقة وبيانات الاختبار.

تتبع التنفيذ والنتائج. أنشئ حالات مخصصة تعكس سير عمل الاختبار لديك: لم يبدأ → قيد التنفيذ → ناجح → فاشل → معطل. عندما يفشل الاختبار، قم بتحويله إلى مهمة خطأ أو أنشئ مهمة مرتبطة بها مخصصة للمطور، مع تحديد الأولوية والتبعيات والموعد النهائي. تتيح لك عمليات تكامل GitHub وGitLab ربط هذا الخطأ مباشرةً بطلب السحب (PR) الذي تسبب فيه. إذا كان السبب الجذري هو عيب في الكود، فيمكنك تعيين مهمة الخطأ هذه إلى ClickUp Codegen Agent، الذي يقرأ وصف المهمة والمواصفات المرتبطة بها والتعليقات، ويكتب إصلاحًا مقترحًا، ويفتح طلب سحب للمراجعة مع نشر التقدم المحرز مرة أخرى في المهمة.

نصيحة للمحترفين: يمكن لقادة فريق ضمان الجودة الحصول على لمحة سريعة عن أي مهمة من خلال مطالبة ClickUp Brain بتلخيص مهام الأخطاء المفتوحة. وبهذه الطريقة، يصبح لديهم كل السياق الذي يحتاجونه لمراجعات السبرينت دون الحاجة إلى البحث في المهام الفردية لتكوين صورة شاملة.

استخدام ClickUp Brain لتلخيص المهام المفتوحة
استخدام ClickUp Brain لتلخيص المهام المفتوحة

قم بتشغيل دورات الاختبار باستخدام طرق العرض. استخدم «عرض اللوحة» (Board View) المجمّع حسب الحالة لمعرفة توزيع النجاح/الفشل في لمحة سريعة أثناء تشغيل الاختبار. يعمل «عرض الجدول» (Table View) كمصفوفة اختبار تقليدية عندما تحتاج إلى فحص النتائج عبر عشرات الحالات. قم بالتصفية حسب المكلف بالمهمة لتوزيع عبء العمل بشكل متوازن، أو حسب الأولوية لتركيز اختبار التحديد الأولي على المسارات الحرجة أولاً.

يوفر لك نموذج إدارة الاختبارات في ClickUp طريقة مركزية لإدارة سير عمل الاختبار بالكامل عبر مجالات الميزات المتعددة وسيناريوهات الاختبار والحالات الاستثنائية في مكان واحد. استخدمه لتتبع ملاحظات المستخدمين، وإدارة جداول الاختبارات، ومراقبة تقدم اختباراتك، وتقييم نتائج النجاح/الفشل دون الحاجة إلى التنقل بين الأدوات المختلفة.

نظم سير عمل الاختبارات باستخدام نموذج إدارة الاختبارات في ClickUp

إدارة سير عمل الاختبارات بشكل فعال

تثبت حالة الاختبار جدارتها في اللحظة التي يتمكن فيها شخصان من تنفيذها بشكل مستقل ويصلان إلى نفس النتيجة سواء كانت «ناجحة» أو «فاشلة». كل ما ورد في هذا الدليل (إجراء واحد لكل خطوة، وشروط مسبقة واضحة، ونتائج متوقعة لا تترك مجالًا للتفسير) يخدم هذا المعيار الوحيد. إذا كنت تخطط بالفعل لـ«السبرينتات» في ClickUp، فإن الإعداد المذكور أعلاه يتيح لك كتابة حالات الاختبار وتشغيلها وتتبعها جنبًا إلى جنب مع الأخطاء التي تكشف عنها، دون الحاجة إلى إضافة أداة أخرى.

اشترك في ClickUp مجانًا

الأسئلة الشائعة حول حالات الاختبار

كم عدد حالات الاختبار التي يجب أن يتضمنها كل متطلب؟

قد يتطلب متطلب واحد حالة اختبار واحدة أو عشر حالات، اعتمادًا على عدد السيناريوهات والحالات الحدية وتباينات المدخلات التي ينطوي عليها. وتكمن الفكرة في تغطية جميع المسارات الواقعية، مع توفير تغطية كافية دون تكرار.

ما الفرق بين حالات الاختبار ونصوص الاختبار؟

توثق حالة الاختبار ما يجب اختباره والنتائج المتوقعة، وهي مكتوبة للتنفيذ اليدوي. أما نص الاختبار، فهو النسخة الآلية: وهو رمز برمجي ينفذ تلك الخطوات نفسها برمجيًا.

ما مدى التفصيل المطلوب في خطوات الاختبار؟

قسّم الاختبار إلى خطوات منطقية ومتسلسلة يسهل اتباعها دون الحاجة إلى أي سياق مسبق. تجنب تجميع عدة إجراءات معًا أو إضافة تعقيدات غير ضرورية.

يحدد سيناريو الاختبار ما يجب اختباره في سطر واحد («التحقق من إعادة تعيين كلمة المرور»)، بينما تحدد حالة الاختبار كيف يتم ذلك، مع الشروط المسبقة والخطوات وبيانات الاختبار والنتائج المتوقعة. عادةً ما ينتج عن كل سيناريو من 3 إلى 10 حالات اختبار تغطي المسار الناجح والمدخلات غير الصالحة والشروط الحدية. تأتي السيناريوهات أولاً وتقود تخطيط التغطية؛ بينما تأتي حالات الاختبار ثانيًا وتقود التنفيذ.

تستخدم حالة الاختبار الإيجابية مدخلات صالحة وتتوقع النجاح: حيث يؤدي إدخال البريد الإلكتروني وكلمة المرور الصحيحين إلى تسجيل دخول المستخدم. أما حالة الاختبار السلبية فتستخدم مدخلات غير صالحة أو غير متوقعة وتتوقع أن يفشل النظام بشكل سلس: فعند إدخال كلمة مرور خاطئة، تظهر رسالة «كلمة مرور غير صالحة» دون إنشاء جلسة عمل. تتراوح نسبة حالات الاختبار الإيجابية إلى السلبية في مجموعات الاختبار الناضجة بين 1:3 و1:5 تقريبًا، لأن معظم الأخطاء في بيئة الإنتاج توجد في مسارات الخطأ، وليس في المسارات الناجحة.

تحدد خطة الاختبار نطاق عملية الاختبار بأكملها ونهجها ومواردها وجدولها الزمني. أما مجموعة الاختبارات فهي عبارة عن مجموعة من حالات الاختبار التي تم تجميعها لتُجرى دفعة واحدة، مثل «مجموعة اختبارات التراجع للإصدار 2.1». وحالة الاختبار هي الوحدة الأساسية في كل من: فحص موثق واحد بنتيجة واحدة إما «نجاح» أو «فشل». تحدد الخطة الاستراتيجية، وتحدد المجموعة النطاق، وتحدد الحالة النتيجة.