Sunday, February 14, 2010

Manual Testing Part1-SDLC Models

Software Delopment Life Cycle is nothing but a Stages involved in software development process.

We have many software development life cycle models and only few are popular in indusrty we will take those models.

1.Water Fall model
2.V-model
3.Prototyping Model
4.Spiral Model

1.Water Fall Model

For What type of projects we use a water fall model :
When we have complete requirement.
We are not expecting any changes after starting a project.
Planning to complete with less resourse and less budget .

How it looks -->


Advantages
This model is very simple model to follow .
All the activities are done one after the other .
We get defined output at the end of each stages and one stage output will be input to next stage.
Can be completed with less resourses .
Tracing project progress is simple and easy.

Disadvantages
If requirement is changing frequently then we cannot use this model.
Since testing is post development activity , it take more time to complete the project.

2.V-Model

For What type of projects we use a V- model :

Used for most of the commercial project , even when requirements are not freezed in the begining.


How it looks ->




V-model is also called Verfication and Validation (V&V) model ,V-model is so powerful  becouse  of the these concepts .
Verfication-Static Testing technique used from beginning to end to impliment the quality aspects .
Reviews ,approvals and meetings are the  verification activities .

Validation -Dynamic testing technique used in the testing phase ,validation is nothing but actual testing .
Testing the software by writing and executing test case are all validation actvities.

The V model attempts to give increased importance to testing related activities, by dividing the life cycle into development and testing phases.
The model relates each development phase to its associated testing phase. Thus in this life cycle model, work on the testing phases is carried out in parallel.

For example acceptance test phase may be carried out along with the requirements phase. Similarly system test planning activities of the system-testing phase needs not wait for unit testing to be computed. 

Advantages :
1.Becouse of the two testing technique verification and validation ,this model help to acheive good quality software  compare to other model .
2.Since there will be  separate team for testing and development activities ,project progress will be fast .

Disadvantage :
1.Since more people are involved in software development ,it is more expensive model.


3.Prototyping Model :

For What type of projects we use a Prototype- model :

We use prototype model when client is not able to give the complete requirement .

How it looks ->

The prototyping development process is explained in the following steps

1.Collect the initial requirement from the client .
2.Design the prototype by using SDLC 
3.Demonstrate the prototype to client 
4.Impliment client comments in the SRS ,then freez the SRS.

Advantages :
1.We will get the complete SRS.

Disadvantage :
1.The effort and investment invested for designing prototype will not be bared by client.

4.Spiral Model

The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts.



The steps in the spiral model iteration can be generalized as follows:




The new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system.

A preliminary design is created for the new system.This phase is the most important part of "Spiral Model". In this phase all possible (and available) alternatives, which can help in developing a cost effective project are analyzed and strategies are decided to use them. This phase has been added specially in order to identify and resolve all the possible risks in the project development. If risks indicate any kind of uncertainty in requirements, prototyping may be used to proceed with the available data and find out possible solution in order to deal with the potential changes in the requirements.

A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product.

A second prototype is evolved by a fourfold procedure:

evaluating the first prototype in terms of its strengths, weaknesses, and risks;

defining the requirements of the second prototype;

planning and designing the second prototype;

constructing and testing the second prototype.


1 comment: