Application Lifecycle Management and Model-Based Testing
Oct20
At our company (Sogeti) I’m working together with Rob Kuijt on the deployment of Model-Based Testing (MBT). Our goal is to automate the specification of functional test cases. Not 100% of the functional test cases, but as much as can be reached. We both have another idea on how MBT has to implemented. Rob is the technical expert and has the software to backup his statement, I only have theory. That’s 1-0 for Rob!
In my opinion, and that of TestNet, Model-Based Testing is:
“Software testing in which a test model is created that describes some of the expected behaviour (usually functional) of the System under Test (SuT). The purpose of creating this test model is to review the requirements thoroughly and/or to derive test cases in whole or in part from the test model. The test models are derived from the requirements or designs.”
In a recent post by Rob he states that the development model should be used to automatically generate test cases. His COVER tool, which is amazingly efficient, generates test cases from models, pseudo code and pure code. COVER can create test cases with the test design techniques Process Cycle Test (PCT), Pairwise Testing, Elementory Comparison Test (ECT) and Data Cycle Test (DCT). As I said it is an amazing tool and you should ask Rob about it and he blows your socks of what he can do with it. I think a separate test model should be used. This because a test model consists of other topics in the classes compared to a development model and, most important, the same errors that have slit into the analysis model will be incorporated in the test model. And, thus the same errors will be in the final product. At least when only MBT is used for testing, something I don’t recommend. Testing also is creativity.
Another thing Rob stated in his post is that to generate test cases from models to automated test cases is still a bridge too far. In my post about MBT I state that it’s possible to create automated test cases. The use of ‘keyword’ in the model helps the automation of test case execution. When using formal UML models like the Object Model and test data helps to generate automated test cases. The tool Test Designer™ from Smartesting has a plugin for HP Quality Center and HP Quick Test Professional (formerly Mercury) IBM Rational Quality Manager and IBM Rational Functional Tester to manage and execute the generated test cases automatically. In his post Rob names ERP solutions as software that isn’t (yet) doable. For ERP solutions I don’t know, but for the most types of software applications I think it can be done when the data is added to the models and keywords are used.

This is my idea of how MBT can deal with the Application Lifecycle Management (ALM). Rob has a lot more practice in this field, but how do you think? Is it 1-1?
November 29th, 2009 at 05:17
I agree with you on your comment on “… generate test cases from models to automated test cases is still a bridge too far”. Many MBT tools are capable of generating test cases from the model as generating test cases from the model is the primary feature of MBT tool (like TestOptimal from my company). Or maybe we are not understanding Rob’s reasoning behind his statement? There are many types of models using different notations one can use to build a model but probably you’ll be able to find a tool or algorithm to generate test cases from these models. The test cases generated may not be optimal (minimum set) but certainly they can be generated from the models with appropriate algorithms.
August 18th, 2010 at 09:54
I agree with your comment. But there are several other models available that are efficient to do such and to generate test cases. Thanks for the information and your views.
February 5th, 2012 at 23:42