top of page

Agile Tester

  • Glasdon Falcao
  • Aug 19, 2016
  • 5 min read

A Tester Mindset

A professional tester approaches a product with the attitude that the product is already broken - it has defects and it is their job to discover them. They assume the product or system is inherently flawed and it is their job to ‘illuminate’ the flaws. This mindset is necessary if appropriate testing is to be done.

What are Agile Testers?

Testing in an agile environment is different that the traditional methodologies such as waterfall. Agile is an iterative model of delivery which requires continuous collaboration between the team members, providing quick feedback and be able to self-manage.

A good agile tester knows that his job is not limited to only executing test scripts, reporting defects and signing off on releases. Testing is only a portion of the wider quality assurance practice.

Testing is no longer a phase in agile software delivery. It’s a continuous activity before, during and after each sprint. In an agile team everyone is responsible for the quality of the software and quality should be baked in right from the start and not an afterthought.

If any of the stakeholders, BAs, Developers or even other testers in the team are not quality focused, it is the job of the tester to remind the team about the consequences of ignoring good practices to build a quality software.

Quite often there are challenges in testing in an agile environments such as lack of documentation, changing priorities, less time to test, but with the right mindset and attitude, testers in agile team can provide a lot of value and help the team deliver good quality software on continuous basis.

In an Agile team, to understand and work with this challenges, testers must closely collaborate with all other team members and with business stakeholders. This has a number of implications in terms of the skills a tester must have and the activities they perform within an Agile team.

An Agile Testing Mindset

Agile Testers need to break away from the principles and working methodologies of traditional software development. In order to succeed as an Agile Tester, the right mindset is required.

The Agile Testing Mindset, could be summed up in twelve principles:

  • Quality Assistance over Quality Assurance

  • Continuous Testing over Testing at the End

  • Team Responsibility for Quality over Tester’s Responsibility

  • Whole Team Approach over Testing Departments and Independent Testing

  • Automated Checking over Manual Regression Testing

  • Technical and API Testing over Just GUI Testing

  • Exploratory Testing over Scripted Testing

  • User Stories and Customer Needs over Requirement Specifications

  • Building the Best Software over Breaking the Software

  • Early Involvement over Late Involvement

  • Short Feedback Loop over Delayed Feedback

  • Preventing Defects over Finding Defects

What Skills Should an Agile Tester Have?

In addition to the skills required for a tester working in a traditional waterfall project, a tester in an Agile team should be competent in test automation, test-driven development, acceptance test-driven development, white-box, black-box, and experience-based testing.

As Agile methodologies depend heavily on collaboration, communication, and interaction between the team members as well as stakeholders outside the team, testers in an Agile team should have good interpersonal skills. Testers in Agile teams should:

  • Be positive and solution-oriented with team members and stakeholders

  • Display critical, quality-oriented, skeptical thinking about the product

  • Actively acquire information from stakeholders (rather than relying entirely on written specifications)

  • Accurately evaluate and report test results, test progress, and product quality

  • Work effectively to define testable user stories, especially acceptance criteria, with customer representatives and stakeholders

  • Collaborate within the team, working in pairs with programmers and other team members

  • Respond to change quickly, including changing, adding, or improving test cases

  • Plan and organize their own work

The Role of a Tester in an Agile Team

The role of a tester in an Agile team includes activities that generate and provide feedback not only on test status, test progress, and product quality, but also on process quality. These activities include:

  • Understanding, implementing, and updating the Agile Test Strategy

  • Work with Product Owners to define Acceptance Criteria and the Definition of Done.

  • Measuring and reporting test coverage across all applicable coverage dimensions

  • Ensuring proper use of testing tools

  • Configuring, using, and managing test environments and test data

  • Writing and executing automated checks and reporting back to the team

  • Reporting defects and working with the team to resolve them

  • Coaching other team members in relevant aspects of testing

  • Ensuring the appropriate testing tasks are scheduled during release and iteration planning

  • Actively collaborating with developers and business stakeholders to clarify requirements, especially in terms of testability, consistency, and completeness

  • Participating proactively in daily standup meetings, story grooming sessions, team retrospectives, suggesting and implementing improvements

  • Within an Agile team, each team member is responsible for product quality and plays a role in performing test-related tasks.

What do Agile Testers do and how can they add value in Agile projects?

A tester on an Agile project will work differently than one working on a traditional project. Testers must understand the values and principles that underpin Agile projects, and how testers are an integral part of a whole-team approach together with developers and business representatives.

The members in an Agile project communicate with each other early and frequently, which helps with removing defects early and developing a quality product.

It is important to note that testers in Agile projects, don’t just focus on testing the product to find bugs, rather the focus should largely be on improving the processes to prevent defects, and testers play an important role in this.

Here, we look at how Agile Testers can add value in each stages of the software delivery in an Agile setup.

Agile Testers Adding Overall Value

Testers are involved in defining the overall quality and approach to testing and especially add value in the following activities:

  • Agile Test Strategy

  • Agile Test Automation Strategy

  • Delivery Pipeline

  • Advocating Whole-team Approach

  • Define Test Environments

  • Agile Testers Adding Value in Pre-Planning

Testers are involved in Pre-planning and Story grooming sessions and especially add value in the following activities:

  • Defining testable user stories, including acceptance criteria

  • Determining the testability of the user stories

  • Creating acceptance tests for the user stories

  • Participating in project and quality risk analyses

  • Agile Testers Adding Value in Sprint Planning

Testers are involved in Sprint planning meetings and especially add value in the following activities:

  • Planning the testing for the release

  • Participating in the detailed risk analysis of user stories

  • Creating acceptance tests for the user stories

  • Defining the necessary test levels

  • Breaking down user stories into tasks (particularly testing tasks)

  • Estimating testing effort associated with the user stories and all testing tasks

  • Identifying functional and non-functional aspects of the system to be tested

  • Supporting and participating in test automation at multiple levels of testing

  • Agile Testers Adding Value During Sprint

Testers are involved during Sprint and especially add value in the following activities:

  • Performing Exploratory Testing of new Features

  • Writing Automated Regression Tests for new and existing features

  • Integrating and Executing Automated Tests on a CI server

  • Feedback as soon as possible to the team in case of any issues

  • Update Acceptance Tests when new scenarios are thought of

Risks Of Being A Agile Tester

Agile organizations may encounter some test-related organizational risks:

  • Testers work so closely to developers that they lose the appropriate tester mindset

  • Testers become tolerant of or silent about inefficient, ineffective, or low-quality practices within the team

  • Testers cannot keep pace with the incoming changes in time-constrained iterations


Comments


You Might Also Like:
bottom of page