the_norn (the_norn) wrote,
the_norn
the_norn

  • Mood:

Twist или танцы вокруг DSL

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

Итак Твист (собсна название началось от девиза - пусть вся команда танцует твист) позиционируется как платформа для совместной разработки,поддержки и запуска тестов. Слить данный продукт можно с сайта производителя тамже после регистрации можно получить ключик к триальной 60-ти дневке.

Начнем с интерфейса, он полностью экклиспсовский, собственно это далеко не первый платный продукт основанный на этой платформе (вспомнить хотя бы Zend Studio), интерфейс до боли знакомы и поэтому простой в понимании и обращении выглядит основное окно примерно так

Классическая экклипсовская навигация, редактор кода с автодополнением и подсветкой, полная поддержка java ну и прочие вкусности взрослой IDE.

Попробуем написать простейший тест. Для начала создаем проект,создаем новый пустой сценарий и пытаемся что то сделать, вот тут самое интересное, пока я физически не полез в справку и усиленно ее не почитал, трудно было догадаться что нужно в определенном месте жмакать ctrl+1, выглядит процесс написания DSL примерно так

Здесь показан процесс создания фикстуры (или простейшего тест плана), далее заполняем тест план конкретными действиями

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

пишем код ручками:

Или записываем в браузере

В общем все очень просто и понятно.

Далее каждый тест принадлежит определенному контексту

Он необходим для того, чтобы задавать первоначальные условия запуска теста, например иньекция тестовых данных в базу или выставление определенных переменных или логин под определенным пользователем (аналог Before и After в JUnit)

Также каждый тест можно помечать определенными тегами

По тегам в дальнейшем можно запускать наборы тестов, например все тесты в которых есть тэг поиск (поменяли алгоритм поиска и нужно проверить регрессию)

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

В общем в итоге у меня получился следующий простенький тест

и следующий код (код полностью автогенерированный!)

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

Tags: dsl, qa, selenium, thoghtworks, twist, тестирование
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments