Friday, August 16, 2019

Testing Process in Agile Scrum Team | Tester Role in Agile


Testing Process in Agile Scrum Team:

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 life-cycle – test early and often
  • Iterative development technology where requirements evolve through collaboration between the customer and self-organizing teams


Meetings Involved:

1. 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.

2. 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 can be used for Agile scrum testing

3. Sprint Review meeting: After each Sprint, deliverable's 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

4. Sprint Retrospective meeting: - “What went well” and “Areas of Improvement” gets evaluated in sprint retrospective meetings





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


Testing Activities in Scrum: Testers do following activities during the various stages of Scrum-

1. In Sprint Planning

  • In sprint planning, a tester should pick a user-story from the product backlog that should be tested.
  • As a tester, he/she should decide how many hours (Effort Estimation) it should take to finish testing for each of selected user stories
  • As a tester, he/she must know what sprint goals are.
  • As a tester, contribute to the prioritizing process


2. In Sprint
  • QA team will create the Test cases for all the user stories planned for the current sprint
  • Team will convert the test cases to Automation Test scripts (where all possible) using CTC tool
  • Team will make sure Test scripts are covering all the acceptance criteria
  • Test user-story when completed. Test execution is performed in a lab where both tester and developer work hand in hand. Defect are logged in Defect Management tool which are tracked on a daily basis. Defects can be conferred and analysed during the scrum meeting. Defects are retested as soon as it is resolved and deployed for testing
  • As a tester, he/she attends all daily stand-up meeting to speak up
  • As a tester, he/ she can bring any backlog item that cannot be completed in the current sprint and put to the next sprint
  • Tester is responsible for developing automation scripts. He schedules automation testing with Continuous Integration (CI) system. Automation receives the importance due to short delivery timelines. This proves effective in ensuring that everything that needs to be tested was covered. Sufficient Test coverage can be achieved with a close communication with the team.
  • Review CI automation results and send Reports to the stakeholders
  • Executing non-functional testing for approved user stories


3. In Sprint Retrospective:
  • As a tester, he will figure out what went wrong and what went right in the current sprint
  • As a tester, he identifies lesson learned and best practices

Test Reporting:
Scrum Test metrics reporting provides transparency and visibility to stakeholders about the project. The metrics that are reported allow a team to analyse their progress and plan their future strategy to improve the product. There are two metrics that are frequently used to report.

1. Burn down chart: Each day, Scrum Master records the estimated remaining work for the sprint. This is nothing but the Burn Down Chart. It is updated daily.
A burn down chart gives a quick overview of the project progress, this chart contains information like the total amount of work in the project that must be completed, amount of work completed during each sprint and so on.

2. Velocity history graph: The velocity history graph predicts the velocity of the team reached in each sprint. It is a bar graph and represents how teams output has changed over time.


No comments:

Post a Comment

If any suggestions or issue, please provide