[Автоматизация. : Регистрация категории. : Тест-элемент.]
18-03-2010 15:37
к комментариям - к полной версии
- понравилось!
Где тест-элементы должны брать данные, необходимые им для выполнения?
Например, этот тест-элемент. Нужно зарегистрировать категорию. Соответственно, нужно иметь все данные, необходимые для регистрации. Где их взять?
Можно сгенерировать их на ходу. Но в этом случае их придётся удалить после выполнения теста, то есть постоянно помнить о том, что мы что-то новое создали в системе. Мне же хочется, чтобы ничего не нужно было удалять. Я хочу сделать так, чтобы в любой момент времени система не могла быть "грязной", нуждающейся в какой-то очистке. Я хочу, чтобы любое состояние системы считалось нормальным и готовым к тестированию.
Если данные нельзя генерировать, значит они должны быть готовы к использованию уже перед началом сессии тестирования. То есть всё, что может понадобиться тестам, должно быть приготовлено заранее.
Что нужно для создания категории? Только имя.
Сколько категорий нужно иметь для теста? Смотря для какого.
А как тест-элемент будет выбирать имя из совокупности?
Например. В хранилище подготовлено три имени для категорий. Тест-элемент (или не он?) берёт первое. Проверяет, зарегистрирована ли в системе категория с таким именем. Если да, нужно брать второе имя или можно вообще не создавать категорию, если она уже есть? Наверное, это тоже зависит от теста. Если тесту нужно две категории, то зачем ему создавать две, если одна уже есть? Может, просто создать вторую? А насчёт первой проверить её соответствие требованиям теста.
А создавать ли для категории отдельный объект, который будет её программным отображением? Если сделать хранилище таких объектов, то можно, к примеру, не проверять, зарегистрирована ли уже категория в системе, а просто посмотреть значение некоторого её свойства, отвечающего за эту информацию.
Хранилище таких объектов может быть жёстко связано с вариантом тестового окружения и инициализироваться сразу после выбора этого варианта.
вверх^
к полной версии
понравилось!
в evernote