CAT study materials
CAT study resources

CAT: Agile testing methods, techniques and tools

CAT · Work through your exam, one topic at a time.

All guide sections

Agile testing methods, techniques and tools

Domain focus

The exam tests agile test design and automation techniques: TDD, ATDD, BDD, exploratory testing and the tool chain that supports fast feedback. You must know the purpose and sequence of each, not just their names.

Core rules and concepts

  • TDD is a developer practice: write a failing unit test (red), write the simplest code to pass (green), then refactor while keeping tests green.
  • ATDD starts from a shared example of desired behavior. Customers, developers and testers discuss acceptance criteria before implementation; those examples become executable acceptance tests.
  • BDD expresses behavior as Given/When/Then scenarios. It improves collaboration and can drive automation, but the conversation matters more than the tool.
  • Exploratory testing is simultaneous learning, test design and execution. Charter-based sessions, timeboxing and debriefs make it accountable without turning it into scripted execution.
  • Continuous integration runs automated checks on every change; version control, build servers, unit frameworks and API-level automation provide fast, repeatable feedback.

Worked example

Story: 'A customer can withdraw cash when the account has sufficient funds.' Example acceptance criteria: balance 100, withdraw 40 succeeds and balance becomes 60; withdraw 100 succeeds and balance becomes 0; withdraw 101 is rejected and balance stays 100. In BDD: Given a balance of 100, When the customer withdraws 101, Then the withdrawal is rejected and the balance remains 100. The team automates these at API or service level first, adds UI checks only for the presentation path, and explores error handling and concurrent withdrawals in a charter.

Traps

  • Calling TDD a testing phase; it is a design and development cycle.
  • Writing acceptance criteria after code is complete and calling that ATDD.
  • Treating BDD as a tool installation rather than a three-way conversation.
  • Automating only through the UI, creating slow and fragile regression suites.
  • Using exploratory testing as an excuse for unstructured clicking with no charter or record.