Agile Testing Strategies and Practices (TSP) – Outline

Detailed Course Outline

Testing in an Agile Environment

General testing theory

  • Evaluating the key testing principles
  • Differentiating between Agile and traditional practices
  • Introducing the theory and purpose of Agile Testing

Transitioning to Agile software development processes

  • Mapping Agile principles and values to testing
  • Inspecting Agile testing quadrants
  • Benefiting from Test Driven Development (TDD)
  • Automating testing for better Agility

Confirming Customer Satisfaction

Acquiring a test basis

  • Testing the charter and key features
  • Focusing on customer value and user personas
  • Writing useful test cases from user stories
  • Developing Story Acceptance Criteria

Automating through Acceptance Test Driven Development (ATDD)

  • Designing the anatomy of an Agile Test
  • Creating a Test Idea Catalog
  • Refining a Definition of Done and Ready
  • Anticipating validation criteria through Behaviour Driven Development (BDD)

Preparing for User Acceptance Testing (UAT)

  • Specifying by examples and scenarios
  • Enabling Usability and Exploratory Testing
  • Performing Story-Mapping for better coverage
  • Managing the UAT processes

Implementing Developer and Technology Testing

Building proficiency with TDD

  • Defining the unit candidates for testing
  • Achieving green-light success
  • Identifying good tests
  • Dealing with large systems

Validating for FURPS+

  • Finding non-functional testing patterns
  • Simulating interfaces and conducting performance testing through automation

Test Management

Test strategy and planning

  • Creating a risk-based approach to release planning
  • Coordinating day-to-day through a lightweight test plan
  • Declaring rules on zero-bug tolerance and defect tracking
  • Using metrics to measure success

Successful delivery management

  • Implementing continuous integration and deployment
  • Setting-up JIT test environments
  • Organising post-release testing

Team mindset and culture

  • Working toward a whole team approach to quality
  • Designing software with high testability attributes
  • Sharing testing responsibilities between developers and testers
  • Collaborating on complex and distributed teams projects