Array
(
)

What happens below (the screen)?

Thursday February 17, 2022
Markus Travaille, Rolf Bolt
Test script creation simplified by recording Mendix backend behavior.

With release 1.5 of Menditect Test Automation (MTA) we introduce a new feature called the “Menditect Recorder”. Although hidden in our release notes as one of many new features, it is a major step that makes automated test creation with MTA easier and faster than it already was.

We are excited to share knowledge about the feature and how you can benefit from it. In this blog we also like to give a sneak preview in some of our future plans to enhance the Menditect Recorder functionality even more.

Testing microflows and the domain model directly instead of screen based testing

As we have explained in our previous blog about “Direct Model Testing”  MTA executes tests directly on microflows and the domain model of your Mendix app. MTA does not use the UI or API’s like traditional test automation tools do. This allows you to build tests at the unit-, component- and process level in one tool and keeps the test scripts always consistent with your Mendix model.

Testing at the process level with MTA

Although MTA does not test the Mendix UI directly, the tool  is perfectly suited to  build tests that follow the process logic of your app’s  screens. With MTA, you can execute microflows and CRUD actions on your domain model in the exact order as which is induced by Mendix UI components when a user performs a screen action. In order to to that you need to know what happens below the screen.

Up until MTA’s release 1.5 you had to investigate the Mendix model manually to do this. While the Mendix models are easy to read compared to high code applications, it still can become quite cumbersome to really understand the behavior of complex screens (like wizards). The analysis is further complicated when lots of “screen events” are used to execute microflows.  The “Menditect recorder” really helps to reduce this type of test analysis.

The “Menditect recorder” explained

The Mendix backend executes “commands” it receives from screens. The MTA Recorder is capable of “listening” to these actions while the MTA user performs screen based manual (or automated) tests. Each server action is then translated to potential microflow- and crud test actions and presented to the test automator in the same order as they took place. So the “Menditect recorder” is recording exactly what happens below the screen of your Mendix app.

With this recording available in MTA, the test automator can choose from a list of test actions which ones should be converted into teststeps by just clicking them. Our first iteration of the “Menditect recorder” allows the MTA user to:

  • Start (and stop) a recording for a test case on a specific environment (e.g. your development laptop or a test environment)
  • Record all the microflows that are executed by the screen actions that have been executed during the recording
  • Use the result of the recording to build the test case by clicking on the microflow and create a teststep

The recordings are saved in MTA, so for every test case you build you can choose to use an existing recording or make a new one.

What are the benefits of the “Menditect recorder”?

So how can you benefit from the Menditect recorder?

  • Make the creation of automated scripts easier and faster. The “Menditect recorder” allows you to record manual tests and to use the results to create automated tests in MTA. It is possible to use existing manual test scripts for this. However, you can record specific functions of your application as well in order to get a good start of building the test script.
  • Let the business record and the test automator make scripts. Since MTA allows you to store recordings and work on them later, it is possible to separate the work for different roles. E.g. a business user can record the relevant scripts and the test automator converts them later to automated test scripts.
  • Make it easier and faster to migrate automated UI test scripts to MTA scripts. The third benefit of the “Menditect recorder” is that it allows you to convert existing automated UI tests to MTA test scripts. This can simply be done by executing an automated UI test, while recording it in MTA at the same time. For the “Menditect recorder” it does not matter whether the screens are executed by a human or by an automated test script. This reduces the effort to manually migrate screen based test automation to MTA.

Future developments

The current release of the “Menditect recorder” is yet another step in making the creation of automated process test scripts easier and faster. However, we do not stop here. In future releases of the “Menditect Recorder” we will be working on things like:

Adding data to the recording results. This helps you know which objects are created, changed, deleted or retrieved in your screens. With the objects we will also show the values of the attributes in each recorded step. This will provide even more information about what happens below the screen in your Mendix app.

Creating test cases based on recordings. Once we have knowledge of both the microflows, objects and attributes our goal is to facilitate the more automatic creation of test scripts directly from the recording results. For example to automate the creation of the following teststeps

  • a microflow is called that creates an object
  • the resulting object of the previous teststep is changed (attribute values are changed)
  • the changed object is stored by another microflow.

Adding the option for recording  on production environment (process mining). The current “Menditect recorder” is designed to operate in test/acceptance environments. In future releases we plan to design MTA to run in a production environment for monitoring and logging purposes (shift right testing). This would allow MTA to monitor the most frequently used microflows in production in a similar way as process mining is doing. This data can then be used as input for your test automation strategy.

Conclusion

With the “Menditect recorder” we have introduced a new feature to MTA that makes the creation of automated test cases easier and faster by recording what happens below the screen. It allows you to convert manual test cases to MTA tests, and allows you to convert your automated UI tests to MTA tests as well. The current release of the “Menditect recorder” will be enhanced  in order to make MTA users more productive, increase the speed of testing and help to reduce test automation costs for your Mendix apps.

Markus Travaille, Chief Vision officer van Menditect en co-founder van EGALiT

Contact the author

Enter your contact details

Menu