Test Driven Developement یا توسعه تست محور چیست ؟

Test Driven Developement یا TDD یا توسعه‌ی تست محور،‌ یک روش توسعه‌ی نرم‌افزار است که با هدف کاهش خطاهای برنامه‌نویسی ایجاد شده است. در شیوه‌ی عادی و با استفاده از آزمون واحد( Unit Test ) می‌توانیم برنامه را تست کنیم ولی بدون داشتن یک قانون مشخص برای آزمون نرم‌افزار، معمولا نوشتن تست به تاخیر می‌افتد یا به طور کلی انجام نمی‌شود.

توسعه تست محور

در شیوه‌ی «توسعه‌ی تست محور» برای جلوگیری از فراموش شدن یا به تاخیر افتادن نوشتن تست‌ها، لازم است تا ابتدا و پیش از نوشتن کدهای اصلی، تست آن را بنویسیم. این تست در زمان نوشته شدن، fail می‌شود و پس از آن برنامه‌نویس می‌بایست کدهای لازم را به برنامه اضافه کند تا این تست جدید وضعیت pass پیدا کند.

نوشتن تست پیش از کدهای اصلی ممکن است به نظر عجیب برسد، ولی این کار مزایایی هم به دنبال دارد:

  • این کار باعث می‌شود تا نوشتن تست را فراموش نکنیم
  • این کار باعث می‌شود تا برنامه‌نویس دقیقا بداند که کدهای او چه نتیجه‌ای را باید خروجی بدهند
  • نوشتن تست پیش از هر کد، پوشش تست برنامه را به ۱۰۰ درصد می‌رساند و در نتیجه احتمال رخداد خطا در توسعه‌های آینده هم کمتر می‌شود

توسعه‌ی تست محور، به ویژه در پروژه‌هایی که برنامه‌نویسان متعدد روی آن کار می‌کنند یک مزیت قابل توجه به حساب می‌آید زیرا در این شرایط، امکان کنترل کیفیت و عملکرد صحیح فعالیت تمام برنامه‌نویسان وجود ندارد. در عوض با نوشتن تست پیش از توسعه توسط برنامه‌نویسان مختلف، با دقت بسیار بالا می‌توان متوجه شد که هر بخش از کدهای نوشته شده، آیا انتظارات را به درستی برآورده کرده‌اند یا نه و همچنین آیا کدهای نوشته شده جدید، مشکلی در فعالیت بخش‌های قدیمی نرم‌افزار ایجاد کرده‌اند یا نه.

این نوشته در برنامه‌نویسی ارسال و , برچسب شده است. افزودن پیوند یکتا به علاقه‌مندی‌ها.

یک دیدگاه برای Test Driven Developement یا توسعه تست محور چیست ؟

  1. حمیدرضا می‌گوید:

    عالی بود موفق باشید.
    به نظرم مطلب را کاملتر و عمیق‌تر کنید.

پاسخ دادن به حمیدرضا لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>