РУКОВОДСТВО ПО ТЕСТИРОВАНИЮ ПРОИЗВОДИТЕЛЬНОСТИ | МАТЕРИАЛ ДЛЯ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

В области тестирования программного обеспечения тестировщики в основном сосредотачиваются на тестировании “черного ящика” и белого ящика. При тестировании черного ящика опять же существуют разные типы тестирования. Основными типами тестирования являются функциональное тестирование и нефункциональное тестирование. Тестирование производительности и типы тестирования производительности относятся к нефункциональному тестированию.

РУКОВОДСТВО ПО ТЕСТИРОВАНИЮ ПРОИЗВОДИТЕЛЬНОСТИ | МАТЕРИАЛЫ ПО ТЕСТИРОВАНИЮ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

В этой статье мы рассмотрим следующее

  • Что такое тестирование производительности
  • Для чего нужно тестирование производительности
  • Типы тестирования производительности
  • Разница между функциональным тестированием и нефункциональным тестированием
  • Разница между тестированием производительности, нагрузочным тестированием и стресс-тестированием
  • Разница между проектированием производительности и тестированием производительности
  • Тестирование производительности Процесс
  • Пример сценариев тестирования производительности
  • Как правильно выбрать инструмент тестирования производительности
  • Какие популярные инструменты тестирования производительности используются для тестирования производительности

<сильный>Что такое тестирование производительности?

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

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

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

Почему тестирование производительности?< /h3>

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

Мы используем инструменты тестирования производительности для измерения производительности тестируемой системы или приложения (AUT) и помогаем в выпуске высококачественного программного обеспечения, но это не делается для поиска дефектов в приложении.

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

Скорость: определяет, быстро ли реагирует приложение

Масштабируемость: определяет максимальная нагрузка, с которой может справиться приложение

Стабильность:Он определяет, стабильно ли приложение при различных нагрузках.

Плохо работающие приложения приобретают плохую репутацию и не достигают ожидаемых целей. Поэтому тестирование производительности приложения очень важно.

Типы тестирования производительности?

РУКОВОДСТВО ПО ТЕСТИРОВАНИЮ ПРОИЗВОДИТЕЛЬНОСТИ | МАТЕРИАЛЫ ДЛЯ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Тестирование производительности:

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

Нагрузочное тестирование:

Нагрузочное тестирование предназначено для проверки того, что система/приложение может обрабатывать ожидаемое количество транзакций, а также для проверки поведения системы/приложения как в нормальных условиях, так и в условиях пиковой нагрузки (количество пользователей).

Объемное тестирование:

< p>Volume Testing предназначен для проверки того, может ли система/приложение обрабатывать большой объем данных. Это тестирование сосредоточено на базе данных. Тестировщик производительности, выполняющий объемное тестирование, должен заполнить огромный объем данных в базе данных и отслеживать поведение системы.

Стресс-тестирование:

Стресс-тестирование предназначено для проверки поведения системы, когда нагрузка увеличивается больше, чем ожидалось при проектировании системы. Это тестирование определяет, какие компоненты выходят из строя первыми, когда мы нагружаем систему, применяя нагрузку, превышающую расчетную. Чтобы мы могли разработать более надежную систему.

Тестирование выдержки/выносливости:

Soak Testing также известен как Endurance Testing. Запуск системы под высокой нагрузкой в ​​течение длительного периода времени для выявления проблем с производительностью называется тестированием на выдержку. Это делается для того, чтобы убедиться, что программное обеспечение может справляться с ожидаемой нагрузкой в ​​течение длительного периода времени.

Скачковое тестирование.

Скачковое тестирование предназначено для определения поведения системы при внезапном увеличении нагрузки (например, большое количество пользователей) в системе.

Подробнее: Типы тестирования производительности и более 100 типов тестирования программного обеспечения

Разница между функциональным Тестирование и нефункциональное тестирование?

Функциональное тестирование

Нефункциональное тестирование

На самом деле система выполняет функциональное тестирование

Насколько хорошо система выполняет нефункциональное тестирование

Чтобы убедиться, что ваш продукт соответствует требованиям клиентов и бизнеса и не содержит серьезных ошибок

Убедиться, что продукт соответствует ожиданиям клиентов

Проверить соответствие программного обеспечения ожидаемому результату

Проверить соответствие поведение ПО при различных условиях нагрузки

Выполняется перед нефункциональным тестированием

Выполняется после функционального тестирования< tr class="row-6 даже">

Пример функционального тестового случая – проверка возможности входа в систему

Пример нефункционального тестового примера – проверка того, загружается ли домашняя страница менее чем за 2 секунды

Типы тестирования:
• Модульное тестирование
• Дымовое тестирование
• Принятие пользователями
• Интеграционное тестирование
• Регрессионное тестирование
• Локализация
• Глобализация
• Взаимодействие

Типы тестирования:
• Тестирование производительности
• Массовое тестирование
• Масштабируемость
• Тестирование удобства использования
• Нагрузочное тестирование
• Стресс-тестирование
• Тестирование на соответствие
• Тестирование переносимости
• Тестирование аварийного восстановления

Может выполняться как вручную, так и автоматически

Его можно эффективно выполнять, если его автоматизировать

Разница между тестированием производительности и нагрузкой Тестирование и стресс-тестирование

Тестирование производительности:

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

Проверка производительности проводится для снижения рисков, связанных с доступностью, надежностью, масштабируемостью, реагированием, стабильностью и т. д. система.

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

Нагрузочное тестирование.

Нагрузочное тестирование предназначено для проверки того, что система/приложение может обрабатывать ожидаемое количество транзакций, а также для проверки поведения системы/приложения как в нормальных условиях, так и в условиях пиковой нагрузки (№ пользователей).

Стресс-тестирование:

Стресс-тестирование предназначено для проверки поведения системы, когда нагрузка увеличивается больше, чем ожидалось при проектировании системы. Это тестирование определяет, какие компоненты выходят из строя первыми, когда мы нагружаем систему, применяя нагрузку, превышающую расчетную. Чтобы мы могли разработать более надежную систему.

Тестирование производительности

Нагрузочное тестирование

Стресс-тестирование

Это надмножество нагрузочного и стресс-тестирования

Это подмножество тестирования производительности

Это подмножество тестирования производительности

Целью тестирования производительности является установление контрольных показателей и стандартов для приложение

Целью нагрузочного тестирования является определение верхнего предела системы, установка SLA для приложения и проверка того, как система справляется с большой нагрузкой

Цель нагрузочного тестирования — выяснить, как система ведет себя при экстремальных нагрузках и как он восстанавливается после сбоя

Предел нагрузки как ниже, так и выше порога сбоя

Предел нагрузки — это порог a break

Ограничение нагрузки превышает пороговое значение break

Атрибуты, которые проверяются при тестировании производительности, — это скорость, время отклика, использование ресурсов, стабильность, надежность и пропускная способность. уровни нагрузки, требования к балансировке нагрузки и т. д.

Атрибуты, которые проверяются при стресс-тестировании, – это стабильность, время отклика, пропускная способность и т. д.,

Разница между проектированием производительности и тестированием производительности?

Инженерия производительности – это дисциплина, которая включает передовые методы и действия на каждом этапе жизненного цикла разработки программного обеспечения (SDLC) для тестирования и настройки приложения с целью достижения требуемой производительности.

Тестирование производительностимоделирует реалистичную нагрузку конечного пользователя, чтобы определить скорость, отзывчивость и стабильность системы. Он касается тестирования и составления отчетов о текущей производительности приложения по различным параметрам, таким как время отклика, одновременная пользовательская нагрузка, пропускная способность сервера и т. д.

Процесс тестирования производительности

Определите тестовую среду:

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

Определить критерии приемлемости производительности:

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

Тесты производительности планирования и проектирования:

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

Настройте тестовую среду:

Подготовьте тестовую среду, расположите инструменты и другие ресурсы перед выполнением

Внедрение дизайна теста:

Разработка тестов производительности в соответствии с дизайном теста

Выполнение теста:

Выполнение и мониторинг тесты

Анализ результатов, отчет и повторное тестирование:

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

Пример сценариев тестирования производительности< /strong>

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

Подробнее: Как писать функциональные тестовые примеры.

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

Как правильно выбрать инструмент для тестирования производительности

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

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

  • Бюджет (стоимость лицензии)
  • Типы лицензий
  • Поддержка протокола
  • Предпочтения заказчика в отношении инструмента нагрузочного тестирования
  • Стоимость обучения сотрудников работе с выбранным инструментом
  • Требования к оборудованию и программному обеспечению для инструмента загрузки
  • Политика поддержки и обновлений поставщиков инструментов

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

Некоторые из популярных инструментов тестирования производительности: LoadRunner, Apache JMeter, NeoLoad, StresStimulus, LoadUI Pro, WebLOAD, Rational Performance Tester, AppLoader, SmartMeter.io, Silk Performer, StormRunner Load, LoadView.

Посмотрите наш полный список Популярных инструментов тестирования производительности.

Вывод.

В этой статье мы рассмотрели большую часть информации, необходимой для понимания тестирования производительности. Если у вас есть какие-либо вопросы, пожалуйста, прокомментируйте в разделе комментариев ниже.
TAG: qa

Comment Disabled for this post!