آموزش TDD در سی شارپ از A تا Z

TDD in C# From A to Z

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: نرم افزار رشد توسط TDD با SpecFlow + TestStack White. توسعه آزمایش محور را بیاموزید و مهارت های تست واحد را بهبود بخشید! TDD را در کار روزانه خود تمرین کنید کاتاها را برای بهبود TDD و درک اصول برنامه نویسی بنویسید. آشنایی با مبانی سی شارپ شما باید از قبل با مبانی تست واحد آشنا باشید باید از قبل با اصول تزریق وابستگی آشنا باشید.

امروزه تست واحد مهارتی کاملا ضروری است که هر توسعه دهنده حرفه ای مورد نیاز است. شرکت‌ها از توسعه‌دهندگان انتظار دارند که بدانند چگونه تست‌های واحد را شامل تمام موضوعات مهم مانند تمسخر و توسعه آزمایش محور (به طور خلاصه TDD) بنویسند.

این دوره در مورد تمرین TDD با استفاده از زبان برنامه نویسی C# و NUnit به عنوان چارچوب تست واحد است. در طول مسیر با مفاهیم مربوط به تست واحد آشنا می شویم. این دوره تمام ویژگی های NUnit را پوشش نمی دهد. این دوره بسیار جالب تر است.

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

محتوا و نمای کلی

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

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

تئوری بدون تمرین مرده است، بنابراین با شروع از بخش دوم، تعداد زیادی جلسات برنامه نویسی را مشاهده خواهید کرد که در آنها نحوه پیاده سازی تولید اعداد فیبوناچی، FizzBuzz، تجزیه اعداد رومی، اولیه های همگام سازی اسپین قابل به روز رسانی، tic را نشان خواهم داد. -Tac-toe یا ضربدر و نوت بازی و بازی در چوب. همچنین یاد خواهید گرفت:

  • یک فرآیند توسعه چابک معمولی چگونه به نظر می رسد

  • که باید میانبرها را بیاموزید تا TDD را روان‌تر انجام دهید

  • سه تکنیک اصلی TDD: جعل کردن، مثلث سازی و اجرای آشکار

  • کدام آزمایش‌ها را اول بنویسید

  • نحوه نوشتن تست به روش TDD

  • کاتا را پشته کنید

  • کاتای پشته غیرقابل تغییر

  • و فهرست کاتا

  • آزمون پذیرش چیست

  • درباره چارچوب آزمایش پذیرش SpecFlow

  • نحوه نوشتن آزمون های پذیرش با SpecFlow به زبان Gherkin

  • تست‌های رابط کاربری چیست

  • چه ابزارهایی برای نوشتن تست های رابط کاربری وجود دارد

  • نحوه دسترسی به رابط کاربری از طریق چارچوب TestStack.White

آیا درباره کاتاها شنیده اید؟ نه، من در مورد برنامه نویسی صحبت می کنم. در بخش سوم، شما یاد خواهید گرفت که کاتای کد چیست و من سه کاتای کد را نشان خواهم داد:

رشد یک برنامه با نوشتن تست ابتدا، ما فقط ابتدا تست های واحد را نمی نویسیم. بنابراین، در بخش بعدی، تست پذیرش و تست ادغام را خواهید آموخت. یاد خواهید گرفت:

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

  • از طریق TestStack پلی به رابط کاربری خواهم ساخت. سفید با استفاده از الگوی طراحی شیء صفحه

  • با استفاده از پل ساخته شده برای دسترسی به رابط کاربری

    ، تست های پذیرش را می نویسم
  • ViewModels و تمام منطق تجاری مربوطه را پیاده سازی خواهم کرد

  • در نهایت TDD چیست؟ آیا می توان بدون آن زندگی کرد؟

  • روابط بین TDD و فرآیند توسعه Agile

  • آیا باید معماری را از قبل طراحی کنیم یا نه؟

  • آیا تست های واحد موفقیت را تضمین می کنند؟

  • کیفیت آزمون‌ها، برخی از معیارها

  • نحوه بیان داده ها برای نوشتن تست های واحد

  • برای نوشتن ادعاهای خواناتر

    باید
  • Singletons، کلاس‌های استاتیک و قابلیت آزمایش، الگوی طراحی سازنده

  • و برخی موضوعات مهم دیگر

دو بخش آخر تقریباً فلسفی هستند. ما بحث خواهیم کرد:

  • در نهایت TDD چیست؟ آیا می توان بدون آن زندگی کرد؟

  • روابط بین TDD و فرآیند توسعه Agile

  • آیا باید معماری را از قبل طراحی کنیم یا نه؟

  • آیا تست های واحد موفقیت را تضمین می کنند؟

  • کیفیت آزمون‌ها، برخی از معیارها

  • نحوه بیان داده ها برای نوشتن تست های واحد

  • برای نوشتن ادعاهای خواناتر

    باید
  • Singletons، کلاس‌های استاتیک و قابلیت آزمایش، الگوی طراحی سازنده

  • و برخی موضوعات مهم دیگر

این رویکرد آموزشی من است -

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

این دوره را بگذرانید و راضی خواهید بود.


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

مقدمه ای بر توسعه تست محور (TDD) Introduction to Test-Driven Development (TDD)

  • کد منبع را دانلود کنید Download Source Code

  • کد منبع را دانلود کنید Download Source Code

  • به انجمن دانشجویان دات نت بپیوندید Join .NET Community of Students

  • به انجمن دانشجویان دات نت بپیوندید Join .NET Community of Students

  • طرح کلی Outline

  • چرا به TDD نیاز داریم؟ Why we Need TDD?

  • چرا به TDD نیاز داریم؟ Why we Need TDD?

  • TDD چیست؟ What is TDD?

  • TDD چیست؟ What is TDD?

  • قرمز/سبز/Refactor Red / Green / Refactor

  • قرمز/سبز/Refactor Red / Green / Refactor

  • سه قانون TDD Three Laws of TDD

  • سه قانون TDD Three Laws of TDD

  • تغییر الزامات و شبکه ایمنی Changing Requirements and the Safety Net

  • اولین. F.I.R.S.T.

  • پوشش کد Code Coverage

  • انواع مختلف تست و TDD Different Types of Tests and TDD

  • انواع مختلف تست و TDD Different Types of Tests and TDD

  • تست چارچوب ها و ابزار Testing Frameworks and Tools

  • وقتی TDD شکست می خورد؟ When TDD Fails?

  • وقتی TDD شکست می خورد؟ When TDD Fails?

  • نتیجه Conclusion

مقدمه ای بر توسعه تست محور (TDD) Introduction to Test-Driven Development (TDD)

  • طرح کلی Outline

  • تغییر الزامات و شبکه ایمنی Changing Requirements and the Safety Net

  • اولین. F.I.R.S.T.

  • پوشش کد Code Coverage

  • تست چارچوب ها و ابزار Testing Frameworks and Tools

  • نتیجه Conclusion

TDD در عمل TDD in Action

  • طرح کلی Outline

  • فرآیند چابک منظم در 200 کلمه Regular Agile Process in 200 Words

  • VS و R# میانبر VS and R# Shortcuts

  • Refactoring Commands Built-In VS 2017 Refactoring Commands Built-In VS 2017

  • اعداد فیبوناچی Fibonacci Numbers

  • اعداد فیبوناچی Fibonacci Numbers

  • سه تکنیک اصلی TDD Three Main TDD Techniques

  • سه تکنیک اصلی TDD Three Main TDD Techniques

  • گرفتن طلا Grabbing the Gold

  • FizzBuzz FizzBuzz

  • خواندن اعداد رومی Reading Roman Numerals

  • خواندن اعداد رومی Reading Roman Numerals

  • چرخش قابل به روز رسانی Updateable Spin

  • تست مداوم Continuous Testing

  • تیک تاک پا (صلیب ها و نوت ها) Tic-Tac-Toe (Crosses and Noughts)

  • تیک تاک پا (صلیب ها و نوت ها) Tic-Tac-Toe (Crosses and Noughts)

  • اول ادعا کن Assert First

  • نسخه ی نمایشی - چوب Demo - Sticks

  • نتیجه Conclusion

TDD در عمل TDD in Action

  • طرح کلی Outline

  • فرآیند چابک منظم در 200 کلمه Regular Agile Process in 200 Words

  • VS و R# میانبر VS and R# Shortcuts

  • Refactoring Commands Built-In VS 2017 Refactoring Commands Built-In VS 2017

  • گرفتن طلا Grabbing the Gold

  • FizzBuzz FizzBuzz

  • چرخش قابل به روز رسانی Updateable Spin

  • تست مداوم Continuous Testing

  • اول ادعا کن Assert First

  • نسخه ی نمایشی - چوب Demo - Sticks

کاتاس و TDD Katas and TDD

  • طرح کلی Outline

  • پشته کاتا Stack Kata

  • پشته کاتا Stack Kata

  • کاتای غیرقابل تغییر پشته Immutable Stack Kata

  • لینکدلیست کاتا LinkedList Kata

  • لینکدلیست کاتا LinkedList Kata

  • نتیجه Conclusion

کاتاس و TDD Katas and TDD

  • طرح کلی Outline

  • کاتای غیرقابل تغییر پشته Immutable Stack Kata

  • نتیجه Conclusion

دونفره تست نوشتن (مسخره) Writing Test Doubles (Mocks)

  • طرح کلی Outline

  • مشکل نسخه ی نمایشی Problem Demo

  • Refactoring برای تست شدن کد Refactoring to Make Code Testable

  • Refactoring برای تست شدن کد Refactoring to Make Code Testable

  • تست دونفره Test Doubles

  • تست های نوشتاری با رول دستی Writing Tests with Hand-Rolled Mocks

  • مشکلات با ماک های رول دستی Problems with Hand-Rolled Mocks

  • مشکلات با ماک های رول دستی Problems with Hand-Rolled Mocks

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

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

  • تست های نگارشی با چارچوب تمسخر آمیز Writing Tests with a Mocking Framework

  • تست های نگارشی با چارچوب تمسخر آمیز Writing Tests with a Mocking Framework

  • NS جایگزین. ویژگی های کلیدی NSubstitute. Key Features

  • NS جایگزین. ویژگی های کلیدی NSubstitute. Key Features

  • مدرسه کلاسیک در مقابل مدرسه لندن Classic School vs London School

  • نتیجه Conclusion

دونفره تست نوشتن (مسخره) Writing Test Doubles (Mocks)

  • طرح کلی Outline

  • مشکل نسخه ی نمایشی Problem Demo

  • تست دونفره Test Doubles

  • تست های نوشتاری با رول دستی Writing Tests with Hand-Rolled Mocks

  • مدرسه کلاسیک در مقابل مدرسه لندن Classic School vs London School

  • نتیجه Conclusion

آزمون های پذیرش و ادغام (تست های UI) Acceptance and Integration Tests (UI-Tests)

  • طرح کلی Outline

  • آزمون پذیرش چیست؟ What is an Acceptance Test?

  • آزمون پذیرش چیست؟ What is an Acceptance Test?

  • نمای کلی SpecFlow Overview of SpecFlow

  • نمای کلی SpecFlow Overview of SpecFlow

  • قرقره. ویژگی ها و سناریوها Gherkin. Features and Scenarios

  • مبانی SpecFlow Basics of SpecFlow

  • مبانی SpecFlow Basics of SpecFlow

  • یکپارچه سازی و UI-Testing Integration and UI-Testing

  • یکپارچه سازی و UI-Testing Integration and UI-Testing

  • چارچوب تست UI-Automation UI-Automation Testing Framework

  • بررسی اجمالی TestStack.White TestStack.White Overview

  • نتیجه Conclusion

آزمون های پذیرش و ادغام (تست های UI) Acceptance and Integration Tests (UI-Tests)

  • طرح کلی Outline

  • قرقره. ویژگی ها و سناریوها Gherkin. Features and Scenarios

  • چارچوب تست UI-Automation UI-Automation Testing Framework

  • بررسی اجمالی TestStack.White TestStack.White Overview

  • نتیجه Conclusion

پیاده سازی برنامه WPF توسط TDD Implementing a WPF App by TDD

  • طرح کلی Outline

  • بررسی اجمالی برنامه Application Overview

  • بررسی اجمالی برنامه Application Overview

  • نوشتن آزمون های پذیرش Writing Acceptance Tests

  • نوشتن آزمون های پذیرش Writing Acceptance Tests

  • ساختن پل برای رابط کاربری با استفاده از الگوی طراحی شی صفحه Building a Bridge to User Interface Applying the Page Object Design Pattern

  • ساختن پل برای رابط کاربری با استفاده از الگوی طراحی شی صفحه Building a Bridge to User Interface Applying the Page Object Design Pattern

  • اجرای آزمون های پذیرش Implementing Acceptance Tests

  • اجرای آزمون های پذیرش Implementing Acceptance Tests

  • پیاده سازی ViewModels با استفاده از TDD. قسمت 1. Implementing ViewModels using TDD. Part 1.

  • پیاده سازی ViewModels با استفاده از TDD. قسمت 1. Implementing ViewModels using TDD. Part 1.

  • پیاده سازی ViewModels با استفاده از TDD. قسمت 2. Implementing ViewModels using TDD. Part 2.

  • پیاده سازی ViewModels با استفاده از TDD. قسمت 2. Implementing ViewModels using TDD. Part 2.

  • نتیجه Conclusion

پیاده سازی برنامه WPF توسط TDD Implementing a WPF App by TDD

  • طرح کلی Outline

  • نتیجه Conclusion

افکاری در مورد TDD Thoughts on TDD

  • طرح کلی Outline

  • در نهایت TDD چیست؟ زندگی بدون TDD What is TDD in the End? Life without TDD

  • چابک و TDD Agile and TDD

  • چابک و TDD Agile and TDD

  • TDD و طراحی اولیه TDD and Design Upfront

  • آیا تست های واحد موفقیت را تضمین می کند؟ Do Unit Tests Guarantee the Success?

  • تست نداشتن بهتر از تست بد است Having no Tests is Better than Having Bad Tests

  • معماری و طراحی Architecture and Design

  • نتیجه Conclusion

افکاری در مورد TDD Thoughts on TDD

  • طرح کلی Outline

  • در نهایت TDD چیست؟ زندگی بدون TDD What is TDD in the End? Life without TDD

  • TDD و طراحی اولیه TDD and Design Upfront

  • آیا تست های واحد موفقیت را تضمین می کند؟ Do Unit Tests Guarantee the Success?

  • تست نداشتن بهتر از تست بد است Having no Tests is Better than Having Bad Tests

  • معماری و طراحی Architecture and Design

  • نتیجه Conclusion

بهترین شیوه ها Best Practices

  • طرح کلی Outline

  • پایان دادن به روز TDD Ending the TDD Day

  • برنامه نویسی جفتی و برنامه نویسی پینگ پنگ Pair Programming and Ping-Pong Programming

  • برنامه نویسی جفتی و برنامه نویسی پینگ پنگ Pair Programming and Ping-Pong Programming

  • کیفیت تست ها Quality of Tests

  • داده های تست Test Data

  • داده های تست Test Data

  • باید Shouldly

  • بیانیه های اگر مثبت را ترجیح دهید Prefer Positive if-Statements

  • تست کدهای بی اهمیت Testing Trivial Code

  • تست کدهای بی اهمیت Testing Trivial Code

  • آزمایش تک نگرانی Test Single Concern

  • آزمایش تک نگرانی Test Single Concern

  • کلاس های تک تن و استاتیک Singletons and Static Classes

  • کلاس های تک تن و استاتیک Singletons and Static Classes

  • الگوی طراحی سازنده تغییرناپذیری و آزمون پذیری Builder Design Pattern. Immutability and Testability

  • نتیجه Conclusion

  • نتیجه Conclusion

  • سخنرانی جایزه BONUS Lecture

  • سخنرانی جایزه BONUS Lecture

بهترین شیوه ها Best Practices

  • طرح کلی Outline

  • پایان دادن به روز TDD Ending the TDD Day

  • کیفیت تست ها Quality of Tests

  • باید Shouldly

  • بیانیه های اگر مثبت را ترجیح دهید Prefer Positive if-Statements

  • الگوی طراحی سازنده تغییرناپذیری و آزمون پذیری Builder Design Pattern. Immutability and Testability

  • نتیجه Conclusion

نمایش نظرات

آموزش TDD در سی شارپ از A تا Z
جزییات دوره
9.5 hours
83
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
5,213
4.4 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Engineer Spock Engineer Spock

مهندس نرم افزار - بیش از 1000 نقد، میانگین امتیاز - 4.5