by Muhammad Ramzan

In part one of this blog, I went over a high-level overview of using QA skills in a Scrum-based project. In this post, I’ll be going into more detail on the various testing approaches you can use in those projects.

Testing Approaches/Types used in Scrum

The following are popular testing approaches/types in Scrum:

  • Exploratory testing
  • Regression testing/ Integration testing
  • NFT (non-functional testing)
  • Automated testing

Exploratory Testing

  • Learning, test design and test execution at the same time
  • Analytical approach while executing tests
  • What is the best test to be executed now?
  • Aim is to maximum use of skills
  • It is not important to describe everything in documents

SCRUM Blog 1

 

 When to perform Exploratory Testing:

  • Testing team does not know much about the product
  • There is not much time or resources available to complete testing otherwise
  • Great way to learn and familiarize your team with the new product quickly
  • Feedback on the product / feature is required quickly
  • Diversity of testing is needed
  • Most important errors need to be found in shortest time
  • Continuous feedback received from client on user stories and on developed sprint even when a sprint is not yet pushed to the client environment.
  • Some very specific issue needs to be verified/investigated

Regression Testing/ Integration Testing

  • In Scrum, there is not enough time to perform separate integration testing and regression testing.
  • In my personal experience, I used the Regression Testing technique and performed tests so that regression and integration scenarios both are covered in a short time.
  • Perform Regression Testing:
    • When different User Stories are merged
    • When different sprints are merged
    • When bugs are fixed
    • On QA Day / Retrospective meeting day (if needed)
  • The purpose is to ensure that existing functionality is not broken with new implementation or if new functionality is integrated with existing functionality.
  • New features should be integrated to its final branch before regression testing is done
  • Test automation preferred if possible.

NFT (non-functional testing)

In non-functional testing, the focus is mostly on testing the performance.  If performance testing is part of your project, the best way to achieve this testing is when planning the sprints.   Add a new user story like “As a user, I need to do performance testing so that my application gets successful response from all the users”. Add tasks for this user story and then work on it accordingly.

In my next blog, I will explore the actual test strategies for Scrum-based projects.