التطوير القائم على الاختبار باستخدام بايثون
614 صفحات
Arabic
PDF
4.5

التطوير القائم على الاختبار باستخدام بايثون

التطوير القائم على الاختبار باستخدام بايثون

المؤلف:

السنة:

ملخص:

مقدمة

كتاب هاري بيرسيفال «Test-Driven Development with Python» (في الترجمة الروسية — «التطوير القائم على الاختبار باستخدام بايثون») ليس مجرد كتاب دراسي آخر عن بايثون. إنه دليل عملي متكامل يغمر القارئ في عالم التطوير القائم على الاختبار (TDD) من خلال مثال إنشاء تطبيق ويب حقيقي. صدر في عام 2017 (الطبعة الثانية)، ولا يزال الكتاب ذا صلة حتى اليوم، خاصة لأولئك الذين يرغبون في إتقان الممارسات المهنية للتطوير باستخدام بايثون مع Django وSelenium.

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

عن ماذا يتحدث هذا الكتاب؟

الكتاب مخصص لمنهجية التطوير القائم على الاختبار (TDD) فيما يتعلق بتطوير الويب باستخدام بايثون. المشروع الرئيسي — إنشاء تطبيق بسيط لإدارة قوائم المهام (To-Do lists) باستخدام Django. لكن القيمة الحقيقية للكتاب ليست في المشروع نفسه، بل في العملية: ستتعلم كتابة الاختبارات قبل كتابة الكود، وسترى كيف يغير ذلك بنية وجودة المنتج النهائي.

يغطي الكتاب:

  • أساسيات TDD: أحمر-أخضر-إعادة هيكلة (Red-Green-Refactor).
  • الاختبارات الوظيفية باستخدام Selenium.
  • اختبارات الوحدة لـ Django (النماذج، العروض، الاستمارات).
  • اختبار JavaScript باستخدام QUnit وSinon.js.
  • التكامل المستمر (CI) باستخدام Travis CI.
  • النشر على الخادم (PythonAnywhere، Heroku).
  • العمل مع قواعد البيانات، الترحيلات، وتركيبات الاختبار.
  • كائنات Mock واختبار الخدمات الخارجية.

لمن هذا الكتاب؟

الكتاب موجه لـ المطورين الذين لديهم معرفة أساسية بلغة بايثون ولديهم فكرة أساسية عن أطر عمل الويب (يفضل Django، ولكن ليس بالضرورة). إذا كنت:

  • ترغب في كتابة كود أكثر موثوقية وقابلية للصيانة؛
  • قد سئمت من «التصحيح عبر الطباعة» وتريد أتمتة الفحوصات؛
  • تخطط للعمل في فريق حيث TDD هو المعيار؛
  • تريد فهم كيفية اختبار ليس فقط الواجهة الخلفية (backend) ولكن أيضًا الواجهة الأمامية (frontend) (JavaScript)؛

— فهذا الكتاب لك. سيكون الأمر صعبًا على المبتدئين في بايثون: يفترض المؤلف أنك تعرف كيفية تثبيت الحزم، والعمل مع البيئة الافتراضية، وفهم أساسيات البرمجة كائنية التوجه (OOP).

ماذا سيتعلم القارئ؟

بعد قراءة الكتاب، ستتمكن من:

  • كتابة الاختبارات قبل الكود ورؤية كيف يسرع ذلك التطوير.
  • استخدام Selenium لمحاكاة إجراءات المستخدم في المتصفح.
  • اختبار تطبيقات Django على جميع المستويات: من النماذج إلى القوالب.
  • إعادة هيكلة الكود بثقة أن الاختبارات ستكتشف الانحدار (regression).
  • إعداد CI/CD للتشغيل التلقائي للاختبارات.
  • العمل مع Git في سياق TDD (الالتزامات المتكررة، التغييرات الذرية).
  • كتابة اختبارات لـ JavaScript ودمجها في العملية العامة.

نقاط القوة في الكتاب

1. التوجه العملي. أنت لا تقرأ النظرية فقط — بل تكتب الكود مع المؤلف. يحتوي كل فصل على خطوات محددة، وأوامر في الطرفية، وشروحات.

2. التعقيد التدريجي. يبدأ بـ «Hello, world» بسيط في الاختبارات، وينتهي بالنشر على خادم إنتاج مع HTTPS والملفات الثابتة.

3. مشروع واقعي. تطبيق قوائم المهام ليس مثالًا لعبة، بل مشروع متكامل يمكن توسيعه.

4. تغطية الأدوات الحديثة. Selenium، Django، Git، Travis CI، PythonAnywhere — كل هذا يُستخدم فعليًا في الصناعة.

5. شروحات مفصلة. المؤلف لا يقدم الأوامر فقط، بل يشرح لماذا يتم ذلك بهذه الطريقة،

توصيات