Tutorials Hut

  • Testing Foundation

      Basics of Software Testing
       What is Software Testing?
       Objective of Testing
       Why is testing necessary?
       Common Terms used in Testing
       Verification Vs Validations
       QA Vs QC
       Debugging Vs Testing
       Seven Testing Principles
       SDLC Vs STLC
       Fundamentals of Test Process
       Software quality Factors
       Software Development Models
       Waterfall Model
       V models
       Iterative Model
       Test Levels
       Component Testing
       Integration Testing
       System Testing
       Acceptance Testing
       Strategies for Integration Testing
       Big Bang
       Stubs and Driver
       Top Down Testing
       Bottom Up Testing
       Test Types
       Functional Testing
       Non- Functional Testing
       Structural Testing
       Re-testing & Regression Testing
       Static AND Dynamic Techniques
       Static Technique
       Dynamic Technique
       Static Analysis by Tools
       White Box Techniques
       Statement Coverage Testing
       Branch Coverage Testing
       Decision Coverage Testing
       Path Coverage
       Black Box Techniques
       Equivalence Partitioning
       Boundary Value Analysis
       Decision Table testing
       State Transition testing
       Experience Based TestingTechniques
       Random Testing
       Exploratory Testing
       Error Guessing
       Functional Testing
       Integration Testing
       Unit Testing
       System Testing
       Smoke testing
       Sanity testing
       Regression Testing
       Usability Testing
       Security Testing
       User Acceptance Testing
       White Box & Black Box Testing
       Globalization & Localization Testing
       Non Functional Testing
       Compatibility testing
       Endurance testing
       Load testing
       Performance testing
       Recovery testing
       Scalability testing
       Stress testing
       Volume testing
       Test Planning and Estimation
       Test Planning
       Test Strategies Vs Test Plan
       Test Approaches
       Risk and Testing
       Product Risks
       Project Risks
       Defect Management
       Defect LifeCycle
       Severity Vs Priority
  • Waterfall Model in SDLC : Advantages and Disadvantages

        • Waterfall Model is a traditional model and It is also referred as a linear-sequential life cycle model.
        • Waterfall Model in software engineering is a sequential design process, often used in SDLC, in which the progress is seen as flowing steadily downwards (like a waterfall), through the different phases.
        • At the end of each phase, a review takes place to determine if the project is on the right path.
    Waterfall Model in SDLC

    Phases in Waterfall Model

    1) Requirements Gathering: 

        • Requirements Gathering is done by Business Analysts or Product Analyst.
        • Requirements are documented during this phase and clarifications can be done.
        • Translates business language into software language.
        • Following are the common examples of requirement Gathering
          • Kickoff
          • Brain storming etc.
        • Requirement can be any type – functional or non functional

    For example

        • Functional Requirement: payment-processing functionality
        • Non-Functional Requirement: Response time in completing the payment

    2) Design:

    Below are the activities done in design phase.

        • There are 2 stages in design,
        • HLD (High Level Design) – gives the architecture of the software product to be developed and is done by architects and senior developers
        • LLD (Low Level Design)– It is done by senior developers. It describes how each and every feature in the product should work and how every component should work. Here, only the design will be there and not the code. 

    3) Coding:

        • This is the process where we start building the software and start writing the code for the product.
        • Coding is done by all developers – seniors, juniors, freshers

    4) Testing:

        • Testing is the process of validating the software; find the defects and rectifying it.
        • Testing done by test engineers

    5) Deployment /Installation:

        • The team builds and installs the application on the servers which were procured for the different applications for example banking, e-commerce etc.
        • To install the product at a client’s place for using after the software has been developed and tested.
        • This activity has been performed by installation engineers

    6)Maintenance:

        • In this phase the customer uses the product, he finds certain bugs and defects and sends the product back for error correction and bug fixing.
        • During this phase, the team ensures that the application is running smoothly on the servers without any downtime.
        • Minor changes like adding, deleting or modifying any small feature in the software product
        • 100 % testing is not possible – because, the way testers test the product is different from the way customers use the product.

    Advantages of waterfall methodology:

        • Easy to arrange tasks.
        • Works well for smaller projects where requirements are very well understood.
        • Simple and easy to understand and use.
        • Phases are processed and completed one at a time
        • Requirements do not change nor design or code, so we get a stable product.

    Disadvantage of Waterfall Model :

        • In waterfall model, backtracking is not possible i.e, we cannot back and change requirements once the design stage is reached.
        • No working software is produced until late during the life cycle.
        • High amounts of risk and uncertainty.
        • If any Change in requirements, leads to change in design – thus bugs enter the design – which leads to change in code hence more bug. So requirements are freezed once the design of the product is started.
        • Drawback of requirements freezing – the customer may not be satisfied if the changes he requires is not incorporated in the product.
        • Major drawback of waterfall model – testing is a small phase, which is done after coding. Requirement is not tested, design is not tested, if there is a bug in the requirement, it goes on till the end and leads to lot of re-work.

     When we can use Waterfall Model??

    We can use Waterfall model in below cases

          • Developing a simple application
          • When we are sure that the requirements will not change
          • For short duration projects
          • For Small Projects

    Lets take a example, waterfall model can be used in developing a simple calculator as the functions of addition, subtraction etc. and the numbers will not change for a long time.

    Recommended Articles:  



  • Testing Foundation

      Basics of Software Testing
       What is Software Testing?
       Objective of Testing
       Why is testing necessary?
       Common Terms used in Testing
       Verification Vs Validations
       QA Vs QC
       Debugging Vs Testing
       Seven Testing Principles
       SDLC Vs STLC
       Fundamentals of Test Process
       Software quality Factors
       Software Development Models
       Waterfall Model
       V models
       Iterative Model
       Test Levels
       Component Testing
       Integration Testing
       System Testing
       Acceptance Testing
       Strategies for Integration Testing
       Big Bang
       Stubs and Driver
       Top Down Testing
       Bottom Up Testing
       Test Types
       Functional Testing
       Non- Functional Testing
       Structural Testing
       Re-testing & Regression Testing
       Static AND Dynamic Techniques
       Static Technique
       Dynamic Technique
       Static Analysis by Tools
       White Box Techniques
       Statement Coverage Testing
       Branch Coverage Testing
       Decision Coverage Testing
       Path Coverage
       Black Box Techniques
       Equivalence Partitioning
       Boundary Value Analysis
       Decision Table testing
       State Transition testing
       Experience Based TestingTechniques
       Random Testing
       Exploratory Testing
       Error Guessing
       Functional Testing
       Integration Testing
       Unit Testing
       System Testing
       Smoke testing
       Sanity testing
       Regression Testing
       Usability Testing
       Security Testing
       User Acceptance Testing
       White Box & Black Box Testing
       Globalization & Localization Testing
       Non Functional Testing
       Compatibility testing
       Endurance testing
       Load testing
       Performance testing
       Recovery testing
       Scalability testing
       Stress testing
       Volume testing
       Test Planning and Estimation
       Test Planning
       Test Strategies Vs Test Plan
       Test Approaches
       Risk and Testing
       Product Risks
       Project Risks
       Defect Management
       Defect LifeCycle
       Severity Vs Priority

















  • Leave a Reply

    Your email address will not be published. Required fields are marked *