Testing
Automation with SOA and MDA
Quality assurance and testing are important aspects in
software development. Manual testing is a costly, labour intensive
and error prone work. We have developed testing automation techniques
for business services and unit testing of any existing program modules
in different languages in a host system.
UML class models are used to describe the message interfaces of
business services. XML structure can be generated from such a model.
The test data can be filled into the XML structure and stored in
a database or file. UML activity diagrams can be used to model test
processes. A test process can contain multiple test cases. The output
of one test case can be the input of the next test case. Our framework
provides different tools for purposes such as data extraction and
modification. Once the test process is modelled and test data built,
and one can use our framework to carry out the testing process direct
from our case tool. Regression tests can be carried out at any time.
Testing can be fully automated.
The same technique can also be used to test existing programming
modules in host systems. The concept is illustrated schematically
in this figure.
A test module is generated for an existing program. Our modelling
toolset provides reverse engineering of the module interface data
structure (COBOL copy book, Java class, PL1 data structure, etc.)
to generate an interface class. XML structure for the test data
can be generated. Test message in form of XML can be sent to the
host system. The test mediator of our SOA framework would receive
this message, parse it and then activate the generated test module.
The test module would unmarshall the test message into the native
data structure of the module to be tested. The module will be called
with the input parameters. The output parameters will be marshalled
into XML by the test module. The output XML will be returned to
the Case tool which controls the whole test process. The unit testing
architecture is illustrated schematically in this figure.