«Сокращение времени регрессионного тестирования»Павел МоцарьКЮЕЙНАУЧФИЛЬМХарьков, 2010
Новый билд
Можно делать это и ночью
One-click testing!
Результаты тестирования
Интересны не сами результаты,а их сравнение
Регресс
Задача №1минимизировать количество ручных действий
Задача №2минимизировать время выполнения
Задача №3минимизировать количество тестовых серверов
Хорошо бы …Web-интерфейс для запуска сборки, запуска тестирования, анализа результатовИнтеграцию с системой контроля версийИнтеграцию с системой багтрекингаУправление массивом тестовых серверов и пользовательских машинв т.ч. использование слабо загруженных пользовательских машин для выполнения тестов в фоновом режимеМеханизм расписания и оповещений
Архитектура системыПользователиСервер БДТестовые сервераВеб-сервер
Условно клиентская частьлокальныйКЭШ ТЕСТОВTEST ROBOTтестыTEST RUNNERПРОДУКТСЕТЕВОЙ РЕСУРСуправлениеБАЗА ДАННЫХстатусрезультаты, логи
Условно серверная частьПозволяет создавать тестовые конфигурации
 запускать циклы «сборка версии продукта» – «регрессионное тестирование»
 просматривать результаты запуска, сравнения и историю
 управлять локальными «тестовыми роботами»Хранитзадания для тестовых машин
результаты и историю запусков тестовых конфигураций
логи упавших тестовСервер БДВеб-сервер
Тестирование «в одно нажатие»Сервер БДВеб-сервер
Локальный «тестовый робот»Пример структуры папок[test_robot][builds]	(установленныеверсии продуктов, подлежащих тестированию)[our_product_v1.3.1][our_product_v1.3.2]…[scripts]	(исполняемые и конфигурационные файлы локального робота)test_robot.pltest_robot.ini…[tests_cache]	(кэш тестовых наборов)test_group_A-ts512.tar.gztest_group_A-ts513.tar.gztest_group_B-ts513.tar.gz…[work]	(рабочая папка для выполнения тестов)[our_product_v1.3.1][test_group_A-ts512][our_product_v1.3.2][test_group_A-ts513][test_group_B-ts513]
Совет:Давайте удалённый доступ
Совет:Контроль времени на функциональных тестах тоже
Тестовая конфигурацияверсия продуктаплатформаверсиятест-сьютанастройки
Разработка на ветках
Решение о сборке билда
Тандемный принцип
Совет:Кластеры серверного пулаСервер БДВеб-серверHoney, I’m still freeTake a chance on me!
Совет: Декомпозировать test-suite
Совет:Параметры тестовых машин
Совет:Параметры тестовых машинBlueResource-specific testsGreenBlack
Совет:Ключевые слова для групп ПОИСКСЧЁТЧИККАТАЛОГКОРЗИНАИНТЕРФЕЙСИЗБРАННОЕБДAPILong
Совет:Подписка на события
Совет:Лог коммитов на билд – в письмо
Идея:Автоматизация багов
Когда?
Продукт
Прирост тестов
Время выполнения тест-сьютаперевалило за 2 часа
Ежедневная сборка
Осёдлан локальныйтестовый инструмент
Реализованные решения
Вкалывают роботы
Обычный вечер в отделе SQA
Есть время украсить отдел SQA
Экономия времениРаспределённое выполнениеИспользуем все машины  включая пользовательскиеРазработчики сами запускают,
ПО для регрессионного тестирования

Сокращение времени регрессионного тестирования