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.
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