HTML Diff
0 added 0 removed
Original 2026-02-18
Modified 2026-02-19
1 <h2>AQA (Automated Quality Assurance)</h2>
1 <h2>AQA (Automated Quality Assurance)</h2>
2 <p>- это целая инженерная дисциплина. Для создания надежных автотестов нужно разбираться в технологиях не меньше, чем разработчикам. Глубоко копнуть и стать специалистом, а не просто "скриптопишущим" - наш путь.</p>
2 <p>- это целая инженерная дисциплина. Для создания надежных автотестов нужно разбираться в технологиях не меньше, чем разработчикам. Глубоко копнуть и стать специалистом, а не просто "скриптопишущим" - наш путь.</p>
3 <p><strong>Вопрос:</strong>а в чем именно нужно разбираться AQA-инженеру в 2026 году?</p>
3 <p><strong>Вопрос:</strong>а в чем именно нужно разбираться AQA-инженеру в 2026 году?</p>
4 <p>Мы обсудили это с экспертом и подготовили для вас детальный план развития. Сохраните его себе в закладки и используйте как чек-лист.</p>
4 <p>Мы обсудили это с экспертом и подготовили для вас детальный план развития. Сохраните его себе в закладки и используйте как чек-лист.</p>
5 <h4>Этап 1. Фундамент. Ручное тестирование</h4>
5 <h4>Этап 1. Фундамент. Ручное тестирование</h4>
6 <p>Без понимания, что и как тестировать, автоматизация бессмысленна.<strong>Нужно освоить:</strong></p>
6 <p>Без понимания, что и как тестировать, автоматизация бессмысленна.<strong>Нужно освоить:</strong></p>
7 <ul><li>Постановку требований к ПО и принципы его работы.</li>
7 <ul><li>Постановку требований к ПО и принципы его работы.</li>
8 <li>Работу с тикетами (Jira, YouTrack).</li>
8 <li>Работу с тикетами (Jira, YouTrack).</li>
9 <li>Классические техники ручного выявления багов.</li>
9 <li>Классические техники ручного выявления багов.</li>
10 </ul><p><strong>Итог:</strong>Если можете сходу ответить, какого цвета ваш тестовый ящик - фундамент заложен. Много материалов можно найти на Хабре и в классической литературе.</p>
10 </ul><p><strong>Итог:</strong>Если можете сходу ответить, какого цвета ваш тестовый ящик - фундамент заложен. Много материалов можно найти на Хабре и в классической литературе.</p>
11 <h4>Этап 2: Рабочий инструмент. Python - не поверхностно</h4>
11 <h4>Этап 2: Рабочий инструмент. Python - не поверхностно</h4>
12 <p>Знать язык нужно уверенно.<strong>Проходим по чек-листу:</strong></p>
12 <p>Знать язык нужно уверенно.<strong>Проходим по чек-листу:</strong></p>
13 <ol><li>PEP8 и базовые типы данных. Числа и строки - как свои пять пальцев. Регулярные выражения - как все десять.</li>
13 <ol><li>PEP8 и базовые типы данных. Числа и строки - как свои пять пальцев. Регулярные выражения - как все десять.</li>
14 <li>Структуры данных. Списки, словари, множества, кортежи - их нюансы и производительность.</li>
14 <li>Структуры данных. Списки, словари, множества, кортежи - их нюансы и производительность.</li>
15 <li>Функции, генераторы и, внимание, - ДЕКОРАТОРЫ. В тестировании на Python они используются повсеместно.</li>
15 <li>Функции, генераторы и, внимание, - ДЕКОРАТОРЫ. В тестировании на Python они используются повсеместно.</li>
16 <li>Объектно-ориентированное программирование). Классы, наследование, инкапсуляция.</li>
16 <li>Объектно-ориентированное программирование). Классы, наследование, инкапсуляция.</li>
17 <li>Контекстные менеджеры и работа с файлами (json, yaml, csv).</li>
17 <li>Контекстные менеджеры и работа с файлами (json, yaml, csv).</li>
18 <li>Виртуальное окружение (venv) и менеджер пакетов pip.</li>
18 <li>Виртуальное окружение (venv) и менеджер пакетов pip.</li>
19 </ol><blockquote><strong>Бонус-уровень:</strong>Если вы можете поддержать разговор о различиях асинхронного, многопоточного и многопроцессорного программирования - вы на верном пути.</blockquote><h4>Этап 3: Фреймворк для тестирования. Pytest - от основ к мастерству</h4>
19 </ol><blockquote><strong>Бонус-уровень:</strong>Если вы можете поддержать разговор о различиях асинхронного, многопоточного и многопроцессорного программирования - вы на верном пути.</blockquote><h4>Этап 3: Фреймворк для тестирования. Pytest - от основ к мастерству</h4>
20 <blockquote><p><strong>Важный совет:</strong>Начинайте с web, оставьте десктопное и мобильное ПО на потом. Это сбережет ваши нервы и бюджет на психотерапевта.</p>
20 <blockquote><p><strong>Важный совет:</strong>Начинайте с web, оставьте десктопное и мобильное ПО на потом. Это сбережет ваши нервы и бюджет на психотерапевта.</p>
21 </blockquote><p><strong>Слои изучения Pytest:</strong></p>
21 </blockquote><p><strong>Слои изучения Pytest:</strong></p>
22 <ul><li><strong>Базовый:</strong>тестовые функции, assert, фикстуры (fixtures), скоупы (scopes), маркеры (marks) и параметризация.</li>
22 <ul><li><strong>Базовый:</strong>тестовые функции, assert, фикстуры (fixtures), скоупы (scopes), маркеры (marks) и параметризация.</li>
23 <li><strong>Продвинутый:</strong>плагины pytest-mock (или unittest.mock), pytest-cov (покрытие кода), pytest-xdist (параллельный запуск), pytest-asyncio (асинхронные тесты).</li>
23 <li><strong>Продвинутый:</strong>плагины pytest-mock (или unittest.mock), pytest-cov (покрытие кода), pytest-xdist (параллельный запуск), pytest-asyncio (асинхронные тесты).</li>
24 </ul><h4>Этап 4: Работа с данными. Тестирование БД</h4>
24 </ul><h4>Этап 4: Работа с данными. Тестирование БД</h4>
25 <p>Большая тема, но основы таковы: нужно уметь подготавливать, проверять и откатывать состояние базы данных.<strong>Что знать:</strong>таблицы, запросы, транзакции.<strong>Какие БД:</strong>как SQL, так и NoSQL.<strong>Инструменты:</strong>SQLAlchemy, Alembic, Factory Boy.</p>
25 <p>Большая тема, но основы таковы: нужно уметь подготавливать, проверять и откатывать состояние базы данных.<strong>Что знать:</strong>таблицы, запросы, транзакции.<strong>Какие БД:</strong>как SQL, так и NoSQL.<strong>Инструменты:</strong>SQLAlchemy, Alembic, Factory Boy.</p>
26 <h4>Этап 5: Направления специализации. Выбирайте свой вектор</h4>
26 <h4>Этап 5: Направления специализации. Выбирайте свой вектор</h4>
27 <p><strong>Направление А: UI-тестирование</strong></p>
27 <p><strong>Направление А: UI-тестирование</strong></p>
28 <ul><li>Инструменты: Selenium (для поддержки legacy-проектов) и современный Playwright (наш фаворит).</li>
28 <ul><li>Инструменты: Selenium (для поддержки legacy-проектов) и современный Playwright (наш фаворит).</li>
29 <li>Суть: автоматизация взаимодействия с браузером.</li>
29 <li>Суть: автоматизация взаимодействия с браузером.</li>
30 </ul><p><strong>Направление Б: API-тестирование (шире и глубже)</strong></p>
30 </ul><p><strong>Направление Б: API-тестирование (шире и глубже)</strong></p>
31 <ul><li>Библиотеки запросов: requests, aiohttp (для асинхронности).</li>
31 <ul><li>Библиотеки запросов: requests, aiohttp (для асинхронности).</li>
32 <li>Валидация ответов: Pydantic (сильная типизация через модели).</li>
32 <li>Валидация ответов: Pydantic (сильная типизация через модели).</li>
33 <li>Генерация данных: Faker.</li>
33 <li>Генерация данных: Faker.</li>
34 <li>Протоколы: REST (HTTP/HTTPS), gRPC, WebSockets.</li>
34 <li>Протоколы: REST (HTTP/HTTPS), gRPC, WebSockets.</li>
35 </ul><p><strong>Где тренироваться:</strong>Тестировать Google - баян. Попробуйте автоматизировать проверки какого-нибудь сложного маркетплейса (например, Wildberries).</p>
35 </ul><p><strong>Где тренироваться:</strong>Тестировать Google - баян. Попробуйте автоматизировать проверки какого-нибудь сложного маркетплейса (например, Wildberries).</p>
36 <h4>Этап 6: Профессиональный лук. Инструменты эффективности</h4>
36 <h4>Этап 6: Профессиональный лук. Инструменты эффективности</h4>
37 <p><strong>Allure Framework или pytest-html:</strong>Создание наглядных и красивых отчетов о прогоне тестов.</p>
37 <p><strong>Allure Framework или pytest-html:</strong>Создание наглядных и красивых отчетов о прогоне тестов.</p>
38 <p><strong>Git (GitHub/GitLab) + CI/CD (GitHub Actions, GitLab CI):</strong>Работа в команде и автоматизация запуска тестов.</p>
38 <p><strong>Git (GitHub/GitLab) + CI/CD (GitHub Actions, GitLab CI):</strong>Работа в команде и автоматизация запуска тестов.</p>
39 <p><strong>Docker:</strong>Создание изолированных сред для тестов. Знание этих инструментов делает вас универсальным и крутым специалистом.</p>
39 <p><strong>Docker:</strong>Создание изолированных сред для тестов. Знание этих инструментов делает вас универсальным и крутым специалистом.</p>
40 <p><strong>Если после прочтения этого плана кажется, что нужно знать очень много… Вы правы. Но именно это и отличает инженера от скриптописца. AQA - это сложно, интересно и чрезвычайно перспективно.</strong></p>
40 <p><strong>Если после прочтения этого плана кажется, что нужно знать очень много… Вы правы. Но именно это и отличает инженера от скриптописца. AQA - это сложно, интересно и чрезвычайно перспективно.</strong></p>