2008-09-24 4 views
0

Наше программное обеспечение управляет множеством каналов передачи данных из разных источников: в реальном времени реплицируемые базы данных, файлы, автоматически загруженные FTP, запланированные запуск хранимых процедур базы данных для кэширования моментальных снимков данных с связанных серверов и множества других методов получения данных.Данные испытания блока?

Нам необходимо проверить и подтвердить эти данные:

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

Во многом это похоже на Unit Testing: существует много типов проверок, просто добавьте новую проверку в список и просто запустите каждый класс теста в ответ на конкретное событие. Есть уже неплохие графические интерфейсы для запуска тестов, возможно, даже возможность планировать их.

Это хороший подход? Существуют ли более эффективные, аналогично обобщенные шаблоны для проверки данных?

Мы являемся магазином .NET, может ли Windows Workflow (WF) стать более гибким решением?

ответ

1

Тестирование модуля не аналогично тому, что вам нужно сделать. Его больше по линии тестирования интеграции или приемочного тестирования. Но это не имеет значения.

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

Рабочий процесс хорош для проектирования и управления бизнес-процессами (логикой), которые могут изменить или потребовать вмешательства человека. Это агностик, когда речь заходит о предмете проверки. Тем не менее, принятие вашего процесса валидации в качестве рабочего процесса может быть хорошей идеей, поскольку рабочие процессы предназначены для гибкости, долговечности и способности человеческого вмешательства. Хостинг вашего процесса проверки в рамках механизма состояния рабочего процесса позволит вам определить стратегии проверки для разных типов импорта данных во время выполнения.

Вам необходимо разработать структуру проверки, которая в значительной степени зависит от состава над наследованием для его логики. Разделите все различные способы, с помощью которых данные могут быть импортированы в систему и проверены на атомарные этапы. Группируйте эти шаги с ответственностью и создавайте интерфейсы с самыми низкими, минимальными свойствами и методами, необходимыми для реализации объекта для выполнения каждого из них. Создайте базовые классы, которые состоят из этих разных интерфейсов. Из этой структуры вы можете смешивать и сопоставлять реализации, соответствующие конкретному этапу импорта или проверки.

Последнее изделие. Рабочие процессы сериализуются в xaml для долгосрочного хранения. Ваши классы также должны быть сериализованы для xaml, чтобы сделать переход от активности к репозиторию и обратно как можно более плавным и простым.

0

Проверка этих данных на достоверность представляется разумной. Вы можете или не можете назвать это Unit Testing, это ваш выбор. Я бы не стал. Используйте инструмент, который вы найдете лучше всего для этой работы - я не знаю, что вы подразумеваете под WF (WebForms?).

Самое полезное вы получите путем тестирования этого автоматически. Что бы ни было автоматическим и работает для вас, это хорошо.

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