Testing in Agile Development

Description:

Most agile discussion now focuses on practices. Scrum- for managing product development, and eXtreme Programming (XP)- for software development practices, are the most common. Both Scrum and XP exclude traditional software testing from their practices. Testing in XP revolves around test driven development (TDD), unit testing.  How and where does test engineer/traditional testing fit in? Traditional testers are involved with code much earlier than in traditional-style projects. In this class we offer effective strategies and tactics, specific test practices, experience and possible points-of-conflict so that the test team supports the goals of agile development and provides the most effective technical service to the product team.

We begin with essential understandings of agile, for example, better not necessarily faster, people over process- that impact the everyday work of test teams.

Most of the class focuses on how traditional test teams provide value and fit into agile projects.

These include:

  • New planning activities
  • New test strategies,
  • Increased volume of code, and faster code deployment,
  • Different ideas on test artifacts,
  • New ideas on test automation,
  • Different issues with offshore and outsourced teams.
  • This class includes examples, exercises and mini-scrums.

You Will Learn:

  • Foundation agile concepts
  • Scrum basics
  • Common XP Practices
  • Problems and misconceptions of agile
  • Mis-implementations of agile that impact test teams and solutions.
  • Important QA and test ideas and practices that need to be remembered on agile projects.
  • New test practices and strategies for testing on agile projects
  • With significant automated Unit testing and Acceptance testing, what is left for traditional test teams?
  • How to cope with a significant increase in delivered code
  • Continuous Integration
  • Building a new test strategy from our old practices
  • Significant changes to test artifacts; specifically test cases and test plans.
  • New project management tools specifically for agile projects
  • Test and project measurement on agile projects
  • A new level of communication as the foundation of agile development
  • Automation strategies in an agile world
  • New complexities and solutions for agile offshore testing
  • Further study

Course Outline:

Chapter 1 Agile: What is it?

  • How we got here?
  • What are the common practices?
  • Some Scrum and XP practices directly related to testing (examples)
  • TDD/Unit Testing
  • Continuous Integration
  • Acceptance testing in XP
  • Ideas about Done
  • Role of “Team” and Test/QE
  • Problems and Misconceptions of Agile

Chapter 2 What this can mean for testing

  • How does agile impact testing
  • Important agile and quality concepts we need in agile testing
  • Limitations of Unit testing, Acceptance testing
  • Test Methods and Techniques for Agile
    • Exploratory Testing skills
    • The tasks traditional test teams did; who does them now?
    • Better estimation skills
  • Skills for Agile Test Engineers

Chapters 3 Test Artifacts in Agile

  • Does Agile mean we stop documenting?
  • User Stories and Test Cases
  • Importance of the Conversation with user stories

Chapter 4 Tools

  • New classes of tools

Chapter 5 Test Automation in Agile: It’s absolutely essential…and different.

  • Importance of large-scale automated regression
  • Test Design and Framework Implementation for rapid projects
  • Action based testing and Keyword based testing

Chapter 6 Agile Offshore

  • Agile projects with outsourced and/or offshore teams.
  • Some of the old obvious problems exacerbated.
  • Solutions
Chapter 7 Agile Testing Roundtable
  • Common testing problems in Agile
  • Some politics to watch out for in Agile projects
  • ScrumButts and Agilefalls warnings!
  • Using the Sprint Retrospective for process improvement

Appendix
References