ما هي التنمية المدفوعة بالاختبار؟

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

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

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

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

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