آموزش توسعه تست محور (TDD) - راهنمای کامل برای مبتدیان

Test Driven Development (TDD) - The complete guide for beginners

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره:

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

این دوره برای مبتدیان در TDD است، اما توصیه می شود که دانش قبلی در هر زبان برنامه نویسی داشته باشید و مفاهیم برنامه نویسی شی گرا را درک کنید. شما از ابتدا شروع خواهید کرد و قدم به قدم راه ما را طی خواهید کرد.

این دوره دارای نمونه هایی در جاوا است اما مفاهیم را می توان در هر زبانی اعمال کرد. نمونه‌های کد همگی توسط هر برنامه‌نویسی از زبان‌های دیگر مانند PHP، Python، .Net یا دیگران توضیح داده شده و به راحتی قابل خواندن هستند.

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

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

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

الزامات

  • دانش برنامه نویسی اولیه
  • برنامه نویسی شی گرا
  • برای پروژه: دانستن جاوا الزامی است، اما اگر در زبان برنامه نویسی دیگری مهارت زیادی دارید، ممکن است بتوانید آن را تطبیق دهید و پروژه را به زبان برنامه نویسی دیگر دنبال کنید.

چه چیزی یاد خواهید گرفت؟

  • توسعه مبتنی بر آزمایش
  • Refactoring
  • بوی کد
  • TDD
  • ضد الگوها
  • اصول جامد
  • اصول طراحی
  • تست دو برابر
  • تمسخر
  • خرد
  • طراحی اضطراری
  • تست واحد

چه چیزی خلق خواهید کرد؟

در این کلاس شما:

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

این دوره به طور خاص برای:

است
  • توسعه دهندگان همه زبان ها که می خواهند اولین قدم درست را با TDD انجام دهند.
  • توسعه دهنده همه سطوح.
  • توسعه دهندگانی که می خواهند اولین قدم های خود را با TDD انجام دهند.

این دوره برای:

مناسب نیست
  • افراد دارای سطح متوسط ​​یا پیشرفته در TDD.

چرا در کلاس شرکت می کنیم؟ چه چیزی به دست خواهید آورد؟

  • درک تصویر بزرگ TDD
  • درک روش صحیح اعمال TDD.
  • پایه هایی برای رفتن به مرحله بعدی و تمرین بیشتر به تنهایی.
  • تجربه عملی پس از کار در یک پروژه نمونه.

درباره من

سلام نام من ایگناسیو است.

هدف اصلی من کمک به شما با دانش جدیدی است که بتوانید در محل کار به کار ببرید و یک رهبر موفق و حرفه ای باشید.

من از سال 2005 برای مشتریانی از سرتاسر جهان، پروژه‌های Agile و تیم‌های اسکرام را رهبری،  مربیگری، رهبری و مدیریت کردم.

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

من 15 سال به عنوان پروفسور برای روش‌های چابک و طراحی سیستم‌ها کار کردم.

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

من صدها دانش آموز را در Agile آموزش دادم که به متخصصان برتر این صنعت تبدیل شدند.
آموزش آنچه در تجربه 20 ساله ام آموخته ام به دانش آموزان امکان می دهد تا یادگیری واقع بینانه ای کسب کنند که می توانند در محل کار به کار ببرند.

پروژه این کلاس نوشتن و پیاده سازی تست های واحد در جاوا و جونیت با استفاده از یک پروژه پایه است که می توانید از Github دانلود کنید. لطفاً این مراحل را دنبال کنید:

  • دانلود Java JDK: 
  • دانلود Eclipse IDE: 
  • در Eclipse:
    • به وارد کردن فایل بروید
    • پروژه های Git را از Git (با واردات هوشمند) انتخاب کنید
    • Clone URI را انتخاب کنید
    • در URI، وارد کنید: 
    • روی Next کلیک کنید تا وارد کردن تمام شود
    • به پوشه/src/test/java/بروید روی Run As Junit Test کلیک راست کنید
  • تست باید سبز باشد. در غیر این صورت، پیکربندی eclipse و اینکه آیا JDK و junit به درستی در Eclipse پیکربندی شده‌اند را بررسی کنید.
  • مراحل مثال های دوره را دنبال کنید.

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

اقدامات توصیه شده بعد از کلاس

  • خواندن قراردادهای نام روش آزمون واحد:
    • https://dzone.com/articles/7-popular-unit-test-naming
    • https://medium.com/@stefanovskyi/unit-test-naming-conventions-dd9208eadbea

https://www.petrikainulainen.net/programming/testing/writing-clean-tests-naming-matters/

  • با TDD Kata های زیر تمرین کنید:
    • ماشین حساب رشته https://osherove.com/tdd-kata-1
    • FizzBuzz http://codingdojo.org/kata/FizzBuzz/
    • کاتای بازی بولینگ http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata
    • بیشتر TDD Katas: https://kata-log.rocks/tdd

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

درس ها Lessons

  • مقدمه Introduction

  • تست استراتژی های دوگانه Test Double Strategies

  • تست های واحد خوب: اول Good Unit Tests: FIRST

  • سیستم فروش - قسمت 2: محاسبه تخفیف Sales System - Part 2: Calculate Discount

  • مقدمه ای بر تست دونفره ها: استاب ها و مسخره ها Introduction to Test Doubles: Stubs and Mocks

  • مقدمه ای بر توسعه تست محور Introduction to Test Driven Development

  • الگوهای کد تست Test Code Patterns

  • Refactoring - چه چیزی را بازسازی کنیم؟ Refactoring - What to refactor?

  • مراحل بعدی Next steps

  • Refactoring - چگونه Refactoring کنیم؟ Refactoring - How to refactor?

  • مزایا و معایب TDD Pros and Cons of TDD

  • نمونه آزمون واحد Unit Test Example

  • پیکربندی پروژه Project Configuration

  • نکات و توصیه هایی برای TDD Hints and Recommendations for TDD

  • چرخه توسعه TDD TDD Development Cycle

  • طراحی اولیه و طراحی اضطراری Design upfront and Emergent Design

  • نمونه خرد Stub Example

  • تست واحد چیست؟ What is a Unit Test?

  • بدهی فنی Technical debt

  • سیستم فروش - قسمت 1: کل مبلغ با تخفیف Sales System - Part 1: Total amount with discount

  • کلاس بعدی Next class

  • سیستم فروش - قسمت 3: محصول در حال فروش Sales System - Part 3: Product on sale

نمایش نظرات

نظری ارسال نشده است.

آموزش توسعه تست محور (TDD) - راهنمای کامل برای مبتدیان
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
1h 14m
22
Skillshare (اسکیل شیر) skillshare-small
26 اسفند 1398 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
110
4 از 5
ندارد
دارد
دارد
Ignacio Paz

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Ignacio Paz Ignacio Paz

مربی چابک و مربی، پروفسور

سلام، من ایگناسیو هستم

https://twitter.com/nachopaz

من از سال 2005 پروژه‌های Agile و تیم‌های اسکرام را برای مشتریان در سراسر جهان رهبری، مربیگری و مدیریت کردم.

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

من 15 سال به عنوان استاد برای روش‌های چابک و طراحی سیستم‌ها در یکی از مهم‌ترین دانشگاه‌های فن‌آوری در آرژانتین کار کردم.

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

کلاس‌های من همیشه می‌توانند بهبود یابند، بنابراین اگر موضوعی دارید که می‌خواهید بیشتر بدانید، دوست دارم گوش کنم! لطفاً به من اطلاع دهید تا بتوانم در کلاس‌های آینده شرکت کنم.

Skillshare (اسکیل شیر)

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

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