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

Preview:

DESCRIPTION

Доклад Очира Абушинова на конференции SQADays-15, 18.04.2014, г.Москва

Citation preview

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

Очир Абушинов. 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

Recommended