Concordion is an acceptance testing framework developed by David Peterson. By blending specification and checking of your software into executable specifications, Concordion creates beautiful living documentation.
2. Concordion…
Concordion
It is a powerful open source tool,
written in Java, that is used to write and
manage automated acceptance tests.
NOTE: Concordion logo is taken from its official site
3. Concordion…
• Concordion directly integrates with JUnit, which allows
for easy use with IDE of your choice (Netbeans, Eclipse,
IntelliJ IDEA).
• Concordion tests are written in HTML and then
instrumented with special attributes that Concordion
interprets to execute the test.
• Concordion enriches agile processes.
4. Concordion…
• Rather than forcing product owners to specify
requirements in a specially structured language,
Concordion lets you write them in normal language
using paragraphs, tables and proper punctuation.
• This makes the specifications much more natural to
read and write, and helps everyone to understand
and agree about what a feature is supposed to do.
5. Concordion…
Using Concordion…
• Each feature or behavior needs to be specified, implemented,
and verified by the means of active specifications
• An active specification in Concordion consists of two key parts:
– A nicely written requirement document describing desired functionality
(XHTML)
– Acceptance tests are written in Java and called fixture code. Tests are
coded implementing a Concordian extension of a standard JUnit test
case. Fixture code finds example data by marked by tags and use them
to verify the system under development.
7. Concordion…
• Acceptance tests are specified using native language
and organized in Requirements (XHTML) files.
• Tests are implemented in Java and they connect
examples from requirements with Java code of the
system being tested.
• Test code is connected with the requirements
through XHTML tags, which contain Concordion
commands.
10. Concordion…
Conclusions
• Concordion is a very interesting open source tool for
automating acceptance testing in your Java projects.
• It can easily be used with various IDEs.
• If used properly and pragmatically, it can be a very
good tool for managing the requirements
specifications as well.
• Concordion was originally developed for Java, but
now there are also versions for .NET, Python, Scala,
and Ruby.