2013-06-19 4 views
2

Мне нужно протестировать продукт с высокой степенью детализации, поэтому в идеале я бы использовал копию производственной базы данных и тестировал влево и вправо, чтобы цифры не «складывались».Создание данных для тестирования

Проблема в том, что у меня нет одной (производственной базы данных). И я не могу просто заполнять таблицы случайными числами и строками из-за собственной бизнес-логики самих данных.

Любые идеи? Любые инструменты, которые могут быть хотя бы частично полезны? Некоторые секретные плагины для Excel в сочетании с четкой головой и функционирующим мозгом?

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

+0

Вы изучали использование [Разделение эквивалентности] (http://en.wikipedia.org/wiki/Equivalence_partitioning) вообще? – Brian

+0

Есть инструменты для этого. Бесплатно, даже AFAIR. Например. ** [Microsoft PEX/MOLES и расширенные аспекты тестирования модулей 1/3] (http://channel9.msdn.com/Blogs/channel9spain/Microsoft-PEXMOLES--advanced-Unit-Testing-aspects-13) ** – sehe

+0

http://meta.stackexchange.com/q/158809/172661 –

ответ

1

Тестирование с помощью миллионов строк не работает. Если тест не удается, человеческий мозг должен уметь видеть , почему не удается. Вы должны довольствоваться десятками или сотнями записей - не просто кормить случайные данные для проверки случаев.

Если вы хотите протестировать метод, который суммирует числа, попробуйте подать его с 1-5 номерами. Подача его миллионами, вероятно, не даст вам никакой полезной информации. То же самое с расчетными средними: 2 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + ... + 0 дает вам ровно столько же, сколько 2 + 2.

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

В соответствии с теми же строками вы должны иметь истории пользователей, которые подробно объясняют, что вы должны тестировать, как его можно протестировать (то есть полный ввод и ожидаемые результаты). Если кто-то скажет вам, что «это не может быть проверено», они опускают важную информацию: «... без особых усилий» (ну, если ваш продукт не ведет себя совершенно случайно).

0

Вы можете попробовать что-то вроде Datanamic's Data Generator. Он продает себя, имея возможность «генерировать значимые тестовые данные». Это не дешево, но пробный период может помочь вам достичь того, чего вы хотите.

Смежные вопросы