USING TRACEABILITY LINKS AND HIGHER-ORDER TRANSFORMATIONS FOR EASING REGRESSION TESTING OF WEB APPLICATIONS
For Model-Driven Engineering to become widely accepted by developers, it is necessary that its principles and techniques be applied not only to the generation of code from Platform Independent Models (PIMs), but more generally to all the phases of the software life-cycle. This paper focuses on the use of PIMs to support automation in the regression testing phase of a system; the proposed framework lets developers record and replay testing sessions and investigate testing failures at the level of their PIMs; this is made possible by traceability links automatically weaved into the generated code, whereby developers can follow application execution at the model level. Such traceability links are created by a modified version of the code generation transformation, automatically produced by means of a Higher-Order Transformation (HOT). A HOT is a transformation that takes as input a transformation (the original code generator) and creates another transformation (the code generator capable of producing traceability links). The HOT weaves into the code generator additional rules producing traceability clues that help developers link any error to the model features likely to cause it. This approach is particularly helpful in the Web context, where code generation transformations must follow changes in the technology and presentation styles. Using HOTs ensures the automatic evolution of the transformation for traceability links when the code generation transformation changes.
regression testing model-driven engineering model-driven architecture testing automation