ИзбранноеПечать

Эффективное использование TestNG и JUnit

 

Подробно рассматриваются встроенные возможности тестовых фреймворков и расширение их функциональности через специально предусмотренные интерфейсы.

Онлайн-тренинг, 1 месяц, 4 занятия

Описание

Фреймворки семейства 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 -- почти тестирование на основе моделей

Формат

Обучение происходит следующим образом:

В специальном закрытом разделе выкладывается запись очередного урока курса, ссылки на дополнительные материалы, домашняя работа.

Теоретическую информацию можно посмотреть в любое удобное время.

Помимо теоретической части, вас также ждут практические домашние задания, которые тщательно проверяются тренером. После проверки практических заданий Вы получаете оценку и подробный комментарий по своей работе и при необходимости советы по доработке. По результатам комментариев тренера Вы можете переделать домашнюю работу и улучшить свою оценку.

Общение участников курса и тренеров проходит и в скайп-чате учебной группы, где можно задавать вопросы тренеру и при желании общаться с другими участниками учебной группы. Каждый день тренер будет доступен в скайп-чате и каждый день будет отвечать на вопросы, Вы можете задавать вопросы по теоретическому материалу или домашней работе, как только они у вас возникают.

Все выпускники, успешно сдавшие домашние задания, получают сертификат.

Условия

Стоимость участия в тренинге для физических лиц: 5 300 рублей.

Стоимость участия для юридических лиц: 6 500 рублей за весь курс за одного участника. При регистрации от 3-х участников на один курс действует 15% скидка.

Оплатить прямо сейчас

Возможно прохождение уроков только по TestNG или JUnit.

Стоимость подключения к двум урокам для физических лиц: 3000 рублей, для юридических 3600 рублей.

Информация для физических лиц:

Услуги оказываются на основании публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ.

Если Вы хотите оплатить тренинг прямо сейчас, то нажмите кнопку выше для перехода в наш магазин и оформите покупку (если кнопка активна, значит можно оплачивать не беспокоясь о наличии мест). После оплаты мы пришлем письмо о регистрации на курс и подтверждение оплаты. Если Вы не получили письмо в течение рабочего дня, просто отправьте сообщение на trainings@software-testing.ru

Если Вы хотите совершить оплату позже, для гарантированного участия обязательно забронируйте место на тренинге, для этого необходимо нажать на кнопку ЗАПИСАТЬСЯ справа от тренинга и заполнить все необходимые поля

Если у Вас есть какие-то вопросы, их можно задать по указанному выше адресу.

По ссылке Вы можете ознакомиться с информацией о способах оплаты: http://software-testing.ru/buy/sposoby-oplaty

Информация для юридических лиц:

По вопросам оформления договора и выставления счета на оплату обращайтесь по адресу trainings@software-testing.ru. Обратите внимание, что при постоплате стоимость тренинга увеличивается на 25%.

Возможна оплата участия на условиях публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ. По вопросам выставления счета на оплату обращайтесь по адресу trainings@software-testing.ru

Отзывы

Денежкина Светлана Викторовна, «Аурига», тестовый инженер

Тренинг, безусловно, очень полезный, широко охватывает заявленную тему. Понравилась форма изложения материала - короткие видео плюс практические задания. Дружелюбный, открытый тренер, объясняет просто и доходчиво. Жаль, что не хватило времени выполнить все задания при условии занятости на работе.

Олейник Андрей Вячеславович, DataArt, QA Automation Engineer

Очень хорошее наполнение курса. Хорошая и полезная подборка материала. Но с моей точки зрения неплохо было бы больше внимания уделить параллельным запускам и особенностям в связи с этим. Неплохо было бы на эту тему сделать небольшое домашнее задание. Кроме того, неплохо было бы рассмотреть пример интеграци, например, с Jenkins. Возможно это выходит за рамки данного курса, но уверен, что тема востребована.

Анонимно

В целом всё довольно интересно и полезно, но, на мой взгляд, поменьше бы заданий повышенной сложности (где нужно что-то собрать из исходного кода или что-то что работает только на unix - подобных системах) и побольше бы разных случаев использование фикстур, правил, организации тестов и вообще побольше "домашки" средней степени сложности на разнообразные вещи, чтобы самим потрогать и повникать + побольше чего-нибудь, что не лежит на поверхности или можно скопипастить из образцов, а на подумать и помоделировать (как например про повторный запуск нестабильных тестов). А так всё ок, спасибо)) Спасибо Алексею за продуманность преподносимого материала. Особенно за разные замечания о том, что может не работать и почему и что нужно сделать, чтобы работало и как сделать лучше. Очень помогает)

Анонимно

Высший уровень подачи материала, за минимум времени, максимум знаний. Хорошо, что на каждый урок есть несколько маленьких лекций, а не одна длинная. Хорошо бы запускать примеры JUnit не только с Eclipse, но и через Jenkins. Некоторые вещи типа @Ignore через Jenkins работают не так гладко, как через Eclipse.

Цена: 5300 RUB
Место: онлайн
Начало: 1 сентября 2017
Окончание: 29 сентября 2017