Test modelling - Activity of representing system/feature under test as a model.
A sample hierarchy
System
Entities/Objects/Users (Roles)
Dependencies between objects
Relationships - IS A and HAS A (Type and containment)
One to one, One to Many
Properties (variables and constants)
Values (domain) of properties
Default values, boundaries of values
Combinations of Values to create test scenarios
Object - Action - State Change.
List actions on each objects.
Create a map of what will happen when an action on object happens
Simultaneous actions
Dead locks
Hangs
how do we use BB design techniques
EQ partitioning
State machine
Decision Tree
Combinatorics
Take a par of variables and create a Grid.
GUI Testing check lists (applicable to new GUI)
Static vs Dynamic Models
Model - when nothing is happening. No user interaction
Dynamic - when users are interacting
Time element
It might help to user Object Oriented Design to represent above idea.
There are objects - have properties and functions.
Nouns and Verbs
System will have objects/entities. Objects have properties, properties can be constant or variable.
Take each variable - explore the domain of the variable. See what kind of values it can take and
String these variable values into test scenarios.
This act of modeling - goes through iterations. It's like a photo film negative development. With each iteration - various features of system start showing up.
Idea of Test coverage -
Imagine a 2 D shape - area of features in two dimensions.
Covering area means exercising the walking through the area.
how about Volume ? 3rd dimension - features and values