Тестирование – одна из важных частей SDLC(жизненного цикла разработки программного обеспечения). Поэтому каждый аспект тестирования должен быть охвачен, чтобы убедиться, что в системе не осталось ошибок. Только программное обеспечение, не содержащее ошибок, может быть представлено на рынке.
Тестирование программного обеспечения имеет два аспекта – функциональное тестирование и нефункциональное тестирование. К нефункциональному тестированию относится тестирование производительности.
Прежде чем углубляться в тему, давайте разберемся, что такое тестирование производительности.
БЕСПЛАТНО СКАЧАТЬ КНИГИ в телеграм канале "Библиотека тестировщика"
Содержание:
- Что такое тестирование производительности?
- Различные виды тестирования производительности
- Что такое спайк-тестирование?
- Цели тестирования шипов
- Типы нагрузок для проектирования рабочей нагрузки
- Шаги, которые позволят провести тестирование Spike
- Используемые инструменты
- Преимущества спайк-тестирования
- Недостатки спайс-тестирования
- Заключение
Что такое тестирование производительности?
На различных этапах тестирования в конце проводится тестирование производительности, чтобы определить работу программного обеспечения в различных ситуациях и при определенной рабочей нагрузке. При этом фиксируется реакция системы на различные раздражители и ее стабильность, после чего завершается обеспечение качества программного обеспечения.
Основное внимание при проведении тестирования производительности уделяется – скорости, масштабируемости и стабильности. Эти 3S определяют, готово ли программное обеспечение к развертыванию или нет.
Различные виды тестирования производительности
- Испытание нагрузкой
- Стресс-тест
- Тест на выносливость
- Спайп-тест
- Тест на объем
- Тест на масштабируемость
- Тест точки останова
- В этой статье мы подробно рассмотрим тестирование спайков.
Что такое спайк-тестирование?
Спайк-тестирование – это тип тестирования производительности, при котором мы наблюдаем за поведением системы, подвергая ее внезапному увеличению или уменьшению нагрузки. Это внезапное увеличение и уменьшение рабочей нагрузки является шипом.
Это часть тестирования производительности и, следовательно, нефункционального тестирования.
Цели тестирования шипов
- Чтобы проверить, выдержит ли система резкие повышения и понижения нагрузки (устойчивость системы).
- Определить время восстановления после каждого скачка.
- Определение слабых мест системы или приложения.
- Наблюдение за временем отклика программного обеспечения во время всплеска.
- Определение производительности во время и после всплеска.
Модели рабочей нагрузки в спайк-тесте
- Спайк-модель с постоянной рабочей нагрузкой
- Модель спайк нагрузки с шагом вверх
- Модель всплеска случайной нагрузки
Типы нагрузок для проектирования рабочей нагрузки
- Базовая нагрузка – это средняя пользовательская нагрузка на систему для наблюдения за тем, как она будет работать на ежедневной основе.
- Скачкообразная нагрузка – внезапное увеличение нагрузки для наблюдения за реакцией системы на нее. Такие нагрузки даются для того, чтобы проверить, сможет ли система справиться с внезапным увеличением числа пользователей в реальной жизни.
Шаги, которые позволят провести тестирование Spike
- Настройка среды – Чтобы добиться качественного тестирования, всегда создавайте среду, благоприятную для проведения испытаний.
- Определите максимальную нагрузку – чтобы начать процесс тестирования, сначала определите максимальную или экстремальную нагрузку, которую может выдержать ваша система. Это также называется максимальной пользовательской нагрузкой, так как на этом этапе определяется общее количество пользователей, которые могут получить доступ к приложению одновременно.
- Увеличение нагрузки – нагрузка увеличивается до своего пика, т.е. создается всплеск. Это увеличение не постепенное, а резкое. Этот всплеск создается с помощью любого предпочтительного инструмента Spike.
- Анализ пиковой производительности – созданный всплеск сохраняется в течение некоторого времени, чтобы отметить изменения в поведении системы при внезапном увеличении нагрузки. Время отклика, устойчивость и производительность анализируются в пиковый период.
- Уменьшение нагрузки – нагрузка уменьшается до нуля или минимального значения. В этот раз также происходит внезапное, а не постепенное снижение нагрузки. Вся настройка создана таким образом, чтобы не меняться при резких скачках. Выживаемость приложения проверяется в течение этого времени.
- Анализ графика производительности – Графики строятся после завершения наблюдения. Учитываются всевозможные факторы.
Используемые инструменты
Для проведения спайк-тестирования необходимо использовать соответствующие инструменты, чтобы добиться точных результатов. Некоторые из часто используемых инструментов –
- Apache JMeter – JMeter изначально был разработан для проведения нагрузочного тестирования, но теперь его стали применять и в других областях. Это инструмент с открытым исходным кодом, поддерживающий язык Java. Это один из самых востребованных инструментов для тестирования производительности.
- LoadRunner – Этот инструмент также является одним из наиболее используемых инструментов тестирования и принадлежит компании Hewlett Packard. Этот инструмент достаточно эффективен для симуляции сотен пользователей приложения и одновременного анализа производительности каждого из них. Единственный недостаток – он не является инструментом с открытым исходным кодом и немного сложнее, чем JMeter.
Давайте рассмотрим преимущества и недостатки спайк-тестирования.
Преимущества спайк-тестирования
- Он помогает определить прочность программного обеспечения в экстремальных условиях.
- Предотвращает аварийное завершение работы приложения.
- Делает программное обеспечение готовым к использованию в реальных условиях.
- Рассматриваются наихудшие сценарии, что обычно не делается в ходе стандартной процедуры тестирования. Это делает систему более устойчивой.
Недостатки спайс-тестирования
- Требуются специалисты по тестированию производительности и не могут быть проведены обычными тестировщиками.
- Сам по себе этот процесс довольно дорогостоящий, поэтому не каждый может себе его позволить.
- Проведение спайк-тестирования занимает больше времени, чем другие методы тестирования производительности. Это может привести к задержке развертывания продукта.
Заключение
- Рекомендуется соответствующая настройка среды.
- Предпочтительно проводить такое тестирование на крупных проектах, так как это довольно дорого.
- Некоторые из распространенных примеров, когда тестирование спайков необходимо: когда на сайте электронной коммерции начинается сезонная распродажа, когда наступает сезон отпусков и тысячи пользователей посещают сайт туров и путешествий, когда определенный контент на конкретном сайте становится вирусным и т. д.
- JMeter предпочтительнее Loadrunner, поскольку он доступен бесплатно и имеет лучший пользовательский интерфейс, а значит, проще в использовании.
Перевод статьи «Spike Testing».