ISTQB CTAL-Advanced Technical Test Analyst

COURSE OVERVIEW


High-quality test designs and specifications are the key to precise test cases and an efficient and effective testing process. This hands-on course provides technical test analysts with the ability to define and carry out the tasks required to fulfill the test strategy in terms of technical requirements. 

This training course presents a comprehensive overview of methods and techniques for deriving and specifying software tests based on the system’s implementation and structure (“white box tests”). On completing the course, attendees will be able to select and apply techniques for test case derivation such as control flow or data flow testing as well as static and dynamic analysis. We will look at non-functional testing techniques such as reliability testing, portability testing, performance, load and stress testing. We will also discuss how to succeed in building robust automation architectures and using a variety of tools to reach quality targets. 

By the end of this course, an attendee should be able to:  

  • * Recognize and classify the typical risks associated with the performance, security, reliability, portability and maintainability of software systems.
  • * Create test plans which detail the planning, design and execution of tests for mitigating performance, security, reliability, portability and maintainability risks.
  • * Select and apply appropriate structural design techniques to ensure that tests provide an adequate level of confidence, based on code coverage and design coverage.
  • * Effectively participate in technical reviews with developers and software architects applying knowledge of typical mistakes made in code and architecture. 
  • * Recognize risks in code and software architecture and create test plan elements to mitigate those risks through dynamic analysis. 
  • * Propose improvements to the security, maintainability and testability of code by applying static analysis. 
  • * Outline the costs and benefits to be expected from introducing particular types of test automation. 
  • * Select appropriate tools to automate technical testing tasks. 
  • * Understand the technical issues and concepts in applying test automation. 

This course covers the International Software Testing Qualifications Board Advanced Level Technical Test Analyst Syllabus 2012 and has been accredited by an ISTQB-recognized National Board. 

 

Learning Objectives  

Through presentation, discussion, and hands-on exercises, attendees will learn to: 

  • * Summarize the generic risk factors that the Technical Test Analyst typically needs to consider
  • * Summarize the activities of the Technical Test Analyst within a risk-based approach for planning and executing testing
  • * Understand how to achieve condition coverage and why it may be less rigorous testing than decision coverage
  • * Write test cases by applying the Decision Condition testing test design technique to achieve a defined level of coverage
  • * Write test cases by applying the Modified Condition/Decision Coverage (MC/DC) testing test design technique to achieve a defined level of coverage
  • * Write test cases by applying the Multiple Condition testing test design technique to achieve a defined level of coverage
  • * Write test cases by applying the Path testing test design technique
  • * Understand the applicability of API testing and the kinds of defects it finds
  • * Select an appropriate structure-based technique according to a given project situation
  • * Use control flow analysis to detect if code has any control flow anomalies
  • * Data flow analysis to detect if code has any data flow anomalies
  • * Propose ways to improve the maintainability of code by applying static analysis
  • * Explain the use of call graphs for establishing integration testing strategies
  • * Specify goals to be achieved by the use of dynamic analysis
  • * For a particular project and system under test, analyze the non-functional requirements and write the respective sections of the test plan
  • * Define the approach and design high-level test cases for security testing
  • * Define the approach and design high-level test cases for the reliability quality characteristic and its corresponding ISO 9126 sub-characteristics
  • * Define the approach and design high-level operational profiles for performance testing
  • * Understand and explain the reasons for including maintainability, portability and resource utilization tests in a testing strategy and/or test approach
  • * Given a particular product risk, define the particular non-functional test type(s) which are most appropriate
  • * Understand and explain the stages in an application’s lifecycle where non-functional tests should be applied
  • * For a given scenario, define the types of defects you would expect to find by using non-functional testing types
  • * Explain why review preparation is important for the Technical Test Analyst
  • * Analyze an architectural design and identify problems according to a checklist provided in the syllabus
  • * Analyze a section of code or pseudo-code and identify problems according to a checklist provided in the syllabus Explain technical aspects to consider when multiple tools are used together
  • * Summarize the activities that the Technical Test Analyst performs when setting up a test automation project Summarize the differences between data-driven and keyworddriven automation
  • * Summarize common technical issues that cause automation projects to fail to achieve the planned return on investment
  • * Create a keyword table based on a given business process
  • * Summarize the purpose of tools for fault seeding and fault injection
  • * Summarize the main characteristics and implementation issues for performance testing and monitoring tools
  • * Explain the general purpose of tools used for web-based testing
  • * Explain how tools support the concept of model-based testing
  • * Outline the purpose of tools used to support component testing and the build process

 

Course Material


 

 

Session Plan 

The course runs for three days, with three hours set aside on the third day for the ISTQB Advanced Technical Test Analyst exam if desired. Each day is about 390 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 Syllabus Technical Test Analyst. 

Introduction and Review (60 minutes, no exercises) 

1.0  The Technical Test Analyst’s Tasks in Risk-Based Testing (30 minutes) 

1.3 Risk Assessment (15 minutes, no exercises) 

1.4  Risk Mitigation (15 minutes, no exercises) 

2.0  Structure-Based Testing (225 minutes) 

2.2 Condition Testing (15 minutes, no exercises) 

2.3  Decision Condition Testing (45 minutes, no exercises) 

2.4  Modified Condition/Decision Coverage (MC/DC) Testing (45 minutes, no exercises) 

2.5  Multiple Condition Testing (45 minutes, 1 exercise) 

2.6  Path Testing (45 minutes, 1 exercise) 

2.7  API Testing (15 minutes, no exercises) 

2.8  Selecting a Structure-Based Technique (75 minutes, 1 exercise) 

3.0  Analytical Techniques (255 minutes) 

3.2  Static Analysis (195 minutes, 1 exercise)

3.3  Dynamic Analysis (60 minutes, 1 exercise) 

 

ISTQB Accredited Training Provider

 

4.0  Quality Characteristics for Technical Testing (405 minutes)  

4.2  General Planning Issues (75 minutes, 2 exercises) 

4.3  Security Testing (60 minutes, 1 exercise) 

4.4.  Reliability Testing (60 minutes, 1 exercise) 

4.5  Performance Testing (60 minutes, 1 exercise) 

4.6  Resource Utilization (150 minutes, no exercises) 

4.7  Maintainability Testing (20 minutes, no exercises) 

4.8  Portability Testing (55 minutes, 1 exercise) 

5.0  Reviews (165 minutes) 

5.1  Introduction (15 minutes, no exercises) 

5.2  Using Checklists in Reviews (150 minutes, 2 exercises) 

6.0  Test Tools and Automation (195 minutes) 

6.1  Integration and Information Interchange Between Tools (15 minutes, no exercises)

6.2  Defining the Test Automation Project (105 minutes, 2 exercises) 

6.5  Specific Test Tools (75 minutes, no exercises) 

Recommended Readings  

The class materials include a bibliography of books related to software testing, project management, quality, and other topics of interest to the test professional.