От простого к сложному: автоматизируем ручные...
TRANSCRIPT
От простого к сложному:Автоматизация тестирования
Тимченко Сергей[email protected]
Первый тест
Первый автоматический тест
1
Старт автоматизацииВремя
Количество тестов
Первый тест:
• CLI – значение exit code
• GUI – появление окна
• Сервис – состояние
• Web – Get “/” 200 OK
0
Фреймворк
Использование фреймворка
Цель: Сэкономить время
Решаемые задачи:• Диагностика ошибок – место возникновения, используемые данные
• Выборочный запуск тестов – по группам, тегам, части имени
• Визуализация результатов – построение отчета, расчёт статистики
• Сравнение результатов – стабильность падения/прохождения
• Интеграция с системой сборки – специализированные форматы отчетов,
публикация артефактов тестирования
Тестовый клиент
Тестовый клиент
Цель: Оставить в тесте только важное
Решаемые задачи: • Реализация контрактов
• Упрощение структур данных
• Значения по умолчанию
• Встраивание проверок в действия
Бонус: возможность использовать одни
и те же тесты с разными реализациями клиента
Data Driven Testing
Data Driven Testing
Цель: Уменьшить количество кода
Плюсы:
• Сокращение затрат на поддержку
• Проще расширять покрытие
• Единообразие проверок
• Возможность проверять глубже
Data Driven Testing
Тест 2Действия
ПроверкаОжидаемый результат
Исходные данные
Тест 1Действия
ПроверкаОжидаемый результат
Исходные данные
Тест 2
Ожидаемый результат 2
Исходные данные
СценарийДействия
Проверка
Тест 1
Ожидаемый результат 1
Исходные данные
Было Стало
Data Driven Testing
Механизм контроля отклонений• Автоматизация решения проблемы нестабильности данных (текущее время, список процессов)• Фиксация имеющегося некорректного поведения (баги заведены, но в процессе исправления)
Отклонения: Все = Ожидаемые + Неожиданные (ручной разбор)
Data Driven Testing
Исходные данные
Эталонный результат Неожиданные отклонения
Отчёт
Keyword Driven Testing
Keyword Driven Testing
Цель: Автоматизированное выполнение ручных тестов
Плюсы:
• Автоматизатор – автоматизирует
• Тестирует – тестировщик
• Повышение формальности тестов
• Высокая детализация отчета о выполнении
Бонус: инструмент для автоматизации вне рамок тестирования
(первичное наполнение данными, демонстрация функциональности)
Keyword Driven Testing
Ручной тест
Автоматический тестОписание
Шаги
Логирование
Шаги
Было Стало
Данные
Тест
Шаги
Данные
Данные
Keyword Driven Testing
Текст теста
Отчет о выполнении
Keyword Driven Testing
Состав
Действие
Благодарю за внимание!
ptsecurity.com