ISTQB Advanced Test Automation Engineer

COURSE OVERVIEW


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.

 

Learning Objectives  

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

Course Material


 

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. 

Session Plan

The course runs for three days, with three hours set aside on the third day for the ISTQB Advanced Test Automation Engineer exam if desired. Each day is about 360 minutes of class time, from 9:00 to 5:30.  For accredited course offerings, material is covered as described.  For custom courses, material may be deleted, added, or expanded upon as needed.

Please note that timings are approximate, depending on attendee interest and discussion.  All of the lectures include exercises and/or knowledge-check questions except as noted. 

The following shows this session plan in relationship to the chapters and sections of the ISTQB Advanced Test Automation Engineer.

            Introduction and Review (30 minutes)

1.0       Introduction and Objectives for Test Automation (30 minutes)

1.1       Purpose of Test Automation (15 minutes, no exercises)

1.2       Success Factors in Test Automation (15 minutes, no exercises)

 

2.0       Preparing for Test Automation (165 minutes)

2.1       SUT Factors Influencing Test Automation (80 minutes, one exercise)

2.2       Tool Evaluation and Selection (70 minutes, one exercise)

2.3       Design for Testability and Automation (15 minutes, no exercises)

 

3.0       The Generic Test Automation Architecture (270 minutes)

3.1.1    Overview of the gTAA (15 minutes, no exercises)

3.1.2    Test Generation Layer (5 minutes, no exercises)

3.1.3    Test Definition Layer (5 minutes, no exercises)

3.1.4    Test Execution Layer (10 minutes, no exercises)

3.1.5    Test Adaptation Level (5 minutes, no exercises)

3.1.6    Configuration Management of a TAS (5 minutes, no exercises)

3.1.7    Project Management of a TAS (5 minutes, no exercises)

3.1.8    TAS Support for Test Management (10 minutes, no exercises)

3.2.1    Introduction to TAA Design (35 minutes, no exercises)

3.2.2    Approaches for Automating Test Cases (30 minutes, no exercises)

3.2.3    Technical Consideration of the SUT (15 minutes, no exercises)

3.2.4    Considerations for Development/QA Processes (55 minutes, 1 exercise)

3.3.1    Introduction to TAS Development (50 minutes, 1 exercise)

3.3.2    Compatibility Between the TAS and the SUT (5 minutes, no exercises)

3.3.3    Synchronization Between TAS and SUT (5 minutes, no exercises)

 

3.3.4    Building Reuse into the TAS (5 minutes, no exercises)

3.3.5    Support for a Variety of Target Systems (10 minutes, no exercises)

 

4.0       Deployment Risks and Contingencies (150 minutes)

4.1.2    Pilot Project (20 minutes, no exercises)

4.1.3    Deployment (20 minutes, no exercises)

4.2       Risk Assessment and Mitigation Strategies (80 minutes, 1 exercise)

4.3.1    Types of Maintenance (10 minutes, no exercises)

4.3.2    Scope and Approach (20 minutes, no exercises)

 

5.0       Test Automation Reporting and Metrics (165 minutes)

5.1       Selection of TAS Metrics (40 minutes, no exercises)

5.2       Implementation of Measurement (25 minutes, no exercises)

5.3       Logging of the TAS and the SUT (75 minutes, 1 exercise)

5.4       Test Automation Reporting (25 minutes, no exercises)

 

6.0       Transitioning Manual Testing to an Automated Environment (120 minutes)

6.1       Criteria for Automation (75 minutes, 1 exercise)

6.2       Identify Steps Needed to Implement Automation within Regression Testing (20 minutes, no exercises)

6.3       Factors to Consider when Implementing Automation within New Feature Testing (15 minutes, no exercises)

6.4       Factors to consider when Implementing Automation of Confirmation Testing (10 minutes, 0 exercises)

 

7.0       Verifying the TAS (120 minutes)

7.1       Verifying Automated Test Environment Components (30 minutes, 0 exercises)

7.2       Verifying the Automated Test Suite (90 minutes, 1 exercise)

 

8.0       Continuous Improvement

8.1       Options for Improving Test Automation (60 minutes, no exercise)

8.2       Planning the Implementation of Test Automation Improvement (90 minutes, 1 exercise)