13.3 Этапы нагрузочного тестирования
Прежде чем приступать к самому процессу тестирования, нам необходимо к нему подготовиться, учесть все особенности системы, подготовить документацию и тестовые данные, инструменты, стенды и т.д.
Основные этапы проведения нагрузочного тестирования:
- Определение и постановка задач.
- Подготовка тестового стенда и средства тестирования.
- Подготовка тестового плана (методики НТ).
- Настройка тестового стенда и вспомогательного ПО.
- Проведение нагрузочных тестов.
- Подготовка отчетов и анализ результатов тестирования.
1. Определение и постановка задачи
- Сбор информации о продукте: мы собираем всю информацию о продукте: требования к производительности продукта, какие операции совершают наши пользователи, для того, чтоб в дальнейшем составить тест-кейсы. Определяем цели тестирования.
- Определение состава группы по нагрузочному тестированию: определяем состав группу, количество тестировщиков занятых в данном процессе, так же других участников, например аналитики, архитекторы, проджект менеджеры и т.д.
- Определение и согласование целей тестирования: определяем цели нашего тестирования и обязательно согласовываем их с вышестоящим руководством.
2. Подготовка тестового стенда и средств тестирования
- Подготовка стендов для тестирования: подготовка стенда, который по своим характеристикам максимально приближен к продакшену, сюда можно отнести, к примеру базу данных, которая должна быть загружена по объему максимально близко к базе данных продакшена, так как нам необходимо максимально точно воссоздать условия нашего тестирования.
- Подготовка ПО для тестировщиков, то есть установка всех необходимых программ.
- Получение доступов к стендам для тестировщиков.
3. Подготовка тестового плана или как его еще называют методики Нагрузочного Тестирования
- Написание тест-кейсов.
- Согласование сроков.
- Согласование участников тестирования.
- Частота проведения тестов.
В данном документе описываются тест-кейсы, то есть тестовые сценарии процессов, шагов, которые мы будем проводить во время нашего тестирования, с целью сымитировать деятельность конечных пользователей, так же здесь описываются сроки, количество участников, частота проведения наших тестов и т.д.
4. Настройка тестового стенда и вспомогательного ПО
Окончательная настройка нашего стенда, вспомогательного ПО, подготовка эмуляторов и заглушек для нашей системы.
Заглушка – это часть нашей системы, которая всегда отвечает одинаково, то есть когда мы отправляем в нее запрос, она всегда отвечает однотипно.
Эмулятор же в свою очередь, обладает большей логикой и способен выдавать различные ответы.
5. Проведение нагрузочного тестирования
- Дымовое тестирование: В первую очередь мы проводим smoke тестирование, то есть прогоняем небольшие тесты, для того чтоб проверить что наша система вообще работает и выполняет свою основную бизнес-логику. Это обязательное условие перед полноценным тестированием, это можно сравнить с разведкой обстановки.
- Определение максимальной производительности системы: Определение максимальной производительности, то есть мы хотим узнать предельные способности нашей системы, этот показатель очень важен для нас и будет в дальнейшем использоваться и сравниваться с другими показателями нашей системы.
- 90% от максимальной производительности системы: Нам необходимо повторно произвести определение максимальной производительности, процентов 90 от предыдущего значения, для того, чтоб убедиться что мы получили верные данные.
- Тестирование надежности.
6. Подготовка отчета и анализ результата тестирования
- Фиксирование процента успешных операций: процент успешных операций, так называемая доступность.
- Фиксирование отклика системы на нагрузку: время отклика системы на нагрузку.
- Фиксирование пропускной способности системы: пропускная способность—количество операций в единицу времени, которое способна выполнять система.