Round-Trip Engineering and Testing
in Agile Software Development
Leszek Maciaszek
Abstract
Agile development, of which the main representative
is eXtreme Programming, embraces a number of practices central
to software engineering for business applications, which is
one the BIS’2004 theme tracks. This invited presentation
addresses two of these practices – round-trip engineering
and continuous testing. The former is tacitly assumed in agile
software production; the latter is explicit in the list of
practices.
Round-trip engineering is defined as the
coming together of the forward code generation and the reverse
engineering from the code to design models. In enterprise
applications, round-trip engineering is applied separately
to client application and to server database.
In agile software production testing takes a front seat and
drives programming. This is known as test-driven development
. Test code is written before application code. Program asserts
its test. But what asserts the test? The answer lies in yet
another kind of testing – acceptance testing. Acceptance
testing asserts if the application code (and, therefore,
the tests passed by the code) satisfies stakeholders’
requirements.
The presentation uses case-study examples, derived from an
industry project, to demonstrate the practice and difficulties
of test-driven development and round-trip engineering. Once
the problem is defined, the presentation offers a particular
model approach for an integrated round-trip engineering and
testing in agile software engineering aimed at business applications.
|