rocs 2 - advanced platform for automated test execution in clustered environments

16
© 2013 Align Technology, Inc. All rights reserved. © 2015 Align Technology, Inc. All rights reserved. ROCS2 Advanced platform for automated test execution in clustered environments 28.07.2015 Константин Мельников

Upload: rina-uzhevko

Post on 13-Aug-2015

194 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: ROCS 2 - advanced platform for automated test execution in clustered environments

1 © 2015 Align Technology, Inc. All rights reserved. © 2013 Align Technology, Inc. All rights reserved. © 2015 Align Technology, Inc. All rights reserved.

ROCS2Advanced platform for automated test execution in clustered environments

28.07.2015

Константин Мельников

Page 2: ROCS 2 - advanced platform for automated test execution in clustered environments

2 © 2015 Align Technology, Inc. All rights reserved.

Align Technology

• Align Technology, Inc – лидер в области “невидимой ортодонтии”.

• альтернатива брекетам

• на рынке с 1999г.

• Мы помогаем людям улыбаться больше и таким образом делаем людей счастливее (> 3M пациентов)

• Размер R&D: ~250 человек (100+ Москва)

• Сайт компании - www.aligntech.com

Page 3: ROCS 2 - advanced platform for automated test execution in clustered environments

3 © 2015 Align Technology, Inc. All rights reserved.

Проекты Align

• IDS- Портал для работы с докторами

• ClinCheck - Приложение для работы с предложенным курсом лечения

• Treat - 3D редактор для разработки курса лечения

• MAT- Серверная часть для обслуживания сканеров

• Множество вспомогательных инструментов в технологии производства

Page 4: ROCS 2 - advanced platform for automated test execution in clustered environments

4 © 2015 Align Technology, Inc. All rights reserved.

Основные сложности тестирования в Align

• Много продуктов- Тесты написаны с использованием различных технологий

- Запускаются на различных машинах

• Много тяжелых тестов (e2e)

• Особые требования к покрытию тестами всех бизнес требований (traceability)

Page 5: ROCS 2 - advanced platform for automated test execution in clustered environments

5 © 2015 Align Technology, Inc. All rights reserved.

Основные сложности тестирования в Align - развитие

• Команды стали - создавать различные фреймворки для тестирования

- Использовать разные способы кластеризации

• Как следствие- Стало уходить много времени на поддержку различных

решений

- Многие проблемы решались множество раз в разных местах

Page 6: ROCS 2 - advanced platform for automated test execution in clustered environments

6 © 2015 Align Technology, Inc. All rights reserved.

Прежние решения?

• Большинство решений поддерживали только один тип тестов (Selenium Grid, QTP, private scripts, etc.)

• Отсутствовала поддержка для разнообразия nodes в кластерах (Windows, Linux, Mac OS)

• Ограниченная параллелизации тестировочных процессов

Page 7: ROCS 2 - advanced platform for automated test execution in clustered environments

7 © 2015 Align Technology, Inc. All rights reserved. © 2013 Align Technology, Inc. All rights reserved. Confidential—For Internal Use Only© 2015 Align Technology, Inc. All rights reserved.

ROCS2

Page 8: ROCS 2 - advanced platform for automated test execution in clustered environments

8 © 2015 Align Technology, Inc. All rights reserved.

Платформа – ROCS 2

• Различные типы nodes- Linux и Windows

- Различный софт может быть установлен на разные машины

• Поддержка продвинутого параллелизма

• Возможность запускать различные виды тестов

• Поддержка интеграции с другими системами (Bamboo)

Page 9: ROCS 2 - advanced platform for automated test execution in clustered environments

9 © 2015 Align Technology, Inc. All rights reserved.

Команда и процесс

• Мультифункциональная мини команда из 2 человек

• Поддерживаем тестирование 4 продуктов

• Используем SCRUM- Итеративная разработка

- Частые обновления кластеров (еженедельные и чаще)

Page 10: ROCS 2 - advanced platform for automated test execution in clustered environments

10 © 2015 Align Technology, Inc. All rights reserved.

ROCS2 глазами пользователя

• Стандартная инсталляция пакета

• Основное средство общения с системой – командная строка

- Возможность писать свои скрипты

- Типичный workflow• > r2 ids-tests run –file run_configuration.json

• > r2 run status –id <id_of_the_run>

• > r2 run report –id <id_of_the_run>

• Привычные отчеты по запускам, workflow дорабатывается под каждую команду отдельно

- Treat HRP (отчет приходит на email)

- MAT отчет через Bamboo

Page 11: ROCS 2 - advanced platform for automated test execution in clustered environments

11 © 2015 Align Technology, Inc. All rights reserved.

Взгляд со стороны IT

• SJ кластер на 50 машин (IDS, MAT, CC)

• MSK кластер на 150 машин (Treat)

Page 12: ROCS 2 - advanced platform for automated test execution in clustered environments

12 © 2015 Align Technology, Inc. All rights reserved.

Компоненты

• Использован подход микро-сервисов в архитектуре

• Python + RabbitMQ + PostgreSQL + MongoDB

Page 13: ROCS 2 - advanced platform for automated test execution in clustered environments

13 © 2015 Align Technology, Inc. All rights reserved.

Чего достигли

• Тестируем чаще и больше: Июль 2014 – 17 000 тестов, Июнь 2015 – 413 000 тестов

• Существенное ускорение регрессионного (x10) тестирования IDS (веб-портал для докторов)

• Сокращение времени, которое тратится на разбор багов в Treat (3D редактор для разработки лечения)

- Выполнение тестов на ROCS2 стало в 55 раз быстрее • 2 секунд/тест вместо 110 секунд/тест на прежнем решении

- За счет увеличения скорости прогонов стало возможным тестирование дневных билдов

• Расширение тестирования на множество платформ для ClinCheck

Page 14: ROCS 2 - advanced platform for automated test execution in clustered environments

14 © 2015 Align Technology, Inc. All rights reserved.

Куда идем

• 80% всех авто-тестов компании исполняются на платформе ROCS2

• Веб интерфейс к ROCS2 - Все тестировщики компании имеют единый интерфейс

работы с тестами

• «Продвинутый анализ» результатов тестирования- Единая платформа запуска тестов позволяет сделать

продвинутый статистический анализ

Page 15: ROCS 2 - advanced platform for automated test execution in clustered environments

15 © 2015 Align Technology, Inc. All rights reserved.

Tips

• Любое кластерное решение требует существенных затрат на поддержку и администирование

• Если у вас несколько машин, обязательно вложитесь в систему мониторинга

• В настоящий момент доступно множество свободно-распространяемых компонентов, которые позволяют «собрать» необходимое решение не прибегая к масштабной разработке

Page 16: ROCS 2 - advanced platform for automated test execution in clustered environments

16 © 2015 Align Technology, Inc. All rights reserved.

Вопросы