پرووید
منو

آموزش توسعه تست محور (TDD) پروژه محور

زبان: فارسی (دوبله شده)مترجم: پروویددوبلر: پروویدسطح: متوسطمدت زمان: 02:26:42تعداد ویدئوها: 45فایل های پروژه: ناموجود
قیمت:۲٬۹۹۹٬۰۰۰ تومان
این آموزش بخشی از پکیج کامل آموزش تست نرم‌افزار پیشرفته است که می توانید از تمامی آموزش های آن دیدن کنید.

آموزش توسعه تست محور Test Driven Development TDD پروژه محور یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی توسعه تست محور (Test Driven Development) در سی شارپ است که با نام اصلی Test Driven Development in C# از شرکت Pluralsight منتشر شده است.

توسعه تست محور نرم افزار (Test Driven Development) چیست؟

توسعه تست محور که به آن Test Driven Development و یا به طور کوتاه TDD نیز میگویند، یک فرآیند توسعه نرم افزار که بر اساس یک سیکل تکراری کوتاه کار میکند. سیکل توسعه نرم افزار تست محور از سه مرحله تشکیل شده اند. در مرحله اول از این سیکل قبل از نوشتن هر Production Code خاصی شما ابتدا Test Code را ایجاد می کنید، که طبیعتاً به دلیل عدم وجود Production Code شکست خورده و یا Fail می‌شود. در مرحله دوم از سیکل توسعه تست محور نرم افزار باید حداقل Production Code مورد نیاز برای Pass شد آن تست را لحاظ نمایید. و در مرحله سوم می‌ بایست Production Code و یا حتی Test Code نوشته شده در مراحل قبلی را ریفکتور کنید. در این رابطه می توانید از آموزش ریفکتورینگ Refactoring در سی شارپ استفاده کنید.

استفاده کردن از روش Test Driven Development باعث می‌شود که شرایط کد ایجاد شده به مراتب بهتر باشد. پروژه هایی که با روش Test Driven Development پیاده سازی می شوند Loosely Coupled تر هستند و مدیریت Dependency ‌ها در آنها با روشی مناسب‌ تر انجام می‌شود. علاوه بر این، ریفکتور کردن و نگهداری چنین برنامه‌هایی نیز ساده تر می باشد چرا که حجم زیادی از برنامه توسط تست های نوشته شده پوشش داده می‌شوند. یکی از موضوعات بسیار مهم در پیاده‌سازی موفق روش Test Driven Development کوتاه کردن تست های نوشته شده است در واقع Unit Test هایی که با استفاده از این روش ایجاد می‌شوند باید بر روی حداقل عملکرد سیستم متمرکز کنند. استفاده کردن از روش Test Driven Development باعث می‌شود که نیازمندی‌های برنامه با روشی مناسب تر بیان بشوند. به عبارت دیگر هر کدام از تست ها خود به منظور مستندسازی برنامه مورد استفاده قرار خواهند گرفت و این موضوع باعث می‌شود تا برنامه نویسان دیگر بتوانند راحت‌ تر کد نوشته شده را درک کرده و احتمالاً آن را نگهداری کنند.

What Is Test Driven Development (TDD) - نمونه ای از بخش Getting Started with Test Driven Development در آموزش توسعه تست محور (TDD) پروژه محور
نمونه ای از بخش «Getting Started with Test Driven Development» در آموزش توسعه تست محور (TDD) پروژه محور

پیشتر نیز بسته های آموزشی دیگری در رابطه با توسعه تست محور در سی شارپ بر روی وب سایت پرووید قرار داده شده است که می توانید آن را از آموزش توسعه تست محور Test Driven Development در سی شارپ و آموزش توسعه تست محور Test Driven Development پیشرفته در سی شارپ مشاهده کنید. تفاوت این بسته آموزشی رویکرد عملیاتی آن است که با استفاده از ASP.NET Core شما نحوه پیاده سازی کردن روش Test Driven Development را فرا خواهید گرفت.

چرخه Red Green Refactor در توسعه تست محور

در روش Test Driven Development، توسعه نرم‌افزار با یک چرخه تکرارشونده انجام می‌شود که معمولاً با سه مرحله Red، Green و Refactor شناخته می‌شود. ابتدا تستی نوشته می‌شود که رفتار مورد انتظار را مشخص می‌کند و در حالت اولیه با شکست مواجه می‌شود. سپس حداقل کد لازم برای موفق شدن تست نوشته می‌شود. در مرحله آخر، ساختار کد بهبود پیدا می‌کند، بدون اینکه رفتار مورد انتظار تغییر کند. تکرار این چرخه به توسعه‌دهنده کمک می‌کند تغییرات را در گام‌های کوچک و قابل بررسی انجام دهد.

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

تست کردن Business Logic در پروژه‌های C#

Business Logic شامل قواعد و تصمیم‌هایی است که رفتار اصلی یک برنامه را مشخص می‌کنند. برای مثال، در یک سیستم سفارش‌گیری ممکن است قوانینی برای محاسبه مبلغ نهایی، بررسی اعتبار سفارش یا تعیین شرایط انجام یک عملیات وجود داشته باشد. تست کردن این منطق کمک می‌کند اطمینان حاصل شود که برنامه در برابر ورودی‌های مختلف، رفتار مورد انتظار را نشان می‌دهد. در روش TDD، تست‌های مربوط به این قواعد پیش از پیاده‌سازی کد اصلی نوشته می‌شوند.

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

استفاده از TDD برای توسعه قابلیت‌های ASP.NET Core

در پروژه‌های ASP.NET Core، روش TDD می‌تواند برای توسعه تدریجی قابلیت‌های برنامه به کار گرفته شود. توسعه‌دهنده ابتدا رفتار مورد انتظار یک قابلیت را در قالب تست مشخص می‌کند و سپس کد لازم را برای برآورده کردن آن می‌نویسد. این فرایند می‌تواند در توسعه بخش‌هایی مانند سرویس‌های برنامه و منطق پردازش درخواست‌ها کاربرد داشته باشد. با مشخص بودن انتظارات در قالب تست، بررسی نتیجه تغییرات و تشخیص تفاوت میان رفتار واقعی و رفتار مورد انتظار ساده‌تر می‌شود.

هنگام توسعه قابلیت‌های جدید، تست‌های موجود نیز می‌توانند برای بررسی حفظ رفتارهای قبلی اجرا شوند. اگر تغییر در یک بخش باعث شکست تست دیگری شود، توسعه‌دهنده می‌تواند تأثیر آن تغییر را زودتر شناسایی کند. البته برای دستیابی به نتیجه مناسب، باید تست‌ها به‌گونه‌ای طراحی شوند که بیش از حد به جزئیات داخلی پیاده‌سازی وابسته نباشند. استفاده از TDD در کنار طراحی مناسب کد به برنامه‌نویسان کمک می‌کند قابلیت‌های ASP.NET Core را با اطمینان بیشتری توسعه دهند و تغییرات را بهتر مدیریت کنند.

سرفصل مطالب آموزش ویدئویی توسعه تست محور نرم افزار (TDD) با پروژه عملی

فصل اول: مقدمه دوره آموزشی

  • مقدمه دوره آموزشی

فصل دوم: شروع به کار با توسعه تست محور و یا Test Driven Development

  • مقدمه
  • روش Test Driven Development چیست؟
  • مزایای استفاده از روش Test Driven Development
  • بررسی اپلیکیشن Wired Brain Coffee برای این آموزش
  • بررسی ساختار مربوط به این دوره آموزشی
  • بررسی اولین نیازمندی
  • ایجاد کردن یک Unit Test که Fail می شود
  • نوشتن Production Code برای Pass شدن تست مورد نظر
  • ریفکتور کردن کد
  • تست کردن و پیاده سازی کرد نیازمندی بعدی
  • ریفکتور کردن Test Code
  • جمع بندی

فصل سوم: تست کردن و پیاده سازی کردن Business Logic

  • مقدمه
  • بررسی نیازمندی‌ها
  • Decouple کردن Dependency از یکدیگر با روش Test Driven Development
  • نوشتن تست برای ذخیره کردن یک DeskBooking
  • پیاده‌سازی کردن Production Code مربوط به ذخیره‌سازی یک DeskBooking
  • ریفکتور کردن کد
  • نوشتن تست برای بررسی وجود یک Desk
  • پیاده سازی Production Code برای بررسی موجود بودن یک Desk
  • نوشتن تست برای ذخیره کردن DeskID در Booking مورد نظر
  • پیاده سازی Production Code برای ذخیره کردن DeskID در Booking مورد نظر
  • نوشتن تست برای برگرداندن یک Result Code با عناوین Success و یا NoDeskAvailable
  • پیاده‌سازی کردن یک Result Code با عناوین Success و یا NoDeskAvailable
  • نوشتن تست برای تنظیم کردن DeskBookingID بر روی Result
  • پیاده سازی کردن Production Code برای تنظیم کردن DeskBookingID بر روی Result
  • جمع بندی

فصل چهارم: اضافه کردن قابلیت ها در یک اپلیکیشنAsp.Net Core

  • مقدمه
  • استفاده کردن از روش Test Driven Development برای User Interface برنامه‌ها
  • بررسی Solution برنامه و پروژه های جدیدی که اضافه شدند
  • بررسی نیازمندیهای برنامه
  • نوشتن تست برای فراخوانی متد BookDesk که از کلاس Processor
  • پیاده‌سازی کردن Production Code برای فراخوانی متد BookDesk که از کلاس Processor
  • نوشتن تست برای بررسی کردن Valid بودن مدل
  • نوشتن Production Code برای بررسی کردن Valid بودن مدل
  • نوشتن تست برای اضافه کردن یک Model Error اگر هیچ Desk خاصی وجود نداشته باشد
  • نوشتن Production Code برای اضافه کردن یک Model Error اگر هیچ Desk خاصی وجود نداشته باشد
  • ریفکتور کردن Unit Test ها
  • نوشتن تست برای برگرداندن IActionResult مورد نظر
  • پیاده‌سازی Production Code برای برگرداندن IActionResult مورد نظر
  • نوشتن تست برای Redirection به صفحه BookDeskConfirmation
  • نوشتن Production Code برای Redirection به صفحه BookDeskConfirmation
  • اجرا کردن اپلیکیشن ASP.NET Core
  • جمع‌بندی دوره آموزشی
دیدگاه کاربران

دیدگاه ها

برای ثبت دیدگاه ابتدا وارد حساب کاربری شوید.
هنوز دیدگاهی برای این محصول تایید نشده است.