Я хочу автоматизировать некоторые испытания с использованием кодированного тестирования ui. Некоторые из моих тестов связаны с выполнением транзакций с базой данных, от которой я хочу утверждать. Но запуск этих автоматических тестов представляет свои проблемы, каждый раз при запуске теста он может изменять (добавлять, обновлять или удалять записи) состояние моей базы данных. Есть ли общее руководство, как создавать кодированные тесты ui при изменении базы данных? Я хочу добавить mock репозитории? Я хочу создать тестовую среду с сервером базы данных, которая может быть возвращена к снимку при каждом тестовом прогоне? Если кодированное тестирование ui не связано с утверждением значений из транзакции базы данных, и вместо этого просто утверждать, что нажата кнопка, и что модульное тестирование утверждает транзакции базы данных?Тестирование кодированного пользовательского интерфейса
ответ
IMHO этот вопрос относится к любому тесту, который вы пишете - не только специально для тестов CodedUI.
Ваши тесты могут выполнять Query/ExecuteNonQuery на db по мере их развития. Таким образом, БД переместится из состояния А в состояние Б к концу тестового прогона. Поэтому полезно убедиться, что у вас есть некоторые сценарии обновления базы данных, которые запускаются в начале тестового прогона, поэтому вы можете убедиться, что вы привели db в состояние A перед запуском независимо от его текущего состояния.
Его, вероятно, приятно отметить, что при выполнении тех же тестов на одних и тех же тестовых данных, когда состояние БД остается неизменным в начале тестового прогона, каждый раз вы выполняете один и тот же тест, и есть вероятность, что тестируемая заявка невосприимчива к этим тестам, и тестовый прогон заканчивается уменьшением отдачи с течением времени. Поэтому, вероятно, это хорошая идея для рандомизации тестовых данных, на которых работают тесты.
Это может быть так просто или сложно, как вы этого хотите.
Самый простой способ - полностью сбросить данные при каждом запуске. Это может означать создание db с нуля каждый раз с использованием сценария создания схемы.
Более сложным решением было бы только сбросить части схемы (то есть определенные таблицы, в зависимости от характера теста). Связанные таблицы и т. Д.
Что бы вы ни делали - это плохая практика, чтобы тесты проходили в определенном порядке. Если у вас есть 50 тестов как часть вашего пакета, эти тесты должны быть способны работать в любом порядке и выполняться в соответствии с тестером - кто может решить запустить 1 или все ваши тесты.
Это материал высокого уровня. С точки зрения фактической реализации вы можете найти интересные способы отмечать тесты с атрибутами и там вы можете определить значения того, что вы будете инициализировать (это могут быть имена таблиц для очистки, или если вы работаете с ORM, может быть 1 сущность, и оттуда динамически определяют связанные таблицы и динамически запускают чистые выходы.
- 1. Выбор кодированного пользовательского интерфейса
- 2. Тестирование кодированного пользовательского интерфейса с использованием нескольких UIMap.Designer.cs?
- 3. GTK + тестирование пользовательского интерфейса
- 4. Тестирование пользовательского интерфейса
- 5. Как ограничить поиск контроля кодированного пользовательского интерфейса
- 6. Поддержка кодированного пользовательского интерфейса для тройной диаграммы
- 7. Данные кодированного пользовательского интерфейса, приведенные в UIMap.cs
- 8. Больше, чем проверка кодированного пользовательского интерфейса
- 9. Экспорт кодированного теста пользовательского интерфейса в TFS
- 10. Ручное кодирование кодированного теста пользовательского интерфейса
- 11. Ошибка повторной проверки кодированного пользовательского интерфейса
- 12. Тест кодированного пользовательского интерфейса не распознается Test Explorer?
- 13. Ошибка сборки при запуске кодированного пользовательского интерфейса на виртуальной машине
- 14. Можно ли использовать кодированное тестирование пользовательского интерфейса как просто автоматизацию пользовательского интерфейса?
- 15. Можем ли мы выполнить тестирование кодированного пользовательского интерфейса на удаленном веб-сайте, снабженном только ссылкой?
- 16. Тестирование кодированного пользовательского интерфейса VS2012 - Как получить код выхода из работающего процесса?
- 17. Запуск кодированного пользовательского интерфейса TestMethod, который проходит через несколько страниц
- 18. Воспроизведение тестового кодированного пользовательского интерфейса. Неправильное управление выбирается и используется
- 19. Использование кодированного пользовательского интерфейса для имитации операции перетаскивания файлов
- 20. Загрузка кадров зависает во время автоматического кодированного теста пользовательского интерфейса
- 21. Проверка кодированного пользовательского интерфейса для открытого файла Windows Media Player
- 22. Запуск кодированного теста пользовательского интерфейса из консольного приложения
- 23. Идентификатор кодированного пользовательского интерфейса Excel Строка подключения не работает
- 24. Исключение из атрибута Addidng DataSource для кодированного пользовательского интерфейса
- 25. Использование среды Microsoft.Fakes в тестах кодированного пользовательского интерфейса
- 26. Тестирование модулей с автоматизацией пользовательского интерфейса
- 27. Автоматическое тестирование пользовательского интерфейса в SharePoint
- 28. Параллельное тестирование с тестированием пользовательского интерфейса Xcode
- 29. Автоматическое тестирование пользовательского интерфейса в Silverlight
- 30. Автоматическое тестирование для тяжелых приложений пользовательского интерфейса