- Кто такой автоматизатор тестирования?
- Что делают автоматизаторы тестирования и чем занимаются?
- Что должен знать и уметь автоматизатор тестирования?
- Востребованность и зарплаты автоматизатора тестирования
- Как стать автоматизатором тестирования и где учиться?
- 15+ лучших курсов для обучения автоматизатора тестирования: подробный обзор
- 1 место. Курс «Автоматизированное тестирование для бизнеса» — Skillbox
- 2 место. Курс «Автоматизация тестирования на Python» — GeekBrains
- 3 место. Курс «Автоматизация тестирования на Python» — OTUS
- Курс «Тестировщик» — Нетология
- Курс «Тестировщик программного обеспечения» — SkillFactory
- Курс «Автоматизированное тестирование» — EasyUM
- Курс «Автоматизированное тестирование» — Avenue
- Курс «Введение в автоматизацию тестирования ПО» — «Level UP»
- Курс «Автоматизированное тестирование с нуля» — Лёша Маршал
- Курс «Тренинги для тестировщиков» — Software-Testing
Кто такой автоматизатор тестирования?
Автоматизатор тестирования — это специалист по автоматическому выполнению тестов, управлению тестовыми данными и использованию результатов для повышения качества программного обеспечения.
Что делают автоматизаторы тестирования и чем занимаются?
Обязанности на примере одной из вакансий:
- тестирование функционала системы автоматического принятия решения по кредитным заявкам на POS продукты: автоматизация процесса и ручные тесты
- ответственность за качество продукта команды — регрессионное тестирование, тестирование нового функционала, поддержка решения в production в случае ошибок
- тестирование интеграции со смежными модулями и автоматизированными системами
- разработка и поддержка автоматизированных тестов;
- код ревью автоматизированных тестов;
- анализ и исправление ошибок в работе автоматизированных тестов;
- подготовка технической документации по разработанным тестам;
- подготовка данных для запуска автотестов, запуск, разбор и анализ результатов.
Что должен знать и уметь автоматизатор тестирования?
Требования к автоматизаторам тестирования:
- Работа с Selenium IDE
- Работа с Maven и Unit
- Знание основных паттернов
- Создание простых и сложных UI-тестов на Selenuim WebDriver
- Знание принципов ООП
- Знание CI/CD и настройка Jenkins
- Написание автотестов на Java
- Знание функций SelectElement, Advanced Interactions API, Alert и Frame
- Работа с Git
Востребованность и зарплаты автоматизатора тестирования
На сайте поиска работы в данный момент открыто 185 вакансий, с каждым месяцем спрос на автоматизаторов тестирования растет.
Количество вакансий с указанной зарплатой автоматизаторов тестирования по всей России:
- от 95 000 руб. – 30
- от 145 000 руб. – 20
- от 195 000 руб. – 19
- от 245 000 руб. – 16
- от 295 000 руб. – 4
Вакансий с указанным уровнем дохода по Москве:
- от 95 000 руб. – 11
- от 195 000 руб. – 10
- от 245 000 руб. – 7
- от 295 000 руб. – 4
Вакансий с указанным уровнем дохода по Санкт-Петербургу:
- от 190 000 руб. – 3
Как стать автоматизатором тестирования и где учиться?
Варианты обучения для автоматизатора тестирования с нуля:
- Самостоятельное обучение – всевозможные видео на YouTube, книги, форумы, самоучители и т.д. Плюсы – дешево или очень недорого. Минусы – нет системности, самостоятельное обучение может оказаться неэффективным, полученные навыки могут оказаться невостребованными у работодателя;
- Онлайн-обучение. Пройти курс можно на одной из образовательных платформ. Такие курсы рассчитаны на людей без особой подготовки, поэтому подойдут большинству людей. Обычно упор в онлайн-обучении делается на практику – это позволяет быстро пополнить портфолио и устроиться на работу сразу после обучения.
Ниже сделали обзор 15+ лучших онлайн-курсов.
15+ лучших курсов для обучения автоматизатора тестирования: подробный обзор
Чему вы научитесь
- Писать автотесты в Selenium IDE
- Программировать
- Создавать UI-тесты
- Работать с фреймворками
- Автоматизировать тесты
- Использовать Git
Программа
Базовые навыки
- Языки программирования (Java/JavaScript)
- Введение в язык программирования и синтаксис.
- Функции.
- Объектно-ориентированное программирование.
- Области видимости.
- Преобразование типов.
- Отладка, тестирование и логирование.
- Система контроля версий Git
- Версии программного кода.
- Установка Git.
- Индекс и частичные коммиты.
- Сравнение версий.
- Отмена изменений и откат версий.
- Репозитории и коллективная работа.
- Ветки — создание и управление.
- Слияние и разрешение конфликтов.
- Полезные инструменты.
- Правила работы с Git.
Продвинутые навыки
- Автоматизация тестирования. Часть 1
- Введение в автоматизированное тестирование.
- Первые автоматизированные тесты.
- Поиск элементов с помощью Selenium WebDriver.
- Поиск элементов с помощью CSS-локаторов.
- Поиск элементов с помощью XPath.
- Мастер-класс по написанию автотестов.
- Автоматизация тестирования. Часть 2
- Непрерывная интеграция (CI).
- UI-тесты: сложные тесты для веба.
- Популярный фреймворк тестирования.
- Паттерны автоматизации тестирования.
Дипломные работы
Изучите основы языка Python, работу с библиотекой Selenium и фреймворком PyTest. После прохождения курса сможете автоматизировать тестирование и вывести карьеру в QA на новый уровень.
Программа обучения
Git. Базовый курс
Познакомитесь с основами системы контроля версий Git. Выясните, почему она важна в современной разработке и коллективном программировании. Вы также подготовитесь к прохождению собеседований, где несколько вопросов посвящены системе контроля версий.
Навыки по итогам курса:
- Знание основных понятий Git
- Создание и клонирование репозитория, слияние веток, запрос истории изменений
Основы языка Python
От переменных, циклов и ветвлений до построения программ с помощью объектно-ориентированного подхода. Начнёте решать задачи и проникаться философией языка.
Навыки по итогам курса:
- Использование основных конструкций языка Python
- Написание программ, реализация их запуска и отладки
- Перегрузка и переопределение методов
HTML/CSS
Узнаете, как верстать макеты, создавать статические сайты и простые интернет-магазины.
Навыки по итогам курса:
- Владение языком разметки документов HTML
- Оформление стилей документа CSS
- Работа с Flexbox и макетом дизайна в формате Figma
- Создание адаптивного сайта
- Знание стандартов веб и вспомогательных инструментов
Автоматизация тестирования на Python. Уровень 1
Познакомитесь с библиотекой Selenium WebDriver, научитесь запускать первые скрипты для тестирования и взаимодействовать с основными элементами интерфейса веб-приложений.
Навыки по итогам курса:
- Умение работать с библиотекой Selenium WebDriver
- Составление локаторов для поиска элементов (XPath, CSS-селекторы)
- Написание скриптов на языке Python
- Умение работать с различными типами веб-элементов
- Настройка ожиданий в тестах
- Использование базовых скриптов JavaScript в тестах
Инструменты:
- PyCharm
- Selenium WebDriver
- Chrome Driver
- DevTools
Алгоритмы и структуры данных на Python. Базовый курс
Изучите фундаментальные алгоритмы и используете их для решения практических задач. Освоите классические структуры данных, модуль Collections и работу с деревьями и хеш-таблицами.
Навыки по итогам курса:
- Изложение идеи в виде блок-схем
- Чтение готовых схем
- Реализация программ на их основе
Автоматизация тестирования на Python. Уровень 2
Освоите фреймворк PyTest и откроете все возможности Selenium WebDriver. Сможете писать автотесты для тестирования UI веб-приложений и создадите проект для портфолио.
Навыки по итогам курса:
- Опыт работы с самым популярным фреймворком автотестирования в Python — PyTest
- Работа с паттернами архитектуры автотестов (Page Object, Page Element)
- Создание отчетов с результатами автотестов
Linux. Рабочая станция
Узнаете, как работать с командной строкой и настраивать службы в Ubuntu. Познакомитесь с командами управления операционной системой, пользователями и правами.
Навыки по итогам курса:
- Установка и настройка Ubuntu
- Работа в терминале, с файлами, файловыми системами и устройствами в Linux
- Администрирование Linux и других Unix-подобных ОС
- Написание скриптов и назначение задач по расписанию
- Настройка веб-сервера и защита с помощью iptables
- Работа с git, контейнеризация Docker
Базы данных
Научитесь проектировать и создавать базы данных, решать проблемы скалирования. Сможете строить простые и сложные запросы, анализировать и оптимизировать их производительность.
Навыки по итогам курса:
- Язык запросов SQL
- Операторы, фильтрация, сортировка и ограничение Агрегация данных
- Сложные запросы
- Транзакции, переменные, представления
- Администрирование MySQL
- Хранимые процедуры и функции, триггеры Оптимизация запросов
- NoSQL
Программа обучения
Модуль 1. Введение в автоматизацию тестирования
- Тема 1. Введение в разработку и тестирование
- Тема 2. Погружение в Python. ООП
- Тема 3. Погружение в Python: Функциональное программирование
- Тема 4. Введение в Pytest
- Тема 5. Основы Web-разработки
Модуль 2. Тестирование API
- Тема 6. Работа с тестовыми данными
- Тема 7. Тестирование API
- Тема 8. DDT в тестировании API
Модуль 3. Тестирование UI
- Тема 9. Введение в тестирование Web UI, Selenium WebDriver
- Тема 10. Поиск элементов
- Тема 11. Ожидания элементов
- Тема 12. WebElement и работа с ним
- Тема 13. Работа с окнами, iframes, cookies
- Тема 14. Паттерн PageObject
- Тема 15. Логгирование и протоколирование
- Тема 16. Удаленный запуск (Grid)
- Тема 17. Selenoid
- Тема 18. Отчёты Allure
Модуль 4. Работа с бекендом
- Тема 19. Анализ логов веб-сервера
- Тема 20. Работа с БД
- Тема 21. Работа с сетью I (SSH, FTP)
- Тема 22. Работа с сетью II (socket)
- Тема 23. Архитектура Линукс
- Тема 24. Работа с ОС Linux с помощью Python
Модуль 5. DevOps
- Тема 25. Введение в Docker и контейнеризацию
- Тема 26. Оркестрация и взаимодействие контейнеров
- Тема 27. Непрерывная интеграция, Jenkins
- Тема 28. Подготовка тестового окружения
Модуль 6. Другие виды тестирования
- Тема 29. BDT в Python (Cucumber)
- Тема 30. Скриншотное тестирование
- Тема 31. Основы безопасности веб-приложений
- Тема 32. Mock
- Тема 33. Модульное тестирование
- Тема 34. Нагрузочное тестирование
Модуль 7. Проектный модуль
- Тема 35. Выбор темы и организация проектной работы
- Тема 36. Собеседование Python QA, разбор тестовых заданий
- Тема 37. Защита проектных работ
Программа курса
- Введение в тестирование
- Java для тестировщиков
- Английский язык для начинающих разработчиков
- Git — система контроля версий
- Автоматизированное тестирование
- Карьера в тестировании
- Итоговый проект
Достигнутые результаты
- Подготовлен тестовый сценарий на веб-форму
- Проведено UI-тестирование веб-формы и заполнен отчёт о дефектах
- Разрешён конфликт версий кода веб-сайта на GitHub
- Решено больше 40 задач на Java
- Проведено unit-тестирование приложения
- Разработаны автоматизированные тестовые сценарии для формы регистрации
- Проведено тестирование Java-проекта с использованием Selenium Webdriver
Ключевые навыки
- Использование актуальных теорий тестирования
- Понимание жизненного цикла разработки программного обеспечения
- Программирование на Java
- Использование объектно-ориентированного программирования
- Работа с системой контроль версий Git, платформой GitHub
- Проведение unit-тестирования
- Подготовка и проведение автоматизированных тестовых сценариев
- Подготовка отчёта о тестировании, заведение дефектов
- Работа в Selenium Webdriver
Программа курса
Вы можете приступать к онлайн-обучению на тестировщика с нуля: технические знания не нужны, достаточно владения компьютером
Ручное тестирование
- Типы тестирования, архитектура веб-приложений, баг-трекинговые системы и баг-репорты
- Тест-кейсы и тест-сценарии
- Кроссбраузерное тестирование
- БОНУС: SQL для тестировщиков
Основы программирования
- Базовые веб-технологии: протокол HTTP, концепция DOM, верстка HTML и CSS
- Работа с Github
- Объектно-ориентированное программирование и основы Python
- Взаимодействие с REST API, типичные сценарии тестирования API-интерфейсов
Автоматизация тестирования
- Автотестирование веб-приложений
- Более 20 автотестов на Selenium и 20 автотестов к API
- Популярные библиотеки для автотестирования, тестовый фреймворк PyTest, шаблоны проектирования и автоматизации тестирования PageObject
- Работа с Selenium WebDriver4
Управление проектами и работа в команде
- Резюме и сопроводительное письмо
- Портфолио на GitHub
- Поиск вакансий и фриланс-заказов
- Собеседования и тестовые задания
- Коммуникации в команде и работа с заказчиком
- Приоритизация задач и self-менеджмент
Для кого?
- Новичков в тестировании
- Мануальных (ручных) тестировщиков
- Разработчиков на Java
- Программистов на других языках
Чему Вы научитесь
После выпуска сможете работать на должности Тестировщик-автоматизатор.
- Программировать на языке Java
- Разрабатывать небольшие программы и приложения
- Пользоваться Selenium
- Создавать автотесты
- Тестировать программы и приложения
Программа курса
Java 1. Основы программирования
- Введение в Java. Что такие компилятор, интерпретатор , JDK, JRE, документатор. Разбор основных сред разработки. Установка IntelliJ IDEA. Первая программа на java. Преобразование типов.
- Типы данных. Математические операторы. Работа с примитивными типами.
- Логические операторы и работа с ними.
- Управляющие конструкции и циклы: for, while, if, else, else if и другие.
- Одномерные массивы. Практическая работа No1.
- Что такое метод, входящие параметры, исходящие параметры. Применение методов в программах.
- Двухмерные массивы. Практическое их применение.
- Практическая работа No2. Написание небольшого консольного приложения.
Java 2. ООП
- Ссылочные типы данных. Класс String и StringBuffer.
- Строение класса. Конструкторы, переменные и методы. Их применение на практике.
- Наследование, как неотъемлемая часть ООП. Разбор класса Object.
- Инкапсуляция и полиморфизм. Переопределение, перегрузка и сокрытие методов в java. Рекурсия.
- Абстрактные классы и интерфейсы в Java.
- Работа с исключениями. Конструкции try / catch / finally. Проверяемые и не проверяемые исключения. Собственные классы исключений.
- Разбор основных инструментов для создания компьютерного приложения: MenuBar, Label, ImageView, Button, GridPane и другие.
- Написание собственного приложения с помощью JavaFX.
Java 3. Коллекции и Многопоточность
- Коллекции в java. ArrayList и LinkedList.
- Коллекции в HashSet, LinkedHashSet, SortedSet. Интерфейс Iterator и Iterable. Сортировка в коллекциях.
- Ассоциативный массивы в java. Разбор класса HashMap и его иерархии.
- Потоки ввода и вывода (io / nio) символьных и байтовых потоков в java. Сериализация и десериализация. Практика: запись данных в файл и чтение с файла.
- Многопоточность в java. Синхронизация.
- Сборщик проектов Maven. Разбор библиотеки для модульного тестирования — JUnit.
- Логирование в java. Настройка Log4j.
- Написание собственного приложения с использованием многопоточности, коллекций и логирования.
Автоматизированное Тестирование 1.Selenium
- Введение в Selenium. Знакомство с Selenium IDE, установка, запись, сохранение и ручная доработка сценариев.
- Разработка тестов. Поиск элементов, проверка, использование переменных и выполнение фрагментов JS-кода.
- Запуск теста. Консоль, запуск в разных браузерах и сохранение тестов. Знакомство с SelBlocks, выполнение сценария с учетом условий. Загрузка данных из внешних файлов.
- Запуск браузеров – как выбрать «правильную» версию? Особенности запуска на разных ОС, Capabilities и Cookies. Работа с несколькими браузерами одновременно.
- Элементы и локаторы. Локаторы, типы, отладка и надежность. Элементы, поиск, списки, поиск внутри элемента.
- Действия с элементами. Простые и сложные действия. Настройка, запуск, сохранение.
- Ожидания: появления, видимости, исчезновения и свойств элемента. PageObjects, определение, виды реализации, альтернативы.
- Расширения. Драйверы, альтернативные API и BDD.
Программа курса
Модуль. Основы программирования на Java
- Занятие №1
Java. Основы. Компилятор, Интерпретатор, JDK, JRE, документатор. Среда Разработки. Обзор популярных сред разработки на Java. Установка IntelliJ IDEA. Написание первой программы на Java.
- Занятие №2
Типы данных и логические операторы.
- Занятие №3
Управляющие конструкции и циклы. Методы и работа с ними.
- Занятие №4
Одномерные и двухмерные массивы. Метод «пузырька».
- Занятие №5
Типы данных в Java. Ссылочные типы данных и работа с ними. Класс String и StringBuffer. Классы в Java.
- Занятие №6
Введение в ООП на Java. Наследование. Класс Object и работа с ним.
- Занятие №7
Полиморфизм: формы, параметрические методы и типы. Переопределение и перегрузка. Инкапсуляция: публичные методы, сокрытие методов в Java. Рекурсия.
- Занятие №8
Исключения и работа с ними. Операторы TRY / CATCH / FINALLY. Собственные классы исключений.
Модуль. Коллекции и многопоточность
- Занятие №1
Коллекции. Типы интерфейсов: ArrayList и LinkedList.
- Занятие №2
Типы интерфейсов: HashSet, LinkedHashSet, SortedSet. Виды интерфейсов: Iterator и Iterable. Отличия и роль в написании программ. Сортировка в коллекциях.
- Занятие №3
Java и Ассоциативные Массивы. Класс «HashMap» и его иерархии.
- Занятие №4
Коллекции прикладных программных интерфейсов для языка Java. Ввод — Вывод (io / nio). Сериализация и десериализация.
- Занятие №5
Многопоточность в Java. Функции многопоточности. Синхронизация.
- Занятие №6
Сборка проектов — Maven. Тестирование модулей — JUnit.
- Занятие №7
Логирование как лучшее средство от дебагов. Принципы логирования. Настройка Log4j.
- Занятие №8
Напишем собственное приложение с использованием принципов многопоточности, коллекций и логирования.
Модуль. Автоматизированное тестирование
- Занятие №1
Введение в исследовательское тестирование. Параллельное проектирование и выполнение тестов.
- Занятие №2
Декомпозиция ПО. Правила декомпозиции. Методы декомпозиции задач.
- Занятие №3
Стратегия тестирования. Тест-планы и как с ними работать.
- Занятие №4
Получение тестовых артефактов. Тест-комплекты. Чек-листы.
- Занятие №5
Дополнительные тестовые артефакты. Артефакты и виды тестирования.
- Занятие №6
Практика функционального тестирования. Метрики оценки результатов. Работа с Багами.
- Занятие №7
Практика юзабилити тестирования.
- Занятие №8
Отчётная документация тестировщика. Примеры баг-репортов.
Программа
Занятие 1. Автоматизация тестирования
- Типы и виды тестирования
- Базовые понятия в теории тестирования
- Понятие об автоматизации
- Цели автоматизации
- Процесс автоматизации
- Основные принципы и подходы
- Оценка задач по автоматизации
- Интеграция с процессом разработки
- Стадии автоматизации
- Инструменты автоматизации тестирования
Занятие 2. Введение в Java
- Знакомство с Java
- Процесс создания приложения
- Типы в Java
- Управляющие конструкции
- Массивы и циклы
- Понятия классов и объектов
- Парадигмы ООП
- Коллекции
- Абстрактные классы и интерфейсы
Практическое занятие 1-2:
- Вспоминаем (повторяем) Java
- Разработка записной книжки
Занятие 3. Тестирование Web Services
- SOAP/REST
- Rest Assured
- Автоматизация Web-service
- ETL процессы
Практическое занятие 3:
- Rest Assured
- UniRest
Занятие 4. Selenuim Web Driver
- Объектная модель страницы
- Базовые понятия
- Простые локаторы/Xpath/CSS селекторы
- Практическое занятие 4:
- Автоматизация тестирования с использованием Selenium
Занятие 5. Selenium Web Driver. Продолжение
- Selenide
- Cucumber
- Построение собственного фреймворка
Практическое занятие 5-6:
- Разработка тестовых скриптов с использованием фреймворков
Занятие 6. Инструменты сборки
- Понятия жизненного цикла ПО
- Maven/Gradle/Ant
- Сервер приложений
- Unit-тестирование (JUnit 4/JUnit 5/TestNG)
- Понятия CI и CD
- Инструменты CI и CD
Практическое занятие 7:
- Сборка приложения для тестирования
- Настройка и управление Jenkins
- Запуск тестов
Занятие 7. Design Patterns in TA
- Применение шаблонов проектирования в автоматизации тестирования
Итоговое практическое ДЗ
Занятие 8. Подготовка к собеседованию
- Рекомендации по прохождению собеседований
- Обзор не рассмотренных инструментов автоматизации тестирования
- Перечень базовых навыков
- Ссылки
Автоматизированное тестирование с нуля / Полный курс за 3 часа / selenium + testng
Автоматизированное тестирование ! За 3 часа мы разбираем Selenium + java, и ещё за пол часа TestNG . Уточню. Основы Java у вас уже должны быть. Так как чтобы заниматься автоматизацией тестирования необходим язык программирования.
- Программирование на Java для тестировщиков
- Тестирование юзабилити (usability)
- Bash: инструменты тестировщика
- Chrome DevTools: Инструменты тестировщика
- Docker: инструменты тестировщика
- Git: инструменты тестировщика
- Python для начинающих
- SQL: Инструменты тестировщика
- Автоматизация тестов для REST API при помощи Postman
- Консольные утилиты Android: инструменты тестировщика
- Автоматизация функционального тестирования
- Практикум по тест-дизайну 2.0
- Комплексная система подготовки тестировщиков по программе ISTQB FL
- Тестирование REST API
- Тестирование без требований: выявление и восстановление информации о продукте
- Программирование на Python для тестировщиков
- Логи как инструмент тестировщика
- Автоматизатор мобильных приложений
- Тестирование безопасности
- Тестирование мобильных приложений
- Selenium WebDriver: полное руководство
- Английский для тестировщиков
- Погружение в тестирование. Jedi point
- Техники локализации плавающих дефектов
- Аудит и оптимизация QA-процессов
- Программирование на C# для тестировщиков
- Организация автоматизированного тестирования
- Тестирование производительности: JMeter 5
- Selenium IDE 3: стартовый уровень
- SQL для тестировщиков