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

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

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

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

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

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

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

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