Система управления автоматическими тестами на базе MS VisualStudio 2008 & Hyper-V.
Конец Генерир ование отчета Начало Запуск сборки билда СборкаТестирование Полная автоматическая поддержка цикла жизни продукта на этапе разработки с момента выпуска версии до генерации результатов пройденных тестов.
MS Team Foundation Server FileServer Hyper-V Server Operator ATLauncher Основные элементы системы и их роли
Основные свойства и возможности системы:
Позволяет запускать тесты в любой момент времени для: повторного тестирования продукта; отладки автоматических тестов; воспроизведения дефектов продукта; запуска свежих тестов на протестированной версии; настройки подготавливаемого окружения. 1. Ручной запуск автоматических тестов.
Включение и выключение автоматического запуска тестов по событию сборки продукта. 2. Планирование времени автоматического запуска тестов на определенной сборке
использование тестов разных типов* в одну тестовую итерацию; создание различных тестовых групп для полного или Smoke тестирования; создание тестовых групп в группах тестов; регулирование времени выполнения тестов (подгонка групп по времени на исполнение тестов). * Типы тестов: MSTest, HP QTP Tests и т.д. Варианты и возможности использования: 3. Объединение тестов в тестовые группы
Создание и закрытие WorkItemа типа Bug на TFS на определенную персону. Автоматическое заполнение полей WorkItemа на TFS при создании дефекта. Алгоритм защиты от дупликации Bugов. 4. Автоматическое фиксирование и закрытие дефектов
Служит для организации поведения автоматических тестов в очереди. Очередность осуществляется по приоритетам и по времени попадания в очередь. 5. Задание приоритета для определенных сборок
Прерывание выполнения тестов в любой момент времени. Дополнительная возможность управления выполнением тестов в очереди. Очистка следов выполнения тестов. 6. Отмена выполняющихся тестов
Ограничение кол-ва одновременно запущенных машин. Создание тестов определенного веса (виртуальная машина * N). 7. Контроль распределения физических ресурсов тестовой лаборатории
Цель: Обеспечение бесперебойного процесса тестирования; Гарантирование прогона всех тестов в очереди. Пути достижения (алгоритм): Настройка timeout параметра работы виртуальной машины; Настройка времени работы самих тестов; Сбор данных с зависшей виртуальной машины; Остановка машины. 8. Защита ресурсов тестовой лаборатории от зависших виртуальных машин (kill by timeout)
Обеспечение доступа к определенным сетевым ресурсам для компьютеров вне домена. 9. Возможность использования слепых виртуальных машин (blind VPC) или машин вне домена.
Установка продукта по умолчанию. Копирование необходимых конфигурационных файлов. Подготовка хранилища для результатов выполненных тестов и лог файлов. 10. Подготовка окружения
Облегчает интеграцию автоматических тестов в систему управления. Признаки: 1.MSTest (*.orderedtests) 2.HP QTP (*.ls) 11. Поиск автоматических тестов на MS SourceControl по определенным признакам.
Детализированный просмотр очереди в целом и поэлементно: сервер, на котором запущена виртуальная машина; виртуальная машина, на которой запускается тест; название группы тестов (абстрактный Display name); версия продукта, на которой запущены тесты; путь, куда будут скопированы результаты; ID задачи (для внутреннего использования). 12. Просмотр текущего состояния выполняемых или находящихся в очереди тестов
Публикация результатов в MS TFS. Сохранение результатов на сервере без публикации в MS TFS (debug mode). 13. Публикация результатов тестов в сборку и отладочный режим debug mode
Цель: отображение статуса сборки продукта; дополнительная информативность при отладке приложения. 14. Управление полями Build Quality на TFS
Просмотр результатов автоматических тестов разного типа одним инструментом. Алгоритм генерации в HTML из trx (MSTest: TDD, UnitTests, GenericTests). Алгоритм генерации в trx из QTP report. 15. Генерация отчетов по результатам тестов в единый формат (*.html и\или *.trx)
Двухступенчатая система ведения лога: логирование основной системы; логирование конкретной виртуальной машины. 16. Ведение лога на каждом из этапов выполнения тестов
новые типы запускаемых тестов дополнительные системы виртуализации поддержка n-го кол-ва серверов формирование дополнительных отчетных форматов расширение агента запуска тестов (xml коммуникация) и т.д. 17. Расширение архитектуры и масштабируемость
никаких трудозатрат на обновление отдельных компонентов системы, используемых на n-ом кол-ве виртуальных машин; обновления всех виртуальных машин сервера; обновление конкретной машины (со всеми снапшотами). 18. Автоматическое обновление тестового агента (ATLauncher) на каждом окружении.
Обеспечивает: Надежность системы; Бесперебойность процесса. 19. Восстановление системы после сбоя
Как это работает ? Основные компоненты системы
Сервис управления (ATManager)
Тестовый агент (ATLauncher) или движок запуска тестов
… в картинках. Краткий обзор клиентской части
Краткий обзор клиентской части (Common & TFS)
Краткий обзор клиентской части (Builds)
Краткий обзор клиентской части (Machines)
Краткий обзор клиентской части (Manual launch)
Краткий обзор клиентской части (Queue)
Краткий обзор клиентской части (Machines)