Как быть успешным в тестировании интерфейса пользователя? - PullRequest
3 голосов
/ 29 сентября 2008

Мы настраиваем тестовую кампанию Selenium в большом веб-приложении. Первое, что мы сделали, это построили структуру, которая инициализирует данные SQL в базе данных перед тестом, запускает тест, архивирует результаты и затем очищает данные.

Мы интегрировали это в процесс Maven 2, который каждый день запускается TeamCity в выделенной базе данных.

Мы настроили несколько тестов Selenium, но они не используются так, как планировалось.

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

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

Ответы [ 3 ]

1 голос
/ 29 сентября 2008

Если вам нужны надежные юнит-тесты, вам нужно иметь такой же ввод. Начальным состоянием базы данных является вход . Таким образом, вы должны иметь одну и ту же стартовую базу данных каждый раз. Конечно, если вы хотите провести тестирование с другим входом , вам нужно создать еще один модульный тест (поскольку результаты, очевидно, будут отличаться).

Когда я делаю подобные вещи, я всегда использую одну и ту же базу данных в качестве отправной точки. Конечно, некоторые из тестов могут завершиться неудачно без изменения базы данных правильным способом, поэтому некоторые другие последующие тесты также могут не пройти, даже если они не будут иначе. Если ваш инструмент модульного тестирования позволяет, вы должны определить зависимости между тестами, чтобы убедиться, что эти тесты вообще не будут запускаться при сбое «родительского» теста.

1 голос
/ 30 сентября 2008

Тестируемость очень помогает. Самый большой выигрыш для тестируемости в веб-приложениях - это если все элементы HTML, с которыми вам нужно взаимодействовать на странице, имеют уникальные и непротиворечивые атрибуты . Если атрибуты, которые вы используете для идентификации элементов HTML (Selenium использует xpath), не являются непротиворечивыми / надежными как от сборки к сборке, так и от сеанса к сеансу, ваши тестовые сценарии не пройдут. Кроме того, эти атрибуты должны быть уникальными, чтобы инструмент автоматизации (в данном случае Selenium) мог надежно найти объект на веб-странице.

0 голосов
/ 29 сентября 2008

Я использую http-модуль, который имеет дополнительное преимущество в работе до того, как на страницу добавлен какой-либо стиль.

http://httpunit.sourceforge.net/ Вы можете прикрепить тесты для запуска на этапе интеграционных тестов для maven2.

С сайта

Написанный на Java, HttpUnit эмулирует соответствующие части поведения браузера, включая отправку формы, JavaScript, обычная http-аутентификация, куки и автоматическое перенаправление страниц, и позволяет Тестовый код Java для проверки возвращен страницы в виде текста, XML DOM или контейнеры форм, таблиц и ссылки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...