Хорошее программное обеспечение и советы по написанию исполняемых спецификаций - PullRequest
1 голос
/ 16 декабря 2009

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

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

Система работает на платформе .Net, поэтому любое программное обеспечение, которое вы рекомендуете, должно быть совместимо с этим.

1 Ответ

1 голос
/ 16 декабря 2009

Хорошие советы для исполняемых спецификаций трудно найти у непрограммистов, так как вы пишете, что является вашей целью в текущем проекте.

Это дилемма, поскольку вы хотите, чтобы тесты запускались, но должны быть описаны как нетехнические, насколько это возможно.

Я думаю, что вам нужно переформулировать вопрос так: «Как не-гики могут научиться писать исполняемые спецификации» или как-то так.

Я хочу поделиться своими выводами из недавнего проекта, в котором я хотел написать короткий тест на курение (cucumber / webrat / mechanize). Таким образом, тест запускает cucumber с webrat, который дает довольно нетехнический интерфейс для части спецификации.

Характеристики огурца довольно высокого уровня (хотя и технически под капотом)

Однако, не-гики должны понимать кое-что о страницах, чтобы написать спецификации. Например, часто вам нужно искать имена полей поиска, кнопок и т. Д.

ТЕХНИЧЕСКАЯ НАСТРОЙКА:

В моем случае я хотел простое в использовании решение, которое люди, не являющиеся техническими специалистами, могли бы продолжать указывать на нескольких примерах. Я остановился на настройке, основанной на Cucumber + Webrat + Mechanize.

Это общение с приложением через стандартные HTTP-запросы. (Обратите внимание, что это мешает мне делать вещи из JavaScript и на самом деле является преимуществом в текущем проекте, который должен соответствовать правительственным рекомендациям по доступности без javascript)

У Webrat очень простой синтаксис для спецификаций: «Когда я следую [текст ссылки]», «Когда я нажимаю [кнопку]», «Затем я должен увидеть« О нас: »» и т. Д.

МОИ РЕКОМЕНДАЦИИ ДЛЯ НЕ-ТЕХНИЧЕСКИХ ЛЮДЕЙ:

  1. Узнайте из нескольких примеров, которые ваш компьютерщик уже включил в код. Возможно, ваш разработчик создал «review.feature», которое содержит 3-4 примера сценариев, которые фактически запускаются и передаются вашему приложению

  2. Узнайте, как найти идентификатор или имя поля формы. Например, вы можете использовать браузер Firefox с плагином под названием «Firebug». Здесь вы можете активировать функцию «Проверка элемента», щелкнув правой кнопкой мыши любой элемент на вашей веб-странице.

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

Если вам интересно, я могу поделиться своим кодом начальной загрузки для этого проекта.

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