Pull to refresh

Comments 19

Общее в них — тестирование в стиле BDD.

Различия — в уровнях:

cucumber — в первую очередь для модульного / интеграционного тестирования без UI.

geb заточен под тестирование на уровне UI, то есть либо функционального (приемочного) тестирования полного среза приложения, либо UI-слоя с заглушками для остальных слоев.
Нет, не сравнивал. Спасибо за ссылку.
В посте я нигде не отметил, но видимо стоит:
Spock предназначена для проведения тестирования в стиле BDD, а Geb позволяет проводить автоматизацию работы с браузером на основе Selenium/WebDriver.
Никто не мешает их использовать отдельно.
Более подробно про Огурец (Cucumber) можно прочитать тут — cukes.info/ (англ.)
Меня смущает Java в Ged.
Возможно, у вас есть на то причины.:)
Но, как мне кажется, ради такого простого и мощного DSL можно и не обращать на то, что где-то внутри Java.
У меня таких причин нет — пишу в основном на Java, иногда Groovy.
То есть язык на котором пишутся тесты даже не Java, знания которой может пригодится, а что-то специфичное для этого инструмента?
Вообще говоря, для написания тестов используется DSL, предоставляемый Geb и Spock. А в его основе используется Groovy.
А в основе Groovy — Java…

Эх… Ясно, что дело тёмное :(
я тоже подумал что это шутка такая у автора
1. Сколько времени вы потратили на написание теста?
2. Сколько времени занимает выполнение теста руками?
3. Как часто вы будете повторять тест?

X = (Время написания/отладки теста) + (Количество выполнений) * (Время прохождения автоматизированного теста)
Y = (Количество выполнений) * (Время ручного тестирования)

X
если «написал и забыл» то — скорей всего Y < X
если проект развивается, и тем более заказчик меняет задачи каждые 2 недели (по agile (да и по жизни это сплошь и рядом)) — Y > (X*10)
Вот и к чему я всё это спрашивал. Не всегда и не все тесты есть смысл автоматизировать.
Факт. Но если есть смысл автоматизировать — то грех этого не делать.
Только надо учитывать, что определение есть или нет смысла автоматизировать (не важно что) — процесс очень субъективный, по крайней мере пока нет инструментов автоматизации с «интуитивно понятным интерфейсом» и, что немаловажно, «интуитивно понятным» процессом установки/администрирования. Там где для одного человека достаточно, например, того, что есть url, по которому можно скачать jar-файл, для другого надо писать многостраничный мануал.
Конечно, субъективный. Всё очень зависит от конкретного проекта и команды над ним работающей.
1. Не засекал, но я думаю размеры классов говорят, что это не заняло много времени.
2. Зависит от сложности теста. Но вам самому приятно руками раз за разом выполнять тест?
3. Зависит от проекта, от практик, внедрённых в процесс разработки. Но если речь о функциональном тестировании, то скорее всего этот тест будет повторяться за время существования проекта несколько десятков, а может и сотен раз.

Естественно, я первоначально потратил время на изучение Geb и Spock. Естественно, возникали вопросы и проходилось усиленно гуглить, изучать обсуждения в mailing list'ах.
Sign up to leave a comment.

Articles