آموزش توسعه تست محور Test First Development در سی شارپ سری اول

تعداد ویدئو 73
زمان دوره 03:34:09
مترجم مرتضی گیتی
دوبلر مرتضی گیتی
سایت منتشر کننده پلورال سایت

آموزش توسعه تست محور Test First Development در سی شارپ سری اول یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی آموزش توسعه ی نرم افزار تست محور است که با نام اصلی Test First Development – Part 1 از شرکت Pluralsight منتشر شده است.

Test Driven Development چیست؟

Test-Driven Development یا TDD تکنیکی برای توسعه نرم افزار های میباشد. این روش به صورت بالا به پایین انجام میشود یعنی اول یک سری mock ساخته شده، کلیات پروژه به صورت نمونه اولیه پیاده سازی می شود و بعد از تایید شدن عملکرد برنامه کد های اصلی با mock ها جایگزین می شود. تست ها به صورت Test Case نوشته می شوند و در نهایت بعد از نوشته شدن کد ریفکتورینگ صورت می گیرد. این سیکل را Red-Green-Refactor می گویند.

Test-Driven-Development

TDD در واقع متدی برای طراحی نرم افزار است نه تست آن البته تست نرم افزار توسط TDD به صورت خیلی شیک انجام می شود. فرض کنید که یک Class دارید که انتظار دارید یک Object از نوع User برای شما ایجاد کند و در کل برنامه با این Object کار خواهید کرد. حال شما تغییری در پایگاه داده خود ایجاد می کنید که باعث می شود متد هایی از آین Object را دیگر نداشته باشیم. بنابراین جاهایی از برنامه که انتظار دارند این متدها وجود داشته باشند از کار خواهد افتاد ولی اگر از روش TDD استفاده کنیم و برای هر قسمت تست نوشته باشیم قبل از اینکه بعد از تغییرات ما همه سیستم از کار بیفتد ما با استفاده از تست ها میتوانیم متوجه تغییرات در جاهای مختلف سیستم بشویم. ضمناً سری دوم این آموزش تحت عنوان آموزش توسعه تست محور Test First Development در سی شارپ سری دوم پیش از این بر روی سایت منتشر شده است.

تست نرم افزار چیست؟

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

تعریف تست نرم افزار

طبق استاندارد ANSI/IEEE 1059 – فرآیند تجزیه و تحلیل یک آیتم نرم افزار، برای تشخیص تفاوت بین شرایط موجود و مورد نیاز و نواقص و ارزیابی ویژگی های آیتم های موجود در نرم افزار است.

چرا به تست نرم افزار نیاز داریم؟

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

سرفصل مطالب آموزش ویدئویی Test First Development در سی شارپ سری اول

فصل اول: معرفی Test First Development

  •  مقدمه
  •  انجام تست نرم افزار توسط برنامه نویس
  •  بررسی روش سنتی تست کردن توسط برنامه نویس
  •  بررسی مزایا
  •  تعریف کردن Unit Testing
  • تست کردن کدهای از قبل موجود و کدهای جدید
  •  بررسی Framework های انجام Unit Testing
  • بررسی عملکرد و نحوه کار کردن Unit Testing Framework ‌ها
  • Run کردن تست ها
  •  بررسی Test Runner های مختلف برای .NET
  •  بررسی Test First Development
  •  انجام Test-Driven Development به صورت عملی
  •  دیگر نکات مربوط به Test-First Development
  •  جمع بندی

فصل دوم: نوشتن Unit Test ها قسمت اول

  •  مقدمه
  •  راه اندازی یک Test Project
  •  ایجاد کردن تست ها
  • اجرا کردن تست ها
  •  مشکلاتی که باید حل و فصل شود.
  •  نوشتن اولین تست
  •  بررسی سیکل Red Green Refactor
  •  نوشتن کد برای Pass شدن اولین تست
  • بررسی یک Logical Assert
  • نوشتن تست دوم
  •  Refactore کردن یک تست
  •  بررسی کیفیت های تست
  • جمع بندی

فصل سوم: نوشتن Unit Test ها قسمت دوم

  •  مقدمه
  •  سازماندهی Test Project
  • مقایسه Unit Test ها و Integration Test ها
  • سازماندهی پروژه و تست ها
  •  بررسی Organizational Model مربوط به xUnit
  •  بررسی Unit Test Lifecycle
  • بررسی TestFixture و Category ها
  • تست کردن Sad Path
  •  پیاده سازی Assert ها
  • سازماندهی پروژه نهایی
  •  جمع بندی

 فصل چهارم: معرفی Refactoring

  •  مقدمه
  • آیا کار ما تا به اینجای کار به اتمام رسیده است؟
  •  چرا نیاز است که Refactore کنیم؟
  •  چه زمانی باید Refactore تکرار کنیم؟
  •  بررسی تکنیک های ساده Refactoring
  • انجام Refactoring to Abstraction
  •  انجام Refactoring to Design Pattern
  •  پیاده سازی یک استراتژی
  • معرفی Code Smell ها
  • جمع بندی

 فصل پنجم: پیش بردن طراحی برنامه با استفاده از Unit Test ها

  •  مقدمه
  •  از تغییرات موجود در طراحی نترسید.
  •  کار کردن با Singleton ها
  •  تست کردن با یک پیاده سازی جایگزین
  •  بررسی چالش مربوط به HttpContext
  •  انجام Decoupling بر روی Dependency مربوط به HttpContext
  • دیگر مزایای طراحی
  •  جمع‌بندی

 فصل ششم: انجام عملیات Isolation بر روی کد

  •  مقدمه
  •  انجام عملیات Fake کردن برای SUT Code ها
  • بررسی Test Double ها
  •  بررسی Dummy ها
  •  بررسی Stub ها
  • بررسی Fake ها
  • پرسی Spy ‌ها
  • بررسی Mock ها
  • مقدمه‌ای بر نرم افزار پیاده سازی شده
  •  بررسی سازماندهی کد
  •  اضافه کردن یک View برای Edit Owner
  •  استفاده از اولین Test Double
  •  نیاز برای استفاده از یک Stub
  •  مقایسه Stub ها و Spy ها
  • استفاده کردن از یک Mock
  •  جمع بندی

نقد و بررسی‌ها

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

اولین کسی باشید که دیدگاهی می نویسد “آموزش توسعه تست محور Test First Development در سی شارپ سری اول”

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

دسته های محصولات

افزودن به سبد خرید