2015-10-01 3 views
9

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

Как управлять тестовыми данными (Oracle DB) для быстрого и надежного принятия тестов (Selenium и др.), Начиная с известного состояния?

Из-за масштаба и сложности, тесты должны:

  • бежать довольно быстро (1. быстро вернуться к известным DB состояние перед каждым тестом/люкс 2. definatelly не создает тестовые данные UI перед каждым набором)
  • базы данных, созданных с помощью пользовательского интерфейса (без прямого INSERTS к базе данных - рискованный дублирования бизнес-логики)
  • имеют несколько версий/снимков БД состояния (стабильной группы пользователей с соответствующими данными - чтобы избежать конфликтов между утверждениями и новыми данными созданный с постоянной разработкой автоматизации)

ответ

9

То, что вы описываете, называется Sandbox DB. Для каждого нового развертывания вам необходимо будет предоставить/заполнить эту БД необходимыми данными и после завершения тестов бросить ее.

имеют несколько версий/снимков БД состояния

Это то, что Fresh Fixture pattern и Prebuilt Fixture pattern поможет вам. Также вы можете посмотреть на Fixture Teardown patterns.

Здесь вы можете найти некоторые соображения при работе с такими big-data-sandbox-strategies. Подобно планированию, хранилищу основных данных и мониторингу.

Для успешного управления всем этим - сервер CI должен быть запущен на работу. Так как вы добавили JAVA, хорошие варианты:

0

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

  1. Создание базы данных дампов для каждой версии и хранить их
  2. Создать задание (например: на CI, Дженкинс, Хадсон, ... работа), который загружает базу данных испытаний с необходимыми свалками. Это должно быть автоматически активировано после успешного развертывания для тестирования сервера.
  3. Создать модуль/функцию для создания данных временных испытаний
  4. Выполнить ваши тестовые случаи (в идеале преуспевающего результат работы на шаге 2 должен вызвать это)
Смежные вопросы