Задачка на подумать...
А раздельные тесты на чтение и запись?
-----
Очень сильно не хочу.
Специально в архитектуре сделал так, чтобы поменять соединение с базой было не слишком просто.
Слишком велика цена ошибки - одно неправильное действие и завод встанет.
За три года такое случалось всего один раз - пересоздал ОДНУ таблицу. Все встало.
Пришлось звонить в сервис и восстанавливать из бекапа... за полчаса суппорт справился.
Но это - одна таблица в которой изменения были более чем редки.
Если запустить полный цикл тестов и ошибиться с соединением - будет больно - минимум суточная работа завода уйдет в потери. Выяснить и объяснить что именно потеряно - день-два простоя...
Так что Я постараюсь не коммутировать соединение при тестах.
Вот что подойдет - прочитать данные с производства и загнать их в скрипты - это нормально, это Я могу делать без напряга.
В другой части - использовать полученные скрипты для формирования данных и последующее тестирование.
Но! ПРОБЛЕМА!!! - В базе нет реляций.
Я не знаю какие именно данные мне надо вынимать чтобы протестировать объект с десятком задействованных в выборке таблиц.
Получить связи можно из того развесистого СКЛ который используется для заполнения объекта, но полученные связи не получается задать в модели.
Т.е. получается что для КАЖДОГО развесистого запроса надо делать кучу ручной работы. И повторять эту работу для получения каждого другого набора данных.
А именно этой ручной работы Я и хочу избежать.
Сейчас подумываю над следующим.
Создать тестовую базу. В принципе, что Оракле, что МС СКЛ, что Постргрее - почти без разницы. Для МС СКЛ инструментарий наиболее удобен.
Курочить модель в базе меняя ключи и индексы до получения модели-с-реляциями. Данная модель будет отличатся от оригинальной базы.
На базе модели-с-реляциями и информации об используемых параметрах - попытаться построить(сгенерировать) "извлекатель" данных и загонку данных в скрипты.
В принципе, не имею ничего против того, чтобы в скрипты была перегната ВСЯ имеющаяся база. 40-60 гиг скриптов, часов 30-40 на перегон.
И последнее - из имеющейся модели и сгенерированных скриптов построить(сгенерировать) загрузчик тестовых данных. Реально грузить 1-2% данных под тест.
Вроде должно получится.
Боюсь только что времени не хватит.