Agile Testing (2 day)

Effective Agile Testing (2 Day Course)
Background
While agile has provided the solutions for many software development problems, it is not a silver bullet and has still to overcome issues that more traditional project development lifecycles handle. Testing is an important part of how agile succeeds, but as agile is a big departure from normal development, how does it affect testing and the test process?

The role of the tester in agile is to bring professional expertise in test and quality to the team. Many agile implementations however have struggled to implement effective approaches to achieving the productivity enhancements with the required level of quality. This is because of issues such as

  • Implementing Agile /Lean approaches (such as SCRUM/XP or Kanban) as an effective work management approach but without designing/adopting appropriate development and test practices within the incremental framework
  • Partial implementation of agile methods and agile mindset sometimes resulting in negative quality implications
  • Implementing hybrid methods combining traditional dev/test practices with agile practices but with a resulting strategy that does not deliver on quality

Learning Objectives:
At the end of this course you will be able to:

  • Describe the key agile quality and test related practices that support an effective Agile/Lean implementation
  • Describe the testing implications of moving to an agile methodology including the role of independent testing and testing without detailed requirements
  • Perform effective testing in an agile environment based on users, testers and developers collaborating in an iterative approach
  • Utilise aspects of agile testing practices in more traditional projects
  • Keep control of testing/quality in an Agile lifecycle and avoid the common pitfalls
  • Balance quality/test practices such as TDD/ATDD/BDD, exploratory testing, etc. to deliver quality
  • Continuously improve your testing in an agile project

Note: the course can be customised to the context of your specific organisational Agile/Lean implementation e.g. using Scrum/XP or Kanban.

Who Should Attend
Project Managers/leaders, Test Managers, QA Managers, Test Consultants, Testers, Developers and Users

Benefits of Attending
By attending this course you will:

  • Gain an insight into how to produce quality software in Agile/Lean and how this differs from traditional plan driven approaches
  • Detailed understanding of issues to overcome to ensure effective testing on agile projects – test strategy and planning, test design, test execution and monitoring/reporting
  • Clarify how independent testers can best contribute to agile projects

Topics Covered
Note: exercises will be used throughout to enhance learning.

Review of Agile Values, Principles and Practices

  • A review of the agile values, principles and practices, this is the heart of agile and what it is trying to do. So, it is important that these are understood and clear
  • Explain the essence of agile methods in terms of the significant mindset change required
  • Clear the myth from reality

Review of Agile/Lean from a Quality Perspective

  • Key values and principles within Agile/Lean that support quality
  • The relationship between speed and quality
  • A brief review of some of quality related agile practices like Continuous Integration and Test Driven Development

Review of a General Test Process

  • The aim of this short module is to ensure that the class are working from a common understanding and terminology.
  • A review of the test process for a traditional development life cycle
  • Typical test levels/phases and the objectives, attributes and types of testing that takes place at each of those test levels
  • Types of test strategies/approaches used

Implementing effective Agile Testing
This module will look at the implications for testing if an organisation moves to an agile development approach. It will describe the key quality/test considerations in moving to agile including the role of independent testing, testing without detailed requirements, testing in incremental/iterative environments and agile practices such Test Driven Development (TDD) and exploratory testing:

  • Agile test strategies
  • Different Test Levels/phases applicable to agile and how they need to be adapted
  • Marick’s testing quadrants
  • Where the different types of testing fit into an agile development lifecycle
  • Acceptance Testing / Acceptance Test Driven Development
  • Test involvement in a flexible approach to Planning that supports feature driven iterative development
  • Early involvement of test in release planning
  • Test Analysis in Agile
  • Feature/epic level versus story level testing, the role of risk-based testing in agile, collaborative analysis with developers and product owners, analysing stories and their acceptance criteria, analysing non-functional stories, etc.
  • How analysis output affects release planning
  • Monitoring and reporting of iterations/releases
  • Testing techniques including static techniques, structural techniques and exploratory testing applicable to agile (based on minimal documentation and common requirements related documents such as User Stories)
  • Defect management in agile
  • The role of the traditional independent system tester in agile
  • Behaviours of a ‘good’ agile tester
  • The role of developers in relation to test
  • Cultural, organizational, technical, and logistical issues when transitioning to agile

Test Automation in Agile

  • Automation Strategy – The test automation pyramid
  • Sample tools used

Pitfalls and Lessons Learnt
This is module will discuss some of the risks and common pitfalls experienced in practice with testing in an agile environment (such as non-functional testing issues) and how these can be avoided.

Exercises with sample solutions and tips will include:

  • Initial exercise to capture participants issues with testing in an agile context
  • Warm-up exercise on a key agile/lean principle (such as batch size effects, multitasking implications, etc.)
  • Initial participant evaluation/discussion on your organisation’s current agile testing approach
  • Team based exercise on defining an agile test strategy – adapting Marick’s Testing Quadrants to your organisational context
  • Analysing, Designing and Planning tests cases from ‘user stories’ – sample features/stories from your organisation can be used as the basis for test analysis and planning of the test approach (or we can provide generic ones)
  • This exercise will actually involve two parts: firstly all teams will analyse a common user story and compare results; secondly each team will choose a different type of user story on which to perform test analysis
  • We will then compare results from these exercises with that actual testing that your project teams performed for these user stories
  • Defining the tester role/responsibilities in agile
  • Development of exploratory testing charters for session based testing
  • Discussion/review of participant’s own challenges, hopes/fears
  • Action planning – improvement actions after this course (Note: relevant output from some exercises will be fed back to your organisation’s Test Management to support improvement activities)

‘Agile friendly’ templates/checklists and tips for practical agile testing/quality will be provided.

Note
Additional modules/customisation that can be covered include:

  • Test Process Improvement and Agile
  • This module describes how to optimize testing in agile environments using models such as the TMMi or TPI-model. The priority key areas in TMMi or TPI and experiences in interpreting/applying them to agile testing projects will be presented.
  • Agile approach to Traditional Testing
  • This module will discuss how the approach to testing in an agile development lifecycle can be implemented in a more traditional development lifecycle to improve its effectiveness.
  • Detailed Review of Agile/Lean Methodologies
  • A review of some of the most common Agile/Lean methods such as XP, Scrum, and Kanban – the scope of this can be as high level or as detailed as required
  • In addition to describing the main agile methods, variations or hybrid approaches are often implemented in practice are also covered

Leave a Reply

Your email address will not be published. Required fields are marked *