ci: Автоматизация сборки, развёртывания и тестирования
DESCRIPTION
Презентация доклада Руфины Сарваровой на конференции SQADays-14, Львов 8-9 ноября 2013TRANSCRIPT
1
CI: Автоматизация сборки, развёртывания и тестирования
Сарварова Руфина, Russia GDC, Kaзань
2
Непрерывность?
Раннее обнаружение и устранение ошибок и противоречий
Мир за пределами рабочей среды разработчика Постоянное наличие текущей стабильной версии
вместе с продуктами сборок — для тестирования, демонстрации, и т. п.
Быстрая обратная связь
3
А почему бы и нет?
Крупный Retail проект на платформе .NET Разрабатывается с нуля Разработка компонентов для него происходит в Италии,
Финляндии, в России, Америке, Австралии. Тестирование проходит в России, Америке, Филиппинах. Автоматизированное тестирование Тестирование установки 100% покрытие кода
юниттестами
4
И понеслась..
Есть:
• Автотесты, юнит тесты
• 4 тестовые среды
• Частично реализованные компоненты
• «падающие» билды
Должно быть:• Сборка последних исходников• Установка на «чистые» системы• Тестирование• Удаление, чистка тестовой системы
5
Бог в помощь!
Инструменты: Microsoft TFS 2012, TFS Build, Microsoft Test Manager Build-Deploy-Test подход 2 CI сервера: Jenkins (для юниттестов) и TFS (для
функциональных автотестов) Gated Check-in build
6
Виды автотестов
Unit Testing: Basic Unit Test
Unit Test
Unit Test Wizard
Database Unit Test
Coded UI Test
Web Performance Test
Load Test
Generic Test
Ordered Test
7
Team Foundation Server
Changeset
А как?
Microsoft Test Manager
Test Environment X
TA
TC Test Environment Y
TAGate
d Check
-In
BC
Scheduled For Test System X
Scheduled For Test System Y
Build Server
BA
Результаты тестирования
Параметры запуска
8
Конфигурации
Drop FolderDrop Folder
Drop FolderDrop Folder
Deploy.bat Clean.bat
Build Server
Test Controller
Base configurations
ResultsTest System
Call Deploy.batCall Clean.bat
Clean.bat
New configurations
Deploy.bat
tests
Base Configuration
tests
tmp
9
Всё идёт по плану
Test machine XTest Settings A
Test Environment A’Scheduled Build for X
Test machine Y
Test machine Z
Test Settings BTest Environment B’
Scheduled Build for YZ
TC
TA
TA
TC
Test Environment B’
TATest Environment A’
Continuous IntegrationTest Plan
10
Выконфигурировали!
Проблемы с Test ManagerКопирование библиотекУстановка, удаление msi пакетовПолная автоматизация
установки, удаления
11
А пока тестируется…
Анализ результатов Баг-трекинг и верификация Тест дизайн Поддержка и разработка Запуск регресс тестов
12
А пока тестируется…
И пьём кофе
13
А у других как?
14
А в результате..
15
Вопросы?
16
Вопросы?