Данные модульного тестирования? - PullRequest
1 голос
/ 24 сентября 2008

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

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

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

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

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

Мы магазин .NET, будет ли Windows Workflow (WF) лучшим, более гибким решением?

Ответы [ 2 ]

1 голос
/ 24 сентября 2008

Модульное тестирование не является аналогом того, что вам нужно сделать. Это больше похоже на интеграционное тестирование или приемочное тестирование. Но это не относится к делу.

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

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

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

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

0 голосов
/ 24 сентября 2008

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

Максимальное преимущество, которое вы получите, протестировав автоматически. Все, что работает автоматически и работает для вас, хорошо.

...