Особенности тестирования сloud-приложений
description
Transcript of Особенности тестирования сloud-приложений
![Page 1: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/1.jpg)
Особенности тестирования Cloud-систем
Максим Усиченко. Mirantis Inc
![Page 2: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/2.jpg)
Немного об авторе
• В IT – давно, из них в тестировании - более 10 лет• QA Manager• Руководство QA-практикой (и не только)• Внутренние и внешние тренинги
E-mail: [email protected]
Skype: maxim.usichenko
2
![Page 3: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/3.jpg)
О чем поговорим…
• «Облачность» и ее перспективы• Краткое знакомство с «облачными» принципами• Типичные особенности и трудности тестирования
клауд-систем• Вопросы профессиональной подготовки
тестировщиков
3
![Page 4: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/4.jpg)
«Облачные» системыЧто такое «облако»
• История технологии• Характеристики клауда:
– Масштабируемость (эластичность)
– Универсальность доступа
– Самообслуживание по требованию
– Объединение ресурсов – Учет потребления
ресурсов
• Экономия за счет объединения ресурсов
4
![Page 5: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/5.jpg)
«Облачные» системы
Архитектура
Типичная архитектура с поддержкой эластичности5
![Page 6: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/6.jpg)
«Облачные» системы
Архитектура
Структурная схема6
![Page 7: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/7.jpg)
Модели развертывания и модели обслуживания
«Облачные» системыСпецифика и предоставляемые услуги
7
![Page 8: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/8.jpg)
Особенности тестирования cloud-систем
• Функциональное тестирование• Журналирование• Smoke-тестирование• Long-run тестирование• Производительность• Стресс-тестирование• Безопасность• Конфигурации• Процессы
8
![Page 9: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/9.jpg)
Особенности тестирования cloud-систем
Распределенность и функциональное тестирование
• Предпосылки:– Гетерогенная среда– Каналы связи с различными характеристиками и SLA
• Решения:– Проверка статусов– Тестирование синхронизации– Удаленный мониторинг – Подробное журналирование– Тестирование клауд-биллинга
9
![Page 10: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/10.jpg)
Особенности тестирования cloud-систем
Журналирование и его критичность
• Полнота и объем логов• Проблемы утилит обработки
логов• Типичная задача – анализ в
разрезах:– Состояния и переходы для
компонента– … и системы– Жизненный цикл отдельных
событий и задач– «Кадры» состояния системы на
заданный момент
10
![Page 11: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/11.jpg)
Особенности тестирования cloud-систем
Smoke-тестирование
• Предпосылки:– Неэффективность ручного smoke-
тестирования– Сложность ручной проверки
• Решения:– Проверка масштабирования– Генерация многопользовательской
нагрузки– Использование каналов связи для
доступа к КС извне– Адаптация к различным
конфигурациям доступа
11
![Page 12: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/12.jpg)
Особенности тестирования cloud-систем
Long-run тестирование
• Предпосылки:– Эффект накопления ошибок– Непредсказуемость времени
возникновения
• Решения:– Циклические прогоны сценариев с
регистрацией типов ошибок– Автозапуск анализа логов по
«следам» проблем
12
![Page 13: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/13.jpg)
Особенности тестирования cloud-систем
Производительность и нагрузка
• Предпосылки:– «Плавающие» показатели
• Решения:– Замеры в разное время (t1…tN)– Учет развернутости облака– Производительность /
развернутость– Оценка других параметров:
• Время провиженинга• Макс кол-во одновременно
создаваемых узлов
– Борьба с «гонкой мощностей»
13
![Page 14: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/14.jpg)
Особенности тестирования cloud-систем
Стресс-тестирование• Предпосылки:
– Выполнение вручную затруднено или невозможно
– Трудозатраты на подготовку среды– Поддержка самовосстановления
узлов• Решения:
– Смоделировать нестабильность каналов связи
– Проверить цикл «падение-восстановление» узла
– Оценить влияние отказов узлов на общую работоспособность КC
14
![Page 15: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/15.jpg)
Особенности тестирования cloud-систем
Конфигурационное тестирование
• Предпосылки:– Периодическое обновление ОС на
узлах– ОС-зависимый характер
развертывания КС– Рутинный и длительный процесс
• Решения:– Контроль обновления ОС для узлов– Автоматизация проверки
корректности конфигураций
15
![Page 16: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/16.jpg)
Особенности тестирования cloud-систем
Безопасность
• Предпосылки:– Контроль доступа по каналам
малоэффективен
• Решения:– Применить виртуальные
приложения– Использовать сканеры уязвимостей– Добавить в общий трафик
«опасные» составляющие– Проверить производительность при
шифрованном трафике– Тестировать на утечку исходящих
данных16
![Page 17: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/17.jpg)
Особенности тестирования cloud-систем
Процесс: Инсталляция
• Предпосылки:– Длинные многоэтапные
сценарии инсталляции– Клауд-провайдеры не
безгрешны
• Решения:– Максимальная
автоматизация– Скрипты для проверки
корректности инсталляции
17In
stal
lati
on
C
hec
k
![Page 18: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/18.jpg)
Особенности тестирования cloud-систем
Процесс: Развертывание
• Предпосылки:– Ручная реализация
затруднена– Ручной провиженинг -
враг эластичности
• Решения:– Макс. автоматизация– Проверка корректности
развертывания– Инструменты:
Chef, Puppet, Fabric, …
18
Dep
loym
ent
C
hec
k
![Page 19: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/19.jpg)
Профессиональная подготовка QA-ев
Операционные системы. Автоматизированное тестирование
• UNIX и его разновидности
(Ubuntu, CentOS, etc)• Скриптовые языки (bash,
Python, Ruby, …)• Тестовые фреймворки:
– Lettuce (Python)– Cucumber (Ruby)– Tempest
19
![Page 20: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/20.jpg)
Профессиональная подготовка QA-ев
Сетевые технологии. Основы виртуализации
• Сети:– VLAN– DNS, DHCP– Net protocols– Routing– IPTables– Port forwarding– …
• Виртуализация:– VMWare– XEN
20
![Page 21: Особенности тестирования сloud-приложений](https://reader035.fdocuments.net/reader035/viewer/2022062220/557ebf0ed8b42ad27b8b4fcc/html5/thumbnails/21.jpg)
Итоги и перспективы
• Развитие облачных технологий – лишь вопрос времени, т.к. курс рынком уже выбран
• В ближайшие 2-3 года среди новых проектов доля «облачных» составит более 50%
• В проектах ощутимо возрастет процент приватных клаудов и UNIX-подобных ОС
• Знания сетей и основ виртуализации, как и уже традиционно популярные навыки автоматизации, будут ключевыми для тестировщиков.
21