Тестирование производительности ПО
Для чего нужно регулярное тестирование производительности по? Это наиболее эффективный способ обеспечить бесперебойную, корректную работу системы на всех этапах его жизненного цикла. А также снизить затраты на владение.
Проверка включает 8 этапов, каждый из которых отличается от других, требует определенных навыков и знаний. Стать специалистом в данной области помогут курсы по тестированию. Рассмотрим основные особенности каждого этапа тестирования производительности по.
Анализ и определение требований
После установки программы необходимо провести функциональную проверку. Она помогает:
- воспроизводить шаблоны профиля нагрузки, объективно оценивать и планировать методы поведения пользователей;
- прогнозировать объем информации, которая понадобится;
- выявить слабые места ПО;
- настроить процесс мониторинга
Требования, определенные в начале тестирования производительности приложения, нужно сравнить с имеющимися результатами. Для этого программисты пользуются критериями:
- число участников,
- ожидание отклика,
- количество запросов в секунду,
- число транзакций за определенный период,
- процент ошибочных действий,
- выполнение потока процессором,
- количество свободной памяти,
- процент использования жесткого диска.
Это касается готовящихся к запуску программ. Если приложение уже используется, данное нагрузочное тестирование ПО поможет выявить уязвимые места, проанализировать работу с продуктом, спрогнозировать дальнейшее функционирование системы.
Стратегия на основе анализа
Грамотная автоматизация тестирования ПО невозможна без узкоспециализированного обучения. Пройдя курсы с нуля или укрепив имеющийся опыт, каждый программист, тестировщик сможет собрать необходимую информацию о:
- системе,
- поставленных задачах анализа,
- предъявляемых требованиях,
- конфигурации элементов,
- сценариях,
- особенностей мониторинга,
- нагрузочном профиле,
- инструментарии,
- способах предоставления полученных данных.
Необходимо досконально изучить и применяемые инструменты:
- HP LoadRunner,
- Microsoft Visual Studio,
- APACHE JMeter.
Сбор всех данных при тестировании производительности приложения необходим для составления корректного профиля нагрузки. Это варианты предполагаемого поведения участников процесса.
Настройка сервера и генератора нагрузок, их мониторинг
Для подробного анализа используют утилиты. Эффективнее из них сегодня:
- Nmon,
- Performance Monitor,
- Zabbix,
- Grafana,
- New RelicpostgreSQL,
- JProfiler,
- Xdebug,
- XHProf.
Анализ результатов тестирования производительности ПО возможен только при наличии данных, полученных в ходе мониторинга.
Подготовка тестировочных данных
В данном вопросе нет универсального, общепризнанного подхода. Профессиональные тестировщики предпочитают 4 метода подготовки информации:
- Кодирование. Создание пользователей, паролей для них, различные значения через скрипты.
- Запросы SQL. Если на стороне сервера есть доступ к базе данных.
- Запросы API. Когда нужно указать данные о пользователях, подать информацию о товарах.
- Интерфейс. Создание специального скрипта со способностью проходить все этапы, предназначенные при регистрации для реального пользователя.
Это наиболее удобные и эффективные способы подготовки тестировочных данных.
Разработка скриптов для нагрузочного тестирования ПО
Чтобы разработать нагрузочный скрипт, придется поэтапно пройти три стадии:
- изучить сценарий,
- составить тест-кейс,
- наладить работу сценариев.
На заключительном этапе проводится отдельная проверка сценариев. Стадия завершается, если каждый кейс корректно отработал.
Предварительные или проверочные запуски тестов
Нагрузочные скипы необходимо проанализировать, найти подходящие для системы нагрузки. Это поможет определить мощность одного генератора или нескольких – хватит ли ее для реализации полноценного тестирования производительности ПО.
Тестировочный этап
В данной части процесса можно провести разные виды проверочного тестирования:
- нагрузочное,
- объемное,
- модульное,
- конфигурации.
Кроме этого проводят стресс-тесты и тест «часа пик». Проверяют стабильность, масштабируемость, прочие аспекты.
Анализ полученных результатов
Это завершающий этап тестирования производительности приложений, после чего на основе полученных данных составляется отчет. Заключение по работе программного обеспечения включает следующую информацию:
- Цель проверки.
- Конфигурация генератора нагрузки, стенда.
- Предъявляемые к программному обеспечению требования.
- Профиль нагрузки.
- Сценарии.
- Статистика по времени отклика, количеству транзакций и запросов в секунду.
- Количество пользователей, которые могут одновременно пользоваться приложением без сбоев и торможений.
- Данные об ошибках.
- Графики зависимости качества работы от числа пользователей.
- Информация об обнаруженных слабых местах ПО.
После составления отчета грамотный тестировщик должен предоставить разработанные рекомендации по устранению уязвимых мест, оптимизации тестирования ПО. Чтобы это сделать или самостоятельно убрать ошибки, необходимо иметь знания и опыт в данной области. Пройдя курсы, можно не сомневаться в успешности и правильности действий.