We are asked every now and then whether Conformiq Designer is a tool for testers or a tool for developers. After all, it is a tool for automated test design and it automatically generates tests from computer readable models that describe the intended behavior of the tested system. It is important to understand that these models do not directly describe test cases or test scenarios, the environment of the system, or even the usage profile of the system, but instead it focuses on the intended and expected behavior of the system under test. Conformiq Designer models do not look and feel like traditional testing assets, except that they are used to automatically generate test cases. Actually the models are formalized system specifications – specifications of how the system is to be implemented and tested to operate in a computer readable format. These models can be called “design models” because they capture the design of the system behavior. To this end, test engineers may feel alienated because this model does not utilize the their typical thinking processes. Testing is not typically thought about when modeling system behavior so, in the case of MBT, the role of the tester moves a bit closer to that of the developer or designer.
In addition, Conformiq Designer models are described by using a programming notation and system modeling requires a different skill set than traditional manual test design. Since system models are abstract programs, the test engineer must be able to abstract and design programs that require programming experience. Conformiq Designer system models are described using UML graphical assets, such as state charts and class diagrams, while the action language of the models is a variant of Java programming language.
Conformiq Designer models look more similar to system and developer assets than testing assets, especially to senior test engineers and designers who have worked for a long time on more traditional approaches to testing.
Quite often we see that seasoned test engineers use system model driven approaches to capture the test scenarios and test cases themselves, instead of modeling the expected system behavior. There is nothing wrong with using Conformiq Designer in this way, but one would obtain more benefits by adjusting to the new way of thinking and the paradigm shift that system modeling introduces by modeling the correct and expected system operation. Let the tool generate the test design to experience the great benefits that this system modeling process delivers.
There are also ways to minimize the amount of “coding” needed to craft a model; however, it is important to keep in mind that all real applications are, in fact, computational processes. The only known efficient way of describing a computational process is in terms of programming language, which implies that the real system models are small abstract programs that are defined by a programming language. At the same time, this provides a powerful way to describe a system in a concise and sound manner. Specifications and requirements are often written in an informal notation that can be easily translated to program or model code (for example, business rules). They are often described in pseudo code fragments, decision tables, or trees. In the case of protocol specification, there are many charts and pseudo code fragments that can be easily translated into “code.”
So is Conformiq Designer a developer tool?
Designer is a tool that a developer or a system designer can productively utilize. Usually developers have the information necessary to create a complete model and the proper skills to create good quality models. Designer eliminates the need to manually write test scripts, so it is a great tool for a developer to use when testing implementation.
That said I would argue that the most successful users of Conformiq Designer are testers, not developers. These engineers know that they can be more productive and produce better quality test assets with Designer than with the traditional manual design method. Working with modeling allows one to focus on what is really important instead of spending time doing less productive work of creating user stories, not forgetting that system modeling is so much fun!
System model driven MBT is a more sophisticated approach to testing than earlier generations of testing tools. Conformiq Designer requires a new skill set that can be taught with proper training and optimized with experience. There have been many testers and software developers who have used Designer to increase productivity, improve test asset quality, SUT fault detections, traceability, maintenance, and models, all while reducing cost and time.
So both designers and testers can effectively use Conformiq Designer to improve product quality in less time so long as they have the requisite programming background.