Як навчитися писати тести на пітоні самому і впровадити це на роботі
Тиждень 0. Вступна
Основна практика та теорія тестування з pytest
про що: Микита розбере базу тестування на pytest: як працює збір і виконання тестів, що таке фікстури і параметризація, згадає про хуках, плагінах, моках і стабах. Федя розповість, як наявність хороших тестів знижує когнітивне навантаження, розвінчає міф, що без тестів швидше і розповість про головну відмінність хорошого тесту від поганого.
Яку проблему вирішуємо: вирівнюємо контекст.
На виході: зрозуміємо як написати і куди покласти перший тест на проекті.
тиждень 1
"Читабельні тести"
про що: про зрозумілі тести! Тести-це також код. Вони, можливо, повинні бути навіть зрозумілішими, ніж код самого додатка. На занятті Микита покаже, як значно спростити розуміння будь-якого тесту: розділити дані і поведінку. Розглянемо основні інструменти та стратегії. А Федя розповість, коли варто і не варто перевикористовувати код програми в тестах.
Яку проблему вирішуємо: коли падає незрозумілий тест — хочеться його просто видалити, а не розбиратися, що ж мав на увазі його упоротий автор.
На виході: навчимося готувати тестову середу так, щоб тести були корисними — генерувати різноманітні, але сумісні з вашим додатком тестові сутності в читабельному вигляді.
тиждень 2
"Робимо тести швидкими і надійними"
про що: якщо тести виконуються довго або працюють ненадійно, то ніхто не буде їх запускати. Микита покаже, як зробити тести швидкими і якими способами поліпшити їх надійність (спойлер: буде про сферичного коня в вакуумі).
Яку проблему вирішуємо: повільні тести збільшують feedback-loop, уповільнюють публікацію, а найголовніше — програмісти звикають їх ненавидіти, а значить — не писати нові.
На виході: навчимося робити корисний і негроміздкий тестовий набір, який в майбутньому буде допомагати, а не вирощувати час білда до 30 хвилин.
тиждень 3
"Тести і життя"
про що: Одна з основних проблем тестування – люди, які заважають нам писати тести. Нам потрібно навчитися працювати з ними. Можливо, даний фактор навіть важливіше знань нутрощів вашого тестового фреймворку. Микита і Федя розкажуть, як вони допомагають командам почати (або продовжити) писати тести і працювати з людьми.
Яку проблему вирішуємо: навіть з самими кайфовими тестовими інструментами, вашу ініціативу легко завалити пасивним опором. А якщо без підготовки поговорити про тести з бізнесом — відмова взагалі гарантована.
На виході: отримаємо зрозумілий і вичерпний набір дій потрібних, щоб почати писати тести. Зрозуміємо, як продавати тести різним типам людей.
https://privatelink.de/?https://education.borshev.com/python-testing