Course Content and Agenda

The course consists of six modules, spread over three days. The exam is on the final day of the course.

What is Testing

  • Identify typical objectives of testing
  • Differentiate testing from debugging

Why is Testing Necessary?

  • Examples of why testing is necessary
  • The relationship between testing and quality assurance explained, with examples of how testing contributes to higher quality
  • Distinguishing between error, defect, and failure
  • Distinguishing between the root cause of a defect and its effects

Seven Testing Principles

  • The seven testing principles explained

Test Process

  • The impact of context on the test process
  • Test activities and respective tasks within the test process
  • Differentiation of the work products that support the test process
  • The value of maintaining traceability between the test basis and test work products

The Psychology of Testing

  • Identify the psychological factors that influence the success of testing
  • Explain the difference between the mindset required for test activities and the mindset required for development activities

Software Development Lifecycle Models

  • The relationships between software development activities and test activities in the software development lifecycle
  • Reasons why software development lifecycle models must be adapted to the context of project and product characteristics

Test Levels

  • A comparison of the different test levels from the perspective of objectives, test basis, test objects, typical defects and failures, and approaches and responsibilities

Test Types

  • A comparison of functional, non-functional, and white-box testing
  • An explanation that functional, non-functional, and white-box tests occur at any test level
  • A comparison of the purposes of confirmation testing and regression testing

Maintenance Testing

  • A summary of the triggers for maintenance testing
  • A description of the role of impact analysis in maintenance testing

Static Testing Basics

  • The types of software work product that can be examined by the different static testing techniques
  • Examples to describe the value of static testing
  • An explanation of the difference between static and dynamic techniques, considering objectives, types of defects to be identified, and the role of these techniques within the software lifecycle

Review Process

  • A summary the activities of the work product review process
  • The different roles and responsibilities in a formal review
  • The differences between different review types: informal review, walkthrough, technical review, and inspection
  • Applying a review technique to a work product to find defects
  • Factors that contribute to a successful review

Categories of Test Techniques

  • The characteristics, commonalities, and differences between black-box test techniques, white-box test techniques, and experience-based test techniques

Black-box Test Techniques

  • Apply equivalence partitioning to derive test cases from given requirements
  • Apply boundary value analysis to derive test cases from given requirements
  • Apply decision table testing to derive test cases from given requirements
  • Apply state transition testing to derive test cases from given requirements
  • How to derive test cases from a use case

White-box Test Techniques

  • Statement coverage
  • Decision coverage
  • The value of statement and decision coverage

Experience-based Test Techniques

  • Explain error guessing
  • Explain exploratory testing
  • Explain checklist-based testing

Test Organisation

  • Explain the benefits and drawbacks of independent testing
  • Identify the tasks of a test manager and tester

Test Planning and Estimation

  • The purpose and content of a test plan
  • Explanation of the various test strategies
  • Examples of potential entry and exit criteria
  • Applying knowledge of prioritisation, and technical and logical dependencies, to schedule test execution for a given set of test cases
  • Factors that influence the effort related to testing
  • The difference between two estimation techniques: the metrics-based technique and the expert-based technique

Test Monitoring and Control

  • Recall metrics used for testing
  • A summary of the purposes, contents, and audiences for test reports

Configuration Management

  • A summary of how configuration management supports testing

Risks and Testing

  • Define risk level by using likelihood and impact
  • Distinguish between project and product risks
  • Describe, by using examples, how product risk analysis may influence the thoroughness and scope of testing

Defect Management

  • Write a defect report, covering defects found during testing

Test Tool Considerations

  • Classify test tools according to their purpose and the test activities they support
  • Identify benefits and risks of test automation
  • Remember special considerations for test execution and test management tools

Effective Use of Tools

  • Identify the main principles for selecting a tool
  • Recall the objectives for using pilot projects to introduce tools
  • Identify the success factors for evaluation, implementation, deployment, and on-going support of test tools in an organisation