آموزش اتوماسیون تست پایتون دنیای واقعی با Pytest (برنامه جنگو)

Real World Python Test Automation with Pytest (Django app)

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

این یک دوره آموزشی MUST برای هر کسی است که به آزمایش اهمیت می دهد.

من در حین ساختن یک برنامه جنگو در دنیای واقعی (شامل یک سیستم یکپارچه سازی مداوم در bitbucket) نکات و نکات pytest را آموزش می دهم.

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

ما با هم برنامه را آزمایش می‌کنیم. برنامه از همه فرشتگان - تست های واحد، تست های ادغام، تست های API، تست های پایان به انتها و تست های عملکرد با (در مجموع بیش از 40 تست)

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

در این دوره آموزشی ، ما عمیقاً پیش می رویم و حتی برخی از ویژگی های pytest را با هم (از ابتدا) پیاده سازی می کنیم تا بدانیم وقتی pytest آزمایش های ما را انجام می دهد چه اتفاقی می افتد.


اینطور نیست. یک دوره ابتدایی؛ دانش اولیه پایتون مورد نیاز است

خواهید آموخت:

ویژگی های Pytest (در عمق)

  • لوازم

  • نشانگرها

  • پارامترسازی

  • پرش، xfail

  • Pytest.ini

  • Pytest-django

  • Pytest-cov

  • pytest-xdist

  • کتابخانه واحد تست، تمسخر

  • کتابخانه درخواست‌ها

جنگو (فقط برای ساخت یک سرور وب کافی است)

  • Rest API

  • مدل‌ها، مهاجرت‌ها

  • بازدیدها

  • سریال ساز

  • SQLite3 DB

  • پشتیبانی ایمیل

یکپارچه سازی پیوسته (در عمق)

  • خطوط لوله بیت باکت

  • متغیرهای محیط Bitbucket

  • مراحل موازی

  • Docker

  • یکپارچه سازی پیام رسانی ضعیف

  • گزارش Allure

آزمایش (عمیق)

  • آزمون های واحد

  • تمسخر. Patching، Stubs

  • آزمون های ادغام

  • آزمون های عملکرد

  • محیط های آزمایشی

بهترین تمرین پایتون

  • محیط های مجازی: pipenv

  • Pipfile

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

  • قالب‌کننده سیاه

  • .env فایل

ایجاد مجدد React پروژه های ما UI (به دانش قبلی نیاز نیست


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

مقدمه: موضوعات درسی، نکات یادگیری Introduction: Course topics, learning tips

مقدمه: موضوعات درسی، نکات یادگیری Introduction: Course topics, learning tips

  • موضوعات دوره Course Topics

  • درباره مربی (نسخه ویروس کرونا) About the instructor (Corona Virus Edition)

  • چگونه بهترین های Udemy را بدست آوریم How get the best of Udemy

  • توضیح کوتاه بخش های دوره Short explanation of course sections

  • اهداف دوره - چه چیزی در آن برای شما وجود دارد Course Goals- What Is In It For You

  • چگونه من تماشای دوره را پیشنهاد می کنم - قبل از رفتن به بخش بعدی این را تماشا کنید How I suggest watching the course - Watch this Before moving to the next section

  • کانال تلگرام دوره Course Telegram Channel

آموزش شروع سریع Pytest Pytest Quick Start Tutorial

آموزش شروع سریع Pytest Pytest Quick Start Tutorial

  • بررسی اجمالی سریع Pytest Pytest Quick Overview

  • GIST pytest در 20 دقیقه - نشانگرها The GIST of pytest in 20 minuets - Markers

  • GIST pytest در 20 دقیقه - Fixtures, Parametrize The GIST of pytest in 20 minuets - Fixtures, Parametrize

  • آزمون پرچم‌ها و آرگومان‌های Pytest Pytest Flags and Arguments Quiz

تست های واحد در مقابل تست های یکپارچه سازی Unit tests VS Integration tests

تست های واحد در مقابل تست های یکپارچه سازی Unit tests VS Integration tests

  • تست های واحد در مقابل تست های یکپارچه سازی Unit tests VS Integration tests

تنظیم محیط توسعه شما Setting Up Your Development Environment

تنظیم محیط توسعه شما Setting Up Your Development Environment

  • ایجاد یک پروژه bitbucket Creating a bitbucket project

  • نصب pipenv و پکیج های مورد نیاز Installing pipenv and required packages

ایجاد و آزمایش پروژه جنگو عالی ما Creating and testing our awesome Django project

ایجاد و آزمایش پروژه جنگو عالی ما Creating and testing our awesome Django project

  • قراره چی بسازیم What are we going to build

  • راه اندازی پروژه جنگو Django project setup

  • ساخت مدل های جنگو ما Creating our Django Models

  • ایجاد REST API ما Creating our REST API

  • آزمایش دستی ویژگی های پروژه ما Manually testing our project's features

آزمایش خودکار Pytest برای برنامه جنگو ما Pytest automatic testing for our Django application

آزمایش خودکار Pytest برای برنامه جنگو ما Pytest automatic testing for our Django application

  • نوشتن اولین pytest های ما Writing our first pytests

  • کلاس های تست API (سبک واحد تست) API Test classes (unittest style)

  • نشانگرهای پرش پای تست و xfail Pytest skip and xfail markers

  • تست های Pytest که موارد استثنا را بیان می کنند Pytest tests that assert Exceptions

  • تست های پایت که لاگ ها را تایید می کنند Pytest tests that assert Logs

  • اجرای آزمایشی Pytest Pytest test runner

  • تست برنامه های جنگو Testing Django Applications

  • بازسازی آزمایشات ما به pytest native Refactoring our tests to pytest native

  • خلاصه: Pytest VS unittest Summery: Pytest VS unittest

یکپارچه سازی مداوم Continuous Integration

یکپارچه سازی مداوم Continuous Integration

  • مقدمه ای بر ادغام مداوم Intro to Continuous Integration

  • دست در CI- ایجاد خطوط لوله bitbucket برای اجرای آزمایشات ما Hands on CI- creating bitbucket pipelines to run our tests

  • دست روی متغیرهای محیطی CI- Bitbucket Hands on CI- Bitbucket environment variables

سرویس ایمیل جنگو Django emailing service

سرویس ایمیل جنگو Django emailing service

  • افزودن سرویس ارسال ایمیل Adding an email sending service

  • تست سرویس ایمیل ما Testing our email service

  • مجدداً آزمایش های خود را به Pytest تبدیل می کنیم Refactoring our Tests to Pytest

کاوش Pytest با فیبوناچی Exploring Pytest with Fibonacci

کاوش Pytest با فیبوناچی Exploring Pytest with Fibonacci

  • مقدمه ای بر تست های فیبوناچی Intro to fibonacci tests

  • Pytest Parametrize Pytest Parametrize

  • پیاده سازی از ابتدا ویژگی پارامترسازی Pytests Implementing from scratch Pytests's parametrize feature

  • ذخیره سازی Caching

  • اجرای مراحل CI به صورت موازی Running CI steps in paralell

  • Pytest fixture- ردیابی زمان Pytest fixture- Time tracking

  • استفاده از برنامه نویسی پویا برای حل فیوبناچی Using dynamic programming to solve fiobnacci

ازمایش عملکرد Performance Testing

ازمایش عملکرد Performance Testing

  • پیاده سازی اعتبار سنجی عملکرد pytest Implementing a pytest performance validator

  • چرا از pytest-timeout استفاده نکنید Why not to use pytest-timeout

Pytest Assert Magic Pytest Assert Magic

Pytest Assert Magic Pytest Assert Magic

  • Pytest Assert Magic Pytest Assert Magic

تخصیص نقطه پایانی Endpoint Assignment

تخصیص نقطه پایانی Endpoint Assignment

  • وظیفه Assignment

  • یک نقطه پایانی ایجاد کنید که عدد فیبوناچی n را دریافت کند، تست ادغام را اضافه کنید create an endpoint which gets the n'th fibonacci number, add integration test

Pytest-xdist Pytest-xdist

Pytest-xdist Pytest-xdist

  • در حال اجرای آزمایش های ما بر روی چندین رشته با pytest-xdist Running our tests on multiple threads with pytest-xdist

یکپارچه سازی Slack CI Slack CI Integration

یکپارچه سازی Slack CI Slack CI Integration

  • تنظیم یک اعلان شل زمانی که خط لوله CI bitbucket از کار می افتد/عبور می شود Setting a slack notification when bitbucket CI pipeline fails/passes

تجهیزات پیشرفته Pytest Advanced Pytest Fixtures

تجهیزات پیشرفته Pytest Advanced Pytest Fixtures

  • تئوری لوازم پایتست Pytest Fixtures Theory

  • وسایل با استدلال Fixtures with arguments

  • اجرای فیکسچرهای پارامتری شده Executing parametrized fixtures

فایل های Contest.py و فایل .env Conftest.py files and .env file

فایل های Contest.py و فایل .env Conftest.py files and .env file

  • contest.py conftest.py

  • فایل .env (بارگیری مجدد متغیرهای محیطی) .env file (auto reloading environment variables)

Server Agnostic API Testing (کتابخانه درخواست ها) Server Agnostic API Testing (requests library)

Server Agnostic API Testing (کتابخانه درخواست ها) Server Agnostic API Testing (requests library)

  • Server Agnostic API Testing with Request Library (قسمت 1) Server Agnostic API Testing with requests library (part 1)

  • Server Agnostic API Testing with Request Library (قسمت 2) Server Agnostic API Testing with requests library (part 2)

  • درخواست های تمسخر آمیز برای جداسازی وابستگی های شخص ثالث در توابع آزمایشی (تئوری) Mocking Requests to Isolate 3rd party dependencies in test functions (Theory)

  • درخواست های تمسخر آمیز برای جداسازی وابستگی های شخص ثالث در توابع آزمایشی (Hands On) Mocking Requests to Isolate 3rd party dependencies in test functions (Hands On)

ابزار گزارش جذاب Allure Report Tool

ابزار گزارش جذاب Allure Report Tool

  • گزارش آلور چیست؟ What is Allure reporting

  • End To End Allure Integration - گزارش تست وب سرور End To end Allure Integration - Test Report Webserver

پلاگین های جالب برای pytest Cool Plugins For pytest

پلاگین های جالب برای pytest Cool Plugins For pytest

  • پیتست-قند Pytest-sugar

تمسخر در پایتون Mocking in Python

تمسخر در پایتون Mocking in Python

  • نظریه تمسخر پایتون Python Mocking Theory

  • چگونه مانند یک PRO پچ کنیم How to Patch Like a PRO

  • Patch آدرس حافظه Hijacking Target است Patch is Hijacking Target's memory address

مفاهیم تست Testing Concepts

مفاهیم تست Testing Concepts

  • تست در تولید Testing In Production

جایزه Bonus

جایزه Bonus

  • اپلیکیشن react frontend را بسازید Build the react frontend application

بخش عیب یابی Troubleshooting Section

بخش عیب یابی Troubleshooting Section

  • بخش عیب یابی برای چیست؟ What is the troubleshooting section for?

  • Pycharm Default Test Runner را روی Pytest پیکربندی کنید و Pytets Env Vars را در سراسر جهان تنظیم کنید Configure Pycharm Default Test Runner to Pytest and set global Pytets Env Vars

  • خطاهای وارد کردن متداول (توضیحات عمیق + وضوح) Frequently Asked Import Errors (In depth explanation + resolution)

  • خطای زمان اجرا INSTALLED_APPS متداول (توضیح + وضوح) Frequently Asked INSTALLED_APPS RuntimeError (explanation + resolution)

  • Clone The Ready to go Django Project (اگر فقط به پای تست علاقه دارید) Clone The Ready to go Django Project (If you are just interested in pytest)

تبریک - گواهی توسعه نرم افزار Congratulations - Software Developer Certificate

تبریک - گواهی توسعه نرم افزار Congratulations - Software Developer Certificate

  • تبریک - گواهی توسعه نرم افزار Congratulations - Software Developer Certificate

  • بعدش چی؟ What's next?

نمایش نظرات

آموزش اتوماسیون تست پایتون دنیای واقعی با Pytest (برنامه جنگو)
جزییات دوره
7 hours
70
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
4,846
4.7 از 5
دارد
دارد
دارد
Eden Marco
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Eden Marco Eden Marco

پرفروش ترین مربی