15
Дипломная работа ыполнил: Чернилевский Денис, 518 гр. аучный руководитель: к.ф.-м.н. Луковников Иван Васильевич

Разработка платформы автоматизации тестирования АСУ “P arallels B usiness A utomation ”

  • Upload
    talen

  • View
    66

  • Download
    0

Embed Size (px)

DESCRIPTION

Дипломная работа. Разработка платформы автоматизации тестирования АСУ “P arallels B usiness A utomation ”. Выполнил : Чернилевский Денис, 518 гр. Научный руководитель : к.ф.-м.н. Луковников Иван Васильевич. Краткое описание тестируемой АСУ. АСУ “Parallels Business Automation”: - PowerPoint PPT Presentation

Citation preview

Page 1: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Дипломная работа

Выполнил: Чернилевский Денис, 518 гр.Научный руководитель: к.ф.-м.н. Луковников Иван Васильевич

Page 2: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Краткое описание тестируемой АСУ

АСУ “Parallels Business Automation”: Комплексное решение автоматизации

работы сервис-провайдеров Модульная схема работы Возможность предоставлять сервис-

провайдеру только необходимый набор функционала

Page 3: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Технологии используемые при работе 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)

Page 4: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Постановка задачиНеобходимо автоматизировать процесс тестирования АСУ “PBA”:

Разработать архитектуру и создать платформу автоматизированного тестирования АСУ “PBA”

Разработать автоматические тесты Разработать процессы тестирования с

использованием разработанной платформы

Page 5: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Требования к платформе автоматизации тестирования

Работа с несколькими тестовыми серверами Автоматический запуск тестовых наборов Возможность запуска тестов на инсталляциях

разработчиков Уведомления о результатах каждого запуска Сбор централизованной истории всех запусков Мониторинг состояния системы во время тестовых

запусков Уведомления о критических ошибках и падениях

Page 6: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Компоненты разработанной системы Система управления тестовыми запусками Система сбора результатов тестов Система установки и настройки продукта и

виртуальных машин Система мониторинга Zabbix Функциональные тесты

Page 7: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Система управления запускамиЭто система с веб-интерфейсом, позволяющая:

Управлять набором серверов с различными платформами виртуализации.

Управлять виртуальными машинами. Создавать тестовые наборы из отдельных

функциональных тестов. Планировать запуски тестовых наборов. Просматривать историю запусков и их статус. Получать уведомления по результатам запуска

тестов. Настраивать мониторинговые системы, для

наблюдения за состоянием продукта во время выолнения тестов.

Page 8: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Система сбора результатов тестовЭто система с веб-интерфейсом, позволяющая:

Получать подробную информацию о действиях каждого теста во время его работы.

Получать информацию о случившихся ошибках во время выполнения тестов.

Сопоставлять каждой случившейся ошибке баг из Jira или Bugzilla, с отслеживанием текущего состояния бага и сопоставлением одних и тех же ошибок в различных запусках с уже существующим багом.

Получать агрегированные отчеты по большому количеству запусков на различных версиях продуктов, со статистикой количества багов проявившихся во время выполнения тестов.

Page 9: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Компонент установки и настройки продуктаЭто инструмент, выполняющий:

Создание и настройку виртуальных машин разных типовУстановку одной или нескольких компонент продукта в этих виртуальных машинахНастройку взаимодействия между компонентами продукта в различных виртуальных машинах

Page 10: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Система мониторинга ZabbixЭта система позволяет: Настраивать регулярное периодическое наблюдение за

любыми компонентами продукта Создавать мониторинговые модули, и вести журнал

наблюдений с уведомление пользователей в случае экстренных ситуаций

Page 11: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Функциональные тесты продуктаВ рамках данной работы: Выбраны необходимые технологии для

разработки функциональных тестов Разработана архитектура тестов и тестовых

библиотек, наиболее подходящим образом удовлетворяющая всем требованиям и особенностям системы.

Разработаны функциональные тесты в соответствии с существующими тестовыми сценариями.

Page 12: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Используемые технологииСистема управления запусками: Perl + Apache + MySql

Система сбора результатов: Perl + Apache + Mysql XMLRPC протокол для взаимодействия с тестами и интеграции с Jira

Компонент установки и настройки продукта: Python + Perl + VBS VmWare Vix API + Virtuozzo CTL API

Функциональные тесты: Java + TestNG + Selenium

Zabbix мониторинг: C + Perl

Page 13: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Launch ManagementSelenium Server

Build System

PBA Builds

Test Builds

Browsers

PADT

Servers

VMs

JVMs

Test Report System

Zabbix

Архитектура и взаимодействия тестовой системы

Page 14: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Архитектура функциональных тестов

Уровень 1: вспомогательный

Selenium RC Log4j SSH/FTP UI Control elements

Уровень 2: библиотеки страниц GUI

Уровень 3: бизнес объекты

Уровень 4: тесты

Page 15: Разработка платформы автоматизации тестирования АСУ “P arallels  B usiness  A utomation ”

Результаты выполненной работы Уменьшилась стоимость регрессионного тестирования старой

функциональности перед каждым релизом с 700 до 150 человеко-дней работы, в силу покрытия тестируемой функциональности автоматическими тестами.

Уменьшилось количество багов, попадающих в релиз, примерно в 3-5 раз.

Уменьшилось время между внесением бага в продукт и его нахождением в среднем в 5-10 раз, что позволяет разработчикам более эффективно исправлять баги.

Появилась возможность легко отлавливать периодические и сложно воспроизводимые баги (баги стабильности, утечки памяти и т.д.), которые требовали больших человеческих затрат при ручном анализе.

Суммарно, расходы компании на выпуск каждого следующего релиза продукта и его поддержку сократились примерно на 200-400$ тыс. (длительность релиза – около 10 месяцев).