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>