AGL200 - Agile Testing

AGL200

This course will demonstrate how an Agile testing approach enhances delivery speed and improves overall quality. Learning the goals of Agile will help you transition, implement and monitor testing in an agile environment and integrate traditional testing skills and knowledge into agile development teams.

Building on traditional risk-based test practice we are now challenged by incremental delivery. To address but not inhibit Agility, we examine concepts like pair testing and strengthening relationships in a team setting to build a sense of common purpose. Working in parallel with developers eliminates hand-offs and late stage testing, and enables incremental confirmed component delivery. This program builds on what we know, and adapts to what we need ... Agile delivery. Agile testing opens new areas of opportunity to build strength in product quality, process improvement and test confidence.

When implementing changes in methods and approaches, we may slide back into old test habits, or leave methods behind rather than transition from them. We may throw everything away and do a wholesale replacement without appreciating what really needs to change. Most testing practices work, but only within appropriate development contexts. This program will contrast traditional against Agile testing, highlighting what changes we must make to apply the best testing principles in the new role that we will play. Agile testing is not a separate service, but an integrated part of the development team.

Course Details

  • Quality Analysts & Engineers
  • Software Test Leads & Testers
  • Software Quality & Testing Managers
  • Software Project Managers
  • Software Engineering Managers
  • Business Analysts
  • Software Development Managers
  • IT Managers
  • Programmers/Developers

None.

Agile Testing Mindset

1. Overview of Agile Testing:
Much like Agile itself, many of the Agile testing techniques where espoused well before the Agile Manifesto was created. But Agile testing is much different from testing performed during traditional software development approaches. This topic anchors the ideas of Agile testing in earlier work, while also providing insight into the major differences between Agile testing and testing performed as part of traditional (phased-based) software development.

  • Origins of Agile Testing
  • Agile Testing vs. Traditional Approaches

2. Mindset & Culture:
The 12 Principles behind the Agile Manifesto establish guiding principles for not only the Agile movement but Agile testing as a discipline. The Agile mindset includes: Quality is not “owned” by a particular role in Agile; Testers become facilitators of the team’s quality efforts; Agile testing provides critical insights and feedback into the software process. This topic helps learners understand how the Agile Manifesto is realized within an Agile testing process and approach, and to adopt the requisite Agile mindset.

  • Agile Testing Principles
  • Whole Team Approach
  • Building Quality In
  • Continuous Improvement and Feedback
  • Ingraining The Agile Testing Mindset (Hands-on Exercise)

Testing Techniques

3. Categories of Testing:
Testing activities can be broken into various categories (or Quadrants) of testing based upon their purpose and value. Automated testing can be performed at various levels (the automation pyramid) within a software application, and appropriate testing techniques must be applied to each. This topic provides the learner with a sound understanding of the purpose of various categories of testing, opportunities for automation, and testing techniques so they can be applied appropriately and at the right time within an Agile environment.

  • Agile Testing Quadrants of Categories
  • Automation Pyramid – Introduction
  • Testing Techniques

4. Collaborating with Developers:
Developer testing of individual software units and associated components is critical to detecting implementation defects within software. Unit and component tests are leveraged within TDD as well. This topic helps the learner to thoroughly understand the purpose and approach to successfully implementing unit and component testing on Agile projects and how testers support developer testing during development cycles.

  • Unit and Component Testing
  • Pairing Between Developer and Tester

5. Example Driven Development:
Test-Driven Development (TDD) and its derivatives, Acceptance Test-Driven Development (ATDD), Behavior-Driven Development (BDD) and Spec by Example are techniques for assuring that Stories are implemented in a manner that satisfies the customers’ needs. This topics helps the learner to thoroughly understand the purpose and approach to successfully implementing these techniques on Agile projects.

  • Acceptance Test-Driven Development (ATDD)
  • Behavior-Driven Development (BDD)
  • Spec by Example

6. Feature and Story Testing:
Testing of User Stories is critical to successful development of software within an Agile project. This testing is often performed using the techniques above but can be done in other ways as is appropriate or necessary. This topic enables the learner to thoroughly understand the various options for testing User Stories during software development; this is an extension to ATDD to include boundary conditions, and other types of testing such as exploratory testing.

  • User Story Testing
  • Feature Testing
  • Exploratory Testing
  • Non-Functional Testing

Agile Testing Process

7. Roles and Responsibilities:
Testing during an Agile project is team-oriented, so it is common for every member of the team to provide some level of testing support. This includes the Product Owner and other Business Representatives and the programmers in addition to the testers. This
topic provides the learner with an understanding that within an Agile project, the entire project team is responsible for testing activities, with specific focus on how this affects specific roles.

  • Team-Based Testing Approach
  • Typical Business Representative Role in Testing
  • Typical Programmer Role in Testing
  • Typical Tester Role in Testing
  • Role of Test Managers in Agile

8. Test Strategy and Planning:
Lightweight planning and documentation is typically of Agile projects. The best Agile projects do just enough planning and documenting to support project activities and the needs of the end users. This topic provides the learner with an understanding of how lightweight test strategy and planning is performed on Agile projects, and how decisions are made regarding what type of test documentation, records, metrics and reports are needed and how much is enough.

  • Different Strategies Based on Levels of Precision
  • During Iteration Planning/Kickoff
  • Lightweight Test Plan Documentation
  • Defect Tracking and Management
  • Results Reporting
  • Test Metrics
  • Regression Tests

9. Successful Delivery:
Agile projects employ a variety of techniques around the delivery of the product, including Time-boxed Iterations and Continuous Delivery, that all have very strong focus on testing. This topic helps the learner to appreciate all of the various ways that testing is used in the “End-Game” activities (which don’t just happen at the end of the Agile project!)

  • Time-Boxed Delivery
  • Continuous Delivery
  • Post-Development Test Cycles
  • Iteration Wrap-Up
  • Definition of a Release/End Game
  • User Acceptance Test (UAT)
  • System-Wide and Cross-Team Testing
  • Post-Release Testing
  • Documentation for Regulatory Requirements

10. Test Environments and Infrastructure:
Multiple environments are often necessary to support testing activities during iterations and the release process. This topic provides the learner with an understanding of the typical test environments that must be set up and maintained to support testing activities during iterations and releases and how the product must be managed as it progresses through those environments.

  • Typical Environments for Test
  • Build Pipeline
  • Automated Builds
  • Testing the Proper Build
  • Test Data Management

11. Working on Distributed Teams:
Distributed teams are a fact of life in most organizations and must be dealt with to make Agile testing initiatives successful. This topic provides the learner with an understanding of how communication and coordination of testing activities can be most effective on distributed teams.

  • Distributed Team Communication
  • Distributed Team Coordination

Schedule

there are currently no scheduled courses.
Course Code: TNL-MF-AGL200
Course Duration: 2 Day
Price: $2995 (AUD) ex GST
Enquire Now Course Schedule Course Brochure