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

Содержание:

Anonim

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

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

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

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

В этом руководстве вы узнаете:

  • Что такое испытания на выносливость?
  • Цели испытаний на выносливость
  • Что контролировать в тестах на выносливость
  • Как проводить испытания на выносливость
  • Пример испытаний на выносливость
  • Инструменты для испытаний на выносливость
  • Преимущества испытаний на выносливость
  • Недостатки испытаний на выносливость

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

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

Что контролировать в тестах на выносливость

В тестах на выносливость проверяются следующие вещи.

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

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

Ниже приведен базовый подход к тестированию на выносливость.

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

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

В то время как стресс-тестирование доводит тестируемую систему до предела возможностей, испытание на выносливость с течением времени доводит приложение до предела .

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

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

  • WebLOAD
  • LoadComplete
  • Apache JMeter
  • LoadRunner
  • Appvance
  • LoadUI
  • OpenSTA
  • Rational Performance Tester

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

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

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

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

Резюме:

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

Эта статья стала возможной благодаря вкладу Уннати Сони.