Model Driven Testing

MDT_ENAutomated test management improves quality in software projects and saves resources

The first BEE describes the process model and the method (Best Enterprise Engineering) for a successful implementation of Compex Commerce. The second BEE (Business Engineering Environment) provides the adequate tools for the process model and the method in the context of the Business Process Management integrated into Compex Commerce. These tools ensure that the results gained within the project are directly implemented in the software solution. This includes, for instance, workflow modeling.

In several presentations the participants learned about new trends concerning the trade industry in present and in future. Multi-channel retailing, the development of consumer behavior due to the demographic change, success factors in customer service, and perspectives in e-Commerce were just some of the topics the visitors were highly interested in.

Process management software integrated in merchandise management

The core process of the software implementation is the adaptation of the standard software solution to the individual needs of the user (customizing, parameterization or modification). In this context, the user is guided through several steps "from rough to fine", i.e. from global to detail. In practice, this means the adaptation of the application in a chronological order. First of all, the organigram is customized before the roles of the respective positions and the corresponding workflows will be adapted, and the required settings in the data model, in the screen masks and in the reports will be defined.

The business process options provided in the standard reference model may directly be used via the Business Engineering Environment. The user thus gets an overview. Possible change requests are already taken into account in this first phase. The tool then serves to immediately model and document the changes in a prototype.

Key to project success

What is new is the integration of the documentation and the creation of test scenarios into the adaptation process already prior to the realization. Right from the beginning, every change request is provided with the required information in order to properly test the implemented adaptation. The reason of this procedure is based on the fact that the quality of the application basically depends on the quality of the provided test data and scenarios.

The integrated description as well as the model-conform formalization of the test data and scenarios has the advantage that during the conception of the tests the user may once more reflect whether his specifications are complete and coherent. Gaps in the concept are revealed faster, if the user feeds the system with practice-oriented test scenarios. This ensures that deadlines are met, since rework is less likely during the test run at this stage.

This allows the software engineers to better estimate and calculate the required test time as early as in the time planning phase. Precise test data and scenarios help to gain performance-relevant insights, which may be taken into account for the codification. This results in less interruptions of the software approval phase due to rework.

The test scenarios may be printed out as training documents or used in e-Learning sessions. This training method based on a flat learning curve ensures that the users become acquainted with the operation of required and tested processes. 

The organization of the test scenarios is based on the business processes. In order to guarantee that the software application covers as many critical business processes possible, test cases are required for the overall process, a mask, a task, an operation, as well as for a workflow. The test is divided into:

  • Testinitialization:
    There are two possible test types: 1) The test uses data of a previously "frozen" database or 2) the test uses data from a previous test run.
  • Recording of test scenarios (User entries and reference data):
    The test scenarios describe the entries of a user in the dialog, including the recording of the respective data. It may be required to complement the recorded data with other data, in case the user has specified a desired result. In contrast to the former manual descriptions, the test specifications will directly be recorded within the application and then saved as Python test scripts.
  • Replay of test scenarios with recording of test data:
    The test suite serves to maintain and to replay the test scripts mentioned above at any given time. Data are recorded during each "run". These data may then be used for the test evaluation in the next step. As with a debugger, the replay of the test scenario serves for the user to follow and control the process flow.
  • Evaluation of the test data:
    The execution of the automated test is monitored by an integrated test control center. This test control center returns deviations from expected results and it serves for the user to print out the logged tests for a better understanding of the test run up to the field entry and the given result.

The integrated MDT helps to control the software quality from the very beginning, i.e. the concept phase. It is required, though, that the 2BEE concept is consistently used. Since the automated tests may be repeated at all times, they may be applied to the changed software over and over again. This does not only ensure a consistent but also an improving software quality, since each additional test scenario helps to enhance the quality.

"For us as customers, this means a gain in speed and security as well as reduced costs in the software engineering process", says René Petit, Finance Director of Coop Alsace.

The advantages of the test suite at a glance:

  • Full automation of the user test
  • Efficiency and consistent test quality
  • Early recognition of development's side effects
  • Reduction of time to market
  • Immediate statements on the test success and failure
  • Better ROI for the test scenario creationg
  • Test scenario creation integrated into the adaptation process
  • Complete and coherent requests
  • Less rework
  • Support of deadline deliveries
  • Continuous regression test
  • Improving software quality guaranteed