A system and method provide testing of software in different
configurations automatically. Templates may be provided for developers to
create an application or for generating tests. One or more tests may be
generated for testing the application. The testing scope may range
between a plurality of configurations for the application in one or more
environments. Tests may include test blocks corresponding to parts of the
application for testing according to the execution order of the parts of
the application. Tests may change input values, modules in the
application, configuration settings, data types, communication
parameters, and/or other application elements for testing. Such changes
may be generated automatically during testing. Test code may be inserted
in the application for testing. Application generation and compilation
may be automated during testing. Deployment and undeployment of
applications may also be automated for testing.