Чек-лист для начинающего автотестера на Java
QA-инженер или тестировщик в правильных командах принимает участие во всех стадиях разработки: от тестирования требований до выхода релиза. Именно тестировщик решает, выйдет ли релиз продукта на рынок и когда. Автоматизатор тестирования отвечает за внедрение, поддержание и развитие инфраструктуры автотестов, контролирует покрытие требований тестами. Это помогает ускорить и удешевить процесс тестирования продукта.
О том, когда начинать автоматизировать тесты, описано в этой статье, о скиллах и трудностях перехода из «ручника» в автотестеры писали в этой статье.
В третьей статье цикла по начало автоматизации тестирования представим краткий чек-лист для начинающих автоматизаторов на Java — одном из самых популярных языков программирования на сегодняшний день.
- Уметь писать чек-листы и тест-кейсы, иметь навык ручного тестирования;
- Знать теоретическую базу и применять техники тест-дизайна: классы эквивалентности и граничные значения;
- Иметь представление о том, как работают веб- или мобильные приложения.
-
Основы SQL для выполнения выборок данных;
-
Изучите JAVA CORE, основы объектно-ориентированного программирования;
-
Познакомьтесь с IntelliJ IDEA — научитесь создавать/запускать проект; посмотрите, как настраивать IDE под себя (хорошие советы по IntelliJ IDEA)
-
Познакомьтесь с структурой файлов в проекте;
-
Изучите паттерны разработки, распространенные в автоматизированным тестировании.
Например: Page Object, Fluent/Chain of invocations, Factory/Page Factory, Strategy, Data Patterns, Builder, Decorator (можно почитать тут);
- Изучите локаторы для автоматизации WEB;
- Познакомьтесь с протоколом http (header, код состояния, cookie и др). Изучите запросы по протоколу HTTP (post, put, patch, delete, get др) для выполнения CRUD (CREATE-READ-UPDATE-DELETE) тестов. Выполнять запросы можно в разных средах, я бы рекомендовал познакомиться с запросами от curl до UI ПО (Например: Postman (в нем можно сделать автоматизацию тестирования API));
- Посмотрите информацию про архитектуру приложений — REST, SOAP, gRPC.
- Познакомьтесь фреймворком для тестирования Junit 5/ Test NG, поймите их сходства и различия. К слову, Junit 5 захватывает всё больше сердец в автоматизации :)
- Изучите инструменты сборки (пакетные менеджеры) Maven, Gradle. Научитесь прогонять тесты через инструмент сборки. Установите git. Сделайте свой первый commit и запушьте свой проект в github;
-
Попробуйте подключить внешние библиотеки локально или репозиторий компании;
-
После того, как научитесь писать стандартные тесты, начните изучать заглушки (stub). Под заглушкой тут понимается самописное приложение (Например, на Java+Spring) или готовый инструмент (WireMock, MockServer) для имитации работы приложения, с которым мы работаем при интеграционном взаимодействии. MockServer позволяет легко написать динамические и статические заглушки (что-то можно сделать и в fiddler для оперативности);
-
Настройте pipeline с включением прогона автотестов в инструменте непрерывной интеграции Jenkins (можно скачать docker образ).