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

Что такое объемное тестирование?
Объемное тестирование — это тип тестирования программного обеспечения, при котором программное обеспечение подвергается воздействию огромного объема данных. Его также называют испытания на наводнение. Объемное тестирование проводится для анализа производительности системы путем увеличения объема данных в базе данных.
С помощью объемного тестирования можно изучить влияние большого объема данных на время отклика и поведение системы.
Например, сервис потоковой передачи музыки может быть протестирован с каталогом, насчитывающим 50 миллионов композиций. tracс помощью ks и таблицы истории прослушиваний, содержащей миллиарды строк, можно проверить, по-прежнему ли поисковые и рекомендательные запросы возвращают результаты за приемлемое время.
Обратите внимание на различие: Тестирование объёма увеличивает количество данных Система работает. Увеличение количество одновременно работающих пользователей Это нагрузочное тестирование, которое представляет собой другой вид теста с другой целью.
Преимущества объемного тестирования
- Выявление проблем с производственными мощностями на ранней стадии позволяет избежать гораздо более высоких затрат на их устранение в процессе производства.
- Это помогает быстрее начать реализацию планов масштабирования.
- Раннее выявление узких мест
- Это гарантирует, что ваша система теперь пригодна для реального использования.
Зачем проводить объемное тестирование?
Целью объемного тестирования является
- Проверка работоспособности системы при увеличении объемов данных в базе данных
- Определите проблемы, которые могут возникнуть по мере увеличения объема данных.
- Выяснить, в какой момент падает стабильность системы.
- Volume Testing поможет определить емкость системы или приложения – нормальный и тяжелый объем.
Как проводить тестирование объёма трафика
При объемном тестировании необходимо протестировать следующие вещи:
- Проверьте, нет ли потери данных.
- Проверьте время отклика системы
- Проверьте, правильно ли сохранены данные или нет
- Проверьте, не перезаписаны ли данные без какого-либо уведомления.
- Убедитесь, что предупреждения и сообщения об ошибках действительно появляются при достижении лимита громкости.
- Проверьте, влияет ли большой объем данных на скорость обработки
- Убедитесь, что система располагает достаточными ресурсами памяти и хранилища для данного тома.
- Убедитесь, что проверка объема охватывает всю систему, а не отдельный компонент.
- Существует ли какой-либо риск, если объем данных превышает указанный?
- Выясните, существуют ли какие-либо гарантии того, что объем данных не превысит установленный максимум.
Лучшие практики для тестирования больших объемов данных
Некоторые из описанных ниже методов используются и при нагрузочном тестировании, поскольку обычно они применяются в одной и той же среде. Методы, специфичные для конкретного объема данных, касаются самого набора данных:
- Остановите все серверы и проверьте все журналы.
- Перед нагрузочным тестом вручную выполните сценарий приложения.
- Для получения наиболее полезных результатов колеблйте количество пользователей.
- Чтобы преодолеть лицензионные ограничения, сбалансируйте время на размышление
- Будьте осторожны с новой сборкой
- Проанализируйте вариант использования для улучшения после установления базового уровня.
- Повторение отдельных частей объемного тестирования становится неизбежным в случае возникновения узкого места в производительности.
Объёмные испытания против нагрузочных испытаний
| Объемное тестирование | испытание нагрузкой |
|---|---|
|
|
|
|
Проблемы объемного тестирования
- Фрагментация памяти, которую трудно создать
- Динамическая генерация ключей
- реляционный Integrity сгенерированных данных
Как этот тест соотносится с другими тестами производительности
Тестирование производительности — это группа тестов, которые различаются формой приложенной нагрузки, поэтому их так легко спутать.
| Тип теста | Что увеличивается | Вопрос, на который он отвечает |
|---|---|---|
| Тестирование нагрузки | Количество одновременно использующих устройство пользователей, достигнув ожидаемого пика. | Соответствует ли оно целевым показателям при нормальной пиковой нагрузке? |
| Объемное тестирование | Данные, хранящиеся в базе данных | Справится ли система с ростом объёма данных? |
| Стресс-тестирование | Нагрузка превышает допустимую нагрузку до отказа | Где и как он ломается? |
| Пиковое тестирование | Загрузка, мгновенная и чрезвычайно | Выживет ли оно и восстановится ли после шока? |
| Испытание на выносливость | Продолжительность при нормальной нагрузке | Снижается ли производительность со временем? |
| Тестирование на замачивание | Продолжительность, просмотр ресурсов | Есть ли утечки памяти или дескрипторов? |
| Тестирование стабильности | Различные условия | Сохраняет ли он свою надежность при изменении условий? |
Здесь наиболее важно следующее различие: Тестирование на объём данных масштабирует объём данных, а нагрузочное тестирование — количество пользователей. Отчет, который обрабатывает десять тысяч строк за две секунды, а десять миллионов — за две минуты, имеет проблему с объемом данных, а не с нагрузкой, и никакое увеличение серверной мощности это не исправит.
Как сгенерировать тестовые данные для объемного тестирования
В разделе, посвященном проблемам, отмечается, что получение реалистичных данных является сложной частью объемного тестирования. На практике используются четыре подхода, и каждый из них предполагает компромисс.
| Подход | Реализм | Главный недостаток |
|---|---|---|
| Копия производственных данных | Наивысший | Риски, связанные с конфиденциальностью и соблюдением нормативных требований. |
| Замаскированный производственный экземпляр | Высокий | Маскирование может нарушить ссылочную целостность. |
| Синтетическая генерация | Средний | Распределения могут не соответствовать действительности. |
| Воспроизведение производственного трафика | Высокий | Требуется инфраструктура для сбора данных. |
Какой бы путь вы ни выбрали, должны выполняться три свойства, иначе тест не даст никаких полезных результатов.
- Целостность ссылок. Каждый внешний ключ должен быть разрешен. Миллион «осиротевших» строк нагружают механизм хранения, но никогда не задействуют пути соединения, которые фактически использует приложение.
- Реалистичная кардинальность. Если в производственной таблице десять миллионов строк по двумстам клиентам, то генерация десяти миллионов строк по десяти миллионам клиентов приведет к совершенно другим планам запросов.
- Реалистичное распределение. Реальные данные искажены. Равномерно случайные данные скрывают «горячие» разделы и конфликты индексов, которые приводят к сбоям в производственной среде.
Практическое предупреждение о неприкосновенности частной жизни. Копирование производственных данных в тестовую среду — наиболее распространенная причина утечки данных при тестировании. Замаскируйте личные поля до того, как копия покинет производственную среду, а не после.
