Чек-лист для начинающего автотестера на 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 образ).


Автор: Андрей Терёшин