suppose you were assigned a task to
develop a custom software for a client
each block below represents a step
required to develop the software
irrespective of your technical
background try and make an educated
guess about the sequence of steps you
will follow to achieve the task the
correct sequence would be gather as much
information as possible about the
details and specifications of the
desired software from the client this is
nothing but the requirements gathering
stage plan the programming language like
Java PHP dotnet and database like Oracle
my sequel etc which will best suit the
project also determine high level
functions in architecture this is the
design stage actually code the software
this is the build stage next you test
the software to verify that it is built
as per the specifications given by the
client this is the test stage once your
software product is ready you may do
some code changes to accommodate
enhancements requested by the client
this would be the maintenance stage all
these levels constitute the waterfall
method of a software development
lifecycle as you may observe testing in
the model starts only after
implementation is done but if you are
working on a large project where the
systems are complex
it's easy to miss key details in their
requirements phase itself in such cases
an entirely wrong product will be
delivered to the client you will have to
start afresh with the project
or if you manage to note the
requirements correctly but make serious
mistakes in design and architecture of
your software you will have to redesign
the entire software to correct the error
assessments of thousands of projects
have shown that defects introduced
during requirements and design make up
close to half of the total number of
defects also the costs of fixing a
defect increases across the development
lifecycle the earlier in the lifecycle
the defect is detected the cheaper it is
to fix as they say a stitch in time
saves nine to address this concern the
v-model of testing was developed for
every phase in the development lifecycle
there is a corresponding testing phase
the left side of the model is the
software development life cycle SDLC the
right side of the model is the software
test life cycle s TLC the entire figure
looks like a V hence the name V model in
this figure you'll find a few stages
different from the waterfall method
these differences along with the details
of each testing phase will be discussed
in a later tutorial apart from the V
model there are iterative development
models where development is carried out
in phases with each phase adding a
functionality to the software each phase
comprises of its own independent set of
development and testing activities good
examples of development life cycles
following the iterative method are rapid
application development and agile
development
before we close this tutorial here are a
few pointers you must note that there
are numerous development life cycle
models the development model selected
for a project depends on the aims and
goals of that project testing is not a
standalone activity and it has to adapt
with the development model chosen for
the project in any model testing should
be performed at all levels right from
requirements gathering all the way up to
maintenance