Regression Testing for Testers

Agile software development is all about continuously delivering software products to their users increment by increment. Modifications to a software product, no matter how small it is, may still have unexpected effects. This is why Agile testers must include regression testing in their test activities: to check if the entire software application and its old capabilities are still working as expected. In this activity, testers execute existing test scripts or charters that have been used to catch bugs from previous releases to ensure that fixed issues remain fixed.

Regression Testing in Agile

Regression testing, regardless of the software development method, is carried out in order to mitigate risks within the system. In Agile software development, development teams deploy code every one or two weeks. This means testing cycles are also just as short, making it necessary for testers to keep up with the speed without compromising the quality of each product increment. Even if development is only done on one part of the system, the entire system may still need to be checked to ensure that it will work as expected.

As the software product grows in size, so does the coverage needed for regression testing. However, the Sprint length does not change, and this constraint gives testers less time to test all the features. Furthermore, builds and tests are repeated in every cycle could also allow room for testers to assume that some features are working fine.

Manual testing done by the Agile team alone may suffice at the start, but it is not sustainable in the long run. Spending time to automate tests – especially for features that are stable – will greatly help Agile teams to have more coverage for their regression testing. The important thing is for testers to come up with an Agile Regression Testing Strategy that works for their team. Having one will help them address issues such as lack of coverage, short time constraints, and escaped defects in production.

Building Regression Test Suites

The first part of a Regression Testing Strategy is to determine what should go into the regression test suite. Knowing which tests to include in the regression test suite is a matter of knowing the optimal test cases to execute. This is a matter of identifying the stable areas, the high-priority features, and the high-risk areas. This information can be gathered by answering questions like:

  • What are the different priority levels of features and bugs, and how does the team define them?
  • What are the high-priority features in the system? What are medium-priority? And so on.
  • What are the stable features in the system?
  • Which features are prone to errors?
  • What are the test cases for each of those priority levels? And what are the test cases for the stable features?

Approaches to Regression Testing

There are different approaches that testers can include in their Regression Testing Strategy:

Two-Level Approach

Regression testing can be divided into two cycles: iteration regression tests and full regression tests. In iteration regression tests, the testers focus on specific areas of the system where changes have been implemented within the Sprint, instead of running tests on the entire system. Then they carry out a full regression test before releases or important milestones in the project.

Prioritised Approach Testing

In the prioritised approach, the testers can classify and arrange their tests according to their risk. High-risk features will be the primary focus of the regression tests, with medium and low-risk features to be tested next, depending on the time remaining.

<– Continue Reading –>

Our Book Recommendations

We found these books great for finding out more information on Agile Scrum:

Master of Agile – Agile Scrum Tester With 59 Seconds Agile (Video Training Course)

Introductory Offer: Free Course

Master of Agile – Agile Scrum Tester With 59 Seconds Agile (Video Training Course)

What is this course?

This ‘Master of Agile – Agile Scrum Tester With 59 Seconds Agile (Video Training Course)’ provides an in-depth understanding of the Agile Scrum Tester roles and responsibilities

You will explore the Agile Scrum project life-cycle, including how an Agile User Story is created, to how we know when it is ‘done’

This course is aimed at those with or without prior knowledge and experience of the Agile values and principles

During this course you will learn the tools needed to succeed as an Agile Scrum Tester

What will you learn?

You will gain an in-depth understanding of the Agile Scrum Tester roles and responsibilities, and you will be able to

  • Fully understand the role of the Agile Scrum Tester
  • Understand the roles involved in an Agile project
  • Create an effective Product Backlog
  • Effectively participate in Scrum Meetings such as the Daily Stand-up, Sprint Review and Retrospective
  • Identify the roles involves in the Scrum Team
  • Fully understand the role of the Agile Scrum Developer
  • Understand the roles involved in an Agile project
  • Create an effective Product Backlog
  • Effectively participate in Scrum Meetings such as the Daily Stand-up, Sprint Review and Retrospective
  • Identify the roles involves in the Scrum Team

What topics are covered within this course

You will cover the following topics during this course:

  1. An Introduction to Agile Project Management (Tester)
  2. The 12 Agile Principles (Tester)
  3. Introduction to Scrum (Tester)
  4. Scrum Projects (Tester)
  5. Scrum Project Roles (Tester)
  6. Quality in Agile (Tester)
  7. Acceptance Criteria and the Prioritised Product Backlog (Tester)
  8. Quality Management in Scrum (Tester)
  9. Epics and Personas (Tester)
  10. Planning in Scrum (Tester)
  11. Scrum Boards (Tester)
  12. User Stories (Tester)
  13. The Daily Scrum (Tester)
  14. The Product Backlog (Tester)
  15. Review and Retrospective (Tester)
  16. Validating a Sprint (Tester)
Translate »