Особенности тестирования облачных
сервисов
Очир Абушинов. WWPass Corporation
Обо мне
• Более 8 лет в тестировании и QA
• Прошел путь от тестирования ПО авионики до
руководства отделом QA
• Специализации:
✓ Стратегия тестирования
✓ Автоматизация на Python,Ruby
✓ Тестирование безопасности
• Глава департамента QA
!
• Основана в 2008, головной офис в Нью-Гемпшире,
США
• Удобная и безопасная замена логинам и паролям
• Облачная аутентификация с расширенной
приватностью для конечных пользователей
Что такое «Облако»
!
• Доступно с любого устройства с
доступом в Интернет
• Автоматически масштабируется в
зависимости от потребности
заказчика
• Самые распространенные модели
обслуживания - SaaS, PaaS, IaaS
• Модель обслуживания WWPass -
IDaaS (Identity as a Service)
Архитектура
Что тестируем в «облаке»
!
• Бэкенды
• Клиентский софт
• Библиотеки
• API
Особенность нашего «облака»
!
• Распределенность
Особенность нашего «облака»
!
• Распределенность
• Сложная оценка
производительности
Особенность нашего «облака»
!
• Распределенность
• Сложная оценка
производительности
• Деплоймент
Особенность нашего «облака»
!
• Распределенность
• Сложная оценка
производительности
• Деплоймент
• Масштабируемость
Особенность нашего «облака»
!
• Распределенность
• Сложно оценивать
производительность
• Деплоймент
• Масштабируемость
• Безопасность
Особенности автоматизации
!
• Необходима для тестирования бекендов и API
Особенности автоматизации
!
• Необходима для тестирования бекендов и API
• Начинается с создания API разработчиками
Особенности автоматизации
!
• Необходима для
тестирования бекендов и API
• Начинается с создания API
разработчиками
• Активное использование
эмуляторов и заглушек
Особенности автоматизации
!
• Необходима для тестирования бекендов и API
• Начинается с создания API разработчиками
• Активное использование эмуляторов и заглушек
• Привязка к тестовой инфраструктуре при прогоне
тестов
Особенности автоматизации
!
• Необходима для тестирования бекендов и API
• Начинается с создания API разработчиками
• Активное использование эмуляторов и заглушек
• Привязка к тестовой инфраструктуре при прогоне
тестов
• Самописный фреймворк
Особенности тестирования
производительности
!
• Результаты тестирования в тестовой сети и
продакшен могут отличаться
Особенности тестирования
производительности
!
• Результаты тестирования
в тестовой сети и
продакшен могут
отличаться
• Измерение «цепочки»
результатов
Особенности тестирования
производительности
!
• Результаты тестирования в
тестовой сети и продакшен
могут отличаться
• Измерение «цепочки»
результатов
• Тестирование может
занимать много времени
(пример - заполнение
базы данных)
Особенности тестирования
производительности
!
• Результаты тестирования в тестовой сети и продакшен
могут отличаться
• Измерение «цепочки» результатов
• Тестирование может занимать много времени (пример
- заполнение базы данных)
• Самописный фреймворк (кроме веба)
Особенности QA инженеров
!
• Требуются навыки
системного
администрирования
Особенности QA инженеров
!
• Навыки системного
администрирования
• Коммуникативные
навыки для общения с
админами,
менеджерами,
разработчиками
Особенности виртуализации
!
• Виртуализация
необходима для
экономии ресурсов
Особенности виртуализации
!
• Виртуализация необходима для экономии ресурсов
• Не все можно и нужно виртуализировать
Мониторинг
• Для проверки доступности сервисов нужны
«smoke» тесты
Мониторинг
• Для проверки доступности сервисов нужны «smoke»
тесты
• Необходимо мониторить загрузку CPU, RAM, etc.
Мониторинг
• Для проверки
доступности сервисов
нужны «smoke» тесты
• Необходимо мониторить
загрузку CPU, RAM, etc.
• Можно использовать
Munin или Op5
Тестирование безопасности
!
• Необходим внешний аудит
Тестирование безопасности
!
• Необходим внешний
аудит
• Быть в курсе
последних
уязвимостей
Стресс тестирование
• Главный источник «негативных» сценариев
Стресс тестирование
• Главный источник «негативных» сценариев
• Тестовые кейсы иногда приходят из продакшена
Распределенность
!
• Сложность диагностирования ошибки
Распределенность
!
• Сложность диагностирования ошибки
• Помогает система поиска ошибок по логам
Распределенность
!
• Сложность диагностирования ошибки
• Система поиска ошибок по логам
• Необходимость в распределенных серверах в
тестовой инфраструктуре
Распределенность
!
• Сложность
диагностирования ошибки
• Система поиска ошибок по
логам
• Необходимость в
распределенных серверах в
тестовой инфраструктуре
• Нужна развитая система
деплоймента
Урок 1
• Разумная «виртуализация»
Урок 2
• Разумная «виртуализация»
• Отдельная тестовая инфраструктура
Урок 3
• Разумная
«виртуализация»
• Отдельная тестовая
инфраструктура
• Автоматизация
рутинных операций
Урок 4
• Разумная «виртуализация»
• Отдельная тестовая
инфраструктура
• Автоматизация рутинных
операций
• Использование
эмуляторов, заглушек,
моков
Урок 5
• Разумная «виртуализация»
• Отдельная тестовая
инфраструктура
• Автоматизация рутинных
операций
• Использование эмуляторов,
заглушек, моков
• Важность «негативных»
сценарий
Спасибо за внимание!
!
• Skype: ochir_abushinov
• Twitter: CaMypau
• Email: o.abushinov@wwpass.com

Особенности тестирования облачных сервисов