Cucumber
Cucumber
is an open-source ruby-based testing tool that can execute plain-text documents as automated functional tests.
I've been in IT for 23-years, and this is the most exciting and encouraging testing tool I've ever seen.
In the past, I've seen companies create reams of verbose and ultimately worthless requirements documents
which never quite match the delivered software. Furthermore, these verbose requirements documents, typically
a clone of a poorly designed Microsoft Word template file, quickly become obsolete as the software evolves
over time.
Cucumber offers a simple and elegant solution to the problem of software, and its tests, not matching the
requirements. With Cucumber, you define your requirements in simple text files called features...
and the feature text files are actually executed vs your software! Because they are succinct text files,
reside within the source code repository of the application itself, and are executed frequently, they therefore
evolve with your application and do not become obsolete. The magic is in the ruby steps files
you implement, which translates your English-like phrases, called matchers, into executable
ruby code that invokes your application code.
It's worth noting that Cucumber may also be used to test applications written in other languages and frameworks;
not just Ruby and RoR. One I find particularly interesting is
FunFX, for testing Flex RIA applications.
An irony I often see in IT is that software developers are in the business of bringing automated solutions
to our business clients, yet we often fail to bring this automation to our own work. In the Gooby project,
I've implemented automated cucumber-based testing of core Gooby user functionality, as well as its gem-building
and installation processes. Links to the various Gooby cucumber files are shown below:
|
|