11

I was introduced to a 5-layer-model for GUI test automation frameworks, that was considered common knowledge. But I would be interested in a source describing this model. The layers are the following:

  1. System Interface
  2. GUI Navigation
  3. Test Automation Vocabulary
  4. High Level Testscripts
  5. Execution

Has anyone seen this kind of architecture before and can tell me a paper or book describing it? "Scientific" sources are preferred.

3 Answers 3

14

The best place to start is over at http://www.thebraidytester.com/ where Michael Hunter describes the stack he built for testing Microsoft Expression in number of articles, papers and blog posts.

I have used this approach as the inspiration for my own watin based stack which is available at http://testingstax.codeplex.com

Essentially the framework breaks down into the following components.

  • The test case written 100% in the business domain
  • The logical functional model that represents the business domain that the test cases call
  • The Physical layer that actually interacts with application to perform the automation
  • The verification engine and
  • The test data model for modelling the test data.

The key design principle is that all the concerns have been separated. The test, from the business model, the physical implementation from the test data and verification engine.

2

Michael Hunters automation stack http://www.thebraidytester.com/stack.html is a good reference.

I've also blogged about a similar approach here in a series of blogpost. http://elusivebug.blogspot.com/2009/05/test-automation-approach-object.html

0

In a layered architecture, the test automation code is divided into three layers.

1.Test cases-Focusing on the test logic of the application.

2.The domain layer-Modeling the system under test in domain terms, encapsulating HTTP requests, browser control, result parsing logic, and providing an interface for the test cases layer.

3.The system under test-Which layer 2 will operate directly on.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.