Selenium Test Case против Test Suite против общего использования - PullRequest
6 голосов
/ 16 февраля 2012

Как узнать, каким должен быть тестовый набор и что такое набор тестов в Selenium?Есть ли какое-то общее правило для этого?Я читал сайт seleniumhq несколько других, но у них есть только некоторые основные примеры, пока я хочу протестировать целый сайт.

Мои вопросы, например:

  1. * 1006Скажем, я тестирую многоэтапную веб-форму.Должен ли я сделать это одним набором тестов, и каждый шаг (в веб-форме) будет одним тестовым набором, или все шаги должны быть одним тестовым набором?
  2. Скажите, что я построил веб-форуми я хочу проверить несколько функций в нем.Нужно ли создавать один набор тестов, и каждый тестовый набор тестирует каждую функцию (или несколько вариантов для каждой функции) ИЛИ у меня будет много наборов тестов, и каждый набор тестирует одну функцию с несколькими тестовыми примерами.

  3. Что делать, если у меня есть форма, которая содержит 5 флажков - на каждый из них можно явно нажать или нет.Это может иметь некоторые последствия, когда я отправляю форму.Итак - теоретически существует 2 ^ 5 = 32 возможных потоков исполнения.Должен ли я проверить все 32?Или, может быть, я должен просто проверить каждый флажок отдельно, чтобы упростить вещи.Когда можно / нужно упростить, когда нет?(при условии, что флажки МОГУТ быть как-то связаны).

  4. Должна ли каждая функция иметь тестовые случаи, которые проверяют как положительные, так и отрицательные результаты?Например, я должен просто сосредоточиться на правильных рабочих процессах - то есть отправить правильную форму и посмотреть, сделал ли веб-сайт то, что я просил (работал), ИЛИ также отправить пустую форму и проверить, появилось ли сообщение об ошибке.

Можете ли вы ответить на них, приведя несколько практических примеров (при необходимости)?- может быть, использовать какой-либо (StackOverflow?) сайт в качестве примера сайта.

1 Ответ

6 голосов
/ 17 февраля 2012

Ответы на вопросы 1 и 2:

Я думаю, что это больше проблема дизайна тестов, чем селена.Рассматривайте Selenium как инструмент, который управляет браузером / веб-сайтом, как пользователь.Он имитирует щелчок пользователя по странице.Чтобы узнать, что такое тестовый набор и что такое набор тестов, вы должны подумать о функциональных возможностях веб-приложения, которое вы хотите протестировать.Допустим, у вас есть интернет-магазин, в котором один тестовый набор может протестировать следующий вариант использования:

  • пользователь помещает товары в корзину
  • пользователь вводит свои данные (имя и т. Д.)
  • пользователь получает сводку своего заказа
  • пользователь подтверждает заказ

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

При создании набора тестов рассмотрите некоторые шаблоны проектирования, такие как ui-mapping, дизайн объекта страницы, и рассмотрите преимущества системы управления тестами (например, TestNG в Java).Вот несколько ссылок на это:

Ответ на 3 и 4:

Это похоже на 1 и 2. Это всегда вопрос ЧТО вы хотите проверить.Или вопрос, что ваш руководитель проекта хочет, чтобы вы протестировали (или заказчик).Все функциональные возможности, которые важны и должны работать, должны быть проверены.

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