Model Based Testing (MBT) and Model Driven Engineering (MDE) are methods for designing software faster, cheaper and more efficiently. Based on the system requirements, you create an abstract model. Tools then automatically generate the code for the test (MBT) or system (MDE). "From clocking in to thinking; as a software engineer, you're more concerned with the functionality of the system than writing the code. The result: more innovative products that you can get to market faster."

With MBT, instead of describing the test, you create a model of what the system or a part of the system should do. At the touch of a button, special tools generate the code for the tests and then execute them. Says Rachid Kherrazi, "Because the test scripts are generated automatically, you can get a much more comprehensive test set than if you had to write all the tests manually. Moreover, if you write code manually, you can make mistakes. A typo is easily made but can have major consequences."

Back to essentials

The advantages Rachid describes also apply to MDE. "Only with MDE, based on the abstract model, the code is generated for the system," Julien Schmaltz, principal consultant at ICT Group, explains the difference. "Creating the model is really about the essence of your product. What should the system be able to do? What does it need to meet? If you have that in the picture, then the rest is automatically filled in for you in Java, C#, or in another programming language." The focus of developers and testers at MBE and MBT is on the smart, complex part of the system. "The work becomes more challenging, you are working on the functionality, on what really matters. Because standard operations like writing and developing scripts are taken out of their hands, developers and testers have more time to come up with better solutions and come up with more innovative products."

"Everyone is looking at the same model; client, domain expert, tester or designer. That way you can really develop together."

- Julien Schmaltz, Principal Consultant at ICT Group

Faster, more often and better testing

Working with models makes what you are working on transparent and understandable for everyone. Julien: "Everyone looks at the same model; client, domain expert, tester or designer. That way you can really develop together. The simulation gives a picture of the final product. Is this what you want to build? Based on advancing insight, do you see other possibilities, wishes? Everyone is able to use the model to quickly ask the right questions as early as the requirements phase. This way you get feedback from the client even before the design is made or code is clipped in." A model also helps detect any errors early on, Rachid knows. "And gives immediate insight into whether certain changes lead to a better product. In fact, you can already test this in the model with a simple adjustment. You can go through the build-measure-learn loop faster and more often with a model."

Tooling

Creating innovative products requires innovative tools, because, Rachid explains, "You can't use one tool for all your clients. That's why InTraffic works with companies that develop such tools. They make the tools, we apply them and, where necessary, adapt them to the client's needs. By working together as a partner, you can improve the tooling together, develop it and be the first to have access to better features." And that is necessary to maintain an edge in the market. "In a society where the complexity of products is growing, you have to be smarter and smarter in creating code. And attract the people who think beyond code alone and dare to be innovative in their own work. The tools have gotten better and better in recent years. Now is the time to actually apply them and reap the benefits."