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