Software Testing Models(or)Software development Methosology?

1)Water fall Model: 

 Water fall Model is popular Version of the Software Development Life Cycle (SDLC) model for developing the Software Projects. The Waterfall Model was first Process Model to be introduced. It is also referred as Classical Life Cycle (or) Linear-Sequential life Cycle Model. It is very simple to understand and use. In a waterfall model, each phase must be completed before going to the next phase.

      Water fall Model phases of Software Development are as follows

·         Requirement Analysis
·         Design
·         Coding
·         Testing
·         Maintenance

         Following is a Diagrammatic Representation of Different phases of Water fall Model




1)      Requirement Analysis: In Requirement Analysis phase
Business Analysts will collect all the information form the client, based on that information B A (Business Analysis) team will prepare BRS (Business Requirement Specification) document.
After getting BRS (Business Requirement Specification) document form B A (Business Analysis) team Project Manager (PM) will analyse what are the possibilities to develop the project and what is the estimation of the project (Man Power). Which technology we have to use to develop the project, these things Project Manager (PM) will analyse.

2)      Design : In Designing phase the designing the design will be  two levels

a)      High Level Design
b)      Low Level Design

a)      High Level Design: In High Level Design, technical team will Design the entire Architecture of the Project. We having different types of Architectures(I –tire,2-tier,3-tiere,n-tire)

b)      Low Level Design:  In Low Level Designing phase, Designing team will design component level of the project. Designing team will design the application which is seen by user.

3)      Coding:  In Coding phase Development team will write Code for that project.

4)      Testing: In testing phase once development finished the build testing team will take that build to do Smoke Testing. Based on the result testing will accept or reject the build. i.e.  Means testing team will do very basic testing.

For Example: Development team build login page, then testing team will try to login with some basic credentials we (testing team) are able to redirect  the home page then we will accept that build and dig for errors. If we are not able to redirect to the home page we should reject that build.

5)      Maintenance:  In this phase sometimes client will get some suggestions and complaints about the project. Based on the suggestions or complaints may be client will ask to do changes. For that we need to do changes.
                         

Advantages of Water fall Model:


1)      Water fall Model is very easy to understand
2)      Product definition is stable
3)      Each Phase has specific Deliverable and a Review process.
4)      Easy to arrange tasks.
  

Disadvantages of Water fall Model:

1)      Time Consuming
2)      If we want to move one Phase to another Phase deliverable must be clear
3)      If Requirements may change, Water fall model may not work.

When to use the waterfall model:


1)       Requirements are very well known, clear and fixed.
2)       Product definition is stable.
3)       Technology is understood.
4)       There are no ambiguous requirements


2)  V- Model:      

                V- Model means Verification and Validation Model. V-Model is just like the waterfall model, the V-Shaped life cycle is a sequential path of execution processes. Each phase must be completed before the next phase begins. In V-Model development team activities and testing team activities will start same time. Both Waterfall Model and V-Model they are quite similar to each other.
                    V-Model diagram shows Software Development activities on the Left hand side of Model and the Testing team activities on the Right hand side of the model.


     Following is a Diagrammatic Representation of Different phases of  V-Model


Testing is divided into four phases as follows:
 1)Unit Testing
 2)Integration Testing
 3)System Testing
 4)Acceptance Testing
      

Advantages of V-model:
  • Simple and easy to use.
  • Each phase has specific deliverable.
  • If a mistake happened in any phase no need to start the process from the beginning.
  • Testing activities like planning,test design,happens well before coding. This saves a lot of time.
  • Works well for small projects where requirements are easily understood.
Disadvantages of V-model:
  • Project definition is Stable
  • It needs lot of resources and money.
  • Software is developed during the implementation phase, so no early prototypes of the software are produced.
  • If any changes happen in mid of the project, then the test documents along with requirement documents has to be update.
When to use the V-model:
  •  V-Model should be used for small to medium sized projects where requirements are clearly defined and fixed.
  • The V-Shaped model should be chosen when ample technical resources are available with needed technical expertise.



No comments:

Post a Comment