21
Особенности тестирования Cloud-систем Максим Усиченко. Mirantis Inc

Особенности тестирования сloud-приложений

  • Upload
    sqalab

  • View
    672

  • Download
    1

Embed Size (px)

DESCRIPTION

SQA Days 11. День 2. Cекция A Максим УсиченкоMirantisХарьков, Киев

Citation preview

Page 1: Особенности тестирования сloud-приложений

Особенности тестирования Cloud-систем

Максим Усиченко. Mirantis Inc

Page 2: Особенности тестирования сloud-приложений

Немного об авторе

• В IT – давно, из них в тестировании - более 10 лет• QA Manager• Руководство QA-практикой (и не только)• Внутренние и внешние тренинги

E-mail: [email protected]

Skype: maxim.usichenko

2

Page 3: Особенности тестирования сloud-приложений

О чем поговорим…

• «Облачность» и ее перспективы• Краткое знакомство с «облачными» принципами• Типичные особенности и трудности тестирования

клауд-систем• Вопросы профессиональной подготовки

тестировщиков

3

Page 4: Особенности тестирования сloud-приложений

«Облачные» системыЧто такое «облако»

• История технологии• Характеристики клауда:

– Масштабируемость (эластичность)

– Универсальность доступа

– Самообслуживание по требованию

– Объединение ресурсов – Учет потребления

ресурсов

• Экономия за счет объединения ресурсов

4

Page 5: Особенности тестирования сloud-приложений

«Облачные» системы

Архитектура

Типичная архитектура с поддержкой эластичности5

Page 6: Особенности тестирования сloud-приложений

«Облачные» системы

Архитектура

Структурная схема6

Page 7: Особенности тестирования сloud-приложений

Модели развертывания и модели обслуживания

«Облачные» системыСпецифика и предоставляемые услуги

7

Page 8: Особенности тестирования сloud-приложений

Особенности тестирования cloud-систем

• Функциональное тестирование• Журналирование• Smoke-тестирование• Long-run тестирование• Производительность• Стресс-тестирование• Безопасность• Конфигурации• Процессы

8

Page 9: Особенности тестирования сloud-приложений

Особенности тестирования cloud-систем

Распределенность и функциональное тестирование

• Предпосылки:– Гетерогенная среда– Каналы связи с различными характеристиками и SLA

• Решения:– Проверка статусов– Тестирование синхронизации– Удаленный мониторинг – Подробное журналирование– Тестирование клауд-биллинга

9

Page 10: Особенности тестирования сloud-приложений

Особенности тестирования cloud-систем

Журналирование и его критичность

• Полнота и объем логов• Проблемы утилит обработки

логов• Типичная задача – анализ в

разрезах:– Состояния и переходы для

компонента– … и системы– Жизненный цикл отдельных

событий и задач– «Кадры» состояния системы на

заданный момент

10

Page 11: Особенности тестирования сloud-приложений

Особенности тестирования cloud-систем

Smoke-тестирование

• Предпосылки:– Неэффективность ручного smoke-

тестирования– Сложность ручной проверки

• Решения:– Проверка масштабирования– Генерация многопользовательской

нагрузки– Использование каналов связи для

доступа к КС извне– Адаптация к различным

конфигурациям доступа

11

Page 12: Особенности тестирования сloud-приложений

Особенности тестирования cloud-систем

Long-run тестирование

• Предпосылки:– Эффект накопления ошибок– Непредсказуемость времени

возникновения

• Решения:– Циклические прогоны сценариев с

регистрацией типов ошибок– Автозапуск анализа логов по

«следам» проблем

12

Page 13: Особенности тестирования сloud-приложений

Особенности тестирования cloud-систем

Производительность и нагрузка

• Предпосылки:– «Плавающие» показатели

• Решения:– Замеры в разное время (t1…tN)– Учет развернутости облака– Производительность /

развернутость– Оценка других параметров:

• Время провиженинга• Макс кол-во одновременно

создаваемых узлов

– Борьба с «гонкой мощностей»

13

Page 14: Особенности тестирования сloud-приложений

Особенности тестирования cloud-систем

Стресс-тестирование• Предпосылки:

– Выполнение вручную затруднено или невозможно

– Трудозатраты на подготовку среды– Поддержка самовосстановления

узлов• Решения:

– Смоделировать нестабильность каналов связи

– Проверить цикл «падение-восстановление» узла

– Оценить влияние отказов узлов на общую работоспособность КC

14

Page 15: Особенности тестирования сloud-приложений

Особенности тестирования cloud-систем

Конфигурационное тестирование

• Предпосылки:– Периодическое обновление ОС на

узлах– ОС-зависимый характер

развертывания КС– Рутинный и длительный процесс

• Решения:– Контроль обновления ОС для узлов– Автоматизация проверки

корректности конфигураций

15

Page 16: Особенности тестирования сloud-приложений

Особенности тестирования cloud-систем

Безопасность

• Предпосылки:– Контроль доступа по каналам

малоэффективен

• Решения:– Применить виртуальные

приложения– Использовать сканеры уязвимостей– Добавить в общий трафик

«опасные» составляющие– Проверить производительность при

шифрованном трафике– Тестировать на утечку исходящих

данных16

Page 17: Особенности тестирования сloud-приложений

Особенности тестирования cloud-систем

Процесс: Инсталляция

• Предпосылки:– Длинные многоэтапные

сценарии инсталляции– Клауд-провайдеры не

безгрешны

• Решения:– Максимальная

автоматизация– Скрипты для проверки

корректности инсталляции

17In

stal

lati

on

C

hec

k

Page 18: Особенности тестирования сloud-приложений

Особенности тестирования cloud-систем

Процесс: Развертывание

• Предпосылки:– Ручная реализация

затруднена– Ручной провиженинг -

враг эластичности

• Решения:– Макс. автоматизация– Проверка корректности

развертывания– Инструменты:

Chef, Puppet, Fabric, …

18

Dep

loym

ent

C

hec

k

Page 19: Особенности тестирования сloud-приложений

Профессиональная подготовка QA-ев

Операционные системы. Автоматизированное тестирование

• UNIX и его разновидности

(Ubuntu, CentOS, etc)• Скриптовые языки (bash,

Python, Ruby, …)• Тестовые фреймворки:

– Lettuce (Python)– Cucumber (Ruby)– Tempest

19

Page 20: Особенности тестирования сloud-приложений

Профессиональная подготовка QA-ев

Сетевые технологии. Основы виртуализации

• Сети:– VLAN– DNS, DHCP– Net protocols– Routing– IPTables– Port forwarding– …

• Виртуализация:– VMWare– XEN

20

Page 21: Особенности тестирования сloud-приложений

Итоги и перспективы

• Развитие облачных технологий – лишь вопрос времени, т.к. курс рынком уже выбран

• В ближайшие 2-3 года среди новых проектов доля «облачных» составит более 50%

• В проектах ощутимо возрастет процент приватных клаудов и UNIX-подобных ОС

• Знания сетей и основ виртуализации, как и уже традиционно популярные навыки автоматизации, будут ключевыми для тестировщиков.

21