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

Тренинг сайт события http://software-testing.ru/trainings/schedule?task=3&cid=222&sem_midx=2&sem_jidx=0

Добавить в календарь:
Поделиться:

Фреймворки семейства xUnit -- это основа основ автоматизированного тестирования. Они используются для организации и запуска тестов и сбора информации о результатах тестирования, то есть решают одну из ключевых задач автоматизации тестирования.

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

В этом тренинге рассматриваются два наиболее популярных тестовых фреймворка для языка программирования Java -- JUnit и TestNG.

Начать работать с этими фреймворками несложно. Однако опыт показывает, что большинство автоматизаторов использует лишь незначительную часть возможностей, которые предоставляют тестовые фреймворки.

Но может быть эти “продвинутые” возможности просто не нужны, поэтому и не используются?

Увы, часто тестировщики-автоматизаторы строят сложные конструкции из “костылей” и изобретают самодельные велосипеды, не подозревая о том, что нужная функциональность может быть реализована гораздо более простым способом.

Из тренинга вы узнаете, как организовывать тесты в группы, как их запускать в нужном порядке, как правильно описывать зависимости между тестами, как реализовать “мягкие” и “жесткие” проверки, как сделать тесты параметризованными, как реализовать загрузку данных из разных источников и применять подход DDT (data-driven testing), как автоматически перезапустить упавшие тесты и ещё многое другое.

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

Формат курса

Онлайн-тренинг продолжительностью 4 занятия по 1,5 часа с еженедельными онлайн-консультациями и практическими домашними заданиями.

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

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

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

Первая консультация будет 2 сентября. И дальше точные даты консультаций 2, 9, 16, 23 сентября с 15-00 до 15-30 по московскому времени.

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

Технические требования

Онлайн-курсы организуются с использованием системы GoToWebinar.

С системными требованиями можно ознакомиться здесь: (раздел "System Requirements & Purchasing", ответ на вопрос "What are the system requirements for running GoToMeeting, GoToWebinar or GoToTraining?"). Ничего устанавливать или платить участникам за эту систему не нужно. Вам просто нужно будет подключиться по ссылке, которую вышлют организаторы.

Необходимы наушники или другая акустическая система, чтобы слушать ведущего. Микрофон не требуется, участники задают вопросы письменно.

В случае возможных технических сбоев с ведущим можно будет связаться через систему Skype.

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

Комментарии (0):

Оставлять комментарии могут только зарегистрированные пользователи

Для получения embed кода необходимо кликнуть правой
кнопкой мыши на видео и выбрать пункт меню
'Сгенерировать HTML код'

Стоимость участия в тренинге – 5 000 рублей.

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

Онлайн-курсы организуются с использованием системы GoToWebinar.

Онлайн-тренинг продолжительностью 4 занятия по 1,5 часа с еженедельными онлайн-консультациями и практическими домашними заданиями.

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

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

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

Первая консультация будет 2 сентября. И дальше точные даты консультаций 2, 9, 16, 23 сентября с 15-00 до 15-30 по московскому времени.

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

Забыли пароль? Регистрация