Page 1 of 1

What about Model-Based Testing (MBT)?

Posted: Wed Mar 25, 2009 11:01 pm
by yxl01
What about Model-Based Testing? Both Microsoft and Google have done quite a bit work on this. It has been on Google TechTalk couple of times.

Re: What about Model-Based Testing (MBT)?

Posted: Thu Mar 26, 2009 2:51 am
by Chris Corbyn
yxl01 wrote:What about Model-Based Testing? Both Microsoft and Google have done quite a bit work on this. It has been on Google TechTalk couple of times.
Never heard of it. Is this just more about testing in terms of domain-driven design?

Re: What about Model-Based Testing (MBT)?

Posted: Fri Mar 27, 2009 6:45 am
by Jenk
http://en.wikipedia.org/wiki/Model-based_testing

It's kinda like proto-typing your tests. It's all part of design more than anything. You create some high level/abstract tests to test out concepts, then nail them down when satisfied. You use a model that loosely represents the 'real' system as proof of concept.

A lot of BDD/TDD developers probably already do it; and just refactor their tests and models into the actual product.

Re: What about Model-Based Testing (MBT)?

Posted: Fri Mar 27, 2009 11:02 pm
by yxl01
In the case of tesing web applications, you first use a state machine diagram to describe all pages of your web applications as nodes and navigations (clicking on a link or button) as transitions between nodes. The idea is that the tool will generate the test sequences to traverse all pages of your web applications through transitions. For example a web store model on TestOptimal web site: http://testoptimal.com/img/SimpleWebStore.png

Usually the tool has built-in algorithm to generate these test cases: random walk or postman problem path. TestOptimal (http://TestOptimal.com) works really well with web applications. It can also do run stress and load tesing using the generate test cases if the tool supports multiple threads.

There is another tool I've heard of called Conformiq that works on rich GUI client/sever and java program testing.

Microsoft has done quite a bit reseaching on this technique, and recently Google also. Model -based testing is considered a part of Model-Drived Architecture (http://en.wikipedia.org/wiki/Model-driven_architecture) which is gaining momentun in recent years as the future of the software development.