Upload
sqalab
View
984
Download
5
Embed Size (px)
DESCRIPTION
Доклад Моцарь Павла на SQA Days 7
Citation preview
«Сокращение времени регрессионного тестирования»
Павел Моцарь
КЮЕЙНАУЧФИЛЬМХарьков, 2010
Новый билд
Можно делать это и ночью
One-click testing!
Результаты тестирования
Интересны не сами результаты,а их сравнение
Регресс
Задача №1
• минимизировать количество ручных действий
Задача №2• минимизировать время выполнения
Задача №3
• минимизировать количество тестовых серверов
Хорошо бы …
• Web-интерфейс для запуска сборки, запуска тестирования, анализа результатов
• Интеграцию с системой контроля версий• Интеграцию с системой багтрекинга• Управление массивом тестовых серверов и
пользовательских машин– в т.ч. использование слабо загруженных
пользовательских машин для выполнения тестов в фоновом режиме
• Механизм расписания и оповещений
Архитектура системы
Пользователи
Веб-сервер
Сервер БДТестовые сервера
Условно клиентская часть
TEST
RO
BOT
TEST
RU
NN
ER ПРОДУКТ
СЕТЕВОЙ РЕСУРС
БАЗА ДАННЫХ
локальныйКЭШ ТЕСТОВ
тесты
упра
влен
ие
результаты, логи
статус
Позволяет
• создавать тестовые конфигурации• запускать циклы «сборка версии продукта» – «регрессионное тестирование»• просматривать результаты запуска, сравнения и историю• управлять локальными «тестовыми роботами»
Условно серверная часть
Веб-сервер
Сервер БД Хранит
• задания для тестовых машин• результаты и историю запусков тестовых конфигураций• логи упавших тестов
Тестирование «в одно нажатие»
Веб-сервер
Сервер БД
Локальный «тестовый робот»Пример структуры папок
• [test_robot]– [builds] (установленные версии продуктов, подлежащих тестированию)
• [our_product_v1.3.1]• [our_product_v1.3.2]• …
– [scripts] (исполняемые и конфигурационные файлы локального робота)• test_robot.pl• test_robot.ini• …
– [tests_cache] (кэш тестовых наборов)• test_group_A-ts512.tar.gz• test_group_A-ts513.tar.gz• test_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
Совет: Параметры тестовых машин
Совет: Параметры тестовых машин
Green
Blue
Black
Reso
urce
-spec
ific t
ests
Совет: Ключевые слова для групп
КАТАЛОГ КОРЗИНАСЧЁТЧИКПОИСК
БДИЗБРАННОЕ
API
Long
ИНТЕРФЕЙС
Совет: Подписка на события
Совет: Лог коммитов на билд – в письмо
Идея: Автоматизация багов
Когда?
Продукт
Прирост тестов
release 1.0 release 1.1 release 1.2 release 1.30
50
100
150
200
250
300
350
functionalperformancemanual
Время выполнения тест-сьюта
• перевалило за 2 часа
Ежедневная сборка
Осёдлан локальныйтестовый инструмент
Реализованные решения
Параметр СИСТЕМА 1 СИСТЕМА 2
Количество тестовых серверов 4 200
Количество пользовательских машин 25 70
Количество сборок в день 3-6 20-40
Время выполнения тест-сьюта на одной машине 2 часа 7.5 дней
Количество тестов в тест-сьюте 6K+ 60K+ и 110K+
База данных PostgreSQL
Языки разработки и технологии Perl, PHP C, Perl, PHP, Ajax
Срок разработки 1 человеко-год 3 человеко-года
Вкалывают роботы
Обычный вечер в отделе SQA
Есть время украсить отдел SQA
Экономия времени
1. Распределённое выполнение2. Используем все машины
включая пользовательские3. Разработчики сами запускают
,
ПО для регрессионного тестирования
Харьков
TestComplete
SeleniumRC
WebAii
QA Wizard Pro
Своё
Другое
Ничего
ПО для распределённого тестирования
Харьков
Ничего, всё локальноSeleniumGridHP Quality CenterДругое
Использование средств автоматизации
10 20 40 60 80 90 10005
1015202530354045
% команд (Харьков)
% инженеров
Автоматизировано тестов
10 20 40 60 80 90 1000
5
10
15
20
25
% команд (Харьков)
% тестов
Причины автоматизации
Не знаю
Это модно
Интересно
Указание сверху
Качество тестирования
Рост количества билдов
Рост времени тестирования
Рост количества тестов
0 5 10 15 20 25 30
% команд (Харьков)
%