Separation of aspects of automated testing into architectural layers
enables automated testing to occur sooner and faster and to provide more
comprehensive testing. A physical layer provides an object model over the
user interface of an application. A logical layer provides an object
model around the functions of an application. A test case executor may
execute a test case. A data manager may ensure variability in test data.
A behavior manager may determine execution details appropriate for a
particular test case. A verification manager may perform the verification
processing after the test case has executed.