Tuesday, September 8, 2020

Software testing Methodologies

 

Software testing methodologies are the strategies that are used to validate that application under test meets client expectations,These refere to waterfall,agile and qa models.

These methodologies differentiate into two major types:

1. Sequential models

2. Incremental models

i). Sequential model further divided into two models waterfall model and V-model

ii). Incremental models further divided into four models RAD model, Prototype model, spiral model, Agile model

Sequential model are best suitable for small size of projects where an SDLC activities will be carried out one after another for the entire project

1)   Waterfall model same as above SDLC process whenever requirements are very clear and if it is a small size project, then all implementation activities will be carried out by step by step process.

·        In this model validation is enough and verification is not required.

·        In this model flow of activity look like a waterfall.

 


Advantages of waterfall model:

·        Suitable for small size projects

·        Simple and easy to understand

·        Easy to manage

Disadvantages of waterfall model:

·        It is not suitable for big size projects.

·        Once an application in the development testing phases, it is very difficult to go back and changing requirements

 

2)   V-model is suitable for small size of application where the requirements are not clear and chances of making mistakes while implementing the application.To reduce this at every stage software testing is with verification and validation

·        In V model based on development team & testing teams can start the work

·        In this model flow of activity look like a waterfall.

 



 

Advantages of V model:

·        Best Suitable for small size projects

·        Simple and easy to use

·        Testing activities like planning, scenarios, cases preparation will be start before coding.

Disadvantages of V model:

·        In middle of the project if we change requirements along with requirement document, development and testing documents should be updated.

 

Incremental models are best suitable for Big size of projects. In incremental model, every project will be divided into modules then all SDLC activities will be carried out by module by module.

1.       RAD(Rapid Application Development) model: Due to the lack of time or with in short time to complete implementation activities, we can go for RAD model.

·        In this model one project will be divided into modules & each & every module will be considered as a Mini Project

·        To develop every mini project separate team will be scheduled and all teams start implementation activities parallel and once all modules implementations are completed, combine all as a one project and deliver to the customer.

 



Advantages of RAD model:

·        Best Suitable for only big size projects

·        Time Saving.

Disadvantages of RAD model:

·        It is not suitable for small size project & small size companies.

·         It is expensive and it required huge resources.

 

2.       Prototype model: Due to the lack of requirements to develop the application, we can go for prototype model.

·        In this model instead of developing actual application, based on confusing requirements, prepare sample / dummy application which is called prototype.

·        Once, its accepted by customer, based on the sample BRS(business requirement specification) and SRS(software requirement specification) will be prepared. Then based on requirement documents,all implementation activities will be carried out one  by one.

 

·         After deliver to the customer, if customer is not satisfied, again change requirement(C.R.), process will be implemented up to customer accepted.

 



Advantages of Prototype model:

·        Best Suitable for big size projects

·        If customer confusing in the requirements based on sample, we can continue implementation.

Disadvantages of Prototype model:

·        It is not suitable for small size projects.

·         It’s a time taken process.


3.Spiral model: It is suitable for big size projects and whenever customer requirements are frequently changing then spiral model will be added and it is best suitable for long term and maintenance projects.

 


Advantages of Spiral model:

·        Suitable for only big size and maintenance projects.

·        We can add extra requirements in the next phase.

Disadvantages of Spiral model:

·        It is not suitable for small size projects.

·         Expensive

 

4.       Agile model: It is incremental model, best suitable for big size projects.

·        It is a advanced sdlc model. This model activities look like a small size waterfall model.

·        In this model, developers and testing engineers work along with client representation people.

·        In this model module by module will be developed up to end of the project.

·       This model which we are going to use “Scrum model”. It is an iterative or incremental model



·        Scrum model having below activities.

                                             I.        Scrum master – The scrum master who is going to lead the project. The project manager or client will act as a scrum master. Scrum master is responsible for scrum meetings and sprint meetings.

 

                                            II.        User stories – It symbolizes the simplified description of a requirement, which captures the software feature from an end user perspective.

 

                                          III.        Sprint plan – It is a fixed time to complete current task. It will be decided by scrum master. During the sprint, the user stories which we are going to collect and analyse and develop and test and delivery to the customer. This process prepare as a sprint plan.

 

                                         IV.        Sprint meeting(scrum calls)- once the sprint is completed, the next sprint plan will be decided under the sprint meeting. In this meeting they can confirm about the current sprint is delivered successfully or not & is there any challenges fixed etc.

 

                                           V.        Scrum meeting-On daily basis all team members will participate on a quick meeting where they will explain what are the activities are performed yesterday and what are the tasks that are planned to perform today. This meeting will be conducted by scrum master or stake holder along with scrum team members

 

                                         VI.        Backlogs-During sprint plan if they not able to complete any user stories those will be taken as backlogs. For this backlogs sprint time won’t be expanded/ extended those backlogs carried to next sprint.

 

Advantages of Agile model:

·        Each & every sprint will be tested multiple times, so we can ensure for quality.

·        All the phases in SDLC life cycle are performed parallely, So we can save time and cost.

·        The requirement change can be accepted at any stage.

·        We can maintain clear user stories.

·        By scrum meetings directly we can interact with stake holders.

·        We can gain customer satisfaction by delivering sprint directly to client or stakeholder

·        100% client satisfaction

 

Disadvantages of Agile model:

·        Maintaining all the sprint related information is very challenging task but we can overcome with help of test management tools like quality center, Jira etc.

 

 

No comments:

Post a Comment

Why software testing is necessary

  Software Testing  is necessary because we all make mistakes. Some of those mistakes are unimportant, but some of them are expensive or dan...