SCRUM TESTING METHODOLOGY

Agile Methodology is process in which a software functionality are develop in small cycle which is also called as iteration.This Functionality is Based on Features which are again divided in to small sections which can be easily develop and tested in small iterations.

Scrum methodology is a process of Agile methodology that support software development based on 2-4 weeks sprint to implements features from product Backlog.

Advantage of using agile method is that we are developing the product on incremental basis,so we can keep track of our work and Feature which are released are fit for the product.The other benefits are that it can be organised in terms of the size of team,length of sprint,experience etc.

Testing Process in Scrum methodology:

Scrum:

scrum

In the above diagram following process are used:

1.Product Backlog->It is the process of prioritized the work to be complete.The entire Product Backlog are split into small fixed set of items are called sprint.

2.Sprint Backlog->Backlog is the prioritize work needs to complete in the particular sprint.in this team members allocate themselves to work required for that sprint and estimate the effort required to deliver stories.

3.Scrum Meeting->Once scrum Backlog is committed,scrum meeting takes place everyday same time and these meeting are very quick,they are discussing on three things what i accomplish yesterday,what i will do today and what problem i am facing to accomplish my goal.based on this meeting they can prioritize their work together.This is also called as Daily Scrum meeting

4.Sprint Planning Meeting->In this meeting Sprint Backlogs are split with the team members.

5. Sprint Review Meeting ->In this meeting the team members would put best practices they followed or introduce a process to implement to make sprint successful which is also called Retrospective.In this meeting after completion of sprint team members discuss three things:

1.What we will start next for next sprint

2.what was successful in previous sprint and should carryover

3.what we shouldn’t carryover for next sprint

6.Burn down charts -> It reflect total work planned moving towards Sprint completion. Scrum emphasizes the notion of seeing work reduce over the life of the sprint as a fundamental metric for progress

Role and Responsibility in Scrum:

a)Scrum Master:

The Scrum Master is a “servant leader” who helps the rest of the Scrum team follow the process.Generally filled by Project Manager or Team Lead .The Scrum Master helps the product owner understand how to create and maintain the product backlog. He or she works with the entire Scrum team to evolve the Definition of Done. The Scrum Master also works with the development team to find and implement the technical practices needed to get to Done at the end of each sprint.

Another responsibility of the Scrum Master is to remove impediments to the team’s progress. These impediments may be external to the team (such as a lack of support from another team) or internal (such as the product owner not knowing how to properly prepare the product backlog)

b)Product Owner:

The product owner has responsibility for deciding what work will be done. This is the single individual who is responsible for bringing forward the most valuable product possible by the desired date. The product owner does this by managing the flow of work to the team, selecting and refining items from the product backlog. The product owner maintains the product backlog and ensures that everyone knows what is on it and what the priorities are. The product owner is typically the individual closest to the “business side” of the project.Typically a Product Manager, Marketing, Internal Customer, Real Customer, etc

c)Team Member:

The development team is made up of the professionals who do the work of delivering the product increment. Scrum requires that the development team be a cross-functional group of people who, as a group, have all the necessary skills to deliver each increment of the product

Generally 5-10 people from cross-functional groups like QA, Programmers, Analysts, UI Designers, etc.
Members should be full-time with some exceptions (e.g., System Admin)
Team should be focused where membership can change only between sprints
How to implement Scrum Methodology In Testing?

Scrum methodology is used in testing in following ways:

  • Support iterative testing
  • Backlog, sprint goal driven
  • Measured (burn down) progress to goal
  • Daily meetings
  • Derive clarity with stakeholders for testing focus, sequence and outcomes
  • As part of backlog task defined in overall sprint backlog where members from cross-function form team.
  • In Independent testing activities like lab setup, test suite automation

Role of Tester :

Tester can prepare Test plan,Test cases,automated test for user stories before (or while) they are implemented.This helps the team to discover any inconsistency or ambiguity in the user stories even before developer writes any code.

So the Role of tester are defined as:

  • Identify the scenarios based on the user stories
  • Obtain sign-off test scenario document from business owner
  • write test cases for sign-off scenarios for each sprint identify set of test cases
  • execution of test cases based on concept of delaying of sprint which implies when sprint 2 functionality are under development sprint 1 functionality would be tested

To avoid any gap or delay for any major issues in current sprint because of concept of delayed testing in sprint, smoke test cases should be executed on current sprint to give go ahead to functionality developed in current sprint.
A change in requirement or defect would be added to product backlog.
A constant regression test cases are identified for all the completed sprints.
Testing activities in sprint:As i discussed earlier the sprints are normally of 2-4 weeks.so here i am describing how testers are involved in each sprints:

Sprint 1:

Sprint Plan->Identify Testing tasks for sprint 1

Daily Scrum Meeting->

  • Identify Test scenarios
  • Get Business sign off
  • Write test cases
  • Identify test cases for sprint 1 and prepare Test data

At the End of Sprint 1->

  • Execute smoke test cases for sprint 1 and report Bugs
  • Add defect and changed requirement in product Backlog
  • Identify Regression Test cases
  • Participate in sprint Retrospective meeting

Sprint 2:

Sprint plan->Identify Testing tasks for sprint 2

Daily scrum meeting->

  • Identify Test scenarios for changed Requirement
  • Get Business sign off
  • Write test cases
  • Execute test cases identified in sprint 1
  • Report bug and verified the fixed one
  • Identify test cases for sprint 2 and prepare Test data

 Activity at the End of Sprint 2->

  • Execute Smoke test cases for sprint 2 and report Bugs
  • Add defect and changed requirement in product Backlog
  • Identify Regression Test cases
  • Participate in sprint Retrospective meeting

Sprint 3

Sprint plan->Identify Testing tasks for sprint 3

Daily scrum meeting->

  • Identify Test scenarios for changed Requirement
  • Get Business sign off
  • Run Regression Suite on Sprint 1 functionalities
  • Execute test cases identified in sprint 2
  • Report bug and verified the fixed one
  • Identify test cases for sprint 3 and prepare Test data

 Activity at the End of Sprint 3->

  • Execute Smoke test cases for sprint 2 and report Bugs
  • Add defect and changed requirement in product Backlog
  • Identify Regression Test cases
  • Participate in sprint Retrospective meeting

Sprint 4

Sprint plan->Identify Testing tasks for sprint 4

Daily scrum meeting->

  • Identify Test cases for SIT
  • Prepare Test data for SIT
  • Run Regression Suite on Sprint 2 functionalities
  • Execute test cases identified in sprint 3
  • Report bug and verified the fixed one
  • Execute last sprint develop test cases

Activity at the End of Sprint 4->

  • Identify Regression Test cases
  • Participate in sprint Retrospective meeting

Post Sprint activity:After completion of SIT,we will go for full Regression Testing and End of Release and after completion of functional activity we will go for Non-Functional testing like Load testing and Performance Testing.



Comments (2) -

  • Ahmed Giwa

    3/7/2014 3:17:25 AM |

    Very explicit. Thanks.

  • Manikanddan

    6/9/2014 6:53:47 AM |

    Well Explained and Highly precise. Thx for sharing

Loading