Я рассматриваю два разных подхода к построению приемочных испытаний.У нас есть проект Silverlight, который вызывает сервисный слой (у меня есть обе стороны).Из-за особенностей Silverlight тестовый код, который вызывает сборки Silverlight, должен находиться в отдельном тестовом проекте от остальных тестов, не относящихся к Silverlight.
1) Возьмите все критерии приемлемости, которые мы придумали, и поместите ихв тематических файлах.Пометьте сценарии тегами, чтобы указать среду, в которой они будут выполняться (@server, @client и т. Д.).Также включите ручные тесты в файлы объектов и пометьте их тегом @manual.
Плюсы: все тесты, написанные БА, будут в одном месте для их просмотра и возможного редактирования
Минусы: Возможно, имеет смысл проверить некоторые сценарии с помощью модульных или интеграционных тестов, и NUnit может быть лучшим инструментом для этого, чем SpecFlow
2) Написать критерии приемлемости для всего, но затемавтоматизировать некоторые в SpecFlow, некоторые с модульными тестами, некоторые с интеграционными тестами и т. д. Только SpecFlow-автоматизированные сценарии будут в SpecFlow.Мы можем поместить сценарии, которые будут подвергнуты модульному тестированию, тестированию интеграции или тестированию вручную, в файлы компонентов, но на самом деле эти сценарии не будут запускать какой-либо код, они просто будут там для целей документации.
Плюсы: меньшетрения и накладные расходы для разработчиков.Мы будем автоматизировать различные тесты, используя лучшие инструменты, которые есть у нас для каждого теста.
Минусы: нам нужно будет синхронизировать сценарии, которые не выполняются SpecFlow, с любым кодом, который их автоматизирует.
Мысли?Есть ли другой способ, о котором я не думаю?Как ты это делаешь?