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

Preview:

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

% команд (Харьков)

%

Спасибо, друзья!

Pavel.Motsar@gmail.com

Recommended