Agile

Agile Scrum Testing Process

Agile Scrum Testing

In this dynamic, fast paced software world Agile has become the choicest form of project execution in several instances, let us analyze how does a the overall role of a tester in the Agile methodology.

Let’s see how Testing in Scrum works:-

In Scrum the tasks are divided into time boxes (small time frames) to deliver specific features in the release so that the working software build can be delivered after each iteration. Builds are incremental in terms of features; the final build has all the features required by the customer. Some aspects of the Agile methodology:

  • All the users or the stakeholders are actively involved
  • The project team is responsible to make decisions
  • Requirements are captured at high level
  • Small, incremental releases and iterations are developed
  • Focus is on frequent delivery of products
  • Each feature is completed before moving on to the next iteration
  • Testing is done throughout the project lifecycle – test early and often
  • Iterative development technology where requirements evolve through collaboration between the customer and self-organizing teams
Meetings Involved:
  • Sprint Planning:- In the Sprint planning meeting sprint backlog is discussed which focuses on number of user stories plan, scope of the project, etc. In this approach we plan the activities and define some acceptance criteria for each sprint.
  • Daily Review:- Daily review meetings are essential to get the development and testing progress. It also gives the clarity on any risks or problems involved in development or testing stage. Tools like Jira, Rally can be used for Agile scrum testing
  • Sprint Review meeting – After each Sprint, deliverables are presented to the customer and the product is developed with mutual consent to bring it up to the mark. Then product is ready to go live. In the Sprint review meetings, feedback is taken from the customer who will be considering a new requirement for next sprint
  • Sprint Retrospective meeting:- “What went well” and “Areas of Improvement” gets evaluated in sprint retrospective meetings
Agile Scrum Process

Agile Scrum Process

 

Role of a tester in Release and Sprint Planning:-
  • Understand user stories and acceptance criteria
  • User stories get clarified from the respective stakeholders where there is insufficient information
  • High level test strategy has to be decided for whole release
  • All the risk that might occurs at the time of release needs to be noted or documented
  • Number of testing types need to be decided and discussed
  • Estimate time for each user story test case creation and execution
  • Break user stories into different testing tasks
  • Decide each story test coverage
  • Acceptance criteria for user stories needs to be defined
  • Understand and plan for user stories automation and support various levels of testing
Role of a tester in Scrum:-
  • Customer satisfaction through delivery of high-quality software which is earlier and continuous is highest priority
  • Engagement is early during the project from sprint planning but the QA activities are same
  • Business people, developers, and testers must work together throughout the project
  • Discuss and understand each user story with stakeholders and then decide on acceptance criteria for the same
  • Welcome changing requirements. Tester needs to be adaptable to any changes
  • Define activities for themselves to estimate time, updating test cases as and when changes appear, complete testing within the sprint time etc.
  • Story level estimation needs to be done and time needs to be assigned for each story
  • Test Cases needs to be developed as per the story acceptance criteria and needs to be change whenever there is a change in story
  • Deliver high quality software iteratively from a couple of weeks to a couple of months
  • QA needs to track the progress of testing on a daily basis with continuous feedback
Challenges of Agile scrum testing:-
  • Testing efforts for each user story needs to be estimated
  • Environment and resource constraints v/s team’s capacity
  • Volume and speed of change.- Dynamic requirements
  • Regression risk increases with frequent code changes
  • Test planning and test execution is simultaneous
  • If customer is not clear on requirement team direction may go in different angle