The use of models facilitates and accelerates quality assurance in enterprise software and helps to improve overall quality. How has mgm succeeded in raising quality assurance in its model-based enterprise software to a new level?
Short & Concise
- In the model-based mgm A12 Enterprise Low Code platform, model-based methods and tools for efficient quality assurance of mgm A12 applications are continuously evaluated across projects and optimized for use.
- Valuable information about field definitions, validation and calculation rules are extracted from the mgm A12 data models and used to generate valid data sets, among other things.
- Valuable information about the structure and content of the user interface is extracted from the mgm A12 UI models and used to generate test automation code.
Proprietary model-based mgm tools such as the jellyfish, the test data generator (TDG) and the automation of test automation (ATA) optimally support quality assurance in the A12 platform.
Many software errors are caused by hidden problems in the code base or in the dependencies. Not infrequently, they remain undiscovered because there is simply a lack of competence or capacity to test the software extensively in advance. But as the complexity of the business models increases, errors quickly creep in.
Method for Quality Assurance: Very Early Testing
The earlier a software bug is discovered in the development process, the more efficient the development process becomes. This is exactly where we come in with the principle of “very early testing”. This quality assurance methodology is based on detecting design or implementation errors early in the development process and avoiding subsequent errors. It not only shortens development time, but also keeps running costs low. This is particularly important when it comes to long-lived enterprise software with a product life cycle of ten to 20 years. At mgm, these business applications usually have a complex data budget and are integrated in a networked system landscape.
A good example of such a project is Mein ELSTER (ELectronische STeuerERklärung). mgm developed the e-government platform for the secure electronic transmission of tax data together with the tax administrations of the 16 German states and the Federal Ministry of Finance. In addition to data security, security standards, accessibility and barrier-free access, this long-term project must ensure high availability with short response times even under heavy load, as well as durability and long service life of the technologies used. With such diverse and complex requirements, “very early testing” is one of the deciding factors for the long-term success of the project.
Increasing Efficiency with Model-Based Software Development
There is an approach that helps to reduce complexity in software projects: model-based software development (MBSE). This involves describing recurring expertise across projects using a formalized language in standardized models. This model-based rule language is understandable even for subject matter experts without programming knowledge. Computers, in turn, can easily translate it into executable programs. In this way, models bridge the gap between humans and machines and enable value creation to be shifted from IT to business experts.
Describing the domain-oriented part in models has two effects:
1. the domain-oriented part is separated from the technical basis of a software stack.
2. the business departments and the customer’s IT can capture the business part, i.e. certain areas of the software such as functionality and architecture, themselves in the modeling language.
The models can represent complex technical relationships in an easily understandable way, which leads to enormous labor savings: The increased level of abstraction of the models enables a much clearer and faster implementation of the software and the software developers* can concentrate on writing manual code for special requirements. MBSE thus increases efficiency in terms of productivity, costs and time – from requirements to code.
Quality Assurance in Model-Based Software Development
Finally, model-based software development also changes the project flow. In contrast to earlier models of software development, the functional project requirements – the so-called specifications – are already realized by the models.
This in turn has profound effects on the work of quality assurance:
- The domain-oriented part can already be tested by the domain-oriented testers in an early phase on the basis of these models – and not only when the application is completely developed. For this purpose mgm offers the model-based tool “Qualle” to the functional testers to test the correctness of their models.
- This allows potential sources of error to be identified earlier.
- System maintenance is also simplified, since models can be adapted and tested more easily and quickly than complex code.
Ensuring software quality is not just an implementation task, but should be comprehensively integrated into corporate processes as a cross-sectional task. The organizational dimension is a component with high impact that is easy to underestimate. It starts at the company and management level and ensures that software quality is already anchored in the organization and thus in the entire project course of development, operation and maintenance. Approaches such as DevOps, Continuous Integration and Continuous Delivery can help to standardize the processes in software development. Such approaches create agile collaboration between development and operations and thus promote software quality.
mgm A12 Platform – Model-Based, Open and Modular
In the model-based mgm A12 Enterprise Low Code platform, the essential effects of model-based software development for complex applications can fully unfold. The methods and tools for the development of complex and long-lived enterprise software are continuously evaluated across projects and optimized for use. As a result, A12 provides the ability to rapidly build new projects on proven technology and experience by benefiting from an existing foundation. This significantly shortens time-to-market.
Within this solid modeling platform, developers can still choose the classical way of software development in every layer of the architecture. This is because A12 relies on common open source standards that can be used as needed. “This openness is essential for the implementation of complex enterprise software projects. You’re not trapped in a closed system that becomes a problem with just a few complex challenges,” emphasizes Hamarz Mehmanesh, founder and CEO of mgm technology partners. In addition, the A12 runtime platform is modular. This enables specialization in individual disciplines of the software development process, such as quality assurance, within A12 projects (see figure “Specialized Software Engineering”).
Quality Assurance in the Model-Based Low Code Platform A12
Enterprise software developed on the mgm A12 low code platform benefits in quality assurance from the fact that the components are already quality assured. However, individual solutions that are implemented beyond A12 in the project require meaningful quality assurance measures. Here, both the individual solution itself and its integration in the A12 code must be tested.
Quality in A12-based projects is ensured from the beginning by the following points:
- requirements analysis and definition of the test strategy
- Code review and verification in the individual teams
- Security aspects during code creation and review by mgm security specialists
- Unit tests for all functions analyzed with SonarQube, an open source platform for static code analysis and for checking the technical quality of source code.
- In-development integration testing with adjacent products: This is especially important for testing interfaces, which can be highly complex in A12 products
- Automated end-to-end testing e.g. with QF-Test and ATA.
Model-Based Testing in A12
In the domain of domain models, quality assurance through test automation can be applied in model-based A12 projects in a very different way than in a classical software development process. Already in the modeling phase, citizen developers, business analysts and modelers can use test data in so-called ad-hoc tests to conveniently find out whether validations and calculations are correct. Validation rules can extend across several input fields of a form in the document models and calculation rules can combine contents of different fields.
1) Test Management and Manual Testing
Usually, the test cases are managed in a test management tool (TMT). It also controls the execution of manual tests and regression tests. Dr. Martin Varendorff, mgm Quality Team, explains, “In the past, we used various third-party tools to perform test management for structured manual and automated tests. However, none of these tools met our requirements, especially when it came to organizing the quality assurance of complex, long-lived enterprise software. Our quality assurance teams needed a lot of flexibility in terms of different customer projects and their policies to support our internal development and quality assurance processes. For this reason, we developed our own Test Management Tool (TMT), which we now use.”
Test Management Tool (TMT)
With this tool, project staff can
- create test cases,
- divide them by subject matter,
- manage them in suites in a structured way, and
- schedule and execute them as test runs.
The continuous testing approach is followed, i.e. manual tests are not only performed periodically for major releases, but as part of continuous delivery. The TMT offers supporting features for this, such as the versioning of test projects and test case descriptions, whereby several software versions can be tested in parallel, each with the appropriate test case version. Test cases are also historized so that, if necessary, an earlier test procedure can be viewed and the description restored.
For schedule-critical releases, TMT supports retrograde test planning. If the date for a release is fixed and cannot be postponed, it is possible – based on this date – to plan backwards when the tests must start and to what depth they can be performed in order to meet the deadline.
2) Automated UI Testing
At mgm, we use QF-Test, a software tool that can be used to create, execute and manage automated GUI tests for the web, Java, Windows and Android applications.
The tool simulates the end user and automatically runs test scenarios – even complex ones – on the user interface of one or more applications. Unlike manual testing, which can be time-consuming and error-prone, QF-Test enables reliable automated execution of regression tests that can be repeated any number of times at any time. QF-Test is easy to use, making it easy to get started with test automation. However, implementing and maintaining automated testing, especially testing of complex long-lived applications, requires technical knowledge and skill.
QFS has been part of the mgm family since 1.9.2022.
Automated Model-Based Testing
Field definitions, rules, and calculations are at the heart of domain-oriented modeling and ensure data consistency and completeness. At the same time, they enable automation of the software creation process and serve as the basis for modeled UI generation with good user experience. The validation language of the mgm A12 Low Code Platform has been used for many years and is continuously extended to formally describe rules and automatically detect logical errors. The modeling of fields, validation and calculation rules takes place in the mgm A12 data models. These can be tested with domain-oriented data and checked for consistency and completeness using the model-based mgm tool Qualle. Contradictions in large rule sets that span multiple rules are difficult to find and analyze without the support of these tools. Special technical expertise is required here.
Test Data Generator (TDG)
The domain-oriented form of models allows test data to be generated automatically. However, the more extensive and complex domain-oriented models become, the more time-consuming the manual provision of test data becomes. mgm has therefore developed the mgm A12 Test Data Generator (TDG), which generates test data fully automatically from the mgm A12 data models for quality assurance during development. The fields, rules and calculations defined in the mgm A12 data models are first converted into a mathematical system of equations, which is then solved using a so-called SMT solver. SMT stands for “satisfiability modulo theories” – a decision problem involving the solvability of logical equations. To increase test coverage, rules are added to the system of equations that force values of interest to the test (e.g., extreme values), as long as this is compatible with the validation rules.
This procedure can be used to generate test data with high test coverage for very complex models fully automatically. The test data generator is also used in Qualle to find contradictions in the rules. Especially in complex, technical models – for example in a tax context or for extensive insurance products – errors can creep in that a human being can hardly detect.
A12 UI Automated Test Automation (ATA)
ATA is a low-code A12 UI test automation tool that generates test automation code from A12 models. In addition, the tool handles automated form filling and validation on the UI of the associated A12 applications. It thus significantly reduces the implementation and maintenance efforts for test automation of A12 applications.
Computer scientist Lilia Gargouri, developer of the tool and project manager of the mgm Quality Team, explains: “When changes are made, ATA generates new test code quickly and reliably from the modified A12 models. The end-to-end automated tests can then be re-executed with minimal implementation and maintenance effort. The model-driven test automation tool thus enables very early UI test automation without falling into the maintenance trap of automated tests. Even when switching to a new A12 version, there is no maintenance effort because a suitable ATA version is delivered at the same time, which immediately provides adapted automation code. With ATA, companies can make their quality assurance more effective and save valuable time and resources.”
3) Automated Security Testing
Security aspects must be taken into account from the very beginning of the development process. With the security testing platform mgm ATLAS, tests can be integrated into the process in an automated way.
mgm ATLAS is an efficient and scalable platform for security testing that can be seamlessly integrated into development processes and enables automated testing. The platform combines various analyses and can orchestrate any analysis tools. The call is limited to the definition of the required analyses in a configuration file, the results are summarized in a uniform interface. mgm ATLAS provides early feedback and is flexible and extensible. It covers all automatically testable features of your application and always supports the latest technologies. The platform is vendor-independent, cost-effective and offers strategic advantages in tool selection.
4) Load and Performance Testing
At mgm, we focus on comprehensive testing of application performance and stability through manual and automated load and performance tests. Of course, we also test our own A12 platform for load stability and scalability. We use various test scenarios to simulate realistic load situations and identify bottlenecks and weak points. In addition, we advise and support our customers in optimizing the performance and scalability of their applications in order to provide high-performance and stable systems under heavy load.
In summary, model-based software development opens up new possibilities for increasing efficiency and meeting the growing demands for quality. The mgm A12 models provide valuable information and enable the development of tools that significantly improve the quality assurance of A12-based applications. Thanks to the mgm A12 technology, it is possible to achieve high quality and efficiency even for complex, long-lived applications. At the same time, the growing demands for shorter development times, lower costs and higher software quality are met.