Model Driven Testing Tutorial at TTCN-3 User Conference
Tuesday, May 29th, 2007I gave today a tutorial on “model driven generation of TTCN-3 test cases” at the TTCN-3 User Conference 2007. The audience at the Ericsson building in Kista, Stockholm was maybe from fifty to one hundred people.
In this blog entry I will go through some of the questions people asked from the audience.
Q: “You said that model driven testing eliminates the risk of incorrect test cases because test cases are generated by an algorithm instead of a human. But the model itself is designed by a human, so isn’t the risk there still?”
A: “Yes, the model is designed by a human being and there is no way around this. But the model is nearer to the functional requirements than the test cases and is a smaller artifact than the corresponding test case library in general. Therefore reviewing the model and ensuring its correctness takes less time and incurs less costs.”
Q: “Does your approach also help in generating the test data as opposed to test behavior?”
A: “In our approach there is really no clear separation between test data and test behavior. If your system’s behavior depends on the data it receives, then you must model the data, and once you do this you get test data also in the test cases. Our solution has full support for the generation of test data because without it you cannot realize the desired behavior in any form either.”
Q: “Is the TTCN-3 code [shown in demonstration] completely computer-generated? Also the comments?”
A: “Yes. Of course our product cannot comment intelligently on the meaning of the model, but for example if you include links to your system requirements in the model, these links are visible also as comments in the generated test cases.”
Q: “You did not mention state space explosion in your talk.”
A: “It is certainly true that you can create models that will choke up our solution, there is no doubt to that. But on the other hand the testing heuristics we use (e.g. boundary value analysis of condition coverage) scale up linearly or low-degree polynomially in the size of the model, instead of e.g. exponential growth. This means that the expected number of test cases is manageable. Also, because our tool uses internally symbolic methods for state space exploration, the state space explosion problem takes a different form in our context.”
For more information about TTCN-3, check out www.ttcn-3.org.
