27
www.dotnetconf.ru Автоматизированное тестирование веб-приложений Вадим Кадученко

Автоматизированное тестирование веб приложений

Embed Size (px)

Citation preview

Page 1: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Автоматизированное тестирование

веб-приложенийВадим Кадученко

Page 2: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Проблемы

От ошибок никто не застрахован

Ошибки появляются ВНЕЗАПНО

Page 3: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Проблемы

Срочное исправление ошибок нервирует и

отнимает время

Page 4: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Решение

Автоматизированные интеграционные

тесты

Page 5: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Интеграционные тесты

Имитация действий пользователя

Page 6: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Доступ к программе как к «чёрному ящику»

Page 7: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Взаимодействие тестов с приложением

Действия с UI

Действия с БД

Программа – «чёрный ящик»

Page 8: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Интеграционные тесты

Код программы никак не изменяется

Page 9: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Проверка корректности теста

Проверка UI Проверка данных в БД

Программа – «чёрный ящик»

Перехват исходящих

e-mail

Page 10: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Взаимодействие с UI

Selenium для имитации действий пользователя

Page 11: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Page 12: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Взаимодействие с UI

Page 13: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Взаимодействие с базой данных

• Fluent NHibernate для работы с БД

• Тестировщик работает с эталонной базой данных

Page 14: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Роль интеграционных тестов в проекте

Интеграционные тесты – НЕ инструмент

нахождения багов!

Page 15: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Роль интеграционных тестов в проекте

Функциональность реализована только тогда,

когда на неё написан интеграционный тест

Page 16: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Схема разработки продукта

1)Unit-тест2)Код реализации3)Интеграционный тест4)Исправления в коде5)???6)PROFIT!

Page 17: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Схема разработки продукта

Программист не пишет интеграционные тесты

Page 18: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Схема разработки продукта

Интеграционные тесты применимы не только к

Web-приложениям

Page 19: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Преимущества интеграционных тестов

Лёгкость масштабных изменений в проекте

Page 20: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Преимущества интеграционных тестов

Легко обнаружить breaking changes в библиотеках и

фреймворках

Page 21: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Преимущества интеграционных тестов

Если ошибка исправлена, то она гарантированно не

появится снова

Page 22: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Преимущества интеграционных тестов

Раннее обнаружение ошибок обходится

дёшево

Page 23: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Преимущества интеграционных тестов

Автоматизированные тесты дешевле ручных

Page 24: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Возможные проблемы

Окружение для тестов сложное и долго

настраивается

Page 25: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Возможные проблемы

• Тесты сложно рефакторить, так как они проходят слишком долго.

• Из-за этого при написании тестов нарушается ритм работы программиста

Page 26: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Возможные проблемы

Опасность превращения тестов в нечитаемый и трудно

поддерживаемый код

Page 27: Автоматизированное тестирование веб приложений

www.dotnetconf.ru

Контакты и полезные ссылки

• Selenium: http://www.seleniumhq.org• Fluent NHibernate:

http://fluentnhibernate.org/

• Мой e-mail: [email protected]