Тестирование сложных сценариев данных - PullRequest
1 голос
/ 25 мая 2009

Я занимаюсь разработкой веб-приложения на Java, которое выполняет ряд финансовых расчетов для пользователя. Когда выполняется финансовый расчет, примерно 30 различных входных данных используются для расчета 15 различных значений в течение максимум 18 лет (максимум 15 * 18 ожидаемых значений). Как вы можете сказать, существует значительный объем информации для вычисления и проверки.

Мне нужен совет о том, как подготовить тестовые данные (смоделировать 30 различных входных данных), загрузить их в серию объектов и запустить объекты через калькулятор, чтобы сгенерировать выходные данные, которые затем можно сравнить с ожидаемыми ценности.

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

Ответы [ 4 ]

1 голос
/ 05 июня 2009

Я бы определил значения вокруг числовых пределов (граничных значений), реалистического значения и нулевого значения для каждого входного параметра. Затем я бы объединил их все, используя алгоритм allpairs (http://www.satisfice.com/tools.shtml).

1 голос
/ 25 мая 2009

Похоже, что FitNesse (http://fitnesse.org/) может быть то, что вы ищете. Вы настроили HTML-таблицу в FitNesse с вашими входами и ожидаемым результатом. Когда вы запустите тест, FitNesse сообщит вам если фактический результат соответствует ожидаемому результату.

0 голосов
/ 25 мая 2009

Если у вас есть данные в Db, и вы просто хотите создать из них тестовые данные, чтобы ваши тесты не зависели от внешнего db. Вы можете взглянуть на структуру DbUnit и заполнить примеры данных в XML из БД , Эти XML-файлы, которые вы можете использовать для целей тестирования, эти XML-файлы можно легко преобразовать в, скажем, объекты Java по количеству доступных для анализа анализаторов.

0 голосов
/ 25 мая 2009

Лучше всего будет использовать фабрику, которая может произвольно выбирать значения из пула и собирать входные данные из них. Вы можете создать столько кандидатов из населения, сколько пожелаете. Сохраняйте их вместе с ожидаемыми результатами. Если база данных вам не по вкусу, возможно, подойдет XML или сериализация в виде простого текста.

Если вы делаете TDD, вы можете запустить несколько и посмотреть, какими должны быть ожидаемые результаты. Проверьте несколько с ручными вычислениями, чтобы убедиться, что они в порядке. Затем используйте фабрику, чтобы создать настолько большой набор тестов, сколько вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...