their use known as Event Driven Petri Nets (Jorgensen 2002). I think these
might come closer to supporting the testing model you desire.
"Matt Irwin" <matti@radiobeacon.com> wrote in message
news:f1df14a7.0307230818.3d447ab0@posting.google.com... Hello, I've been trying to develop some automated testing for a very complex piece of software. I've done some research into various methods and I would like to complete some model-based testing to verify the behaviour of the program. Much of the material that I've come across recommends constructing a Finite State Machine (FSM) and having a program generate random paths through it by selecting inputs and triggering state changes. In this case, because the states are defined at each point, the output always known and can be easily verified. My problem is this: The function I am testing actually has a trivial state machine. Inputs are set, the function executed, and the output I'm interested in is immediately provided. The complexity in this case arises from the infinite ways to set up the test: a) Global configuration options b) Function switches c) Test data based on boundary conditions d) The environment with which this data will interact. So in order to develop a system to look for errors in this process, I have to determine the outcome for a very large number of conditions. If I sit down and calculate these outcomes line-by-line in a table, I might as well be completing the testing manually. I've thought about testing each option acting independently first and then moving on by forming intelligent groupings. Anyone have any thoughts on how I could incorporate model-based testing and have the system generate and verify cases? Thanks, Matt Irwin