41
Особенности тестирования облачных сервисов Очир Абушинов. WWPass Corporation

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

  • Upload
    sqalab

  • View
    1.142

  • Download
    6

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

Очир Абушинов. WWPass Corporation

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

Обо мне

• Более 8 лет в тестировании и QA

• Прошел путь от тестирования ПО авионики до руководства отделом QA

• Специализации:

✓ Стратегия тестирования

✓ Автоматизация на Python,Ruby

✓ Тестирование безопасности

• Глава департамента QA

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

!

• Основана в 2008, головной офис в Нью-Гемпшире,

США

• Удобная и безопасная замена логинам и паролям

• Облачная аутентификация с расширенной

приватностью для конечных пользователей

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

Что такое «Облако»

!• Доступно с любого устройства с

доступом в Интернет

• Автоматически масштабируется в

зависимости от потребности

заказчика

• Самые распространенные модели

обслуживания - SaaS, PaaS, IaaS

• Модель обслуживания WWPass -

IDaaS (Identity as a Service)

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

Архитектура

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

Что тестируем в «облаке»

!

• Бэкенды

• Клиентский софт

• Библиотеки

• API

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

Особенность нашего «облака»

!

• Распределенность

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

Особенность нашего «облака»

!

• Распределенность

• Сложная оценка производительности

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

Особенность нашего «облака»

!

• Распределенность

• Сложная оценка

производительности

• Деплоймент

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

Особенность нашего «облака»

!

• Распределенность

• Сложная оценка

производительности

• Деплоймент

• Масштабируемость

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

Особенность нашего «облака»

!

• Распределенность

• Сложно оценивать

производительность

• Деплоймент

• Масштабируемость

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

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

Особенности автоматизации

!• Необходима для тестирования бекендов и API

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

Особенности автоматизации

!• Необходима для тестирования бекендов и API

• Начинается с создания API разработчиками

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

Особенности автоматизации

!• Необходима для

тестирования бекендов и API

• Начинается с создания API

разработчиками

• Активное использование эмуляторов и заглушек

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

Особенности автоматизации

!• Необходима для тестирования бекендов и API

• Начинается с создания API разработчиками

• Активное использование эмуляторов и заглушек

• Привязка к тестовой инфраструктуре при прогоне тестов

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

Особенности автоматизации

!• Необходима для тестирования бекендов и API

• Начинается с создания API разработчиками

• Активное использование эмуляторов и заглушек

• Привязка к тестовой инфраструктуре при прогоне

тестов

• Самописный фреймворк

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

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

производительности!

• Результаты тестирования в тестовой сети и продакшен могут отличаться

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

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

производительности!

• Результаты тестирования

в тестовой сети и

продакшен могут

отличаться

• Измерение «цепочки» результатов

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

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

производительности!

• Результаты тестирования в тестовой сети и продакшен могут отличаться

• Измерение «цепочки» результатов

• Тестирование может занимать много времени (пример - заполнение базы данных)

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

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

производительности!

• Результаты тестирования в тестовой сети и продакшен

могут отличаться

• Измерение «цепочки» результатов

• Тестирование может занимать много времени (пример

- заполнение базы данных)

• Самописный фреймворк (кроме веба)

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

Особенности QA инженеров

!

• Требуются навыки системного администрирования

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

Особенности QA инженеров

!

• Навыки системного

администрирования

• Коммуникативные навыки для общения с админами, менеджерами, разработчиками

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

Особенности виртуализации

!

• Виртуализация необходима для экономии ресурсов

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

Особенности виртуализации

!

• Виртуализация необходима для экономии ресурсов

• Не все можно и нужно виртуализировать

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

Мониторинг

• Для проверки доступности сервисов нужны «smoke» тесты

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

Мониторинг

• Для проверки доступности сервисов нужны «smoke»

тесты

• Необходимо мониторить загрузку CPU, RAM, etc.

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

Мониторинг

• Для проверки

доступности сервисов

нужны «smoke» тесты

• Необходимо мониторить

загрузку CPU, RAM, etc.

• Можно использовать Munin или Op5

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

Тестирование безопасности

!

• Необходим внешний аудит

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

Тестирование безопасности

!

• Необходим внешний

аудит

• Быть в курсе последних уязвимостей

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

Стресс тестирование

• Главный источник «негативных» сценариев

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

Стресс тестирование

• Главный источник «негативных» сценариев

• Тестовые кейсы иногда приходят из продакшена

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

Распределенность

!

• Сложность диагностирования ошибки

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

Распределенность

!

• Сложность диагностирования ошибки

• Помогает система поиска ошибок по логам

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

Распределенность

!

• Сложность диагностирования ошибки

• Система поиска ошибок по логам

• Необходимость в распределенных серверах в тестовой инфраструктуре

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

Распределенность

!• Сложность диагностирования ошибки

• Система поиска ошибок по логам

• Необходимость в распределенных серверах в тестовой инфраструктуре

• Нужна развитая система деплоймента

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

Урок 1

• Разумная «виртуализация»

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

Урок 2

• Разумная «виртуализация»

• Отдельная тестовая инфраструктура

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

Урок 3

• Разумная

«виртуализация»

• Отдельная тестовая

инфраструктура

• Автоматизация рутинных операций

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

Урок 4

• Разумная «виртуализация»

• Отдельная тестовая инфраструктура

• Автоматизация рутинных операций

• Использование эмуляторов, заглушек, моков

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

Урок 5

• Разумная «виртуализация»

• Отдельная тестовая инфраструктура

• Автоматизация рутинных операций

• Использование эмуляторов, заглушек, моков

• Важность «негативных» сценарий

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

Спасибо за внимание!

!• Skype: ochir_abushinov

• Twitter: CaMypau

• Email: [email protected]