Transcript
Page 1: CI: Автоматизация сборки, развёртывания и тестирования

1

CI: Автоматизация сборки, развёртывания и тестирования

Сарварова Руфина, Russia GDC, Kaзань

Page 2: CI: Автоматизация сборки, развёртывания и тестирования

2

Непрерывность?

Раннее обнаружение и устранение ошибок и противоречий

Мир за пределами рабочей среды разработчика Постоянное наличие текущей стабильной версии

вместе с продуктами сборок — для тестирования, демонстрации, и т. п.

Быстрая обратная связь

Page 3: CI: Автоматизация сборки, развёртывания и тестирования

3

А почему бы и нет?

Крупный Retail проект на платформе .NET Разрабатывается с нуля Разработка компонентов для него происходит в Италии,

Финляндии, в России, Америке, Австралии. Тестирование проходит в России, Америке, Филиппинах. Автоматизированное тестирование Тестирование установки 100% покрытие кода

юниттестами

Page 4: CI: Автоматизация сборки, развёртывания и тестирования

4

И понеслась..

Есть:

• Автотесты, юнит тесты

• 4 тестовые среды

• Частично реализованные компоненты

• «падающие» билды

Должно быть:• Сборка последних исходников• Установка на «чистые» системы• Тестирование• Удаление, чистка тестовой системы

Page 5: CI: Автоматизация сборки, развёртывания и тестирования

5

Бог в помощь!

Инструменты: Microsoft TFS 2012, TFS Build, Microsoft Test Manager Build-Deploy-Test подход 2 CI сервера: Jenkins (для юниттестов) и TFS (для

функциональных автотестов) Gated Check-in build

Page 6: CI: Автоматизация сборки, развёртывания и тестирования

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

Page 7: CI: Автоматизация сборки, развёртывания и тестирования

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

Результаты тестирования

Параметры запуска

Page 8: CI: Автоматизация сборки, развёртывания и тестирования

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

Page 9: CI: Автоматизация сборки, развёртывания и тестирования

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

Page 10: CI: Автоматизация сборки, развёртывания и тестирования

10

Выконфигурировали!

Проблемы с Test ManagerКопирование библиотекУстановка, удаление msi пакетовПолная автоматизация

установки, удаления

Page 11: CI: Автоматизация сборки, развёртывания и тестирования

11

А пока тестируется…

Анализ результатов Баг-трекинг и верификация Тест дизайн Поддержка и разработка Запуск регресс тестов

Page 12: CI: Автоматизация сборки, развёртывания и тестирования

12

А пока тестируется…

И пьём кофе

Page 13: CI: Автоматизация сборки, развёртывания и тестирования

13

А у других как?

Page 14: CI: Автоматизация сборки, развёртывания и тестирования

14

А в результате..

Page 15: CI: Автоматизация сборки, развёртывания и тестирования

15

Вопросы?

Page 16: CI: Автоматизация сборки, развёртывания и тестирования

16

Вопросы?


Recommended