Привет, В настоящее время я изучаю некоторые экстремальные программы и стараюсь придерживаться как можно большего. Это означает, что мне нужно будет повернуть мои (к настоящему времени, толстые стопки) истории пользователей в приемочные тесты, как только я начну итерацию (после планирования выпуска, конечно).Веб-приложение: Приемочное тестирование: начальное состояние для тестовой и тестовой изоляции?
Я не совсем уверен в языке реализации, который я собираюсь использовать, однако я уверен, что это будет динамическое веб-приложение с бэкэндом базы данных, обслуживаемым веб-сервером. Прямо сейчас, я планирую разработать первый выпуск на локальной машине с локальной тестовой средой, поэтому можно предположить, что безопасность не связана с приемочными испытаниями (так что я могу дать приемочные тесты корневого доступа к базе данных тестирования участвуют, например). Тем не менее, я все еще немного не уверен в том, что использую платформу приемного теста, так как это будет веб-приложение, я думаю, что я буду использовать Selenium RC, чтобы писать тесты и запускать их (я упоминаю об этом, если кто-то могу указать мне на что-то лучшее :)).
Тем не менее, все еще остается темная область: у меня нет данных для этого приложения, потому что я внедряю новое, новое приложение. Таким образом, я не могу получить снимок текущей производственной базы данных, чтобы захватить тестовую базу данных, и, кроме того, приложение имеет статус stateful (как любое веб-приложение с бэкэнд базы данных), поэтому использование единой базы данных для всех приемочных тестов идет чтобы вызвать уродливые проблемы в отношении тестовой изоляции (и, по крайней мере, для единичных тестов, которые читаются как «Это может привести к большой забаве и седине»).
Итак, как решить эту проблему? Я создаю базы данных искусственного тестирования (и поддерживаю их при изменении схемы базы данных) и записываю приемочные тесты, чтобы каждый приемочный тест загружал соответствующее состояние базы данных в базу данных тестирования до запуска теста? (Как быстро или медленно нужно будет загружать десятки записей сто раз, когда запускается много тестов на акцентирование?) Должен ли я создать единую базу данных примеров, загрузите это для всех тестов и надейтесь на лучшее? Должен ли я воссоздать тестовые данные, мне нужно все время в приемочных испытаниях? Или, как люди это делают?