آموزش تست واحد برای توسعه دهندگان سی شارپ

Unit Testing for C# Developers

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: تست واحد اصلی کد سی شارپ با NUnit و Moq: همه چیز در مورد تزریق وابستگی، بهترین روش‌ها و مشکلاتی که باید از آن اجتناب کنید، تست واحد را از ابتدا یاد بگیرید نکات و ترفندهایی برای نوشتن تست‌های تمیز، قابل نگهداری و قابل اعتماد نوشتن کدهای با پیوند آزاد و قابل آزمایش کد قدیمی Refactor به سمت کد قابل آزمایش درک و پیاده‌سازی تزریق وابستگی استفاده از ماک برای جداسازی کد از وابستگی‌های خارجی استفاده از بهترین روش‌های تست واحد آموزش ضد الگوها برای اجتناب از پیش نیازها:حداقل 3 ماه برنامه‌نویسی در سی شارپ

این را تصویر کنید: یک تغییر ساده در کد ایجاد می کنید و ناگهان متوجه می شوید که ده ها باگ غیرمنتظره ایجاد کرده اید. آشنا بنظر رسیدن؟ تو تنها نیستی!

خبر خوب این است که آزمایش واحد می تواند این موضوع را به گذشته تبدیل کند.

شاید قبلاً درباره آزمایش خودکار یا واحد شنیده باشید و مایل باشید بیشتر بدانید.

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

در هر صورت، آنچه شما نیاز دارید دوره‌ای است که همه آنچه را که در مورد این مهارت ضروری نیاز دارید به شما می‌آموزد - از اصول اولیه تا سطح تسلط.


تست واحد چیست؟

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


چرا تست واحد را یاد بگیریم؟

چرا کد اضافی بنویسیم؟ آیا نوشتن آن به زمان بیشتری نیاز ندارد؟ آیا این باعث کاهش سرعت شما می شود؟ چرا برنامه را اجرا نکنید و مانند یک کاربر نهایی آن را آزمایش نکنید؟

اینگونه فکر کردن اشتباهی است که بسیاری از مردم مرتکب می شوند. من خودم درست میکردم من مجبور شدم به روش سخت یاد بگیرم!

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


همانطور که برنامه شما رشد می کند، هزینه آزمایش دستی به طور تصاعدی افزایش می یابد. و شما هرگز 100٪ مطمئن نیستید که آیا تمام موارد لبه را به طور کامل آزمایش کرده اید. شما هرگز مطمئن نیستید که کد شما واقعاً کار می‌کند تا زمانی که نرم‌افزار خود را آزاد نکنید و از رئیس یا یک کاربر نهایی تماس بگیرید!

چندین مطالعه نشان داده‌اند که هر چه دیرتر یک اشکال در چرخه عمر توسعه نرم‌افزار شناسایی شود، هزینه آن برای کسب‌وکار بیشتر است.

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


مزایای استفاده از آزمون های واحد عبارتند از:

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


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

شرکت‌های بیشتری به مزایای تست خودکار پی می‌برند، به همین دلیل است که برای برنامه‌نویس‌های ارشد ضروری است. اگر به دنبال رسیدن به سطوح بالاتر در حرفه برنامه نویسی خود هستید، این دوره می تواند به شما کمک کند.

شما به هیچ دانش قبلی در مورد آزمایش خودکار نیاز ندارید. شما فقط به 3 ماه تجربه برنامه نویسی در سی شارپ نیاز دارید.


با این دوره آموزشی خواهید آموخت:

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


دریافت خواهید کرد:

  • 6 ساعت ویدیوی HD
  • آموزش و راهنمایی از یک کدنویس ارشد با تجربه بالای 15 سال
  • تمرینات با راه حل گام به گام
  • کد منبع قابل دانلود
  • دسترسی مادام العمر
  • دسترسی آنلاین یا آفلاین در هر زمان در هر دستگاه
  • گواهی پایان کار برای ارائه به کارفرمای فعلی یا احتمالی شما

سرفصل ها و درس ها

شروع شدن Getting Started

  • تست خودکار چیست؟ What is Automated Testing

  • مزایای تست خودکار Benefits of Automated Testing

  • انواع آزمون ها Types of Tests

  • هرم تست Test Pyramid

  • ابزار The Tooling

  • کد منبع Source Code

  • نوشتن اولین آزمون واحد Writing Your First Unit Test

  • تست تمام تست های اجرایی Testing All the Execution Tests

  • بازسازی با اعتماد به نفس Refactoring with Confidence

  • استفاده از NUnit در ویژوال استودیو Using NUnit in Visual Studio

  • توسعه تست محور چیست؟ What is Test-Driven Development

  • ساختار دوره Course Structure

  • خلاصه Summary

  • سوال پرسیدن Asking Questions

مبانی تست واحد Fundamentals of Unit Testing

  • معرفی Introduction

  • ویژگی های آزمون های واحد خوب Characteristics of Good Unit Tests

  • چه چیزی را تست کنیم و چه چیزی را تست نکنیم What to Test and What Not to Test

  • نامگذاری و سازماندهی آزمونها Naming and Organizing Tests

  • رایدر را معرفی می کنیم Introducing Rider

  • نوشتن یک تست واحد ساده Writing a Simple Unit Test

  • تست جعبه سیاه Black-box Testing

  • راه اندازی و پاره کردن Set Up and Tear Down

  • تست های پارامتری Parameterized Tests

  • نادیده گرفتن تست ها Ignoring Tests

  • نوشتن تست های قابل اعتماد Writing Trustworthy Tests

  • توسعه دهندگانی که تست نمی نویسند Developers Who Don't Write Tests

  • خلاصه Summary

تکنیک های تست واحد هسته Core Unit Testing Techniques

  • معرفی Introduction

  • تست رشته ها Testing Strings

  • تست آرایه ها و مجموعه ها Testing Arrays and Collections

  • آزمایش روش های نوع بازگشت Testing the Return Type of Methods

  • تست روش های خالی Testing Void Methods

  • روش‌های آزمایشی که استثناء را ایجاد می‌کنند Testing Methods that Throw Exceptions

  • روش‌های آزمایشی که یک رویداد را افزایش می‌دهند Testing Methods that Raise an Event

  • تست روش های خصوصی Testing Private Methods

  • پوشش کد Code Coverage

  • تست در دنیای واقعی Testing in the Real-world

  • خلاصه Summary

تمرینات Exercises

  • ورزش - VideoService Exercise- VideoService

  • Refactoring Refactoring

  • آزمایش کردن Testing

  • تمرین- InstallerHelper Exercise- InstallerHelper

  • Refactoring InstallerHelper Refactoring InstallerHelper

  • تست InstallerHelper Testing InstallerHelper

  • تمرین- EmployeeHelper Exercise- EmployeeHelper

  • Refactoring EmployeeController Refactoring EmployeeController

  • تست EmployeeController Testing EmployeeController

شکستن وابستگی های خارجی Breaking External Dependencies

  • معرفی Introduction

  • کد آزاد و قابل آزمایش Loosely-coupled and Testable Code

  • Refactoring Towards Loosely Coupled Design Refactoring Towards a Loosely-coupled Design

  • تزریق وابستگی از طریق پارامترهای روش Dependency Injection via Method Parameters

  • تزریق وابستگی از طریق Properties Dependency Injection via Properties

  • تزریق وابستگی از طریق سازنده Dependency Injection via Constructor

  • چارچوب های تزریق وابستگی Dependency Injection Frameworks

  • چارچوب های تمسخر آمیز Mocking Frameworks

  • ایجاد اشیاء ساختگی با استفاده از Moq Creating Mock Objects Using Moq

  • تست تعامل مبتنی بر دولت در مقابل State-based vs. Interaction Testing

  • تست تعامل بین دو شی Testing the Interaction Between Two Objects

  • تقلبی تا آنجا که ممکن است Fake as Little As Possible

  • نمونه ای از سوء استفاده ساختگی An Example of a Mock Abuse

  • چه کسی باید تست بنویسد Who Should Write Tests

Project- Testing BookingHelper Project- Testing BookingHelper

  • معرفی Introduction

  • موارد آزمون Test Cases

  • استخراج مخزن IBooking Extracting IBooking Repository

  • نوشتن آزمون اول Writing the First Test

  • Refactoring Refactoring

  • نگارش آزمون دوم Writing the Second Test

  • رفع اشکال Fixing a Bug

  • نوشتن تست های تکمیلی Writing Additional Tests

پروژه-HouseKeeperHelper Project- HouseKeeperHelper

  • معرفی Introduction

  • Refactoring برای آزمایش پذیری Refactoring For Testability

  • رفع مشکل طراحی Fixing a Design Issue

  • یک راه حل جایگزین An Alternative Solution

  • نوشتن اولین تست تعامل Writing the First Interaction Test

  • تمیز نگه داشتن تست ها Keeping Tests Clean

  • تست یک روش نامیده نمی شود Testing a Method is Not Called

  • تست تعاملی دیگر Another Interaction Test

  • استخراج روش های کمکی Extracting Helper Methods

  • استثناهای تست Testing Exceptions

  • کوپن به دوره های دیگر من Coupons to My Other Courses

نمایش نظرات

آموزش تست واحد برای توسعه دهندگان سی شارپ
جزییات دوره
6 hours
86
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
44,456
4.6 از 5
دارد
دارد
دارد
Mosh Hamedani
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Mosh Hamedani Mosh Hamedani

مهندس نرم افزار پرشور و نویسنده پرفروش