Testing Foundation
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
Performance Testing, Load Testing & Stress Testing Explained
This article will present you with a complete idea about Performance Testing ,Load testing and Stress Testing.
We will learn below topics in this article
Performance Testing
Performance testing is performed to determine how fast some aspect of a system performs under a particular workload.
- Performance Testing can serve different purposes like it can demonstrate that the system meets performance criteria.
- Performance Testing can compare two systems to find which performs better.
- Activities in Performance Testing might include: Validate that the system meets the expected response time.
- Evaluate that the significant elements of the application meet the desired response time.
- It can also be conducted as part of integration testing.
- It can also be conducted as a part of systems testing.
Goals of Performance Testing:
- To eliminate performance congestion.
- Uncovers improvement areas before the product is launched in the market.
- Objective of performance testing is to make software rapid.
- Objective is to make software stable and reliable.
Benefits/Advantages of Performance Testing:
- Validates fundamental features of the software
- Measure the speed, accuracy and stability of software.
- Identify areas of issues
- Improve optimization and load capability.
Drawbacks/ Disadvantages of Performance Testing:
- Need programming knowledge to use load testing tools.
- Tools used can be expensive.
Load Testing
Load testing is performed to determine a system’s behavior under both normal and at peak conditions.
- Load Testing helps to identify the maximum operating capacity of an application as well as any bottlenecks and determine which element is causing degradation.
- Activities of Load Testing might include: Validate that the system performs as expected when concurrent users access the application and gets the expected response time.
- Test is repeated with multiple users to get the response time and throughput. At the time of testing, the database should be realistic.
- The test is usually conducted on a dedicated server which stimulates the actual environment.
Goals of Load Testing:
- Load Testing identifies response time for each transaction
- Performance of System under various loads
- Performance of Database components under different loads
- Identifies network delay between the client and the server
- Server configuration issues like a Web server, application server, database server etc.
- Hardware limitation issues like CPU maximization, memory limitations, etc.
- Load testing will determine whether the system needs modification of hardware or software to improve performance.
Benefits/ Advantages of Load Testing:
- Identify Performance issues before production
- Improves scalability of the system
- Minimize risk related to system downtime
- Reduced costs of failure
- Increase customer satisfaction
Drawbacks/Disadvantages of Load testing:
- Need programming knowledge to use load testing tools.
- Tools used for load testing can be expensive.
Load Testing Tools:
LoadNinja
- Load Ninja is revolutionizing the way we load test.
- This cloud-based load testing tool provides capability to record & instantly playback comprehensive load tests.
- Teams are able to increase test coverage hence reducing load testing time.
NeoLoad:
- NeoLoad is the enterprise-grade load testing platform designed for Agile and DevOps.
- NeoLoad integrates with a continuous delivery pipeline to support performance testing across the complete software lifecycle starting from component to full system-wide load tests.
Load Runner:
- Load runner is an HP tool used to test the applications under normal and peak load conditions.
- Load runner generates load by creating virtual users that emulate network traffic.
- It simulates real time usage like a production environment and gives graphical results.
Stress Testing
Stress Testing is a form of testing that is used to determine the stability of a given system.
It puts greater emphasis on robustness, availability, and error handling under a heavy load, rather than on what would be considered correct behavior under normal circumstances.
- Stress Testing ensures the software does not crash in conditions of insufficient computational resources (such as memory or disk space).
- Activities of Stress Testing include: Test on low memory or low disc space on clients or servers that reveals the defects which cannot be found under normal conditions.
- Multiple users perform the same transactions on the same data.
- Multiple clients connected to servers with different workloads.
- Reduce the Think Time to “Zero” to stress the servers to their maximum stress.
Goal of Stress Testing:
- Measuring software on its robustness.
- Measures error handling capabilities under extremely heavy load conditions.
- Ensuring that software doesn’t crash under crunch situations.
- Evaluates how software works under extreme conditions.
Stress testing Examples:
- During Sale time on certain online platforms, there is a sudden rise in traffic.
- When a breaking news is displayed on TV channels , it experiences a sudden surge in traffic.
It is hence important to perform Stress Testing to accommodate such abnormal traffic spikes.
Failure to accommodate this sudden traffic may result in loss of revenue and repute.
Testing Foundation
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