Скриптовая среда TestCase - PullRequest
1 голос
/ 15 июня 2010

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

В настоящее время мы смотрим на Selenium2 + Gallio + Xunit.net,

Однако одна из вещей, которую мы действительно хотим обойти, - это скомпилированные тестовые примеры. В идеале нам нужны тестовые случаи, которые можно редактировать в VS с помощью intellisense, но не нужно перекомпилировать сборку каждый раз, когда мы вносим небольшое изменение,

Существуют ли какие-либо фреймворки, которые могут помочь с этой проблемой? Есть ли какие-нибудь приятные инструменты пользовательского интерфейса, чтобы помочь управлять огромным количеством тестовых случаев?

В идеале мы хотим, чтобы процесс написания тестового набора был простым, чтобы большее количество тестировщиков могло помочь в их написании.

ура

Ответы [ 2 ]

0 голосов
/ 15 июня 2010

Вы можете написать их на языке, таком как ruby ​​(, например, IronRuby ) или python, который не имеет явного шага компиляции таким образом.

Если вы используете скомпилированный скомпилированный язык, его необходимо скомпилировать. Сделайте сборки разумного размера, и быстрый Shift F6 (я перепишу его, чтобы сместить Ins) скомпилирует ваш текущий проект. (Shift Ctrl-B обычно делает много лишних вещей). Затем получите NUnit для автоматического повторного запуска тестов, когда он обнаружит изменение сборки (или проголосуйте за http://xunit.codeplex.com/workitem/8832 и получите его в бегунке графического интерфейса пользователя xunit).

Вы также можете обнаружить, что в CR, R # и / или TD.NET есть что предложить, чтобы ускорить ваш поток. например, я считаю, что CR определяет, какие тесты изменились, и делает что-то подобное (на данный момент он не поддерживает более продвинутые стили тестирования xunit.net, поэтому я не использую его ежедневно)

0 голосов
/ 15 июня 2010

Если вы добавите новые тесты, вы не сможете обойтись без компиляции тестовых сред.

Однако есть несколько возможностей.

Первое:

Вы можете разработать родной языккак я сделал в XML или аналогичном формате.Это будет выглядеть примерно так:

[code] action name = "OpenProfile" имя параметра = "Username" значение = "TestUser" [/ code]

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

Вы видите, что у вас есть такие действия, как: войти в систему, перейти в профиль, перейти в режим редактирования профиля, изменить пароль, сохранить, проверить электронную почту и так далее.Тогда у вас могут быть такие тесты, как: логин, изменение пароля, логин, изменение профиля, имя пользователя ... и так далее, и так далее.И вы бы только создавали новые xmls.

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

Таким образом, в основном, когда у вас есть готовый фреймворк, вам нужно только написать тесты.

Надеюсь, что это помогло.

Gergely.

...