Monday, May 5, 2008

SpecTool 2.0 - solutions

I think that there are two ways to specify a requirement that can be executed by a computer. First we got a natural API or we got the XHTML way.

API

To use an API for specification requires a DSL(Domain Specific Language) and a natural language interface for nontechnical persons to understand what is going on. At least without being thought how it works. The advantage is that it is code. It makes it a lot easier to use for programmers. Most IDEs (like eclipse) will report syntax errors and got good refactoring support which is an advantage.

For this kind of tests I think that we have (most of) the technology that we need. I think that the main focus should be in establishing good patterns and give better understanding.

XHTML

To write specifications in xhtml gives a lot of flexibility in presentation. It is possible to use tables (frameworks like FIT, Concordion), plain text (Concordion) or what ever that fits the problem. This requires fixtures on different frameworks to bridge the gap between specifications and code. This abstraction is good in the sence that it keeps specifications "stable" despite changes in the domain model. I think that this is good.

The problem with tools like Concordion and FIT is that they don't work well together. I think that having a framework that is an umbrella framework to the current frameworks is the way to go. So I can use FIT for some database setup and runt the webtests in CubicTest and do some checks in Concordion. I should be able take some data from one of the frameworks over to another to make these work seamleasly together. The umbrella framework should also support the ide of tags to support the ide of structuring the sepecifications.

0 comments: