Пулы данных позволяют использовать изменяющиеся данные при выполнении тестов. Структура пула данных задается переменными (столбцы), записями (строки) и классами эквивалентности (группы связанных записей). В этом разделе приведено описание элементов структуры пула данных. Инструкции по заполнению пулов данных и работе с API пула данных приведены в разделе Учебник: создание тестового приложения JUnit, использующего пул данных.
Тесты производительности основаны на имитации действий пользователей. Во время сеанса взаимодействия с приложением тестировщик использует какую-либо функцию, с которой будут работать реальные пользователи. Затем на основе записанного сеанса генерируется тест, в котором содержатся все данные, введенные тестировщиком. Например, при создании теста производительности для окна приложения электронного магазина, в котором покупателю предлагается ввести номер счета, тестировщик выполняет следующие действия: выбирает товар, нажимает кнопку "Оплатить сейчас" и вводит номер счета. При воспроизведении теста, в котором могут одновременно выполняться сотни экземпляров этой операции, желательно, чтобы в различных экземплярах вводились разные номера счетов (часть из них могут быть допустимыми, а часть - нет). Для выполнения тестов с переменными данными создают пулы данных.
Пулы данных содержат три вида компонентов:
Класс эквивалентности. Подмножество пула данных, содержащее диапазон данных, дающих одинаковый результат (пройден/не пройден) при использовании в тесте. Классы эквивалентности применяются для группировки взаимосвязанных данных. Пул данных должен содержать хотя бы один класс эквивалентности.
Примечание: тесты производительности следует проводить только с одним классом эквивалентности. Тест производительности может открыть пул данных в одном из трех режимов, определяющих способ обращения виртуальных пользователей к этому пулу данных: частный, общий для отдельной системы и сегментный для отдельной системы. В частном и общем режимах классы эквивалентности не обрабатываются; сегментный режим требует, чтобы в пуле данных содержался один класс эквивалентности. По этой причине в пулы данных, которые предполагается использовать для тестирования производительности, рекомендуется добавлять один класс эквивалентности.
Запись. Строка данных. Строки индексируются, начиная с 0 внутри каждого класса эквивалентности.
Переменная. Столбец данных с именем. Данные находятся ячейках столбца и обычно имеют тот тип, который ожидается тестируемым приложением.
Как показано на следующем рисунке, редактор пула данных - это сетка, похожая
на электронную таблицу. При щелчке правой кнопкой мыши на сетке открывается всплывающее меню для добавления
описанных выше элементов и работы с ними. Для добавления данных достаточно ввести их в соответствующей
ячейке.
При создании пула данных можно заполнить его данными из файла CSV (значений, разделенных запятыми), созданного в редакторе электронных таблиц или другими средствами. Это подход рекомендуется при создании пулов данных с большим объемом данных. Редактор пула данных подходит для ввода небольшого количества данных и изменения отдельных записей, но в нем отсутствуют средства для создания больших объемов типизированных данных.
Связанные концепции
Учебник:
создание тестового приложения JUnit с пулом данных