Scrum methodology is based upon small duration sprints having a small number of user stories listed in the sprint backlog list ( SBL). SBL is a subset of PBL. After carrying out effort and complexity estimation by PO,SBL is finalized. This methodology is divided into three phases. The Scrum phases are pre-execution phase, execution phase, and post-execution phase. In this section, all the testing activities occurring before, within, and after the sprint have been identified. For the purpose of simplicity, only three sprints, namely, S1,S2 and S3 , are taken in the sprint flow diagram having three phases (Refer Figure 1,2,3).The duration of execution of these sprints is W1,W2,W3 respectively, where W stands for week. In the execution phase, a sprint S1 may be completed having number of user text stories from SBL1. Similarly, S2 may be completed having m number of user stories from SBL2.
Figure 1 shows testing scenarios in the pre-execution phase of Scrum methodology. This phase starts with collaboration among the customer, market evaluator, product owner, and tester. They sit together to finalize the user story and ready story. The ready story is based upon the confirming points which are as per the market standard, technology, and competitor's product features. These confirming points are also known as acceptance criteria. During the sprint, these acceptance criteria are frequently checked. In addition, the tester performs exploratory testing so as to check the feasibility of various scenarios. After finalizing the ready story and user story, a list is prepared having all the finalized set of user stories. This list is known as PBL which is input for the second phase, that is, the execution phase.
After receiving input from the pre-execution phase, the execution phase starts, which is shown in Fig.2. PBL is analysed by the PO and effort estimation is done for selecting the user stories for SBLI and SBL2. SBLI and SBL2 are executed in sprint S1 and S2, respectively. In S1, the tester performs unit testing with TDD or white box testing, functional testing or black-box testing, regression testing, integration testing among dependent user stories, and many more depending on the requirements set by the customer. The output of S1 is an integrated set of user stories, ITI with regression test suite during W1 duration. Similarly, in sprint S2, the same types of testing are
performed-an integrated set of user stories IT2 with regression test suite during W2 duration. Further, these integrated sets of user stories IT1 and IT2 are considered user stories in SBL3. Further, there may be other user stories which need to be developed in W3 duration which are newly added features in the maintenance time of the product. SBL3 is input for the post-execution phase which is shown in Figure 3.
In post execution phase, user stories are selected from SBL3 , based on the priority set by the customer, complexity level, risk level, or any other prioritization factor. In this phase, different types of testing are performed based on the customer need. Various types of testing that are mandatory in S3 are integration of IT1 and IT2 , functional testing, system testing, and regression testing depending on the modification suggested by the customer, if any. Other optional testing that may be performed in W3 duration are compatibility testing, security testing, performance testing, usability testing, etc. Finally, a software product is delivered to the customer.
Regression Testing in Agile
Regression testing in Agile environment is practised under two major categories.
- Sprint level regression testing (SLRT): It is focused on testing new functionalities that have been incorporated since the last production release.
- End-to-end regression testing (EERT): This refers to the regression testing that incorporates, all the fundamental functionalities.
Each sprint cycle is followed by a small span of SLRT. The completed code goes through further regression cycles but is not released into production. After few successful sprint cycles-typically three to four-the application goes through one round of EERT before being released to production.