2013-05-03 2 views
1

В веб-приложении n-level я должен запускать тесты интеграции с другой базой данных, посвященной тестированию кода? Является ли стандартная практика также проверять базу данных производства?Тестирование веб-приложения n-уровня - должен ли мой тестовый проект иметь собственную базу данных?

ответ

1

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

У вас должна быть тестовая база данных (не общая для производства). Это хорошая идея, чтобы стереть данные перед каждым тестом.

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

0

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

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