What is scrum?
Scrum is a software product development strategy which focuses on all aspects of the product namely, performance, quality, testing, usability, etc. Concept of scrum involves working with short release cycles with adjustable scope, to cope with the dynamically changing requirements of software development. These release cycles are called sprints.
Terms associated with scrum testing
Before we delve deep into scrum testing, it's worthwhile to understand a few terms unique to the topic.
- User stories: Brief details of software functionality under test.
- Product backlog: Prepared and maintained by the product owner, a product backlog is nothing but a collection of user stories created for use in a scrum product.
- Scrum master: The overall in charge of the product development team using scrum methodology.
- Release backlog: After coordination between the product owner and the scrum master, certain user stories are targeted on a high priority basis for release in a critical time frame called as the release backlog.
- Sprint backlog: Collection of user stories to be finished in sprint.
Role of Testing in Scrum Methodology
- At the time of sprint planning, the testing professional should be able to estimate the time it will take to complete a selected number of user stories he chose from the product backlog.
- In addition to the fact that he should be having sufficient knowledge of all the sprint goals, he should be able and willing to support the development team during unit testing.
- After completing the user stories, the tester should execute sprint testing in a lab in full coordination with the development team. As with normal testing procedure, the defects are logged in defect management tools after analysing them during scrum meetings.
- At the end of sprint meetings, the defects are retested and resolved. The tester can also reschedule backlog items from the current to the succeeding sprints. Besides, he can create the automation scripts or authorise the use of customised or paid automation tools for testing.
- As a tester it is his job to involve the product owner and client for properly defining the criteria of user acceptability tests, the execution of which, signals the end of a sprint from the point of view of testing.