Netsparker Web Application Security Scanner

What is Software Testing Methodologies?

In the field of Software testing we use different types of Software Testing Methodologies. In today’s Software Testing Class, we will see what all Software Testing Methodologies & software testing technique is used in the day today software testing life cycle.

In the Software Development Process different software development approaches are used. A software development process also known as a Software Development Life Cycle (SDLC).

Each process model has its own advantages & disadvantages, the choosing of model is based on the requirement & need of your project to do the success in process of software development.
Here are the few commonly used Software Development Life Cycle used in actual testing:

  • Waterfall model
  • V model
  • Agile model
  • Spiral model
  • RUP
  • RAD

1) Waterfall Model

The Waterfall Model approach is most basic life cycle model, which is the first Process Model begins and used broadly in Software Development to make sure project success. This model is developed by Winston Royce in the early 1970. Waterfall model is software development process sequential process, as flowing progressively downwards like waterfall via multiple phases & these simple sequence of phases has its own defines activities and goals. The Waterfall model is divided into following separate phases:

  • Requirement Gathering & Analysis phase,
  • Software Design,
  • Implementation and Testing
  • Maintenance

All these phases are the sequential phases & next step is totally depends on the previous step, so that second phase is begins as only if the defined set of objectives and goals are completed first.

The stages of “The Waterfall Model” are:

Requirement Gathering & Analysis:
This is the starting phase of the SDLC in which all possible system requirements are captured & analyzed. Software requirements specification includes the complete information about how actual end users are expecting from the system. This document covers all the necessary requirements for the development of project. Finally after completion of requirement gathering & analysis (validation of requirement against the user needs), a Requirement Specification document is created which give out as a input to the next phase of SDLC. In this model once we moved to the next phase then it won’t possible to add or update the requirements.

System & Software Design: Prior to start actual coding, it is mandatory to be aware of what all features we are going to implement & how it would look like? The requirement specifications document created in the first phase is used as the input to this phase & based on this the system design specifications would be prepared. In which all hardware & system requirements would be specified. The system design specifications document prepared in this phase is used as input for the Implementation & Testing phase model.

Implementation & Unit Testing: Upon getting the system design specifications document the actual coding would be started. Before starting the actual coding requirements are divided into the models/units. In the actual coding the initially develop the small programs called units. After implementing all units the integration would be started in the next phase. The developed unit’s model functionality is tested separately in this phase to check whether the unit models are meets the specified requirements & this individual model testing is called as Unit Testing.

Integration & System Testing: In the previous model the system requirements are divided into models & each model is developed & tested separately. In this phase all units are integrated & done the system testing to check whether the all models/units are integrated properly or not & the system as whole doing as mention as per the system requirement document, so we call this phase as the Integration & System Testing. Upon complete testing of software is done then actual Software is successfully send to customer.

Operations & Maintenance: This phase is the never ending phase of the Waterfall Model. The problems are comes in picture after Implementation & Unit Testing phase. The issues found after the implementation phase i.e. not found in the period of the development life cycle. Some of the issues are not catch after testing cycle done so those are implemented in the maintenance phase, so this phase is called as Operations & Maintenance phase.

Advantages and Disadvantages of Waterfall Model:

Advantages of Waterfall Model:

  • This is linear simple model to implement & easy to maintain.
  • In the SDLC initial phase spent time on reviewing requirements and design which saves the time later.
  • Required resources are minimum in this model as compare to other.
  • After every phase of the model a document in created which help & simpler to understand & design the system.
  • Upon completion of coding, is done to check for implemented code or correctness of system.
  •  For each stage deadlines can be set which will help to develop the system on decided time frame.

Disadvantages of Waterfall Model: 

  • The biggest disadvantages of such system is it won’t allow to go back. If the problems in the design phase which creates complication in the implementation phase.
  • This model is rigid model. Not flexible & make changes is not possible in the development of system.
  • Unable to start the next phase before completing the previous phase so time consuming.
  • In the deployment phase all requirements are not covered or all requirements are not cover so adding such requirements may create unsuitable system.
  • To make it customer happy such new requirement need to be implemented in new version of system which leads to added cost to system development.

23 comments to What is Software Testing Methodologies?

  • […] What is Software Testing Methodologies? […]

  • Edenira

    i always share your sites post with my friends. keep posting and i will follow you…

  • Araci

    I am working in one of the growing company & more or less agree with you.

  • Nikhil Ouza

    You really make it presenting simpler testing concept and it appear so easy together with your covering Software Testing Methodologies in this article.

  • Bruna

    his article is very nice understanding the patients is very important from this i understood everything thank you

  • Pravina

    nice one in basics of testing, its really helpfull for me to learn basics

  • Rupa Kashap

    I found your Software Testing Methodologies blog via Google even as searching for a similar topic, your website got here up, it seems good. I’ve added to my favorites|added to bookmarks.

  • I m new to testing field but got good knowledge.

  • Sonu

    this is very good useful to sw testing engg…..

  • Dhanalakshmi Anisetty

    It is nice.

  • rakesh

    can u pls tell me the differences between system testing and application testing

  • sudhakar

    your explanations are very help full to me

  • Lakshman

    Dear all,

    Your explanation was very good and also i want know about healthcare domain testing mythology and related concepts.

    And kindly need to share about for which automation tools regular basic all domain IT Company used???

  • Sangram Kumar Das

    Nice Article and well explained. Thanks and looking forward your new articles.

  • sujata

    This is very nice website. I like it.

  • Anil

    awesome website easy to understand

  • siva

    easy to understood this concept


    can u plz explain the difference b/w technical testing and functional testion…

  • murali

    I like the way u explained in a simple manner. very use ful site 🙂

  • Subrahmanya

    i want more explanations on s/w testing phases.


    Awesome website for Tetesting-Hunder’s

  • Romesh

    What should do after re-open the bug.

  • ravi sagar

    Hi Admin

    Thank you for providing online material and also training classes

    it will helpful a lot to prepare any testing interview in companies

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>