ISTQB Advanced Test Automation Engineer
This course provides TAEs (test automation engineers) with advanced skills in defining, initiating, developing, maintaining, and extending test automation solutions. It focuses on the concepts, methods, tools, and processes for automating functional tests. We discuss the relationship of the automation with test management, configuration management, defect management, software development processes, and quality assurance. The methods and processes we discuss are generally applicable across a variety of lifecycle approaches, types of software systems, and test types. Attendees will learn what test automation is—and is not. We will discuss how and when to start an automation project, how to leverage abstraction to improve maintainability of the automation, how to design a gTAA (generic test automation architecture), and how to use that to create a robust TAS (test automation solution.) In addition, we will address how to reduce the risks of automation by building a suitable pilot project, deploying the TAS safely, and updating the TAS when maintenance is required. We will stress the need for the TAEs to work with the developers of the SUT (system under test) to solve common automation problems. We will address how to move from a fully manual test set to an automated and manual solution. We will discuss suitable metrics to collect, reports to create, and how to test and improve the automation solution.
By the end of this course, an attendee should be able to:
• Contribute to the development of a plan to integrate automated testing within the testing process
• Evaluate tools and technology for automation best fit to each project and organization.
• Create an approach and methodology for building a test automation architecture (TAA).
• Design and develop (new or modified) test automation solutions that meet the business needs.
• Enable the transition of testing from a manual to an automated approach.
• Create automated test reporting and metrics collection.
• Manage and optimize testing assets to facilitate maintainability and address evolving (test) systems.
Through presentation, discussion, and hands-on exercises, attendees will learn to:
- Explain the objectives, advantages, disadvantages, and limitations of test automation
- Identify technical success factors of a test automation project
- Analyze a system under test to determine the appropriate automation solution
- Analyze test automation tools for a given project and report technical findings and recommendations
- Understand "design for testability" and "design for test automation" methods applicable to the SUT (system under test)
- Explain the structure of the gTAA (generic test automation architecture)
- Design the appropriate TAA for a given project (test automation architecture)
- Explain the role that layers play within a TAA
- Understand design considerations for a TAA
- Analyze factors of implementation, use, and maintenance requirements for a given TAS (test automation solution)
- Apply components of the generic TAA (gTAA) to construct a purpose-built TAA
- Explain the factors to be considered when identifying reusability of components
- Apply guidelines that support effective test tool pilot and deployment activities
- Analyze deployment risks and identify technical issues that could lead to failure of the test automation project, and plan mitigation strategies
- Understand which factors support and affect TAS maintainability
- Classify metrics that can be used to monitor the test automation strategy and effectiveness
- Implement metrics collection methods to support technical and management requirements. Explain how measurement of the test automation can be implemented.
- Analyze test logging of both TAS and SUT data
- Explain how a test execution report is constructed and published
- Apply criteria for determining the suitability of tests for automation
- Understand the factors in transitioning from manual to automation testing
- Explain the factors to consider in implementing automated regression testing
- Explain the factors to consider in implementing automation within new feature testing
- Explain the factors to consider in implementing automated confirmation testing
- Verify the correctness of an automated test environment including test tool setup
- Verify the correct behavior for a given automated test script and/or test suite
- Analyze the technical aspects of a deployed test automation solution and provide recommendations for improvement
- Analyze the automated testware, including test environment components, tools and supporting function libraries, in order to understand where consolidation and updates should be made following a given set of test environment or SUT changes
The printed course materials are provided in a binder in a way which makes it convenient for course attendees to remove portions as needed for reference; e.g., during exercises.