لماذا يجب أن أمارس التطوير المبني على الاختبار وكيف يجب أن أبدأ؟

StackOverflow https://stackoverflow.com/questions/4303

  •  08-06-2019
  •  | 
  •  

سؤال

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

هل كانت مفيدة؟

المحلول

هناك الكثير من الفوائد:

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

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

نصائح أخرى

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

فوائد

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

ابدء

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

بمجرد اجتياز جميع اختباراتك، اكتب منطق عملك الفعلي للقيام بكل ما تريد القيام به.

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top