A software testing model is a set of activities derived to achieve certain goals. Testing models represent the process involved in developing and building applications till delivered to the client.
Hi Viewers, Welcome to QAShala.com, this blog is focused on the FRESHER & those who are new in the Software Testing industry. Here, we will try to understand the Software Testing Models its types, Agile Model, Scrum, Sprint, and more, here we go,
In the previous session, we have learned what is software testing to understand more about how software testing actually works, we are going to discuss Software Testing models.
In this Blog, we will try to learn
- What are Software Testing Models?
- What is AGIEL MODEL and its phases?
- What is Scrum in Agile?
- Sprint, Backlog, Story, and Story Points
In today’s era of technology, Digitalized Platforms of human needs and their performance, behavior controlled by Software, Software testing playing a major role to ensure that any software, machine, or system giving the outputs in an expected and timely manner.
Majorly testing models are classified as:
1. Waterfall Model
2. Spiral Model
3. V & V Model (Verification and Validation Model)
4. Prototype Model
5. Derived Model
6. Hybrid Model
7. Agile Model
Today we are going to understand more about the Agile model.
The agile word stands for Versatile. The agile model is a software development process, it is also known as the Iterative model. Where the software development process takes place in small pieces/Iterations. Each Iteration includes Planning, grooming of the module/functionality that is going to be developed.
Ideally, the period of an Iteration stands for four to twelve weeks, which also varies on the nature of the project, planning, and client’s requirement.
Each Iteration begins with the Planning/Grooming/Requirement Analysis of the functionality focused to be developed in that phase; followed by Development, Testing, and finally demonstrated to the client for production release.
Phases of Agile Model:
As we have discussed Agile is moreover a process rather than a model which can be customized based on the product requirements, An Agile process can be categorized in below phases:
- Requirement Analysis– In this stage, the requirement of the Project/ module must be defined. Business requirements, opportunities, expected outcomes, and the time and efforts needed to build the project should be planned. Based on the above input’s feasibility analysis has to be done on technical and economic aspects.
- Design the requirements– In this phase post the requirements are identified, stakeholders will work to summarize the requirement and they will define it by using flow diagrams or flow charts.
- Development– Once the Business requirement document is designed the Development work begins; Developers will start building the module on the Dev environment and build the code against the requirement in the given period of time to complete it. The process includes code construction followed by unit testing and deployment of the code into the testing environment.
- Testing/ Quality assurance/Validation– Once the code is deployed into the testing environment and available for testing, the Quality Assurance team examines the performance of the code against the business requirement and finds bugs or defects in case of test failure.
- Deployment/Release- Once the product or module is tested and signs off by testing (quality assurance team) it will be released to the Production and available for the End users.
- Feedback/Monitoring- Once the project is released to production it will be monitored by the business team and they will receive feedback and work on the Feedback comments in terms of improvements or solutions to make sure their project becomes more reliable as per the End users need.
Scrum: SCRUM is an Agile framework that helps teams to work together to achieve the goal. Scrum involves a set of Meetings, Roles, and Responsibilities in a structured manner.
Scrum has three roles and their responsibilities:
- Scrum Master: Scrum Master facilitates daily Scrum meetings, Iteration/Sprint planning meetings, Retrospective meetings. Helps Scrum team to focus on delivering the functionalities planned, removes impediments, conflict resolution, helps the team to be organized to meet the deadlines. Scrum Master participates in meetings and gets the updates from Scrum team.
- Product Owner: The product owner (PO) defines and prioritizes the Product Backlog. Explains the Backlog items in a clear and structured manner to the scrum team. Ensures that Product Backlog is transparent, self-defined, and understood.
- Development Team: Development team members in Scrum include both the Development team and QA (testing team) they Perform planning, developing the modules/features, testing, and provides signoff before the release. The team manages the work and completes the sprint or iteration.
Sprint Planning Meeting: Sprint planning meeting includes Scrum Master, Product Owner, Development, and Testing team. It is an event where the Scrum team plans and defines what has been delivered in the Sprint, Goals, outcomes from the sprint, Impediments with the entire team.
They will finalize the sprint velocity with all inputs, avoiding over commitments in terms of delivery.
Grooming/Refinement Meetings: In the Refinement meeting of the Scrum team in which Backlog items are discussed in-depth, PO explains the requirement to the team, and both Developers and testing team will put their inputs understanding, dependencies, impediments on the stories and They will discuss the story points for each of story the in the backlog going to be developed in coming sprint/iteration.
Retrospective Meetings: A retrospective meeting in the Scrum team is a session that will be scheduled at the end of each Iteration/Sprint to discuss where they gather the data from the team in terms of What went well, what went wrong, what can be improved. Based on their inputs they will make a plan to avoid mistakes and work on improving the performance as a team for future sprints.
Daily Stand-up Meetings: Stand-up meetings play a major role in the Scrum team. Scrum Master will run the meeting and the entire team including both Dev and QA will individually provide the updates on their plan out for the day, any blockers/ dependencies identified during the sprint has to be discussed. They also provide updates on the progress of work completed on the previous day.
Sprint: A sprint is a fixed time period when the Scrum team works together to complete and deliver an amount of work. Typically sprint duration holds for 10-20 days.
Story Points: Story points used to estimate the effort of a particular story. A story assigned with 1 story point is the easiest and simple story. A story assigned with 2 story points will be twice when compared to a story with 1 story point.
1. A story with 5, 8, and 13 pointers will be complex respectively.
2. A story with 13 pointers will be considered as the most complex functionality to be built and tested.
Backlog: A product backlog is an organized set or list of items with all required features or functionalities that are supposed to be developed. Backlog is a set of stories that includes feature stories, enhancement stories on existing functionality, or Bug stories.
Thank you for reading, if you have any doubt feel free to reach out to us.