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
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.
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
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