Skip to main content

Implementing Testability for Mendix Apps

To prevent Mendix applications from becoming uncontrollable software sinks, the core focus must be on enhancing maintainability and by that enhancing testability as well.

Implementing Testability requires architectural guidelines, standardized patterns, and principles designed to enhance the structural quality and maintainability of Mendix applications.

This section details practical steps for implementing these concepts, enabling development teams to adopt an efficient, pyramid-based testing strategy.

The implementation strategy focuses on three key areas:

  1. Microflow Typologies: This system standardizes the purpose and pattern of microflows, categorizing them into distinct roles (Unit, Orchestration, Touchpoint) to enforce structure and directly map application logic to the testing pyramid.
  2. Testable App Architecture: This defines the application structure using the core principles of Separation of Concerns (layering and componentization) and Dependency Injection (DI) to ensure microflows are independent and testable in isolation.
  3. Ensuring data quality: This outlines the developer's responsibility to implement Atomicity (managing the transactional scope) and Consistency (enforcing business rules) to ensure the application is adhere to ACID principles.

Furthermore, this section presents a Practical Workflow for Testable Development, providing some guidelines for a development process based on the testing pyramid. Starting with unit tests for the smallest logic units, followed by integration tests for orchestration, and concluding with lean functional tests for external touchpoints. The section concludes with an explanatory page about the TestLogger Helper Component.