Тестируемый код Докладчик: Голубев Александр

advertisement
Тестируемый код
Докладчик: Голубев Александр
Зачем нужны тесты?
Зачем нужны тесты?
 Упрощение отладки
Зачем нужны тесты?
 Упрощение отладки
 Подтверждение корректности кода
Зачем нужны тесты?
 Упрощение отладки
 Подтверждение корректности кода
 Облегчение интеграции
Как тестировать?
Как тестировать?
 Проще всего – интеграционно!
 NUnit в помощь
Проблемы
 Двойное тестирование
Проблемы
 Двойное тестирование
 Вызовы на внешние сервисы
Модульные тесты
 Используем “фальшивые” реализации
интерфейсов (mocks)
 Описываем свои ожидания на:
 параметры методов
 порядок вызовов
 возвращаемые значения
 генерируемые исключения
Mock frameworks
Примеры
Всемогущи ли модульные тесты?
Всемогущи ли модульные тесты?
 SQL
 Файловая система
 Работа с сетью
Нагрузочные тесты
Как тестировать GUI?
Как тестировать GUI?
Функциональные тесты
Функциональные тесты
 WatiN
 Selenium
Кто должен писать тесты?
 Разработчик
Кто должен писать тесты?
 Разработчик
 Тестировщик (приёмочные тесты)
Заключение. Виды тестирования.
Заключение. Виды тестирования.
 Модульное
Заключение. Виды тестирования.
 Модульное
 Интеграционное
Заключение. Виды тестирования.
 Модульное
 Интеграционное
 Нагрузочное
Заключение. Виды тестирования.
 Модульное
 Интеграционное
 Нагрузочное
 Функциональное
Заключение. Виды тестирования.
 Модульное
 Интеграционное
 Нагрузочное
 Функциональное
 Приёмочное
Вывод
Написание тестов – не панацея от ошибок.
Однако, тесты помогают существенно
сократить их количество и повысить
надёжность кода.
Download