17850c812cabdb10e4af421521bfab1e.ppt
- Количество слайдов: 16
Software quality assurance days International Conference of Software Quality Assurance sqadays. com Коваленко Андрей Lohika. Одесса, Украина Путь к тестированию производительности. Как его пройти от автоматизированных тестов. Minsk. May 29– 30 2015
О докладчике Андрей Коваленко 6 последних лет в ИТ 3 года в разработке и внедрении распределённых защищённых сетей 3 последних года- инженер по анализу и тестированию производительности kovalenko. andrey. odessa Performance testing for Automation QA – why and how?
Что такое производительность? Нагрузочное тестирование – оценка поведения приложения/системы под заданной ожидаемой нагрузкой. Стресс-тестирование - определение надёжности системы во время экстремальных или диспропорциональных нагрузок. Тестирование стабильности - Тестирование стабильности проводится с целью убедиться в том, что приложение выдерживает ожидаемую нагрузку в течение длительного времени. Performance testing for Automation QA – why and how?
Зачем нужно тестировать производительность? Performance testing for Automation QA – why and how?
Тестирование производительности VS функциональности Функциональное мануальное • • Строятся на функциональных спецификациях Выполняется первым Выполняется мануально Отвечает на вопрос «ЧТО? » Тестирование производительности • • Функциональное автоматизированное • • Строятся на функциональных спецификациях Должно выполняться после мануального тестирования Может быть выполнено только с использованием автоматизированных инструментов Отвечает на вопрос «ЧТО? » Строятся на не-функциональных спецификациях Должно выполняться после мануального тестирования Практически всегда может быть выполнено только с использованием автоматизированных инструментов Отвечает на вопрос «КАК ХОРОШО» ? Performance testing for Automation QA – why and how?
Жизненный цикл тестирования Performance testing for Automation QA – why and how?
Жизненный цикл тестирования производительности 1. Определение спецификаций 1. Функционал влияющий на производительность – совместно с разработчиками 2. Модули влияющие на производительность – совместно с разработчиками и FA/SA 3. Анализ уровней приложения 2. Приёмочные критерии (KPI производительности): 1. Основные значения TRT – совместно с FA и на основе публичной информации 2. Граничные значения потребления системных ресурсов – из собственного опыта Performance testing for Automation QA – why and how?
Жизненный цикл тестирования производительности 3. Планирование и дизайн: 1. Пользовательский сценарий – совместно с FA 2. Выделение транзакций – совместно с FA 3. Написание скриптов 4. Создание тестового окружения, аналогичного клиентскому окружения 5. Создание мониторов системных ресурсов и ресурсов приложения Performance testing for Automation QA – why and how?
Жизненный цикл тестирования производительности 4. Выполнение и анализ 1. Выполнение нагрузочного сценария 2. Сбор результатов 3. Анализ результатов, сравнение с KPI 4. Анализ всех доступных логов системы (GC log, DB logs, dumps…) 5. Профилирование приложения для выявления узких мест системы 6. Создание рекомендаций для настройки приложения и окружения 7. Подготовка отчёта Performance testing for Automation QA – why and how?
Автоматизация VS Производительность Автоматизация • • Один пользователь Валидация функциональных спецификаций Может выполняться на любом окружении Нет необходимости в подробном мониторинге поведения системы Производительность • • Многопользовательский сценарий Валидация спецификаций производительности Должен выполняться на окружении максимально схожем с пользовательским Необходимо собирать максимум информации о системе Performance testing for Automation QA – why and how?
Автоматизация->Производительность (путь «в лоб» ) 1. Удаляем из скриптов валидацию получаемых данных 2. Выделяем в коде интересующие нас транзакции 3. Оборачиваем эти транзакции в любые конструкции измерения времени 4. Создаем тестовое окружение 5. Подготавливаем набор мониторов системных ресурсов и ресурсов приложения 6. Создаём и реализуем временной сценарий (порядок запуска и остановки скриптов) 7. После запуска собираем результаты и подготавливаем отчёт Performance testing for Automation QA – why and how?
Автоматизация->Производительность 1. Проверяем используемую вами IDE - ищем функционал запуска тестов производительности 2. Выбираем 3 rd party инструмент с подобным функционалом 3. Удаляем из скриптов валидацию получаемых данных 4. Обозначаем в коде транзакции 5. Автоматически получаем набор необходимых мониторов 6. Создаем тестовое окружение 7. Запускаем тестовый сценарий и автоматически получаем отчёт Performance testing for Automation QA – why and how?
Автоматизация->Производительность Performance testing for Automation QA – why and how?
Автоматизация->Производительность Performance testing for Automation QA – why and how?
Автоматизация->Производительность http: //www. opensourcetesting. org/performance. php Performance testing for Automation QA – why and how?
Вопросы? Performance testing for Automation QA – why and how?