Эффективное использование TestNG и JUnit
Подробно рассматриваются встроенные возможности тестовых фреймворков и расширение их функциональности через специально предусмотренные интерфейсы.
Онлайн-тренинг
Описание
Фреймворки семейства xUnit -- это основа основ автоматизированного тестирования. Они используются для организации и запуска тестов и сбора информации о результатах тестирования, то есть решают одну из ключевых задач автоматизации тестирования.
Однако наши многочисленные тренинги по автоматизации уделяют недостаточно внимания этому важнейшему аспекту разработки автотестов, поэтому мы решили добавить в линейку тренинг, специально посвященный эффективному использованию тестовых фреймворков.
В этом тренинге рассматриваются два наиболее популярных тестовых фреймворка для языка программирования Java -- JUnit и TestNG.
Начать работать с этими фреймворками несложно. Однако опыт показывает, что большинство автоматизаторов использует лишь незначительную часть возможностей, которые предоставляют тестовые фреймворки.
Но может быть эти “продвинутые” возможности просто не нужны, поэтому и не используются?
Увы, часто тестировщики-автоматизаторы строят сложные конструкции из “костылей” и изобретают самодельные велосипеды, не подозревая о том, что нужная функциональность может быть реализована гораздо более простым способом.
Из тренинга вы узнаете, как организовывать тесты в группы, как их запускать в нужном порядке, как правильно описывать зависимости между тестами, как реализовать “мягкие” и “жесткие” проверки, как сделать тесты параметризованными, как реализовать загрузку данных из разных источников и применять подход DDT (data-driven testing), как автоматически перезапустить упавшие тесты и ещё многое другое.
Материал разбит на два уровня сложности: использование встроенных возможностей тестового фреймворка и расширение функциональности фреймворка через специально предусмотренные интерфейсы расширения.
TestNG, Level 1
1. Подготовка к использованию
- интеграция со средами разработки
- интеграция со сборщиками Maven, Ant, Gradle
2. Формирование тестового набора, основные аннотации @Test, @BeforeX, @AfterX
3. Assert и Assertion
4. Конфигурационный файл
5. Зависимости между тестами, порядок выполнения
6. Группы тестов
7. Параметризация тестов
- через конфигурационный файл
- через @DataProvider
8. Параллельное выполнение тестов
TestNG, Level 2
1. Фабрики тестов @TestFactory
- параметризация провайдеров данных
- конфигурационное тестирование
- построение сложных сценариев из простых блоков
2. Использование Listeners
- IMethodInterceptor (пример: упорядочивание тестов)
- IHookable (пример: немедленное повторение “упавших” тестов)
- IAnnotationTransformer2 (пример: игнорирование тестов, помеченных специальной аннотацией)
3. Инъекция информации о тестах и результатах в @BeforeX, @AfterX, @Test и @DataProvider
- протоколирование выполнения тестов
- дополнительные аннотации, управляющие окружением (пример: перезапуск браузера перед определёнными тестами)
- универсальные провайдеры данных (пример: загрузка тестовых данных из файлов)
- автоматическое снятие скриншотов, видеозапись хода выполнения тестов
JUnit, Level 1
1. Подготовка к использованию
- интеграция со средами разработки
- интеграция со сборщиками Maven, Ant, Gradle
2. Формирование тестового набора, основные аннотации @Test, @Suite, @BeforeX, @AfterX
3. Assert и Assume
4. Стандартные “расширенные” запускатели тестов
- группировка тестов в категории (Categories)
- параметризация тестов (Parametrized)
5. @Rule, замена @BeforeX и @AfterX правилами
JUnit, Level 2
1. Более сложные правила
- параметризация тестов, в том числе загрузка данных из файлов
- немедленное повторение “упавших” тестов
- автоматическое снятие скриншотов, видеозапись хода выполнения тестов
- дополнительные аннотации (пример: игнорирование тестов, помеченных специальной аннотацией, перезапуск браузера перед определёнными тестами)
2. @RunsWith -- самодельные запускатели тестов
- конфигурационное тестирование
- порядок выполнения тестов
- дополнительные аннотации (пример: игнорирование тестов, помеченных специальной аннотацией, перезапуск браузера перед определёнными тестами)
3. @Theories -- почти тестирование на основе моделей
Формат
4 занятия (6 часов теории) + много практических заданий для самостоятельной работы + постоянные консультации тренера в чате.
Раз в неделю по пятницам до 12.00 по Московскому времени выкладываются теоретические лекции, ссылки на дополнительные материалы, домашняя работа.
Теоретическую информацию можно посмотреть в любое удобное время.
Помимо теоретической части, вас также ждут практические задания для самостоятельной работы, которые вы можете прислать тренеру на проверку. После проверки практических заданий Вы получаете подробный комментарий по своей работе и при необходимости советы по доработке. По результатам комментариев тренера Вы можете переделать работу и отправить ее тренеру еще раз.
Общение участников курса и тренера проходит и в чате группы, где можно задавать вопросы тренеру и при желании общаться с другими участниками группы. Вы можете задавать вопросы по теоретическому материалу или практическим работам, как только они у вас возникают.
Все выпускники, успешно сдавшие домашние задания, получают сертификат.
Материалы курса доступны в течение года с даты окончания.
Условия
Стоимость участия в тренинге для физических лиц: 5 300 рублей.
Стоимость участия для юридических лиц: 7 000 рублей за весь курс за одного участника. При регистрации от 3-х участников на один курс действует 15% скидка.
Возможно прохождение уроков только по TestNG или JUnit.
Стоимость подключения к двум урокам для физических лиц: 3000 рублей, для юридических 3600 рублей.
Организатор тренинга: ИП Баранцев Алексей Владимирович, ИНН 501208546235, ОГРНИП 309501211900065
Информация для физических лиц:
Услуги оказываются на основании публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ.
Если Вы хотите оплатить тренинг прямо сейчас, то нажмите кнопку выше для перехода в наш магазин и оформите покупку (если кнопка активна, значит можно оплачивать не беспокоясь о наличии мест). После оплаты мы пришлем письмо о регистрации на курс и подтверждение оплаты. Если Вы не получили письмо в течение рабочего дня, просто отправьте сообщение на trainings@software-testing.ru
Если Вы хотите совершить оплату позже, для гарантированного участия обязательно забронируйте место на тренинге, для этого необходимо нажать на кнопку ЗАПИСАТЬСЯ справа от тренинга и заполнить все необходимые поля.
Если у Вас есть какие-то вопросы, их можно задать по указанному выше адресу.
По ссылке Вы можете ознакомиться с информацией о способах оплаты: http://software-testing.ru/buy/sposoby-oplaty
Информация для юридических лиц:
Для регистрации на тренинг и оформления договора и выставления счета на оплату нажмите кнопку Записаться, выберите пункт Организация и заполните все поля.
Обратите внимание, что при постоплате стоимость тренинга увеличивается на 25%.
В случае возникновения вопросов обращайтесь по адресу trainings@software-testing.ru.
Отзывы
Денежкина Светлана Викторовна, «Аурига», тестовый инженер
Тренинг, безусловно, очень полезный, широко охватывает заявленную тему. Понравилась форма изложения материала - короткие видео плюс практические задания. Дружелюбный, открытый тренер, объясняет просто и доходчиво. Жаль, что не хватило времени выполнить все задания при условии занятости на работе.
Олейник Андрей Вячеславович, DataArt, QA Automation Engineer
Очень хорошее наполнение курса. Хорошая и полезная подборка материала. Но с моей точки зрения неплохо было бы больше внимания уделить параллельным запускам и особенностям в связи с этим. Неплохо было бы на эту тему сделать небольшое домашнее задание. Кроме того, неплохо было бы рассмотреть пример интеграци, например, с Jenkins. Возможно это выходит за рамки данного курса, но уверен, что тема востребована.
Анонимно
В целом всё довольно интересно и полезно, но, на мой взгляд, поменьше бы заданий повышенной сложности (где нужно что-то собрать из исходного кода или что-то что работает только на unix - подобных системах) и побольше бы разных случаев использование фикстур, правил, организации тестов и вообще побольше "домашки" средней степени сложности на разнообразные вещи, чтобы самим потрогать и повникать + побольше чего-нибудь, что не лежит на поверхности или можно скопипастить из образцов, а на подумать и помоделировать (как например про повторный запуск нестабильных тестов). А так всё ок, спасибо)) Спасибо Алексею за продуманность преподносимого материала. Особенно за разные замечания о том, что может не работать и почему и что нужно сделать, чтобы работало и как сделать лучше. Очень помогает)
Анонимно
Высший уровень подачи материала, за минимум времени, максимум знаний. Хорошо, что на каждый урок есть несколько маленьких лекций, а не одна длинная. Хорошо бы запускать примеры JUnit не только с Eclipse, но и через Jenkins. Некоторые вещи типа @Ignore через Jenkins работают не так гладко, как через Eclipse.
Ближайшие онлайн
-
Автоматизатор мобильных приложений
Начало: 13 ноября 2024
-
Автоматизация тестирования REST API на Java
Начало: 13 ноября 2024
-
Автоматизация тестирования REST API на Python
Начало: 13 ноября 2024
-
Тестирование безопасности
Начало: 13 ноября 2024
-
Тестирование мобильных приложений 2.0
Начало: 13 ноября 2024
-
Python для начинающих
Начало: 14 ноября 2024
-
Азбука IT
Начало: 14 ноября 2024
-
Тестирование GraphQL API
Начало: 14 ноября 2024
-
Школа для начинающих тестировщиков
Начало: 14 ноября 2024
-
Автоматизация функционального тестирования
Начало: 15 ноября 2024
-
Программирование на Java для тестировщиков
Начало: 15 ноября 2024
-
SQL для тестировщиков
Начало: 18 ноября 2024
-
Техники локализации плавающих дефектов
Начало: 18 ноября 2024
-
Тестировщик ПО: интенсивный курс со стажировкой (ПОИНТ)
Начало: 19 ноября 2024
-
Школа тест-менеджеров v. 2.0
Начало: 20 ноября 2024
-
Charles Proxy как инструмент тестировщика
Начало: 21 ноября 2024
-
CSS и Xpath: инструменты тестировщика
Начало: 21 ноября 2024
-
Автоматизация тестов для REST API при помощи Postman
Начало: 21 ноября 2024
-
Инженер по тестированию программного обеспечения
Начало: 21 ноября 2024
-
Программирование на C# для тестировщиков
Начало: 22 ноября 2024