Что нужно знать новичку для старта в автоматизации
Автор: Сергей Александров, QA Automation Engineer в Ak Bars DigitalСобрал небольшой список, что действительно нужно новичку (джуну), чтобы стартовать без истерики и желания сжечь ноутбук на второй неделе. Мне бы он приходился 5 лет назад.
1. Базовый PythonБез основ программирования - никуда:
- переменные, типы данных, списки, словари, множества и тд. Обязательно разобраться про изменяемые и неизменяемые типы данных
- циклы for, while
- условные конструкции if/else
- функции (в том числе *args, **kwargs)
- ООП (классы, наследование, инкапсуляция)
- SOLID, DRY, KISS
- исключения try/except
- списковые включения (list comprehensions)
Могут спросить: итераторы, генераторы, декорараторы, магические методы (разобраться как изменить поведение метода), хэшируемость, контекстный менеджер, шаблоны проектирования (2-3 основных), staticmethod и classmethod.
Но это скорей на уровень мидла.
Хорошие курсы по Python можно найти на: Coursera, Stepik, YouTube, или, если хочется боли и страданий - документация. =))
2. Теория тестирования- уровни тестирования: unit, integration, e2e
- типы тестов: smoke, sanity, regression
- жизненный цикл бага (да, он есть)
- тест-дизайн: эквивалентные классы, граничные значения, таблица принятия решений
- тест-кейсы, баг-репорты - зачем, как, и почему не стоит писать "не работает"
3. PytestСамая популярная библиотека для автотестов на Python. Умеет всё, кроме разве что кофе варить.
- структура тестов test_*.py
- фикстуры (те самые
@pytest.fixture)
- параметризация (
@pytest.mark.parametrize)
- маркировка тестов (
@pytest.mark)
- запуск через CLI
- конфигурация через pytest.ini
- интеграция с TestRail и Allure для отчётности
4. Selenium или AppiumВеб или мобилка - зависит от направления.
- работа с локаторами (XPath, CSS)
- открытие страниц, клик, ввод текста
- ожидания (явные, неявные)
- работа с окнами, фреймами, алертами
- Page Object Model - must-have
5. Git и GitHub- git clone, git commit, git push, git pull
- работа с ветками
- pull requests
- конфликты (и как их решать, не поседев)
6. CI/CD и пайплайны- GitLab CI, GitHub Actions
- что такое пайплайн, билд, job, stage
- где и как подключать автотесты к процессу
7. Немного Linux- навигация по папкам
- использовать команды вроде ls, cd, mkdir, rm, cat, grep, tail
- редактировать файлы через nano или vim (если хочешь страдать)
Главное - не сдаваться
Ты не обязан знать всё сразу. У всех свой темп. Главное - двигаться каждый день. Пусть даже на полшага.
Не бойся задавать вопросы, фейлить, гуглить одно и то же по 20 раз. Это - часть пути. Я до сих пор гуглю, стараюсь многое не держать в голове, иначе опухнет.