Agile Testing

  • Explore key agile testing techniques including early testing of software artifacts, test driven development (TDD), acceptance test driven development (ATDD), and exploratory testing.  Approaches for automating appropriate types of testing should be discussed.
  • Compare and contrast agile testing with traditional software testing techniques and approaches.  The learner should gain an understanding of the collaborative nature of agile testing and how business, development, and testing work together to produce high quality software.
  • Give the learner both vocabulary and principles to be able to effectively perform agile testing as part of a whole-team concept – from initial test planning, through development iterations, to product release.

Prerequisite: Fundamentals of Agile

Although it takes months or years to learn how to be an effective agile tester, the contents set out below are designed to fit into three days of course materials and exercises, leading into more advanced learning in numerous testing topics. Instructors and self-learners are expected to include group activities of their own design and to incorporate their own, personal specialties that highlight particular aspects of agile testing. [pre-requisites: Fundamentals of Agile Learning Objectives, understanding of common testing techniques and processes]
The Agile Testing program is constructed around five major elements, with concepts and technique & application for each. An instructor or self-learner is welcome to add to these according to their own specialized interests.

1. Agile Testing Mindset :
Understand the history and mindset behind agile testing and how it impacts software quality during agile projects.
2. Testing Techniques :
Understand the types of testing and specific testing techniques typically used by business, development, and testing personnel during agile projects.
3. Agile Testing Process :
Understand the process by which agile teams plan, implement, perform, and report on testing activities.
4. Test Automation :
Understand why test automation is important, what tests are commonly automated, and who is typically involved in automation efforts.
5. Beyond the Team :
Understand how agile testers interact with management, integrate with other projects/groups, address policy and regulation, and operate in distributed environments..

How to read & use this document

This document is not a description of a course – it is a description of what a learner should encounter in courses, or study to learn, to gain a sound introduction to agile testing. These are the Fundamentals of agile testing.

These learning objectives are intended for those who are participating in agile teams and need to understand or perform software testing activities as part of their responsibilities.  These roles may include: product owner, project manager, business analysts, software testers, and software programmers.

Watch, in each section, for concept elements, where a concept is introduced, and technique & application elements, where the learner gets to learn a technique, practice, or soak in a concept.

Duration

The time period set out to teach the agile testing learning objectives without test automation is two to three full days of instruction and activities. We encourage instructors to take more time to cover the material, to let the learner "soak" in the ideas for extra days, and to possibly split the learning objectives across multiple courses that may cover other material. We find that "soaking time" is key to conveying the mindset and approach of agile development and testing. Here are three ways you might extend the soaking time for your learners:

  • Create a 4 or 5-day instead of 3-day course. Include more specific instruction on important agile testing techniques beyond those covered within this course in detail.  Suggested topics include: test management, testing automation, load and performance testing, security testing, unit testing, usability testing, continuous integration.
  • Split the material across multiple courses that cover other agile material (programming, project management, project planning)
  • Separate material into classroom sessions and coaching sessions, with soaking on real projects and a coach to help steer into the agile approach along the way.

Depth of coverage

One difficulty that diligent instructors may encounter when preparing a 2-3 day course is balancing the need to cover the breadth of the agile testing topic while providing the details necessary to effectively educate course attendees.  Wherever possible, group exercises should be used to drive home key learning objectives.  Hands on use of tools and techniques are strongly encouraged as well.

Click here to download ICAgile Learning Objectives for Agile Testing


Primary Author:

  • Jeffery Payne, Coveros

Contributors:

  • Bob Galen
  • Randy Rice
  • Sharon Robson

Additional Reviewers:

  • Elisabeth Hendrickson

Contact us

International Consortium of Agile (ICAgile)
1000 Peachtree Industrial Blvd, #6434
Suwanee, GA, 30024

Stay in touch