Что такое тестирование на выносливость в тестировании программного обеспечения? (с примером)

Тест на выносливость

Тест на выносливость это нефункциональный тип тестирования программного обеспечения, при котором программное обеспечение тестируется с высокой нагрузкой в ​​течение значительного периода времени для оценки поведения программного приложения при длительном использовании. Основная цель тестирования на выносливость — убедиться, что приложение способно справляться с длительной нагрузкой без какого-либо ухудшения времени отклика.

Этот тип тестирования выполняется на последнем этапе цикла выполнения производительности. Испытание на выносливость — длительный процесс, который иногда длится даже до года. Это может включать применение внешних нагрузок, таких как интернет-трафик или действия пользователя. Этим испытания на выносливость отличаются от испытание нагрузкой, который обычно заканчивается через пару часов или около того.

Выносливость означает способность, другими словами, вы можете назвать тестирование на выносливость тестированием мощности.

Цели испытаний на выносливость

  • Основная цель тестирования на выносливость — проверка на наличие утечек памяти.
  • Узнать, как система работает при длительном использовании.
  • Чтобы гарантировать, что по истечении длительного периода время отклика системы останется таким же или лучше, чем в начале теста.
  • Чтобы определить количество пользователей и/или транзакций, которые данная система будет поддерживать и достигать целевых показателей производительности.
  • Чтобы управлять будущими нагрузками, нам необходимо понять, сколько дополнительных ресурсов (таких как мощность процессора, емкость диска, использование памяти или пропускная способность сети) необходимо для поддержки использования в будущем.
  • Тестирование на выносливость обычно проводится либо путем перегрузки системы, либо путем сокращения определенных системных ресурсов и оценки последствий.
  • Это выполняется для того, чтобы гарантировать, что дефекты или утечки памяти не возникнут после относительно «нормального» периода использования.

Что следует контролировать при испытаниях на выносливость

Тест на выносливость

В ходе испытаний на выносливость проверяются следующие параметры.
  • Тест утечки памяти– Проверки выполняются, чтобы убедиться, что в приложении нет утечки памяти, которая может привести к сбою системы или ОС.
  • Тестирование замыкания соединения между уровнями системы – Если соединение между уровнями системы не закрывается успешно, это может привести к остановке некоторых или всех модулей системы.
  • Тестовое соединение с базой данных успешно закрыто– Если соединение с базой данных не закрывается успешно, это может привести к сбою системы.
  • Время отклика теста – Система тестируется на время отклика системы, поскольку приложение становится менее эффективным в результате длительного использования системы.

Как проводить испытания на выносливость

Ниже приведен базовый подход к тестированию на выносливость.
  • Тестовая среда – Определите аппаратное, программное обеспечение, операционную систему, необходимые для тестирования на выносливость, распределите роли и обязанности внутри команды и т. д. Среда должна быть готова до выполнения теста. Вам также необходимо оценить общий объем производства базы данных и ежегодный рост. Это необходимо, поэтому вам нужно проверить, как ваше приложение отреагирует через год, два или пять.
  • Создание плана тестирования, сценариев – В зависимости от характера тестирования – ручное или автоматическое, или сочетание того и другого. Тестовый кейс дизайн, обзоры и исполнение должны быть запланированы. Тестирование для нагрузки на систему, тестирование точек останова и т. д. также должно быть частью плана тестирования. Тестирование с целью нагрузить систему определяет точку останова в приложении.
  • Тестовая оценка – Предоставьте оценку того, сколько времени потребуется для завершения этапа тестирования. Его следует анализировать на основе количества задействованных тестировщиков и количества требуемых циклов испытаний.
  • Анализ риска - Анализ риска и принятие соответствующих мер по его предотвращению. Приоритизация тестовых случаев в соответствии с фактором риска и определение приведенных ниже рисков и проблем, которые тестировщик может выполнить во время испытания на долговечность.
  • Будет ли производительность оставаться стабильной с течением времени?
  • Есть ли другие незначительные проблемы, которые еще не были обнаружены?
  • Есть ли внешние помехи, которые не были устранены?
  • Расписание испытаний – Определить бюджет, результаты в установленные сроки. Как Тест на выносливость применяет огромную, но естественную структуру нагрузки транзакций к системе/приложению в течение непрерывного периода времени.

Пример испытания на выносливость

В то время как Стресс-тестирование доводит тестируемую систему до предела своих возможностей, Испытание на выносливость доводит приложение до предела через некоторое время. Например, самые сложные проблемы — утечки памяти, использование сервера базы данных и неотзывчивая система — возникают, когда программное обеспечение работает в течение длительного периода времени. Если вы пропустите тесты на выносливость, ваши шансы обнаружить такие дефекты до развертывания довольно низки.

Инструменты для испытаний на выносливость

Преимущества испытаний на выносливость

  • Это помогает определить, какую рабочую нагрузку может выдержать система под нагрузкой.
  • Предоставляет точные данные, которые клиент может использовать для проверки или улучшения своих потребностей в инфраструктуре.
  • Определяет проблемы с производительностью, которые могут возникнуть после того, как система работала на высоком уровне в течение длительного периода времени.
  • Типичные проблемы выявляются в ходе небольших целевых тестов производительности, что означает, что приложение остается доступным даже при огромной нагрузке за очень короткий промежуток времени.
  • Испытание на выносливость также используется для проверки наличия какого-либо снижения производительности после длительного периода выполнения.

Недостатки испытаний на выносливость

  • Часто бывает трудно определить, какой уровень стресса стоит приложить.
  • Тестирование на выносливость может вызвать сбои приложений и/или сети, которые могут привести к значительным сбоям в работе, если Тестовая среда не изолированы.
  • Необратимая потеря или повреждение данных может произойти из-за перегрузки системы.
  • Использование ресурсов остается очень высоким даже после снятия стресса.
  • Некоторые компоненты приложения не отвечают.
  • Необработанные исключения наблюдаются конечным пользователем.

Итого

  • In Программная инженерия, Тестирование на выносливость — это разновидность нагрузочного тестирования.
  • Испытания на выносливость — длительный процесс, который иногда длится даже до года.
  • Проверки проводятся для подтверждения
  • Тест утечки памяти
  • Время отклика теста
  • Проверка подключения к базе данных и т. д.