Виктор Жданов
октябрь 2018.
1572

Хочу устроиться в компанию в качестве тестировщика ПО, какие есть материалы для обучения, особенно по изучению Java для?

Ответить
Ответить
Комментировать
0
Подписаться
3
1 ответ
Поделиться

Добрый день, Виктор. Для автоматизации тестирования понадобятся базовые знания языка Java, рекомендую выбрать восьмую версию. Чтобы вы не тратили время на изучение "лишних" тем, перечислю их по степени важности. Комментарии типа "знать на базовом уровне” означают, что для начала работы достаточно базовых знаний, но в процессе, само собой, их придется углубить.

Обязательно нужно знать:

  • [Базовые инструменты] Java Development Kit (JDK), IntelliJ IDEA (или любая другая среда разработки)

  • [Java Core] База (переменные, типы данных, циклы, массивы, методы, пакеты, константы, операторы, кодовые блоки)

  • [Java Core] ООП (классы, объекты, конструкторы, наследование, инкапсуляция, полиморфизм, немного интерфейсы, класс Object, static, модификаторы доступа)

  • [Java Core] Коллекции (List, ArrayList, HashSet, HashMap)

  • [Java Core] Исключения

  • [Java Core] Работа со строками

  • [Инструменты] Основы Maven (создание проектов, подключение зависимостей/библиотек, запуск тестов)

  • [Инструменты] Скорее всего придется иметь дело с библиотекой TestNG (отвечающей собственно за написание тестов), поэтому ее нужно знать хотя бы на базовом уровне (Assert, @Test, @DataProvider, testng.xml)

  • [Инструменты] Какой-нибудь фреймворк для логирования (например, Log4J2). Тоже на базовом уровне (создание логера и логирование событий), углубляться в настройки большого смысла нет.

  • [Java Core] —  из обязательного блока можно разобрать по любой книге по Java.

Что может помочь:

  • Stream API (продвинутая техника обработки данных, может быть сложна для начинающего изучать Java)

  • Анонимные классы, лямбды (к теме Stream API)

  • Многопоточность (В тестировании вряд ли придется писать многопоточный код, поэтому из этой темы можете разобрать только вопросы о том, что такое потоки и как их можно запускать. Углубляться в эту тему не стоит)

  • JDBC (может быть полезно подключаться к БД и вытягивать оттуда данные)

  • Потоки ввода/вывода (может быть придется немного поработать с файлами)

  • Перечисления (enum) могут быть полезными в некоторых задачах

Совсем не нужные темы:

  • Reflection API (если только не захотите разобраться, как работают аннотации)

  • Обобщения (если всю базу уже разобрали, можете посмотреть в сторону обобщений)

  • Графический интерфейс (awt, swing, javafx) — сто процентов бесполезные темы

  • Сокеты

  • Внутренние, вложенные, локальные классы (нужны только анонимные внутренние классы)

Необходимо понимать смежные с Java темы:

  • HTTP

  • REST/SOAP сервисы (если говорим о тестировании этих сервисов)

  • Структура веб-страниц, селекторы, HTML

  • Очень может пригодиться знание SQL

В зависимости от задач, к описанному выше добавится:

  • Jenkins или GitLab CI

  • SoapUI (тестирование SOAP/REST сервисов)

  • JMeter (нагрузочное тестирование)

  • Docker

  • Selenium Grid

Обязательным инструментом для автоматизации тестирования в настоящий момент является библиотека Selenium (Selenium WebDriver, не имеет смысла начинать работу с версии младше третьей). По ней можно найти довольно много материалов в интернете, с ходу могу назвать точно 3 сайта с очень большим количеством полезной информации: Guru99, ToolsQA, SeleniumHQ.

У нас, на образовательном портале GeekBrains, есть курсы как по изучению Java (например, Java.Уровень 1, Java для чайников: интенсив “Основы программирования Java”, факультет Java-разработки GeekUniversity), так и по тестированию (Тестировщик ПО, Инженер автоматизированного тестирования ПО).

5
0
Прокомментировать
Ответить
Читайте также на Яндекс.Кью
Читайте также на Яндекс.Кью