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

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

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

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

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

ملخص

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

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

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

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

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

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

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

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

لماذا تُعد حالات الاختبار المكتوبة جيدًا أمرًا مهمًا

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

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

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

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

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

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

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

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

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

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

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

مثال: TC_LOGIN_001

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

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

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

أمثلة:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

الخطوة 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 for Software Teams هي منصة لإدارة المشاريع تُعرض فيها حالات الاختبار كمهام جنبًا إلى جنب مع السبرينتات والأخطاء وطلبات السحب ذات الصلة. وهي ليست أداة مخصصة لإدارة الاختبارات، لكن هيكل المهام المرن الذي تتميز به يتيح للفرق إنشاء سير عمل لحالات الاختبار باستخدام حالات وحقول وأنواع مهام مخصصة دون الحاجة إلى أداة منفصلة.

الميزات الرئيسية لـ 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 دولارًا أمريكيًا لكل مستخدم شهريًا
  • المؤسسات: 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. وهو يدعم كل من الاختبار اليدوي والآلي، مع ميزات قوية لإعداد التقارير والتتبع مخصصة للفرق التي تعمل بنظام أجايل وفرق المؤسسات.

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

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

قيود Zephyr

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

أسعار Zephyr

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

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

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

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

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

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

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

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

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

Jira

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

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

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

  • لوحات سكرم وكانبان لإدارة السبرينتات وقوائم المهام المتأخرة وسير عمل الاختبارات باستخدام منهجية أجايل
  • عمليات عمل وأنواع المشكلات والحقول القابلة للتخصيص لتتناسب مع الطريقة التي يتبعها فريقك في تتبع العمل
  • خرائط طريق متقدمة للتخطيط المشترك بين الفرق وتتبع التبعيات (Premium)
  • أكثر من 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» في إحدى الخطوات يعني إعادة كتابة الخطوة في كل مرة تتغير فيها بيئة الاختبار. اجعل الخطوات عامة («أدخل بريدًا إلكترونيًّا مسجَّلًا») واحتفظ بالقيم الفعلية في حقل أو ملف بيانات الاختبار. وبذلك، يتم تنفيذ نفس الخطوات على بيئات الاختبار التجريبي وضمان الجودة وما قبل الإنتاج دون الحاجة إلى تعديلات، كما أن استبدال مجموعة بيانات جديدة لإجراء اختبار سلبي لا يتطلب سوى تغيير سطر واحد.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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