Array
(
)

Automated testing is a shared responsibility of testers and developers

Thursday May 1, 2025
Markus Travaille, Rolf Bolt

Introduction

Automated testing of Mendix applications is crucial to ensure quality and performance. However, limiting these tests to only the screen, or user interface (UI), carried out by testers, without close collaboration with developers, is often insufficient to fully and effectively test an application. In this blog we provide some reasons why automated testing is a shared responsibility of testers and developers and should be carried out on multipe test levels.

Why is automated testing a shared responsibility of testers and developers?

When your test automation focuses solely on UI tests without involving developers in the test automation process, it can lead to several major disadvantages:

  • Limited test coverage: UI tests mainly focus on the user interface and cannot fully check the underlying microflow logic and integrations. This means that errors in the backend or between different modules may go unnoticed. Developers can help set up unit tests and integration tests that provide deeper and broader test coverage.
  • Maintenance-sensitive: UI tests are often sensitive to changes in the user interface, which occur frequently in Mendix. Small adjustments to the layout or design can cause tests to fail, even if the underlying backend functionality remains unchanged. This results in additional maintenance and an increased chance of false positives.
  • Long test execution time: Conducting UI tests to check validations and backend functionality (such as verifying data storage) can be time-consuming and resource-intensive. The UI test must wait for screens to load and requires more steps because it has to click through the screens step by step rather than performing a direct test on the backend. This makes it difficult to get quick feedback when tests are run in a CiCd pipeline, slowing down the development process.
  • Unclear error cause: UI tests often only identify that there is a problem without revealing the underlying cause. This makes it harder for developers to trace and resolve the source of the error if it lies not in the screen but in underlying logic, leading to longer debugging times.
  • Lack of technical knowledge: Testers usually do not have full technical knowledge of the internal workings of the application. Developers can provide valuable insights about the architecture and specific areas that need extra test attention.
  • Isolation and communication issues: Without collaboration and communication between testers and developers, gaps in the test strategy can occur. Testers can develop tests that do not well align with the developed functionality, or conversely, developers can make changes without these being adequately tested.
  • Loss of efficiency: By not using joint tools and platforms, testers and developers can duplicate work or experience inefficiency in sharing information. This can lead to delays and higher costs.

Important additional test methods

A generally accepted way of defining additional test levels to UI testing is by introducing the test pyramid. It shows in a visual way that it is important to build UI tests on top of integration (process) and component/unit tests. The shape of the pyramid also implies that an effective test automation strategy keeps the number of UI tests as low as possible and that test automation should be focused on testing at the lowest level possible.

Test the UI with MTA - All test levels in one tool

Unit tests

Unit tests focus on individual parts of the code, such as validation logic, functions, or methods created in Mendix microflows. By testing this logic in isolation, UI tests become simpler, faster, and easier to maintain, and developers can detect and correct problems early before they manifest in the user interface. Building tests directly on the microflows often also ensures better quality code.

Integration (process) tests

Integration (or process) tests check how different parts of the application work together. They ensure that different units and components communicate and function correctly with each other, which is essential for the overall reliability of the system. These tests can be best performed at the microflow level in Mendix, as this can prove that the internal logic of a Mendix app works well before the user flows and screens themselves are tested. If an error occurs in a UI test, it becomes easier to determine its cause.

Conclusion

Although UI tests are an important part of automated application testing, they are not sufficient on their own to ensure full coverage and reliability. Combining different test methods, such as unit tests, integration tests, and UI tests to check user flow and visible fields, provides a more comprehensive approach. This ensures that both the visible and underlying aspects of the application are thoroughly tested and that quality and performance are guaranteed at all levels.

With Menditect Test Automation (MTA), it is possible to combine all these types of tests in one tool. Additionally, MTA also supports testing non-Mendix apps through the UI, making chain integration tests possible.

Dick van Gorkum

Contact the author

Enter your contact details

Menu