Конкордеон
![]() | |
Оригинальный автор(ы) | Дэвид Петерсон |
---|---|
Разработчик(и) | Найджел Чарман и др. |
Стабильная версия | 3.0.1
/ 4 июля 2020 г |
Репозиторий | |
Написано в | Ява , .NET |
Операционная система | Кросс-платформенный |
Тип | Спецификация на примере инструмента |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | гармония |
Concordion — это спецификация на основе примеров инфраструктуры, первоначально разработанная Дэвидом Петерсоном. [1] и сейчас поддерживается командой участников, [2] под руководством Найджела Чармана.
Вдохновленный Fit Framework , Дэвид заявляет, что за Concordion стояли следующие цели: [3]
- Улучшена читаемость документов.
- Более «упрямый» (написание сценариев активно не рекомендуется)
- Легче использовать
Как это работает
[ редактировать ]Спецификации Concordion написаны в Markdown, HTML или Excel. [4] а затем снабжается специальными ссылками, атрибутами или комментариями соответственно. Когда запускается соответствующий класс тестового приспособления, Concordion интерпретирует инструментарий для выполнения теста. Вместо того, чтобы заставлять владельцев продукта указывать требования на специально структурированном языке, Concordion позволяет писать их обычным языком, используя абзацы, таблицы и правильную пунктуацию. Это делает спецификации более естественными для чтения и написания, а также помогает каждому понять и прийти к согласию относительно того, что должна делать функция. [5]
Файлы Markdown, HTML или Excel обычно хранятся вместе с исходным кодом, преимуществом которого является то, что они могут находиться в той же системе контроля версий, что и остальная часть кода, гарантируя, что спецификация и тесты разветвлены и объединены вместе с основным исходным кодом. .
Concordion включает в себя гибкий механизм расширения. [6] для добавления функциональности, например реализации новых команд, прослушивания событий или изменения выходной документации. Предоставляя такие функции, как вставка снимков экрана, [7] раскадровки [8] или вывод журнала, [9] расширения обеспечивают уверенность в том, что делает тест, без привязки теста к конкретной реализации. [10]
Concordion обогащает гибкие процессы [11] и успешно применяется в промышленном контексте. [12]
Пример
[ редактировать ]Спецификация формата Markdown
[ редактировать ]До инструментирования |
The greeting for World is Hello World! |
---|---|
После инструментирования | The greeting for [World](- "#name") is [Hello World!](- "?=greetingFor(#name)")
|
Спецификация формата HTML
[ редактировать ]До инструментирования | <html>
<body>
<p>The greeting for <b>World</b> is <b>Hello World!</b></p>
</body>
</html>
|
---|---|
После инструментирования | <html xmlns:concordion="http://www.concordion.org/2007/concordion">
<body>
<p>The greeting for <b concordion:set="#name">World</b> is
<b concordion:assertEquals="greetingFor(#name)">Hello World!</b>
</p>
</body>
</html>
|
Код приспособления
[ редактировать ]- HelloWorldTest.java
- Приспособление, которое работает с приборами
package org.wikipedia;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
@RunWith(ConcordionRunner.class)
public class HelloWorldTest {
public String greetingFor(String firstName) {
return "Hello " + firstName + "!";
}
}
Интегрированная поддержка среды разработки
[ редактировать ]Плагин поддержки Concordion для (IDE) IntelliJ IDEA интегрированной среды разработки упрощает разработку приспособлений и спецификаций благодаря таким функциям, как автозаполнение, навигация между спецификацией и тестовым приспособлением, переименование, запуск тестов, проверки и быстрые исправления. [13]
Плагин Eclipse (программное обеспечение) Concordion гораздо более ограничен и не обновлялся с 2011 года. [14] Первоначальный автор прекратил использовать Concordion и Eclipse и не может выделить необходимое время для расширения и поддержки плагина. [15]
Порты
[ редактировать ]Concordion был портирован на другие языки, включая:
- С# ( Конкордион.NET )
- Питон ( ПиКонкордион )
- Руби ( Рубин-Конкордеон )
Ссылки
[ редактировать ]- ^ Гертнер, Маркус (июль 2012 г.). ATDD на примере: Практическое руководство по разработке через приемочное тестирование . Аддисон-Уэсли Профессионал. ISBN 978-0321784155 .
- ^ «согласие» . Гитхаб . Проверено 4 сентября 2016 г.
- ^ «Часто задаваемые вопросы по Конкордеону» . Проверено 2 мая 2011 г. .
- ^ "concordion/concordion-excel-расширение" . Гитхаб . Проверено 4 сентября 2016 г.
- ^ Райли, Тим; Гучер, Адам (октябрь 2009 г.). Красивое тестирование: ведущие профессионалы рассказывают, как они улучшают программное обеспечение . О'Рейли Медиа. п. 350. ИСБН 978-0596159818 .
- ^ «Конкордеон | Расширения | Java» . сайт concordion.org . Проверено 4 сентября 2016 г.
- ^ "concordion/concordion-screenshot-extension" . Гитхаб . Проверено 4 сентября 2016 г.
- ^ "concordion/concordion-раскадровка-расширение" . Гитхаб . Проверено 4 сентября 2016 г.
- ^ "concordion/concordion-logback-расширение" . Гитхаб . Проверено 4 сентября 2016 г.
- ^ «Дэвид Петерсон: Расширения согласия» . blog.davidpeterson.co.uk . Архивировано из оригинала 11 сентября 2016 г. Проверено 4 сентября 2016 г.
- ^ Бессон, Фелипе М.; Бедер, Делано М.; Хаим, Маркос Л. (июнь 2010 г.). «Автоматизированный подход к моделированию и выполнению приемочного веб-тестирования». Гибкие процессы в программной инженерии и экстремальном программировании . 11-я Международная конференция по гибкой разработке программного обеспечения, XP 2010 . Тронхейм, Норвегия: Springer Berlin Heidelberg. стр. 160–165. дои : 10.1007/978-3-642-13054-0_12 . Архивировано 18 июля 2014 г. в Wayback Machine.
- ^ Латорре, Латорре (01.06.2014). «Успешное применение стратегии разработки через тестирование в промышленной среде» . Эмпирическая программная инженерия . 19 (3): 753–773. дои : 10.1007/s10664-013-9281-9 . S2CID 15196251 .
- ^ "согласие/идея-согласие-поддержка" . Гитхаб . Проверено 4 сентября 2016 г.
- ^ «Архив кода Google — долгосрочное хранилище для хостинга проектов Google Code» . code.google.com . Проверено 4 сентября 2016 г.
- ^ «Группы Google» . groups.google.com . Проверено 4 сентября 2016 г.
Внешние ссылки
[ редактировать ]- Официальный сайт
- Дэвид Петерсон: Concordion 1.3.1 в Wayback Machine (архивировано 31 августа 2017 г.)
- согласие на GitHub
- concordion.net на GitHub