Test Driven Development з Python

Онлайн-курс «Розробка через тестування (TDD) в Python» навчить вас створювати надійний код, починаючи з тестів. Практичний підхід, сучасні інструменти, приклади з реальних проєктів.

Image for the 'Test Driven Development з Python' course.

Вступ в модульне тестування

🗓

Початок

3-й квартал 2025 р.

👨‍🏫

Розклад

Це онлайн-курс — займатесь, коли вам зручно

🏁

Тривалість

10 тижнів.

Що таке Test-Driven Development (TDD)?

Розробка через тестування (Test-Driven Development, TDD) — це підхід до програмування, коли спочатку пишуться тести, а вже потім — код, який проходить ці тести. Такий підхід допомагає зосередитися на поведінці програми, чітко формулювати очікувані результати і уникати зайвого коду.

Як TDD допомагає створювати надійне програмне забезпечення?

TDD забезпечує високу якість і надійність програмного коду. Кожна функція чи клас створюється через маленький цикл: написати тест → реалізувати мінімальний код → рефакторити. Це сприяє простішому проєктуванню, швидкому виявленню помилок і покращенню читабельності коду. Завдяки тестам, написаним наперед, зміни в коді стають менш ризикованими — можна бути впевненим, що новий функціонал не порушив наявну поведінку. Це особливо важливо в командній роботі та при швидкій розробці.

Як TDD сприяє карʼєрному та професійному зростанню?

Володіння підходом Test-Driven Development демонструє зрілий рівень мислення розробника, орієнтованого на якість. Це підвищує вашу конкурентоспроможність на ринку праці, особливо у компаніях, які цінують автоматизоване тестування та надійність продукту.

Практика TDD допомагає краще розуміти вимоги до програмного забезпечення, вміти писати чистий і підтримуваний код та ефективно працювати в команді. Це формує сильний фундамент для переходу до ролей технічного лідера, архітектора або інженера з якості. Крім того, проєкти з використанням TDD часто мають високу цінність у портфоліо, оскільки демонструють реальні навички, які важливі в сучасному розробницькому середовищі.

Концепція курсу

🏆

Якість понад кількість

Краще вивчити ключові речі, але якісно, ніж усе підряд, але поверхово.

💪

Вивчаємо одну концепцію за раз

Фокус на окремій концепції дозволяє краще зрозуміти матеріал і відразу застосувати його на практиці.

🧑‍💻

Багато практичних завдань

Кожен модуль містить практичні завдання, щоб закріпити знання на реальних прикладах.

🧑‍🔬

Краще розуміти, ніж завчити

Ми не просто показуємо як зробити, а пояснюємо чому це працює. Це формує глибоке розуміння інструментів та підходів.

✅ Ідеальний слухач: кому точно буде корисно

Цей курс чудово підійде, якщо ви:

  • вже працюєте в ІТ, зокрема у сфері тестування;
  • вмієте писати код і хочете покращити якість розробки через тестування;
  • починаєте автоматизувати або прагнете це зробити в команді;
  • хочете систематизувати свої знання та дізнатись про сучасні підходи до TDD;
  • відчуваєте потребу у професійному розвитку.

❌ Кому цей курс не підходить

Курс може бути передчасним для тих, хто:

  • ніколи не програмував і не має базових знань Python;
  • тільки планує увійти в ІТ і шукає початковий курс;
  • очікує готове працевлаштування або стажування одразу після завершення;
  • не планує впроваджувати автоматизацію тестування у своїй роботі;
  • вважає юніт-тестування зайвим і нецікавим.

Зміст курсу Test Driven Development in Python

  • Лекція Що таке юніт-тести і навіщо вони потрібні?
  • Практика Простий тест, який перевіряє сам факт роботи тестування

  • Лекція Модуль doctest
  • Лекція Модуль unittest
  • Лекція Модуль pytest
  • Практика Запуск тестів у хмарі (BitBucket, GitHub)

  • Практика Тест для f-рядків: Hello, {username}!
  • Практика Тест для функції age_of_majority(age: int) -> bool
  • Практика Тест на створення об'єкта
  • Практика Тест на генерацію JSON-документу

  • Лекція Підхід Test-Driven Development
  • Практика Пробуємо написати код через TDD
  • Лекція Покриття коду тестами
  • Лекція Мутаційне тестування та якість тестів
  • Лекція Типові помилки при написанні тестів

  • Лекція Робота з CSV та JSON-файлами
  • Лекція Генерація випадкових даних. Бібліотека Faker
  • Лекція Тестопридатність: мок, стаб, фейк
  • Лекція unittest.mock
  • Лекція pytest.mock

  • Лекція Тестування з requests
  • Лекція Тестування з базами даних

Після успішного завершення курсу

🎓 Студенти знатимуть
  • як працює підхід Test-Driven Development (TDD);
  • основи мови Python, необхідні для тестування;
  • як працюють unittest, pytest та doctest;
  • метрики якості тестів: покриття, мутаційне тестування;
  • як організувати юніт-тестування у команді та CI/CD процесі.
🛠️ Студенти вмітимуть
  • писати юніт-тести на Python;
  • застосовувати TDD на практиці;
  • працювати з моками, стабами, фейками;
  • перевіряти JSON, умови, форматування рядків, аллокацію обʼєктів тощо;
  • запускати тести локально і в хмарі (GitHub Actions, Bitbucket Pipelines);
  • аналізувати якість тестів за допомогою coverage та mutmut.
📋 Додадуть до резюме
  • основи Python 3;
  • фреймворки unittest, pytest;
  • використання unittest.mock;
  • інтеграція тестів у CI/CD (GitHub, Bitbucket);
  • портфоліо: репозиторій із тестами, написаними за TDD;
  • сертифікат про успішне завершення курсу.

Умова успішного завершення: перегляд лекцій, виконання всіх тестових та практичних завдань.

PDF-сертифікат з верифікацією на сайті First Institute of Reliable Software

Приклад зображення PDF-сертифікату

LinkedIn-сертифікат з верифікацією на сайті First Institute of Reliable Software

Приклад зображення LinkedIn-сертифікату

Автор та ментор курсу

Bootstrap Themes

Володимир Обрізан

Кандидат технічних наук, директор та засновник Першого інституту надійного програмного забезпечення, директор та співзасновник ІТ-компанії Design and Test Lab.

Старший викладач

15 років досвіду старшим викладачем: з 2005 по 2024 рік у Харківському національному університеті радіоелектроніки. Теми курсів: проєктування програмно-апаратних систем, багатоядерне програмування, програмування хмарних та мобільних платформ.

Програміст-практик

З 2011 року брав участь у компанії Design and Test Lab як виконавець, провідний програміст або керівник у десятках проєктах: мобільні програми, десктоп-додатки, хмарні послуги. Мови: Python, Objeсtive-C, Swift, JavaScript, TypeScript.

Спікер

Десятки виступів на конференціях та семінарах з темами про надійне програмне забезпечення, архітектури, програмування та тестування: QAFest, Python fwdays, SoftServe IT Weekend, KharkovPy, iOS Ukraine та ін.

Консультант

Консультант керівників та власників айті-компаній. Теми консультацій: навчання персоналу, впровадження методів надійного програмування, технічний нагляд за процесом розробки програмного забезпечення, аналіз програмних проєктів.

YouTube-лектор

Досвід 8 роки у записі відеолекцій та проведенні онлайн-стримів на YouTube-каналі Першого інституту надійного програмного забезпечення: лекції, скрін-касти, практичні майстер-класи.

Вчений

Кандидат технічних наук за спеціальністю "Комп'ютерні системи та компоненти". Тема дисертації: "Мультиверсний паралельний синтез цифрових структур з урахуванням System-C специфікації".

Відгуки випускників

Перевірити відгуки на TrustPilot.

Часті питання

❌ Ні, цей курс не для вас.

Для комфортного проходження курсу необхідні базові знання Python: змінні, умовні оператори, функції, робота з рядками та словниками.

Якщо ви ще не писали жодного коду на Python, рекомендуємо спершу пройти короткий вступний курс або самостійно ознайомитись із основами.

✅ В вас буде додатковий час!

Окрім 9 тижнів є ще 4 тижні після закінчення основної програми курсу, щоб виконати практичні завдання та здати їх.

🚫 Ні, ці теми не входять до програми курсу.

Цей курс спеціалізується на юніт-тестуванні Python-коду та принципах Test-Driven Development. Ми детально вивчаємо, як створювати якісні тести для функцій, класів, обробки даних, форматування, моків, генерації JSON тощо.

📌 Натомість ви отримаєте глибоке розуміння автоматизації на рівні коду, що є фундаментом для подальшого вивчення будь-яких інших видів тестування.

Залишись ще питання? Безплатна консультація від автора та ментора курсу в Телеграмі або за електронною поштою support@first.institute

Запросити друзів та знайомих на курс

Telegram
Viber
LinkedIn
WhatsApp

ФОП Обрізан Володимир Ігорович, ІПН 3055516250. Послуги надаються згідно з договором публічної оферти. Контактний телефон: +380 73 971-54-71, email: selenium@first.institute