Concordion - Concordion

Concordion
Concordion-logo-web-green.png
Оригинальный автор (ы)Дэвид Петерсон
Разработчики)Найджел Чарман и др.
Стабильный выпуск
3.0.1 / 4 июля 2020 г.; 5 месяцев назад (2020-07-04)
Репозиторий Отредактируйте это в Викиданных
Написано вЯва, .СЕТЬ
Операционная системаКроссплатформенность
ТипУточнение на примере инструмент
ЛицензияЛицензия Apache 2.0
Интернет сайтконкордион.org Отредактируйте это в Викиданных

Concordion это спецификация на примере рамки первоначально разработанный Дэвидом Петерсоном,[1] и теперь поддерживается командой авторов,[2] во главе с Найджелом Чарманом.

Вдохновленный Fit Framework, Дэвид заявляет, что Конкордион преследовал следующие цели:[3]

  • Улучшенная читаемость документов
  • Более «самоуверенный» (активно не рекомендуется писать сценарии)
  • Легче использовать

Как это устроено

Спецификации Concordion написаны в Markdown, HTML или Excel.[4] а затем снабжены специальными ссылками, атрибутами или комментариями соответственно. Когда соответствующий класс тестовой оснастки запускается, Concordion интерпретирует инструментарий для выполнения теста. Вместо того, чтобы заставлять владельцев продукта указывать требования на специально структурированном языке, Concordion позволяет вам писать их на обычном языке, используя абзацы, таблицы и правильную пунктуацию. Это делает спецификации более естественными для чтения и записи и помогает каждому понять и согласиться с тем, что функция должна делать.[5]

Файлы Markdown, HTML или Excel обычно хранятся вместе с исходным кодом, что дает то преимущество, что они могут находиться в той же системе контроля версий, что и остальной код, обеспечивая разветвление и объединение спецификации и тестов вместе с основным исходным кодом. .

Concordion включает гибкий механизм расширения[6] для добавления функциональности, например, реализации новых команд, прослушивания событий или изменения выходной документации. Предоставляя такие функции, как встраивание снимков экрана,[7] раскадровки[8] или вывод журнала,[9] расширения обеспечивают уверенность в том, что делает тест, без привязки теста к конкретной реализации.[10]

Concordion обогащает гибкие процессы[11] и успешно применяется в промышленном контексте.[12]

Пример

Спецификация формата уценки

HelloWorld.md
Перед инструментарием
Приветствие World - Hello World!
После инструментовки
Приветствие для [Мир](- "#имя") является [Привет, мир!](- "? = приветствиеFor (#name)")

Спецификация формата HTML

HelloWorld.html
Перед инструментарием
<html>    <тело>        <п>Приветствие для <б>Мир</б> является <б>Привет, мир!</б></п>    </тело></html>
После инструментовки
<html xmlns: concordion="http://www.concordion.org/2007/concordion">    <тело>        <п>Приветствие для <б согласование: набор="#имя">Мир</б> является <б concordion: assertEquals="HelloFor (# имя)">Привет, мир!</б>        </п>    </тело></html>

Код приспособления

HelloWorldTest.java
Светильник, который работает с приборами
упаковка org.wikipedia;импорт org.concordion.integration.junit4.ConcordionRunner;импорт org.junit.runner.RunWith;@Бежать с(ConcordionRunner.учебный класс)общественный учебный класс HelloWorldTest {    общественный Нить приветствие(Нить имя) {        возвращаться "Привет " + имя + "!";    }}

Интегрированная поддержка среды разработки

Плагин Concordion Support для IntelliJ IDEA Интегрированная среда развития (IDE) упрощает разработку приспособлений и спецификаций с такими функциями, как автозаполнение, навигация между спецификациями и тестовыми приспособлениями, переименование, запуск тестов, проверки и быстрые исправления.[13]

В Eclipse (программное обеспечение) Плагин Concordion гораздо более ограничен и не обновлялся с 2011 года.[14] Первоначальный автор прекратил использование Concordion и Eclipse и не может выделить необходимое время для расширения и поддержки плагина.[15]

Порты

Concordion был перенесен на другие языки, включая:

Рекомендации

  1. ^ Гертнер, Маркус (июль 2012 г.). ATDD на примере: Практическое руководство по разработке на основе приемочных испытаний. Эддисон-Уэсли Профессионал. ISBN  978-0321784155.
  2. ^ "конкордион". GitHub. Получено 2016-09-04.
  3. ^ "Concordion FAQ". Получено 2 мая, 2011..
  4. ^ "concordion / concordion-excel-extension". GitHub. Получено 2016-09-04.
  5. ^ Райли, Тим; Гушер, Адам (октябрь 2009 г.). Красивое тестирование: ведущие профессионалы раскрывают, как они улучшают программное обеспечение. O'Reilly Media. п. 350. ISBN  978-0596159818.
  6. ^ "Concordion | Расширения | Java". concordion.org. Получено 2016-09-04.
  7. ^ "concordion / concordion-screenshot-extension". GitHub. Получено 2016-09-04.
  8. ^ "concordion / concordion-раскадровка-расширение". GitHub. Получено 2016-09-04.
  9. ^ "concordion / concordion-logback-extension". GitHub. Получено 2016-09-04.
  10. ^ "Дэвид Петерсон: расширения Concordion". blog.davidpeterson.co.uk. Архивировано из оригинал на 2016-09-11. Получено 2016-09-04.
  11. ^ Бессон, Фелипе М .; Бедер, Делано М .; Хаим, Маркос Л. (июнь 2010 г.). «Автоматизированный подход к моделированию и выполнению приемочных веб-тестов». Гибкие процессы в разработке программного обеспечения и экстремальном программировании. 11-я Международная конференция по гибкой разработке программного обеспечения, XP 2010. Тронхейм, Норвегия: Springer Berlin Heidelberg. С. 160–165. Дои:10.1007/978-3-642-13054-0_12.
  12. ^ Латорре, Латорре (2014-06-01). «Успешное применение стратегии разработки через тестирование в промышленной среде». Эмпирическая разработка программного обеспечения. 19 (3): 753–773. Дои:10.1007 / s10664-013-9281-9.
  13. ^ "конкордион / идея-согласие-поддержка". GitHub. Получено 2016-09-04.
  14. ^ "Архив Google Code - долгосрочное хранилище для хостинга проектов Google Code". code.google.com. Получено 2016-09-04.
  15. ^ "Группы Google". groups.google.com. Получено 2016-09-04.

внешняя ссылка