Як навчитися писати тести на пітоні самому та впровадити це на роботі. Підійде лідам, CTO та звичайним розробникам.
Тиждень 0. Вступний
Базова практика та теорія тестування з pytest
Про що: Микита розбере базу тестування на pytest: як працює збір та виконання тестів, що таке фікстури та параметризація, згадає про хуки, плагіни, моки та стаби. Федя розповість, як наявність добрих тестів знижує когнітивне навантаження, розвінчить міф, що без тестів швидше і розповість про головну відмінність хорошого тесту від поганого.
Яку проблему вирішуємо: Вирівнюємо контекст.
На виході: Зрозуміємо, як написати і куди покласти перший тест на проекті.
Тиждень 1
«Тісти, що читаються»
Про що: Про зрозумілі тести! Тести – теж код. Вони, можливо, повинні бути навіть зрозумілішими, ніж код самого додатка. На занятті Микита покаже, як значно спростити розуміння будь-якого тесту: поділити дані та поведінку. Розглянемо основні інструменти та стратегії. А Федя розповість, коли варто та не варто перевикористовувати код програми у тестах.
Яку проблему вирішуємо: Коли падає незрозумілий тест, хочеться його просто видалити, а не розбиратися, що ж мав на увазі його затятий автор.
На виході: Навчимося готувати тестове середовище так, щоб тести були корисними – генерувати різноманітні, але сумісні з вашим додатком тестові сутності у читальному вигляді.
Тиждень 2
«Робимо тести швидкими та надійними»
Якщо тести виконуються довго або працюють ненадійно, то ніхто не буде їх запускати. Микита покаже, як зробити тести швидкими і якими способами покращити їхню надійність (спойлер: буде про сферичного коня у вакуумі).
Яку проблему вирішуємо: Повільні тести збільшують feedback-loop, уповільнюють публікацію, а найголовніше – програмісти звикають їх ненавидіти, а отже – не писати нові.
На виході: Навчимося робити корисний та негроміздкий тестовий набір, який у майбутньому допомагатиме, а не вирощуватиме час білда до 30 хвилин.
Тиждень 3
«Тести та життя»
Одна з основних проблем тестування – люди, які заважають нам писати тести. Нам треба навчитися працювати з ними. Можливо, даний фактор навіть важливіший за знання нутрощів вашого тестового фреймворку. Микита та Федя розкажуть, як вони допомагають командам розпочати (або продовжити) писати тести та працювати з людьми.
Яку проблему вирішуємо: Навіть із найбільш кайфовими тестовими інструментами, вашу ініціативу легко завалити пасивним опором. А якщо без підготовки поговорити про тести з бізнесом, відмова взагалі гарантована.
Отримаємо зрозумілий і вичерпний набір дій потрібних, щоб почати писати тести. Зрозуміємо, як продавати випробування різним типам людей.