چگونه می توان توسعه مبتنی بر آزمون را در سیستم های قدیمی فشرده کرد

عکس پروفایل نویسنده

@mcseeماکسیمیلیانو کونتیری

من مهندس ارشد نرم افزار هستم که در زمینه طراحی های اعلامی و عاشق SOLID و Agile تخصص دارم.

همه ما TDD را دوست داریم ، ما فواید آن را می دانیم ، هزار آموزش در مورد چگونگی ساخت سیستم با استفاده از این روش خوانده ایم. اما این برای سیستم های قدیمی فعلی امکان پذیر نیست.

توسعه تست محور (TDD) یک نرم افزار است توسعه فرایندی که به تکرار a متکی است خیلی کوتاه چرخه توسعه

ما الزامات را به موارد آزمایشی بسیار خاص تبدیل می کنیم.

ما نرم افزار را بهبود می بخشیم تا همه آزمایش ها بگذرد.

این با ترکیب عملکردی که ثابت نشده است مطابق با الزامات است مخالف است.

در سال 2003 توسط کنت بک (همچنین نویسنده سیستم تست چارچوب تست xUnit) ایجاد شده است.

چرخه

1) یک تست اضافه کنید (باید شکست بخورد)

صرفاً مبتنی بر رفتار. فراموش کردن همه چیز در مورد اجرای تصادفی

2) تمام آزمون ها را اجرا کنید. آزمون جدید باید ناموفق باشد. بقیه باید بگذرند.

3) ساده ترین راه حل ممکن را برای قبولی در آزمون بنویسید. برنامه نویس نباید کدی را بنویسد که فراتر از عملکرد آزمون باشد. (اصول طراحی KISS و YAGNI)

اگر همه آزمونها قبول شد ، فرایند را دوباره راه اندازی کنید یا …

4) (به صورت اختیاری) یک رفکتور بسازید (وقتی کد بو می آید).

هرگز هر دو 1 و 4 را با هم انجام ندهید.

مزایای طراحی

  • قابلیت تست و رابط های کلاس بهتر
  • طرح های ساده تر (KISS ، YAGNI ، …