PBA

advertisement
Дипломная работа
Выполнил: Чернилевский Денис, 518 гр.
Научный руководитель: к.ф.-м.н. Луковников Иван Васильевич
Краткое описание тестируемой АСУ
АСУ “Parallels Business Automation”:
 Комплексное решение автоматизации
работы сервис-провайдеров
 Модульная схема работы
 Возможность предоставлять сервиспровайдеру
только
необходимый
набор функционала
Технологии используемые при работе PBA





3 компоненты: функциональное ядро,
онлайн-магазин, база данных
Поддержка ОС: RedHat, CentOS Linux
32bit, 64 bit; Win 2003 Server 32bit, 64 bit;
Win 2008 Server 64 bit.
Веб-интерфейс для управления
системой через контрольные панели и
доступа в интернет-магазин
PostgreSQL vs MsSql (lin - win)
Apache vs IIS (lin – win)
Постановка задачи
Необходимо автоматизировать процесс
тестирования АСУ “PBA”:



Разработать архитектуру и создать платформу
автоматизированного тестирования АСУ “PBA”
Разработать автоматические тесты
Разработать процессы тестирования с
использованием разработанной платформы
Требования к платформе автоматизации
тестирования
Работа с несколькими тестовыми серверами
 Автоматический запуск тестовых наборов
 Возможность запуска тестов на инсталляциях
разработчиков
 Уведомления о результатах каждого запуска
 Сбор централизованной истории всех запусков
 Мониторинг состояния системы во время тестовых
запусков
 Уведомления о критических ошибках и падениях

Компоненты разработанной системы





Система управления тестовыми запусками
Система сбора результатов тестов
Система установки и настройки продукта и
виртуальных машин
Система мониторинга Zabbix
Функциональные тесты
Система управления запусками
Это система с веб-интерфейсом, позволяющая:







Управлять набором серверов с различными
платформами виртуализации.
Управлять виртуальными машинами.
Создавать тестовые наборы из отдельных
функциональных тестов.
Планировать запуски тестовых наборов.
Просматривать историю запусков и их статус.
Получать уведомления по результатам запуска
тестов.
Настраивать мониторинговые системы, для
наблюдения за состоянием продукта во время
выолнения тестов.
Система сбора результатов тестов
Это система с веб-интерфейсом, позволяющая:




Получать подробную информацию о действиях
каждого теста во время его работы.
Получать информацию о случившихся ошибках
во время выполнения тестов.
Сопоставлять каждой случившейся ошибке баг из
Jira или Bugzilla, с отслеживанием текущего
состояния бага и сопоставлением одних и тех же
ошибок
в
различных
запусках
с
уже
существующим багом.
Получать агрегированные отчеты по большому
количеству запусков на различных версиях
продуктов, со статистикой количества багов
проявившихся во время выполнения тестов.
Компонент установки и настройки продукта
Это инструмент, выполняющий:
Создание и настройку виртуальных машин разных
типов
 Установку одной или нескольких компонент
продукта в этих виртуальных машинах
 Настройку взаимодействия между компонентами
продукта в различных виртуальных машинах

Система мониторинга Zabbix
Эта система позволяет:


Настраивать регулярное периодическое наблюдение за
любыми компонентами продукта
Создавать мониторинговые модули, и вести журнал
наблюдений с уведомление пользователей в случае
экстренных ситуаций
Функциональные тесты продукта
В рамках данной работы:



Выбраны необходимые технологии для
разработки функциональных тестов
Разработана архитектура тестов и тестовых
библиотек, наиболее подходящим образом
удовлетворяющая всем требованиям и
особенностям системы.
Разработаны функциональные тесты в
соответствии с существующими тестовыми
сценариями.
Используемые технологии
Система управления запусками:
 Perl + Apache + MySql
Система сбора результатов:
 Perl + Apache + Mysql
 XMLRPC протокол для взаимодействия с тестами и интеграции с Jira
Компонент установки и настройки продукта:
 Python + Perl + VBS
 VmWare Vix API + Virtuozzo CTL API
Функциональные тесты:
 Java + TestNG + Selenium
Zabbix мониторинг:
 C + Perl
Архитектура и взаимодействия тестовой системы
Test Report System
JVMs
Build System
PBA Builds
Test Builds
Selenium Server
Browsers
VMs
Zabbix
Launch Management
Servers
PADT
Архитектура функциональных тестов
Уровень 4: тесты
Уровень 3: бизнес объекты
Уровень 2: библиотеки страниц GUI
Уровень 1: вспомогательный
Selenium RC
Log4j
SSH/FTP
UI Control elements
Результаты выполненной работы





Уменьшилась стоимость регрессионного тестирования старой
функциональности перед каждым релизом с 700 до 150 человеко-дней
работы,
в
силу
покрытия
тестируемой
функциональности
автоматическими тестами.
Уменьшилось количество багов, попадающих в релиз, примерно в 3-5
раз.
Уменьшилось время между внесением бага в продукт и его
нахождением в среднем в 5-10 раз, что позволяет разработчикам
более эффективно исправлять баги.
Появилась возможность легко отлавливать периодические и сложно
воспроизводимые баги (баги стабильности, утечки памяти и т.д.),
которые требовали больших человеческих затрат при ручном анализе.
Суммарно, расходы компании на выпуск каждого следующего релиза
продукта и его поддержку сократились примерно на 200-400$ тыс.
(длительность релиза – около 10 месяцев).
Download