Слайд 2Проблемы
От ошибок никто не застрахован
Ошибки появляются ВНЕЗАПНО
![Проблемы От ошибок никто не застрахован Ошибки появляются ВНЕЗАПНО](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-1.jpg)
Слайд 3Проблемы
Срочное исправление ошибок нервирует и отнимает время
![Проблемы Срочное исправление ошибок нервирует и отнимает время](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-2.jpg)
Слайд 4Решение
Автоматизированные интеграционные тесты
![Решение Автоматизированные интеграционные тесты](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-3.jpg)
Слайд 5Интеграционные тесты
Имитация действий пользователя
![Интеграционные тесты Имитация действий пользователя](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-4.jpg)
Слайд 6 Доступ к программе как к «чёрному ящику»
![Доступ к программе как к «чёрному ящику»](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-5.jpg)
Слайд 7Взаимодействие тестов с приложением
Действия с UI
Действия с БД
Программа –
«чёрный ящик»
![Взаимодействие тестов с приложением Действия с UI Действия с БД Программа – «чёрный ящик»](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-6.jpg)
Слайд 8Интеграционные тесты
Код программы никак не изменяется
![Интеграционные тесты Код программы никак не изменяется](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-7.jpg)
Слайд 9Проверка корректности теста
Проверка UI
Проверка данных в БД
Программа –
«чёрный ящик»
Перехват исходящих e-mail
![Проверка корректности теста Проверка UI Проверка данных в БД Программа – «чёрный ящик» Перехват исходящих e-mail](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-8.jpg)
Слайд 10Взаимодействие с UI
Selenium для имитации действий пользователя
![Взаимодействие с UI Selenium для имитации действий пользователя](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-9.jpg)
Слайд 13Взаимодействие с базой данных
Fluent NHibernate для работы с БД
Тестировщик работает с эталонной
![Взаимодействие с базой данных Fluent NHibernate для работы с БД Тестировщик работает с эталонной базой данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-12.jpg)
базой данных
Слайд 14Роль интеграционных тестов в проекте
Интеграционные тесты – НЕ инструмент нахождения багов!
![Роль интеграционных тестов в проекте Интеграционные тесты – НЕ инструмент нахождения багов!](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-13.jpg)
Слайд 15Роль интеграционных тестов в проекте
Функциональность реализована только тогда, когда на неё написан
![Роль интеграционных тестов в проекте Функциональность реализована только тогда, когда на неё написан интеграционный тест](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-14.jpg)
интеграционный тест
Слайд 16Схема разработки продукта
Unit-тест
Код реализации
Интеграционный тест
Исправления в коде
???
PROFIT!
![Схема разработки продукта Unit-тест Код реализации Интеграционный тест Исправления в коде ??? PROFIT!](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-15.jpg)
Слайд 17Схема разработки продукта
Программист не пишет интеграционные тесты
![Схема разработки продукта Программист не пишет интеграционные тесты](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-16.jpg)
Слайд 18Схема разработки продукта
Интеграционные тесты применимы не только к Web-приложениям
![Схема разработки продукта Интеграционные тесты применимы не только к Web-приложениям](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-17.jpg)
Слайд 19Преимущества интеграционных тестов
Лёгкость масштабных изменений в проекте
![Преимущества интеграционных тестов Лёгкость масштабных изменений в проекте](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-18.jpg)
Слайд 20Преимущества интеграционных тестов
Легко обнаружить breaking changes в библиотеках и фреймворках
![Преимущества интеграционных тестов Легко обнаружить breaking changes в библиотеках и фреймворках](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-19.jpg)
Слайд 21Преимущества интеграционных тестов
Если ошибка исправлена, то она гарантированно не появится снова
![Преимущества интеграционных тестов Если ошибка исправлена, то она гарантированно не появится снова](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-20.jpg)
Слайд 22Преимущества интеграционных тестов
Раннее обнаружение ошибок обходится дёшево
![Преимущества интеграционных тестов Раннее обнаружение ошибок обходится дёшево](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-21.jpg)
Слайд 23Преимущества интеграционных тестов
Автоматизированные тесты дешевле ручных
![Преимущества интеграционных тестов Автоматизированные тесты дешевле ручных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-22.jpg)
Слайд 24Возможные проблемы
Окружение для тестов сложное и долго настраивается
![Возможные проблемы Окружение для тестов сложное и долго настраивается](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-23.jpg)
Слайд 25Возможные проблемы
Тесты сложно рефакторить, так как они проходят слишком долго.
Из-за этого при
![Возможные проблемы Тесты сложно рефакторить, так как они проходят слишком долго. Из-за](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-24.jpg)
написании тестов нарушается ритм работы программиста
Слайд 26Возможные проблемы
Опасность превращения тестов в нечитаемый и трудно поддерживаемый код
![Возможные проблемы Опасность превращения тестов в нечитаемый и трудно поддерживаемый код](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422722/slide-25.jpg)