Test Automation Architecture Flashcards
Test Automation (Architechture) Layers
- Test generation layer
- Test definition layer
- Test execution layer
- Test adaptation layer
Test generation layer
supports manual or automated design of test cases
Test definition layer
supports the definition and implementation of test cases and /or suites
Test execution layer
supports both the execution of automated tests and the logging/reporting on the results
Test adaptation layer
provides the necessary objects and code to interface with the SUT (system under test) at various levels.
levels of interface that we can automate: Test Adaptation Layer
- The GUI level
- The API level
- Private hooks
- Protocol level (HTTP, TCP, etc.)
- Service level (SOAP, REST, etc.)
TAA interacts with:
- Project Management
- Configuration Management
- Test Management
Test execution layer:
- Test execution layer
- Test logging
- Test reporting
Test Definition Layer
- Test Conditions
- Test Cases
- Test Procedures
- Test Data
- Test Library
Test Generation Layer
- Manual Design
- Test Models
The separation of TAL from the SUT allows the test cases to be more abstract and disconnected from the SUT. ¿What could happen after a change in the SUT?
- Ideally the test cases themselves may not need to change.
- TAL, in this case WebDriver, allows modification of the automated test, allowing it to run against the modified interface of the SUT.
The automated script uses the API to communicate the test and the SUT as follows:
- The test case calls for a task to executed
- The script calls an API in WebDriver
- The API connects to an object in the SUT
- The object responds to the API
- The API communicates success or failure back to the script
If successful, the next step in the test case is called in the script