КЮЕЙНАУЧФИЛЬМ Харьков 2010
По заказу QA Club
Inspired by Spring
в общении в личном опыте ? Whats the name of the game? Победа в силе Сила в знаниях Знания в книгах а также: (т.е. наблюдениях и анализе)
Who is automated tester???
«Автоматизация WTF? Что это такое? тестирования»
Правильно, товарищи!
a girl - дéвушка a table - стол a test suite = ?
a test suite = тест-сьют ! тест-план
Let it be
Когда?
Продукт
Прирост тестов
Время выполнения тест-плана перевалило за 2 часа
Ежедневная сборка
Локальный testing tool
Новый билд
Задача 1 минимизировать количество ручных действий
Задача 2 минимизировать время выполнения
Задача 3 минимизировать количество тестовых серверов
Разработка на ветках
Хорошо бы … веб-интерфейс для запуска билда, запуска тестирования, анализа результатов интеграцию с системой контроля версий интеграцию с системой багтрекинга управление массивом тестовых серверов и пользовательских машин механизм расписания и оповещений
Архитектура системы Пользователи Веб-сервер Сервер БД Тестовые сервера
Условно клиентская часть TEST ROBOT TEST RUNNER ПРОДУКТ СЕТЕВОЙ РЕСУРС БАЗА ДАННЫХ локальный КЭШ ТЕСТОВ тесты управление результаты, логи статус
Локальный «тестовый робот» Пример структуры папок [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]
Совет: Контроль времени на функциональных тестах тоже
Совет: Давайте удалённый доступ
Совет: Параметры тестовых машин
Green Blue Black Resource-specific tests
Совет: Можно делать это и ночью
Кофебрейк: Давайте знакомиться!
Кофебрейк: Знакомимся ближе!
Позволяет создавать тестовые конфигурации запускать циклы «сборка версии продукта» – «регрессионное тестирование» просматривать результаты запуска, сравнения и историю управлять локальными «тестовыми роботами» Позволяет создавать тестовые конфигурации запускать циклы «сборка версии продукта» – «регрессионное тестирование» просматривать результаты запуска, сравнения и историю управлять локальными «тестовыми роботами» Условно серверная часть Веб-сервер Сервер БД Хранит задания для тестовых машин результаты и историю запусков тестовых конфигураций логи упавших тестов Хранит задания для тестовых машин результаты и историю запусков тестовых конфигураций логи упавших тестов
Тестовая конфигурация версия продукта версия тест-плана платформа настройки
Решение о сборке билда
Тандемный принцип
Тестирование «в одно нажатие» Веб-сервер Сервер БД
One-click testing!
Совет: Кластеры серверного пула Веб-сервер Сервер БД Honey, Im still free Take a chance on me!
Совет: Декомпозировать test-suite
Совет: Ключевые слова для групп КАТАЛОГ КОРЗИНА СЧЁТЧИК ПОИСК БД ИЗБРАННОЕ API Long ИНТЕРФЕЙС
Результаты тестирования
Интересны не сами результаты, а их сравнение
Регресс
Совет: Подписка на события
Совет: Лог коммитов на билд – в письмо
Идея: Автоматизация багов
Вкалывают роботы
Обычный вечер в отделе SQA
Есть время украсить отдел SQA
Реализованные решения ПараметрС ИСТЕМА 1С ИСТЕМА 2 Количество тестовых серверов 4200 Количество пользовательских машин 2570 Количество сборок в день Время выполнения тест-плана на одной машине 2 часа7.5 дней Количество тестов в тест-плане 6K+6K+60K+ и 110K+ База данных PostgreSQL Языки разработки и технологии Perl, PHPC, Perl, PHP, Ajax Срок разработки 1 человеко-год3 человеко-года
Зачем всё это? Высвобождение времени друзей по работе!
Культурный рост общества Всестороннее развитие … Для этого нужно прежде всего сократить рабочий день по крайней мере до 6, а потом и до 5 часов. И.В.Сталин, 1952 г.
Спасибо, друзья!