08:54 ما هو التطوير المدفوع بالاختبار (TDD)؟ برنامج تعليمي مع أمثلة - مدونة SPOTO - مواد دراسية مفيدة لدراسة شهادة تكنولوجيا المعلومات
preloader

ما هو التطوير المدفوع بالاختبار (TDD)؟ برنامج تعليمي مع أمثلة

ينص أحد مبادئ البيان الخاص بتطوير البرمجيات الرشيقة على أن – الاهتمام المستمر بالتميز التقني والتصميم الجيد يعزز من سرعة الأداء.
ولكن كيف نركز على التميز التقني؟ حسنًا، من أجل ذلك نحتاج إلى استكشاف مجموعة من الممارسات التقنية الجيدة والمفيدة. إحدى هذه الممارسات هي التطوير المدفوع بالاختبار أو TDD.
في هذه المقالة، سأرشدك في هذه المقالة إلى مثال بسيط لإنشاء كود مدفوع بالاختبار وأشرح قليلاً عن هذه الممارسة والمزايا المرتبطة بها.
TDD أو التطوير المدفوع بالاختبار هو ممارسة شائعة لتطوير التعليمات البرمجية التي تتسم بالبساطة وقابلية الصيانة والاختبار الجيد. ينص النهج على أنه يجب على المرء كتابة “كود التنفيذ” فقط في حالة وجود “حالة اختبار فاشلة”.
وهو نهج تكراري لتطوير المنتجات البرمجية حيث –
اكتشف أهمية أجيليتي الفريق والرشاقة التقنية في توسيع نطاق ممارسات أجايل. تعرف على كيفية تعزيز القدرة على التكيف والتعاون والجودة والابتكار في مؤسستك لتقديم القيمة للعملاء بشكل أسرع وأكثر موثوقية وبجودة أعلى.
دعنا نفكر في نظام إدارة ملف تعريف المستخدم الذي يسمح للمستخدمين بإنشاء اسم مستخدم وكلمة مرور للمصادقة في المستقبل. هناك بعض قواعد العمل التي يجب أن يتبعها اسم المستخدم وكلمة المرور لتكون صالحة.
من أجل التبسيط والإيجاز في المقالة، سأعمل بقاعدة واحدة فقط لاسم المستخدم وهي التحقق من الحد الأدنى لطول اسم المستخدم. لنفترض أن الحد الأدنى لطول اسم المستخدم هو 8 أحرف. الآن سنبدأ في تطوير اختباراتنا ورمزنا وفقًا لذلك. سأستخدم Laravel و PHPUnit لأمثلة التعليمات البرمجية.
ونحصل على خطأ وهو أمر متوقع تمامًا لأننا لم ننشئ حتى الآن فئة “ValidatorService”.
دعونا ننشئ الفصل ونجري الاختبار مرة أخرى. تذكّر أننا نكتب ما يكفي من الشيفرة البرمجية لضمان نجاح حالة الاختبار الفاشلة. الخطأ هو فشل أيضًا، لذا سنكتب فقط ما يكفي من الشيفرة لجعل الخطأ يختفي.
لا يزال الخطأ موجودًا. ولكن الأمر مختلف الآن. كما هو متوقع، يبحث الآن عن الدالة، والتي لا تزال غير موجودة. لننشئ دالة عنصر نائب وننفذ الاختبار.
والآن لدينا حالة اختبار فاشلة. سننشئ الآن الشيفرة الفعلية للوظيفة للتحقق من طول اسم المستخدم وتنفيذ حالة الاختبار. يجب أن تنجح حالة الاختبار الفاشلة الآن.
وقد نجحت. دعنا نضيف اختبارًا آخر مشابهًا ونرى ما إذا كان هذا الاختبار يجتاز أيضًا. يجب أن ينجح.
ونعم لدينا حالتا اختبار ناجحة. دعونا نضيف حالة اختبار أكثر عمومية الآن وننفذها.
وقد نجحت جميع حالات الاختبار الثلاث الآن. لكن انظر إلى الكود يبدو أن هناك الكثير من التكرار. يبدو أن الوقت قد حان الآن لـ “إعادة صياغة” شفرتنا. يوفر PHPUnit ميزة لطيفة تسمى “مزود البيانات” والتي تجعل هذا الأمر بسيطًا جدًا.
دعونا ننفذ الاختبارات ونرى ما إذا كانت لا تزال تجتاز.
ونعم، لا تزال حالات الاختبار تجتاز. دعنا نعيد هيكلة شيفرة التنفيذ بسرعة أيضًا.
وهل ما زالت حالات الاختبار تنجح؟ نعم، تنجح. هذا يعني أن شفرتنا الآن في حالة جيدة جدًا.
يمكننا الآن الاستمرار في إضافة المزيد من حالات الاختبار للتحقق من صحة قواعد العمل المختلفة حسب الحاجة والاستمرار في إعادة هيكلة الشيفرة البرمجية عند الحاجة. وفي اللحظة التي سنقوم فيها بتشغيل مجموعة الاختبار الخاصة بنا، سنعرف ما إذا كان هناك شيء معطل بسبب التغييرات الجديدة التي نضيفها.
إن إجراء تقييم الفريق والرشاقة التقنية أبسط مما تعتقد. تعرف على كيفية إجرائه بفعالية والاستفادة من النتائج لدفع عجلة التحسين دون عناء.أطلق العنان لإمكاناتك.
كما هو الحال مع أي تخصص تقني آخر، يتطلب تطوير TDD الكثير من الصبر والمثابرة لتصبح خبيرًا. وعلى الرغم من ذلك، بمجرد أن تتقنه، يصبح عادة تجني فوائد جمة.
فهو يساعدك على إنشاء كود برمجي أكثر موثوقية وقابلية للصيانة، كما أنه يخلق حلقة أقصر من الملاحظات إذا حدث خطأ ما أثناء بناء منتجك.
أعمل كمدرب رشيق-أجايل متحمس ولديّ أكثر من 19 عامًا من الخبرة المتنوعة، وأعمل مع محترفين وفرق عمل ومؤسسات لمساعدتهم في سعيهم لتحقيق الرشاقة. كوني مدرب محترف في سكروم (Scrum.org)، ومدرب محترف في سكروم (Scrum.org)، ومدرب معتمد من ICAgile.

About the Author

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Related Posts