Upload
sqalab
View
1.142
Download
6
Embed Size (px)
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
• Разумная «виртуализация»
• Отдельная тестовая инфраструктура
• Автоматизация рутинных операций
• Использование эмуляторов, заглушек, моков
• Важность «негативных» сценарий