Тестирование приложений с помощью Rails - PullRequest
2 голосов
/ 25 августа 2010

Это скорее общий вопрос и своего рода обсуждение наилучшей практики.

Как можно протестировать приложение Rails?

Существуют мантры, такие как BDD и TDD, и фреймворки, такие как RSpec и Cucumber, но сколько достаточно и как лучше всего идти?

Достаточно ли использовать Cucumber в качестве интеграционных тестов? Ребята, вы тоже пишете дополнительные юнит-тесты?

Так что и как ваша стратегия тестирования Rails?

Ждем хороших мнений ...

Ответы [ 2 ]

1 голос
/ 25 августа 2010

Как можно протестировать приложение Rails? Тщательно, нацеленность на Восемьдесят процентов покрытия и не менее !

Фактическое решение относительно того, «как» легко, но «сколько» может быть трудным для ответа.

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

В своей повседневной работе мы используем rSpec, Cucumber и Selenium в довольно большом проекте Rails (более 10 разработчиков, несколько лет в разработке).

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

Cucumber предоставляет функциональные и интеграционные тесты более высокого уровня.

Селен используется для изучения javascript-интенсивных областей нашего пользовательского интерфейса с помощью javascript (проходящего через Capybara и Cucumber). У нас также есть набор регрессионных тестов в Selenium, используемых нашей командой Test and QA (версии, выпущенные для QA, подсвечиваются зеленым цветом в нашей сборке CI).

Моей «минимальной» настройкой в ​​эти дни было бы покрытие на уровне объекта с использованием rSpec в критических и / или сложных областях и полный набор функциональных тестов Cucumber на критических путях через приложение.

0 голосов
/ 06 июня 2011

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

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

Вы можете начать с тестирования следующих вещей:

  • Модульное тестирование ваших моделей
  • Функциональные тесты для ваших контроллеров
  • Изучение приборов и как загрузить тестовые данные

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

Подробнее о тестировании Rails читайте здесь.http://guides.rubyonrails.org/testing.html

Ручное исследовательское тестирование
Как бы я ни любил автоматизированное тестирование, оно, IMHO, не заменяет ручное тестирование.Основная причина в том, что автоматизированный пользователь может делать только то, что ему говорят, и проверять только то, что ему сообщили, для того, чтобы он воспринимался как пройденный / неудачный.Человек может использовать свой интеллект, чтобы находить ошибки и задавать вопросы, возникающие при тестировании чего-то другого.
Подробнее о смешивании автоматического и ручного тестирования читайте в другом из моих ответов здесь:
Какие методы тестирования вы используете дляразработка сайтов?

...