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

Post on 20-Jun-2015

3.180 views 0 download

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

www.dotnetconf.ru

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

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

www.dotnetconf.ru

Проблемы

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

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

www.dotnetconf.ru

Проблемы

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

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

www.dotnetconf.ru

Решение

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

тесты

www.dotnetconf.ru

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

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

www.dotnetconf.ru

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

www.dotnetconf.ru

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

Действия с UI

Действия с БД

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

www.dotnetconf.ru

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

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

www.dotnetconf.ru

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

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

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

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

e-mail

www.dotnetconf.ru

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

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

www.dotnetconf.ru

www.dotnetconf.ru

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

www.dotnetconf.ru

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

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

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

www.dotnetconf.ru

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

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

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

www.dotnetconf.ru

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

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

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

www.dotnetconf.ru

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

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

www.dotnetconf.ru

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

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

www.dotnetconf.ru

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

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

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

www.dotnetconf.ru

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

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

www.dotnetconf.ru

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

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

фреймворках

www.dotnetconf.ru

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

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

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

www.dotnetconf.ru

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

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

дёшево

www.dotnetconf.ru

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

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

www.dotnetconf.ru

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

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

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

www.dotnetconf.ru

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

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

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

www.dotnetconf.ru

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

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

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

www.dotnetconf.ru

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

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

http://fluentnhibernate.org/

• Мой e-mail: vadim.kaduchenko@gmail.com