آموزش مدرک بین‌المللی تستر معتمد پایتون (PCAT™) - آخرین آپدیت

دانلود Certified Associate Tester with Python (PCAT™)

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: مسیر شغلی خود را در تست نرم‌افزار با دوره جامع آموزش تستر پایتون PCAT آغاز کنید. در این دوره بیاموزید چگونه با استفاده از unittest، PyTest و توسعه تست‌محور (TDD)، تست‌های قابل اعتماد و کارآمد بنویسید. بر مفاهیم بنیادی اتوماسیون تست در پایتون و تضمین کیفیت (QA) مسلط شوید تا از اجرای صحیح نرم‌افزار اطمینان حاصل کنید. این دوره برای تستر‌های آینده، مهندسان QA و توسعه‌دهندگانی که به دنبال ایجاد یک پایه قوی در تست پایتون هستند، ایده‌آل است.
این آموزش آنلاین PCAT برای مبتدیان در زمینه تست نرم‌افزار و تضمین کیفیت طراحی شده است. همچنین برای توسعه‌دهندگانی که قصد دارند مهارت‌های تست پایتون خود را ارتقا دهند و تجربه عملی در کار با unittest، PyTest و TDD کسب کنند، بسیار ارزشمند است.

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

مقدمه‌ای بر تست نرم‌افزار Introduction to Software Testing

  • تست نرم‌افزار چیست؟ What is Software Testing?

  • چهار ویژگی تست‌های موثر The Four Traits of Effective Testing

  • تفاوت خطاها، نقص‌ها، باگ‌ها و خرابی‌ها Errors vs. Defects vs. Bugs vs. Failures

  • چالش و راهکار: تست‌های متنی ساده Challenge & Solution: Plain-Text Tests

درک سطوح مختلف تست Understand the Different Levels of Testing

  • تست واحد (Unit Testing) Unit Testing

  • تست یکپارچگی (Integration Testing) Integration Testing

  • تست سیستم و تست End-to-End System Testing and End-to-End Testing

  • چالش و راهکار: نوشتن تست‌های ساده Challenge & Solution: Writing Simple Tests

هفت اصل تست نرم‌افزار The Seven Principles of Software Testing

  • هفت اصل تست The Seven Principles

  • تست وجود نقص‌ها را نشان می‌دهد Testing Shows the Presence of Defects

  • تست جامع غیرممکن است Exhaustive Testing is Impossible

  • تست زودهنگام Early Testing

  • خوشه‌ای شدن نقص‌ها Defect Clustering

  • پارادوکس آفت‌کش The Pesticide Paradox

  • مغالطه نبود خطا The Absence-of-Errors Fallacy

  • چالش و راهکار Challenge & Solution

مبانی Assertions (تأکیدها) Basics of Assertions

  • Assertions چیستند؟ What Are Assertions?

  • سینتکس پایه Assertion Basic Assertion Syntax

  • انواع مختلف Assertionها Different Types of Assertions

  • چالش و راهکار: نوشتن Assertionهای شخصی Challenge & Solution: Write Your Own Assertions

معماری xUnit و ماژول Unittest xUnit Architecture and the Unittest Module

  • مقدمه‌ای بر معماری xUnit Introduction to xUnit Architecture

  • موردهای تست (Test Cases) در xUnit xUnit Test Cases

  • اجرای تست‌های xUnit و بهبود Assertionها Running xUnit Tests and Making Better Assertions

  • مجموعه تست‌ها (Test Suites) و اجراکنندگان xUnit xUnit Test Suites and Runners

  • چالش و راهکار: ایجاد مجموعه‌های تست شخصی Challenge & Solution: Create Your Own Suites

بررسی کلی Assertions در Unittest A Tour Of Unittest Assertions

  • انواع اصلی Assertionها The Main Assertion Types

  • Assertionهای پایه Basic Assertions

  • Assertionهای مربوط به کانتینرها Container Assertions

  • Assertionهای مربوط به استثناها (Exceptions) Exception Assertions

  • چالش و راهکار: نوشتن Assertionها Challenge & Solution: Writing Assertions

بررسی عمیق Assertions در Unittest Unittest Assertions In-Depth

  • اهمیت Assertionهای سفارشی The Importance of Custom Assertions

  • ایجاد Assertionهای سفارشی Creating Custom Assertions

  • Assertionهای عددی Numeric Assertions

  • تأکید بر انواع داده‌ها (Types) Asserting Types

  • چالش و راهکار: ایجاد Assertionهای سفارشی خودتان Challenge & Solution: Create Your Own Custom Assertions

مدیریت‌کننده‌های متن (Context Managers) پایتون برای تست Python Context Managers for Testing

  • مبانی Context Managers Basics of Context Managers

  • ایجاد Context Manager سفارشی: روش دکوراتور Creating Custom Context Managers: The Decorator Way

  • ایجاد Context Manager سفارشی: روش کلاسی Creating Custom Context Managers: The Class Way

  • استفاده از Context Managers برای تست Using Context Managers for Testing

  • چالش و راهکار: ایجاد Context Manager شخصی Challenge & Solution: Create Your Own Context Manager

دکوراتورهای تابع پایتون برای تست Python Function Decorators for Testing

  • مبانی توابع درجه اول (First Class Functions) Basics of First-Class Functions

  • ایجاد دکوراتورهای سفارشی Creating Custom Decorators

  • دکوراتورهای تست در Unittest Unittest's Testing Decorators

  • چالش و راهکار: ایجاد دکوراتورهای شخصی Challenge & Solution: Create Your Own Decorators

دکوراتورهای کلاس پایتون برای تست Python Class Decorators for Testing

  • مبانی دکوراتورهای کلاس Basics of Class Decorators

  • موردهای استفاده از دکوراتور کلاس Class Decorator Use Cases

  • استفاده از دکوراتورهای کلاس در تست‌ها Using Class Decorators in Tests

  • چالش و راهکار: تست‌های پارامتریک Challenge & Solution: Parameterized Tests

کار با Test Fixtures در unittest Working with Test Fixtures in unittest

  • اهمیت Test Fixtures The Importance of Test Fixtures

  • متدهای setUp و tearDown The setUp and tearDown Methods

  • استفاده از Fixtureها برای عملیات فایل Using Fixtures for File Operations

  • چالش و راهکار: Fixtureها برای کلاس‌ها Challenge & Solution: Fixtures for Classes

مبانی کتابخانه PyTest Basics of the PyTest Library

  • شروع کار با PyTest Getting Started with PyTest

  • مقایسه Assertionهای PyTest و Unittest PyTest Assertions vs. Unittest Assertions

  • Fixtureهای PyTest PyTest Fixtures

  • چالش و راهکار: Fixtureهای Tear Down در PyTest Challenge & Solution: PyTest Tear-Down Fixtures

راهنمای تست‌های پارامتریک (Parameterized Testing) Parameterized Testing Guide

  • تست پارامتریک چیست؟ What is Parameterized Testing?

  • پارامتریک کردن دستی Manual Parameterization

  • استفاده از کتابخانه Parameterized Using the Parameterized Library

  • چالش و راهکار: بازنویسی دکوراتور Parameterize Challenge & Solution: Rewriting Our Parameterize Decorator

پارامتریک کردن پیشرفته تست‌ها Advanced Test Parameterization

  • پارامتریک کردن در PyTest lParameterization in PyTest

  • پارامتریک کردن Test Fixtures Parameterizing Test Fixtures

  • پارامتریک کردن متقاطع (Cross Parameterization) Cross-Parameterization

  • چالش و راهکار: اعمال پارامتریک کردن متقاطع Challenge & Solution: Applying Cross-Parameterization

مبانی Test Doubles (جایگزین‌های تست) Basics of Test Doubles

  • پنج نوع اصلی Test Doubles The 5 Main Types of Test Doubles

  • استفاده از Dummies در تست‌ها Using Dummies in Tests

  • استفاده از Stubs در تست‌ها Using Stubs in Tests

  • استفاده از Spies در تست‌ها Using Spies in Tests

  • چالش و راهکار: استفاده از چندین Spy Challenge & Solution: Using Multiple Spies

بررسی عمیق Test Doubles Test Doubles In-Depth

  • استفاده از Mocks در تست‌ها Using Mocks in Tests

  • استفاده از Fakes در تست‌ها Using Fakes in Tests

  • Assertionهای Mock Mock Assertions

  • چالش و راهکار: جاسوسی (Spying) روی Fakes Challenge & Solution: Spying on Fakes

تکنیک‌های پیشرفته Mocking Advanced Mocking Techniques

  • استفاده از patch برای Mock کردن وابستگی‌ها Using patch for Mock Dependencies

  • Mock کردن کلاس‌ها در مقابل توابع، ماژول‌ها و اشیاء Mocking Classes vs. Functions vs. Modules vs. Objects

  • Mock کردن توابع داخلی، فایل‌ها و زمان Mocking Builtins, Files, and Time

  • چالش و راهکار: تبدیل دکوراتورها به Context Managers Challenge & Solution: Converting Decorators to Context Managers

نوشتن تست‌های واحد با اصول F.I.R.S.T Writing Unit Tests with F.I.R.S.T. Principles

  • مقدمه‌ای بر اصول F.I.R.S.T Introduction to F.I.R.S.T. Principles

  • سریع کردن تست‌ها (Fast) Making Tests Fast

  • ایزوله و مستقل کردن تست‌ها (Isolated) Making Tests Isolated/Independent

  • تکرارپذیر کردن تست‌ها (Repeatable) Making Tests Repeatable

  • خود-تأیید کننده کردن تست‌ها (Self Validating) Making Tests Self-Validating

  • به‌موقع کردن تست‌ها (Timely) Making Tests Timely

  • چالش و راهکار: اصلاح تست Challenge & Solution: Fix the Test

استراتژی‌های تست متدهای پایتون Strategies for Testing Python Methods

  • انواع مختلف متدها The Different Method Types

  • تست متدهای نمونه (Instance Methods) Testing Instance Methods

  • تست متدهای کلاس (Class Methods) Testing Class Methods

  • تست متدهای استاتیک (Static Methods) Testing Static Methods

  • چالش و راهکار: افزودن متدها و تست‌ها Challenge & Solution: Adding Methods and Tests

تکنیک Monkeypatching در Pytest Monkeypatching in Pytest

  • مبانی Monkeypatching The Basics of Monkeypatching

  • پچ کردن توابع و متدها Patching Functions and Methods

  • پچ کردن ویژگی‌ها (Attributes) Patching Attributes

  • پچ کردن متغیرهای محیطی (Environment Variables) Patching Environment Variables

  • پچ کردن ورودی کاربر Patching User Input

  • چالش و راهکار: استفاده از Monkeypatch Challenge & Solution: Using Monkeypatch

مبانی توسعه تست‌محور (TDD) Basics of Test-Driven Development (TDD)

  • توسعه تست‌محور (TDD) چیست؟ What is Test-Driven Development?

  • چرخه قرمز-سبز-بازسازی (Red Green Refactor) The Red-Green-Refactor Cycle

  • بررسی گام‌به‌گام و دقیق A Detailed Walkthrough

  • چالش و راهکار: پیشروی بیشتر Challenge & Solution: Take it Further

مبانی توسعه رفتار‌محور (BDD) Basics of Behavior-Driven Development (BDD)

  • توسعه رفتار‌محور (BDD) چیست؟ What is Behavior-Driven Development?

  • سینتکس Gherkin Gherkin Syntax

  • ایجاد فایل‌های feature. Creating .feature Files

  • نوشتن و لینک کردن تست‌ها Writing and Linking Tests

  • چالش و راهکار: افزودن سناریوهای بیشتر Challenge & Solution: Adding More Scenarios

مفاهیم متوسط توسعه رفتار‌محور Intermediate Behavior-Driven Development Concepts

توسعه رفتار‌محور پیشرفته Advanced Behavior-Driven Development

  • داستان‌های کاربر (User Stories) در BDD User Stories in BDD

  • کتابخانه Behave به عنوان جایگزینی برای Pytest The "Behave" Library as an Alternative to Pytest

  • نوشتن، اجرا و عیب‌یابی تست‌های Behave Writing, Running, and Troubleshooting Behave Tests

  • چالش و راهکار: پارامتریک کردن انواع داده‌های مختلف Challenge & Solution: Parameterizing Different Data Types

بهترین شیوه‌های تست در پایتون Python Testing Best Practices

  • پنج نشانه که نشان می‌دهد بهترین شیوه‌ها را دنبال نمی‌کنید Five Signs You're Not Following Best Practices

  • بهترین شیوه‌ها برای ساختار فایل‌ها Best Practices for File Structure

  • بهترین شیوه‌ها برای نام‌گذاری فایل‌ها و تست‌ها Best Practices for Naming Files & Tests

  • تست‌های واحد به عنوان مستندات Unit Tests as Documentation

  • چالش و راهکار: الگوی Arrange, Act, Assert (AAA) Challenge & Solution: The Arrange, Act, Assert (AAA) Pattern

مبانی تست‌های مبتنی بر ویژگی (Property Based Testing) Basics of Property-Based Testing

  • تست مبتنی بر ویژگی (Property Based Testing) چیست؟ What is Property-Based Testing?

  • کتابخانه Hypothesis The Hypothesis Library

  • کار با استراتژی‌های مختلف Hypothesis Working with Different Hypothesis Strategies

  • چالش و راهکار: آناگرام‌ها Challenge & Solution: Anagrams

مبانی تست اینترفیس‌ها Basics of Testing Interfaces

  • تست اینترفیس چیست؟ What is Interface Testing?

  • اطلاعات پایه و کنترل‌های اینترفیس Basic Interface Info and Controls

  • ثبت اقدامات پیچیده‌تر Recording More Complicated Actions

  • چالش و راهکار: نوشتن یک تست اینترفیس کامل Challenge & Solution: Writing a Complete Interface Test

مفاهیم پیشرفته تست اینترفیس Advanced Interface Testing Concepts

  • یافتن و تعامل پویا با المان‌ها Finding and Interacting with Elements Dynamically

  • یکپارچه‌سازی تست اینترفیس با PyTest Integrating Interface Testing with PyTest

  • تست و استفاده از کلیدهای میانبر (Hotkeys) Testing and Using Hotkeys

  • چالش و راهکار: استفاده از Hotkeys و BDD Challenge & Solution: Using Hotkeys and BDD

تست اینترفیس‌های وب Testing Web Interfaces

  • تست اینترفیس وب چیست؟ What is Web Interface Testing?

  • راه‌اندازی Selenium Getting Selenium Set Up

  • یافتن و تعامل با المان‌ها Finding and Interacting with Elements

  • نوشتن Assertionها برای صفحات وب Making Assertions About Webpages

  • چالش و راهکار: یکپارچه‌سازی با PyTest Challenge & Solution: Integrating with PyTest

تست پیشرفته اینترفیس وب Advanced Web Interface Testing

  • چگونه منتظر رویدادها بمانیم (Waiting) How to Wait For Things

  • کلیک کردن روی المان‌ها Clicking On Elements

  • مروری کوتاه بر CSS Selectors A Brief Review of CSS Selectors

  • چالش و راهکار: انتخاب المان‌های درست Challenge & Solution: Selecting the Right Elements

اصول بازسازی کد (Refactoring) در پایتون Python Code Refactoring Principles

  • چرا بازسازی کد (Refactoring) بسیار مهم است؟ Why is Refactoring So Important?

  • پنج نشانه که نیاز به Refactor دارید Five Signs You Need to Refactor

  • بازسازی کدهای تکراری Refactoring Duplicated Code

  • بازسازی توابع طولانی، کلاس‌های بزرگ و تودرتویی‌های عمیق Refactoring Long Functions, Large Classes, and Deep Nesting

  • بازسازی ماژول‌های با وابستگی شدید (Tightly Coupled) Refactoring Tightly Coupled Modules

  • چالش و راهکار: بازسازی کد Challenge & Solution: Refactor the Code

نمایش نظرات

آموزش مدرک بین‌المللی تستر معتمد پایتون (PCAT™)
جزییات دوره
25h
176
CBTNuggets CBTNuggets
(آخرین آپدیت)
-
- از 5
ندارد
دارد
دارد
Shaun Wassell
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Shaun Wassell Shaun Wassell

توسعه دهنده نرم افزار Full-Stack Shaun Wassell یک توسعه دهنده نرم افزار کاملاً پشته ای است که در زمینه برنامه نویسی و اتوماسیون صنعتی تخصص دارد.

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