| Round-Trip Engineering and Testingin Agile Software Development
Leszek Maciaszek    AbstractAgile 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. 
                    
 
 
 
 |