2010-10-20 4 views
5

Я хотел бы узнать больше о том, как использовать Selenium IDE и RC для создания хороших тестов автоматизации. Есть ли кто-нибудь, кто заинтересован в обмене информацией. или обсуждать это? Особенно для таких вещей, как:Selenium, Nunit Best Practices?

1) Что такое хороший способ организовать тесты пользовательского интерфейса? Сейчас я выполняю эти тесты через NUnit и выполняет тесты в порядке их алфавитных имен. Есть ли способ лучше. (Я пишу сценарии селена в C#, а не java)

2) Как регистрируются результаты?

3) Модулирование тестов на селен RC? У меня проблема. Так как я выполняю свои тесты через NUnit, единственный способ, которым я мог понять, - дать идентификаторы для тестов, чтобы они запускались в правильном порядке. Также мне нужно написать все мои тесты один за другим в классе textfixture. Опять есть лучший способ? Я попытался создать дополнительные файлы, но когда я создаю тесты там и выбираю их для запуска в NUnit, похоже, что сервер selenium даже не запускается.

4) Каковы наилучшие методы тестирования автоматизации? Любые указатели на любые сайты/книги/и т. Д.?

Это могут показаться очень простыми, но я потратил несколько недель, пытаясь придумать лучшие способы, поэтому, если кто-то готов предложить предложения или ввод, я буду очень благодарен!

Спасибо!

ответ

8

Я ответил на каждый из вопросов для вас ниже.

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

  2. Nunit регистрирует результаты в файле XML. Это будет иметь список проходов и не удается, и, как правило, оказывается в довольно моде почти все Continuous

  3. Смотрите мой ответ на Best Practices for modularizing Selenium RC test scripts

    • тестов всегда должен иметь известную отправную точку. В контексте Selenium это может означать открытие определенной страницы для запуска рабочего процесса.
    • Испытания не должны полагаться на любые другие тесты для запуска. Если тест собирается что-то добавить, у него нет отдельного теста для его удаления. Это должно гарантировать, что если что-то пойдет не так в одном тесте, это не значит, что у вас много ненужных сбоев для проверки.
    • Испытания должны проверять только одну вещь за раз.
    • Испытания должны очищаться после себя.
+0

Спасибо за ваш хорошо сформулированный и хорошо отформатированный ответ! – Saavik

1

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

Он заботится о многих деталях запуска селена и сглаживает многие трудности в RC API.

+0

Спасибо, я посмотрю. – Saavik

1

Я только что прошел через это. С точки зрения модуляции и полезных инструментов. Я думаю, что очень важно больше думать о создании гибкой, хорошо поддерживаемой автоматизированной схемы тестирования ui, а не просто модуляции RC-сценариев селена. Selenium 2: Testing Tools Begginner's Guide был отличным началом для идеи о том, как начать строить хорошую тестовую структуру. У меня был БОЛЬШОЙ успех с (шаблон объекта страницы) [https://code.google.com/p/selenium/wiki/PageObjects] после неудачного 2-3 раза получения автоматизированной системы тестирования. Что касается proccess, я нашел, что лучше всего начать с написания кода (вы пишите тесты, поэтому его довольно легко проверить), но настойчиво рефакторинг с использованием хорошего ООП по мере того, как модели и структуры начинают расти. Я также рекомендовал бы How Google Tests Software для мотивации программного обеспечения QA в целом, хорошей практики тестирования на организационном уровне и когда и когда не использовать автоматизацию.