21 ак. час.
- Разработчики, самостоятельно покрывающие свой код модульными и UAT-тестами
- Автоматизированные тестировщики и тест-дизайнеры
- Разработчики смогут проектировать сфокусированные поддерживаемые модульные и UI-тесты
- Разработчики и тестировщики смогут реализовать на Java автономные тесты отдельных компонентов
- Разработчики и тестировщики смогут реализовать на Java UI-тесты веб-приложений
- Разработчики и тестировщики смогут осознанно выбирать сценарии для покрытия и обеспечивать его обоснованный уровень
- Какие существуют test scopes? В чем разница?
- Критерии востребованности test scopes в зависимости от проектной модели
- Как обеспечить автономность модульного тестирования?
- Какие этапы можно выделить в тестовом сценарии? Какой опциональный этап забыли?
- Что именно покрывает тестовый сценарий?
- Какой наилучший способ расчета покрытия?
- Какая разница между интерфейсом, контрактом и спецификацией?
- Как можно сформулировать признаки тестопригодного дизайна системы?
- Практика: тест-дизайн и обоснованный выбор покрытия для legacy-системы
- Как описать тест-кейс?
- Как описать тестовый сценарий?
- Что забываем как четвертый шаг теста?
- Как задать тайм-аут выполнения теста?
- Как задать альтернативный тестовый сценарий?
- Каковы механизмы расширения функциональности тестов? Запускальщики и Правила
- Отдельно про @InjectMocks
- Как сделать параметризованный тестовый сценарий?
- Как группировать тесты в группы?
- Более гибкий способ группировки тестов
- Как обеспечить упрощение и читабельность проверок? Hamcrest и FEST
- Как можно обеспечить повторное использование фикстур? @BeforeXXX и FixtureBuilders
- Что из себя представляет проектный test framework?
- Как обеспечить автономность модульного теста?
- В чем разница между различными видами тест-дублеров?
- Как верифицировать и валидировать сами тесты?
- Практика: обоснованный выбор покрытия и реализация поддерживаемых модульных тестов для legacy-системы с контролем покрытия через Sonar и библиотеку пермутационного тестирования PIT
- Демо: тест-дублирование REST-сервисов в интеграционном тесте – WireMock и MockMVC
Системное UI-тестирование на Selenium
- Как можно покрыть тестами UI системы?
- Можно ли не запускать браузер в процессе UI-тестирования?
- Какова типичная структура системного UI-теста?
- Демо: автогенерация Selenium-теста из записи действий пользователя
- Обзор фич
- Как обеспечить переход по URL?
- Как обеспечить локализацию элементов на HTML-странице?
- Как обеспечить ввод в HTML-элементы ввода?
- Как работать из теста с асинхронными элементами?
- Как обеспечить поддерживаемость тестов: изоляцию от структуры страниц, от переходов между страницам?
- Практика: обоснованный выбор покрытия и реализация поддерживаемых системных UI-тестов для legacy веб-приложения с контролем покрытия через Sonar
- Что такое тестовый DSL? И почему BDD не про библиотеки и фреймворки.
- Как тестовый DSL помогает ускорить разработку и поддержку тестов? Или не помогает.
- Как фреймворк может нам помочь в разработке и поддержке тестового DSL?
- Как писать тест на Cucumber DSL?
- Как отобразить тестовый Cucumber DSL на java-код?
- Практика: перенос готовых системных UI-тестов на Cucumber BDD