آموزش دوره جامع Pytest: اتوماسیون تست پایتون و CI/CD با GitHub Actions - آخرین آپدیت

دانلود Pytest Course: Python Test Automation & GitHub Actions CI/CD

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: یادگیری فریم‌ورک Pytest: اتوماسیون تست پایتون، تست واحد (Unit Testing)، تست API و پیاده‌سازی اتوماسیون تست با GitHub Actions CI/CD آموزش جامع فریم‌ورک Pytest برای اتوماسیون تست پایتون، از مفاهیم پایه تست نرم‌افزار تا سطوح پیشرفته نوشتن تست‌های واحد، یکپارچگی (Integration) و API در پایتون - از صفر تا ۱۰۰ درصد پوشش اتوماسیون تست پیاده‌سازی خط لوله‌های CI/CD با استفاده از GitHub Actions برای اجرای تست‌های خودکار در هر تغییر کد بررسی توسعه تست‌محور (TDD)، Fixtures، Mocking، Monkeypatch، Parameterize و تست FastAPI عیب‌یابی (Debug) بهینه با استفاده از بهترین متدهای تست نرم‌افزار پایتون همراه با مثال‌های واقعی پیشنیازها: مهارت‌های پایه پایتون مورد نیاز است - اگر می‌توانید توابع و کلاس‌ها را پیاده‌سازی کنید، آماده شروع هستید! هیچ تجربه قبلی در مورد pytest یا هر فریم‌ورک تست دیگری مورد نیاز نیست

اگر شما یک توسعه‌دهنده پایتون هستید که با باگ‌ها، کدهای ناپایدار یا عدم اطمینان هنگام استقرار (Deployment) دست و پنجه نرم می‌کنید، راه حل، تست صحیح است.

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

شما فراتر از تئوری‌های پایه رفته و اتوماسیون تست در پایتونرا در دنیای واقعی یاد می‌گیرید، شامل:

  • نوشتن تست‌های واحد (Unit Tests) و تست‌های یکپارچگی (Integration Tests)

  • انجام تست API با استفاده از pytest

  • به‌کارگیری توسعه تست‌محور (TDD)

  • عیب‌یابی و رفع باگ‌ها به صورت بهینه

  • ساخت خط لوله‌های CI/CD با GitHub Actions

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

در پایان این دوره، شما با اعتماد به نفس کامل قادر خواهید بود:

  • سیستم‌های تست مقیاس‌پذیر پایتون بسازید

  • کیفیت و قابلیت اطمینان کد را بهبود ببخشید

  • فرآیندهای تست را خودکار کنید

  • تست‌ها را در خط لوله‌های مدرن DevOps ادغام کنید

-

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

بسیاری از توسعه‌دهندگان در نهایت به نقطه‌ای می‌رسند که پروژه رشد می‌کند، ویژگی‌های جدید اضافه می‌شود و تغییرات کوچک باعث خرابی بخش‌های نامرتبط سیستم می‌گردد. در چنین شرایطی، تردید در بازنویسی کد (Refactoring) زیاد شده و تکیه بر بررسی‌های دستی افزایش می‌یابد. شما می‌دانید که به تست نیاز دارید، اما دقیقاً نمی‌دانید از کجا شروع کنید یا چگونه آن‌ها را ساختاردهی کنید.

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

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

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

در این دوره، ما بر نوشتن تست‌های باکیفیت به روش درست، پیروی از بهترین متدهای تست پایتون بدون پیچیدگی‌های اضافی و اتوماسیون تست در خط لوله‌های CI/CD با GitHub Actions تمرکز می‌کنیم. این امر اجازه می‌دهد خط لوله اتوماسیون شما با هر Commit اجرا شود و مزایای DevOps مدرن را به پروژه‌های شما بیاورد.

این دوره بسیار عملی است. هدف من این است که پایه‌ای محکم در pytest و اتوماسیون تست پایتون به شما بدهم تا بتوانید از تمام ویژگی‌های مهم این فریم‌ورک در پروژه‌های واقعی با اطمینان استفاده کنید.

ما با مثال‌های واقعی کار خواهیم کرد، نه فقط کدهای کوچک و ساده. شما تست API پایتون، تست‌های واحد و تست‌های یکپارچگی را در سناریوهای واقع‌گرایانه تمرین می‌کنید. ما توابع و کلاس‌ها را تست می‌کنیم، تست FastAPI با pytest را تمرین می‌کنیم و کدهایی با وابستگی‌های متعدد را بررسی می‌کنیم تا ببینید pytest چگونه با انواع پروژه‌ها سازگار است.

-

نقشه راه دوره

این دوره در شش ماژول سازماندهی شده است که هر کدام بر پایه قبلی بنا شده تا شما را از مفاهیم پایه تست نرم‌افزار به اتوماسیون پیشرفته تست پایتون و ادغام کامل در CI/CD هدایت کند.

  • در "ماژول ۱: مقدمه"مفاهیم بنیادی تست نرم‌افزار، مثال‌های کاربردی و مزایای اتوماسیون تست را بررسی می‌کنیم. همچنین نحوه نصب pytest و نوشتن اولین تست‌ها را می‌آموزیم و با درک TDD و BDD متوجه می‌شویم چرا هر پروژه پایتون به تست‌های خودکار نیاز دارد.

  • در "ماژول ۲: بررسی عمیق‌تر pytest"یاد می‌گیریم چگونه تست‌ها را به صورت موثر بنویسیم، جریان کاری تستینگ را بهبود ببخشیم و تست‌ها را در یک فریم‌ورک مقیاس‌پذیر سازماندهی کنیم. همچنین اشتباهات رایج در شروع اتوماسیون تست را بررسی می‌کنیم.

  • در "ماژول ۳: Fixtures"وارد ویژگی‌های پیشرفته‌تر می‌شویم. یاد می‌گیریم چگونه برای داده‌ها، تنظیمات و محیط تست، Fixtureهای قابل استفاده مجدد بسازیم. همچنین تست FastAPI را در جریان‌های کاری تست API پایتون تمرین می‌کنیم.

  • در "ماژول ۴: پارامتریک کردن (Parametrization)"درباره اتوماسیون تست مقیاس‌پذیر می‌آموزیم. نوشتن یک تست که ورودی‌های متعدد، حالت‌های خاص (Edge Cases) و سناریوهای مختلف را پوشش دهد برای بهره‌وری ضروری است.

  • در "ماژول ۵: pytest پیشرفته"به مفاهیمی مانند Mocking برای مدیریت وابستگی‌های پیچیده، مارکرها (Markers)، فایل‌های پیکربندی، پوشش کد (Code Coverage) و هرم تست (Testing Pyramid) می‌پردازیم.

  • در "ماژول ۶: اتوماسیون CI/CD"بر اتوماسیون در مقیاس بزرگ تمرکز می‌کنیم. یاد می‌گیرید چگونه pytest را با GitHub Actions ادغام کنید تا هر تغییر کد، تست‌های خودکار را فعال کند.

تمام این مباحث با تئوری‌های ضروری و مهم‌تر از آن، با دموهای عملی و مثال‌های واقعی کدنویسی پایتون آموزش داده می‌شوند.

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

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


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

شروع کار Getting Started

  • مقدمه Introduction

  • نقشه راه دوره Course Roadmap

  • مثال واقعی: ویژگی جدید Scikit Real World Example: New Scikit Feature

  • مثال واقعی: تست ویژگی جدید Real World Example: Testing New Feature

  • چرا تستینگ: از تئوری تا عمل Why Testing: From Theory to Practice

  • محیط‌های مجازی و نصب pytest Virtual Environments & pytest Installation

  • اجرا و دیباگ در Pytest Pytest: Run & Debug

  • شناسایی تست‌ها (Test Discovery) Test Discovery

  • وضعیت اجرای تست‌ها Test Execution Status

  • تمرین عملی Hands-On Practice

  • رویکردهای تستینگ TDD و BDD TDD and BDD: Testing Approaches

  • کوییز رویکردهای تستینگ Testing Approaches Quiz

  • خلاصه ماژول ۱ Module 1 Summary

  • یادداشت‌ها و نکات کلیدی Notes & Takeaways

بررسی عمیق‌تر pytest Diving Deeper into pytest

  • مقدمه ماژول ۲ Module 2 Introduction

  • نوشتن کلاس‌های تست Writing Test Classes

  • توصیف خطاهای تست Descriptive Test Failure

  • تأیید استثناها (Asserting Exceptions) Asserting Exceptions

  • ساختار Given-When-Then Given-When-Then Structure

  • اجرای انتخابی تست‌ها Selective Tests Running

  • چالش: کاربردهای بیشتر itertools Challenge: more-itertools

  • راه حل چالش Challenge: Solution

  • خلاصه ماژول ۲ Module 2 Summary

  • یادداشت‌ها و نکات کلیدی Notes & Takeaways

فیکچرها (Fixtures) Fixtures

  • مقدمه ماژول ۳ Module 3 Introduction

  • دکوراتور pytest.fixture چیست What is @pytest.fixture

  • راه‌اندازی و پاک‌سازی (Setup and Teardown) Setup and Teardown

  • محدوده فیکچر (Fixture Scope) Fixture Scope

  • فیکچرهای قابل استفاده مجدد از طریق conftest.py Reusable Fixtures via conftest.py

  • دایرکتوری‌های موقت و کپچر خروجی Temporary Directories & Output Capture

  • شبیه‌سازی با monkeypatch Mocking with monkeypatch

  • فیکچرها با autouse Fixtures with autouse

  • تست کردن لاگ‌ها Testing Logs

  • چالش: ردیاب مالی Challenge: Finance Tracker

  • راه حل چالش Challenge: Solution

  • خلاصه ماژول ۳ Module 3 Summary

  • یادداشت‌ها و نکات کلیدی Notes & Takeaways

پارامتریک کردن (Parametrization) Parametrization

  • مقدمه ماژول ۴ Module 4 Introduction

  • مشکل: تست‌های تقریباً یکسان Problem: Almost Identical Tests

  • پارامتریک کردن تست‌ها Parametrizing Tests

  • پارامتریک کردن فیکچرها Parametrizing Fixtures

  • پارامتریک کردن پویا Dynamic Parametrization

  • فکتوری‌ها به عنوان فیکچر Factories as Fixtures

  • ردیاب مالی: تست‌های پارامتریک Finance Tracker: Parametrized Tests

  • خلاصه ماژول ۴ Module 4 Summary

  • یادداشت‌ها و نکات کلیدی Notes & Takeaways

pytest پیشرفته Advanced pytest

  • مقدمه ماژول ۵ Module 5 Introduction

  • شبیه‌سازی پیشرفته (Advanced Mocking) Advanced Mocking

  • شبیه‌سازی با mocker Mocking with mocker

  • شبیه‌سازی کلاس‌ها Mocking Classes

  • شبیه‌سازی بیش از حد در مقابل کمبود آن Too Much Mocking vs Too Little

  • هدف پچینگ (Patching Target) Patching Target

  • دکوراتورهای پچینگ Patching Decorators

  • مارکرها (Markers) Markers

  • فیکچرهای آگاه به مارکر Marker-Aware Fixture

  • فایل‌های پیکربندی Configuration Files

  • پوشش کد (Coverage): بخش اول Coverage: Part 1

  • پوشش کد (Coverage): بخش دوم Coverage: Part 2

  • کتابخانه‌های Hypothesis و Faker Hypothesis and Faker

  • سطوح تستینگ Testing Levels

  • سطوح تستینگ در عمل Testing Levels in Action

  • کوییز سطوح تستینگ Testing Levels Quiz

  • تداخل نام فایل‌های تست Test File Name Collision

  • خلاصه ماژول ۵ Module 5 Summary

  • یادداشت‌ها و نکات کلیدی Notes & Takeaways

اتوماسیون CI/CD CI/CD Automation

  • مقدمه ماژول ۶ Module 6 Introduction

  • توضیح CI/CD CI/CD Explained

  • CI با GitHub Actions: بخش اول CI with GitHub Actions: Part 1

  • CI با GitHub Actions: بخش دوم CI with GitHub Actions: Part 2

  • تست ماتریسی با pytest Matrix Testing with pytest

  • تست موازی و گیت‌های پوشش کد Parallel Testing & Coverage Gates

  • خلاصه ماژول ۶ Module 6 Summary

  • یادداشت‌ها و نکات کلیدی Notes & Takeaways

بونوس Bonus

  • جمع‌بندی دوره Course Roundup

نمایش نظرات

آموزش دوره جامع Pytest: اتوماسیون تست پایتون و CI/CD با GitHub Actions
جزییات دوره
11.5 hours
72
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
303
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Artem Istranin Artem Istranin

توسعه‌دهنده حرفه‌ای پایتون و مدرس