مرحبًا بك في مرحلة التعلّم

هذه الدورة عبارة عن مقدمة واستكشاف خاص باختبار الويب.

في هذه الدورة، ستتعرف على ما يلي:

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

تتضمن الدورة أيضًا نموذج تعليمة برمجية موجزة وعملية للتعلم منها.

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

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

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

إليك ما ستتعلمه:

بدء الاختبار

المقصود بالاختبار

هذه مقدمة رفيعة المستوى عن الاختبار، بما في ذلك أمثلة عملية على الاختبار باستخدام JavaScript. كما يتضمن أيضًا مقدمة لمقياس كل اختبار.

أماكن إجراء الاختبارات

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

بيئة الاختبار

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

أنواع الاختبار المبرمَج

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

العناصر التي يجب اختبارها والنهج الذي تتّبعه

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

اختبار المكوّنات عمليًا

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

تحليل ثابت

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

التأكيدات والعناصر الأساسية الأخرى

أدوات المهنة

تعرَّف على المبادئ الأساسية الشائعة في معظم مكتبات أو إطارات عمل الاختبار، بما في ذلك test() وassert، والتي ستصبح ركيزة أساسية لكل اختبار تكتبه باستخدام JavaScript.

يتوفر قريبًا

  • تجنب الصعوبات الشائعة للاختبارات
  • اختبار المضاعفات
  • اختبار المكتبات والأدوات المساعدة
  • تحديد إطار عمل الاختبار

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

قريبًا: الاختبار المستند إلى المشاكل

ستتعرف على أنماط لمواجهة عدد من التحديات الشائعة في اختبار الويب.

ميزة ستتوفّر قريبًا: الاختبار المبرمَج عمليًا

هذا قسم عملي يعرض كيفية اختبار موقع تجارة إلكترونية تم إنشاؤه باستخدام Next.js، بما في ذلك الرمز الذي يمكنك الاطّلاع عليه والتعلّم بنفسك. ستتعرّف على كيفية اختبار مكوّناته وكيفية التعامل مع خدماته الخارجية، بما في ذلك الدفع مقابل الاختبار، وكيفية إنشاء اختبارات شاملة لموقع إلكتروني يتضمّن صفحة اختيارية لتسجيل الدخول.

قريبًا: فلسفة الاختبار

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

قريبًا: كتابة رموز قابلة للاختبار

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