هل تقوم بكتابة اختبار الوحدة unit testing وانت تكتب الكود ؟

  • ar_syria

عندما اقوم بالعمل على مشاريع دائما ما اتجاهل unit test واكتب كود التطبيق الذي اعمل عليه ولا التفت الى هذا الجزء برأي انه سوف يأخر سير المشروع ولكن اعلم انني على خطأ ولكن بسبب قلة استخدامي له وعدم تعودي عليه اتجاهله دائما !

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

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

في الشركة التي أشتغل فيها, لا يقبل أي تسليم دون كتابة ال Unit tests , عند البناء BUILD, نقوم بتشغيل كافة الاختبارات التي قمنا بكتابتها و لا نتيح التعديلات للمستخدمين Production environment الا اذا نجحت جميع الاختبارات, تأثرت بهذا الأسلوب كثيراََ في حياتي الخاصة حتى أصبحت أنظر الى أي مشروع لا يحمل اختبارات على أنه مشروع للهواة لا أكثر و حسب خبرتي البسيطة من أسباب التركيز على ال Unit tests :

  • تحسين الجودة.

  • مراقبة تأثير التعديلات الجديدة على كافة الوظائف الأساسية للنظام.

  • التخفيض في الاخلالات و الأعطال و ربح الوقت

هذا يتوقف على حجم المشروع وهل هو قابل للنمو بعد ذلك ام لا

لو لم يكن المشروع كبير وفيه أكثر من جزء مرتبط بالاخر .. فلا أرى للـ unit test أى قيمة سوى تضيع الوقت

وجهة نظرى

Unit test تستخدم لاختبار الأجزاء الصغيرة دون أي ارتباطات مع عناصر ومكونات أخرى.

فحتى لو كان المشروع صغير ، يظل Unit Test احد اهم الإجراءات المتبعة للحفاظ على جودة الكود.

انا معك .. لكن هذه الإختبارات عبارة عن كود أنت من تكتبه .. ومن الوارد أن لا يغطى كافة الإحتمالات المتوقعة

لذلك لا أجد له أى أهمية إلا فى المشروعات الكبيرة لمراقبة تأثير التعديلات الجديدة على كافة الوظائف الأساسية للنظام.

ولو لم يخصص لها شخص خبير فإحتمال عدم تغطية كل الأحتمالات يسبب لك مشاكل أيضاً

:)

ليس دائماً، وعندما اكتبه لا اغطي الكود بنسبة 100%

لكن في الحقيقة اختبار الوحدات مهم ومفيد جداً.

انظر لمشاريعي دائما على انها تجارب شخصية و اني الوحيد الذي سيعمل على تطويرها

لذا لا أرى فائدة منها بالنسبة لي ، لكن بصفة عامة يجب على المبرمج أن يكون متقن

لموضوع Unit Test فهو مهم سواء للعمل في مجوعات أو شركات

لا تتوقع أن تعمل في شركة جيدة دون معرفة مسبقة بال unit testing ..

أتجاهل ذلك عندما يكون الكود Trivial (غير معقد).

تضييع وقت لو الشغل على مبرمج واحد.

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