А вы знаете что тестируют ваши тесты?
Николай Алименковhttp://xpinjection.com
21.04.2012
Немного обо мне• Java Technical Lead/Scrum Master в компании
Zoral Labs• 7+ лет в разработке• 5+ применяю Agile подходы• Эксперт в Agile инженерных
практиках• Основатель и тренер в XP Injection• Организатор и идеолог конференций
Selenium Camp, JEEConf, XP Days Ukraine, IT Brunch
Для чего нужны тесты?
У нас есть требования
Разработчики трудятся над
кодом
Тесты сводят все воедино
Браузер
Какие требования покрыты тестами?
Вопрос #1
Определяем требованияМодуль
Функция системы
Сценарий использования
Привязываем к ним тесты
Ссылки на задачи
Имя тестового набора
Сценарий использования
Необязательно писать все тесты сразу
Ссылка на задачу
Имя тестового сценария
Еще не реализован
Интеграция с системами управления проектами
• Двухсторонняя• Обновление статуса• Применение правил
Что мы получаем на выходе?
Основная информация
Статистика и статусы
Общая картина по модулю
Иерархия функций и статус тестов
Отчеты по всем функциям и сценариям
Покрытие, прогресс и связанность
Детальный отчет по каждому тесту с шагами
Время, шаги, данные и скриншоты
ВРЕМЯ ПОКАЗАТЬ ФОКУС!
Какую часть кода мы
протестировали?
Вопрос #2
Как же измерить покрытие?Берем код
Собираем и инструментируем
Загружаем на веб-сервер
Используем браузер
Ручное тестирование
Автотесты
Сохраняем отчеты
Запускаем функциональные тесты (часть 1)
продолжение следует…
Запускаем функциональные тесты (часть 2)
Стартуем и останавливаем Tomcat (часть 1)
продолжение следует…
Стартуем и останавливаем Tomcat (часть 2)
Подключаем JaCoCo
Открываем отчеты в Sonar
ВРЕМЯ ПОКАЗАТЬ ФОКУС!
Какие части UI покрыты тестами?
Вопрос #3
Selenium IDE + Page Coverage
Подсветка + Скриншоты
• Обертка над WebElement• CSS стили• Все элементы подряд• Скриншот на “ключевые” события
Статистика + Тепловая карта
• Шаблон Page Object• Обертка над WebElement• Координаты элементов• Размеры элементов• Группировка скриншотов
ВРЕМЯ ПОКАЗАТЬ ФОКУС!
Менеджеры счастливы!
Успешное тестирование
прозрачно и предсказуемо
@xpinjectionhttp://xpinjection.com
[email protected]