Зачем авто-тесты нам нужны?
-
Upload
vitebsk-miniq -
Category
Software
-
view
98 -
download
0
Transcript of Зачем авто-тесты нам нужны?
Виталий Квятковский
Какие авто-тесты нам нужны?
Кто я
Пирамида тестирования
Типы автоматизированных тестов
Unit
Integration
Уровень интерфейса пользователя
Функциональные
Имитируют пользователя
Selenium
Другие
Нагрузочные
Usability
Unit/Integration тесты
Unit
Классы
Компоненты
Integration
Связи компонентов
Связи с внешними системами
Что тестирует?
TDD
Continuous Integration
Unit тесты: Инструменты
JUnit
TestNG
Mock-фреймворки
Integration тесты: Инструменты
Тестирование с помощью фейков
Базы данных
- In-memory fakes (H2/derby/sqlite)
- Или отдельный инстанс для тестирования
Файловая система
- Commons VFS
- Java 7: jimfs
REST Сервисы
- MockServer
- Jetty
Функциональное тестирование
ATDD (Acceptance TDD)
Нестабильны
Медленны
Запускаются против выделенного окружения
Не часть Continuous Integration (smoke test)
Selenium (Selenide, Headless drivers)
Можем ли все автоматизировать?
Да
Нет
Можно ли все автоматизировать (опрос)?
36%
64%
ДаНет
Что автоматизировать (опрос)
1. Smoke-тесты
2. Сложные/трудоемкие
3. End-to-End тесты
4. Регрессионные тесты
5. Редко меняющиеся
6. API/UI
Что автоматизировать?
Регрессионное тестирование
Рутинные операции
Допустимые конфигурации (аппаратного обеспечения,ОС)
Нагрузочное тестирование
Ввод больших массивов данных
Где автоматическая верификация более предпочтительна
Сложные расчеты
Зачем автоматизировать (опрос)
1. Скорость выполнения тестов
2. Экономия времени тестировщика
3. Уверенность разработчика
4. Устранить человеческий фактор
5. Опыт в чем-то новом
Зачем автоматизировать
Исключить человеческий факторнадежнее
Оптимизация использования времени тестировщика
Скорость
Автоматический отчет о тестировании
Выполнение в фоне
Недостатки (опрос)
1. Стоимость поддержки
2. Стоимость разработки
3. Сложно писать
4. Время
5. Качество должно быть выше
6. НЕ ad-hoc тестирование
Недостатки
Стоимость и время разработки
Квалификация автоматизатора
Затраты на поддержку
Однотипность
Разработка каркаса – большие затраты
Авто-тесты – Вариант 1
Unit-тесты
Integration-тесты
Ручное тестирование
Авто-тесты – Вариант 2
Unit-тесты
Integration-тесты
UI-тесты
+ немножечко ручного тестирования…
Вопросы и ответы
Спасибо за внимание!