Создание тестовых данных в базе данных

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

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

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

6 ответов

Где я работаю, мы используем RedGate Data Generator для генерации тестовых данных.

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

Я могу сказать, что с Redgate вы можете приблизиться к тому, как ваши реальные данные могут выглядеть на рабочем сервере, так как вы можете настроить каждое поле каждой таблицы в вашем BD.

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

Вы можете создавать планы данных с помощью VSTS Database Edition (с последними инструментами Power 2008).

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

Я только что завершил проект по созданию более 3 500000 заявок на страхование здоровья. Из-за ограничений HIPPA и PHI использование даже очищенных реальных данных является PITA. Для этого я использовал инструмент под названием Datatect ( http://www.datatect.com/).

Некоторые вещи, которые мне нравятся в этом инструменте:

  1. Использует ODBC, чтобы вы могли генерировать данные в любой источник данных ODBC. Я использовал это для баз данных Oracle, SQL и MS Access, простых файлов и электронных таблиц Excel.
  2. Расширяется с помощью VBScript. Вы можете писать хуки в различных частях рабочего процесса генерации данных, чтобы расширить возможности инструмента. Я использовал эту функцию для "синхронизации" зависимых столбцов в базе данных, а также для управления распределением значений по частоте для выравнивания с наблюдаемыми в реальном мире частотами.
  3. Справочно осознавать. При заполнении столбцов внешнего ключа извлекает допустимые ключи из родительской таблицы.

Продукт Red Gate хорош... но не идеален.

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

Доморощенные инструменты предоставят наиболее "реалистичные" данные, как мне кажется.

Джоэл также упомянул RedGate в подкасте № 11

Другие вопросы по тегам