Что такое объемное тестирование? Учитесь на примерах

⚡ Умное резюме

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

  • 💾 Основное определение: Объём данных увеличивается, в то время как нагрузка на пользователей остаётся на нормальном уровне.
  • 🔍 Первичные проверки: Потеря данных, скрытое перезаписывание, точность хранения и время отклика при работе с большими массивами данных.
  • 📈 Точка разложения: Этот тест позволяет определить тот уровень громкости, при котором начинают снижаться стабильность и производительность.
  • Не нагрузочное тестирование: Масштабирование объема данных зависит от количества строк и размеров файлов; масштабирование нагрузки зависит от количества одновременно работающих пользователей. Оба подхода выявляют разные недостатки.
  • 🧪 Реалистичность данных: Сгенерированные данные должны соответствовать ключам и обеспечивать реляционную целостность, что является самой сложной частью теста.
  • ???? Бизнес-кейс: Установленные до выпуска ограничения по мощности обходятся в разы дешевле, чем аналогичные ограничения, устанавливаемые в процессе производства.

Что такое тестирование объёма данных?

Что такое объемное тестирование?

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

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

Например, сервис потоковой передачи музыки может быть протестирован с каталогом, насчитывающим 50 миллионов композиций. tracс помощью ks и таблицы истории прослушиваний, содержащей миллиарды строк, можно проверить, по-прежнему ли поисковые и рекомендательные запросы возвращают результаты за приемлемое время.

Обратите внимание на различие: Тестирование объёма увеличивает количество данных Система работает. Увеличение количество одновременно работающих пользователей Это нагрузочное тестирование, которое представляет собой другой вид теста с другой целью.

Преимущества объемного тестирования

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

Зачем проводить объемное тестирование?

Целью объемного тестирования является

  • Проверка работоспособности системы при увеличении объемов данных в базе данных
  • Определите проблемы, которые могут возникнуть по мере увеличения объема данных.
  • Выяснить, в какой момент падает стабильность системы.
  • Volume Testing поможет определить емкость системы или приложения – нормальный и тяжелый объем.

Как проводить тестирование объёма трафика

При объемном тестировании необходимо протестировать следующие вещи:

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

Лучшие практики для тестирования больших объемов данных

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

  • Остановите все серверы и проверьте все журналы.
  • Перед нагрузочным тестом вручную выполните сценарий приложения.
  • Для получения наиболее полезных результатов колеблйте количество пользователей.
  • Чтобы преодолеть лицензионные ограничения, сбалансируйте время на размышление
  • Будьте осторожны с новой сборкой
  • Проанализируйте вариант использования для улучшения после установления базового уровня.
  • Повторение отдельных частей объемного тестирования становится неизбежным в случае возникновения узкого места в производительности.

Объёмные испытания против нагрузочных испытаний

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

Проблемы объемного тестирования

  • Фрагментация памяти, которую трудно создать
  • Динамическая генерация ключей
  • реляционный Integrity сгенерированных данных

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

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

Тип теста Что увеличивается Вопрос, на который он отвечает
Тестирование нагрузки Количество одновременно использующих устройство пользователей, достигнув ожидаемого пика. Соответствует ли оно целевым показателям при нормальной пиковой нагрузке?
Объемное тестирование Данные, хранящиеся в базе данных Справится ли система с ростом объёма данных?
Стресс-тестирование Нагрузка превышает допустимую нагрузку до отказа Где и как он ломается?
Пиковое тестирование Загрузка, мгновенная и чрезвычайно Выживет ли оно и восстановится ли после шока?
Испытание на выносливость Продолжительность при нормальной нагрузке Снижается ли производительность со временем?
Тестирование на замачивание Продолжительность, просмотр ресурсов Есть ли утечки памяти или дескрипторов?
Тестирование стабильности Различные условия Сохраняет ли он свою надежность при изменении условий?

Здесь наиболее важно следующее различие: Тестирование на объём данных масштабирует объём данных, а нагрузочное тестирование — количество пользователей. Отчет, который обрабатывает десять тысяч строк за две секунды, а десять миллионов — за две минуты, имеет проблему с объемом данных, а не с нагрузкой, и никакое увеличение серверной мощности это не исправит.

Как сгенерировать тестовые данные для объемного тестирования

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

Подход Реализм Главный недостаток
Копия производственных данных Наивысший Риски, связанные с конфиденциальностью и соблюдением нормативных требований.
Замаскированный производственный экземпляр Высокий Маскирование может нарушить ссылочную целостность.
Синтетическая генерация Средний Распределения могут не соответствовать действительности.
Воспроизведение производственного трафика Высокий Требуется инфраструктура для сбора данных.

Какой бы путь вы ни выбрали, должны выполняться три свойства, иначе тест не даст никаких полезных результатов.

  • Целостность ссылок. Каждый внешний ключ должен быть разрешен. Миллион «осиротевших» строк нагружают механизм хранения, но никогда не задействуют пути соединения, которые фактически использует приложение.
  • Реалистичная кардинальность. Если в производственной таблице десять миллионов строк по двумстам клиентам, то генерация десяти миллионов строк по десяти миллионам клиентов приведет к совершенно другим планам запросов.
  • Реалистичное распределение. Реальные данные искажены. Равномерно случайные данные скрывают «горячие» разделы и конфликты индексов, которые приводят к сбоям в производственной среде.

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

Часто задаваемые вопросы (FAQ)

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

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

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

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

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

Подведем итог этой публикации следующим образом: