Software Testing Notes Detailed
Software Testing Notes Detailed
i) Key Differences between Load Testing, Stress Testing, and Volume Testing:
1. Load Testing:
- Purpose: To check how the system behaves under expected user loads.
- Example: Suppose a website is expected to handle 10,000 users simultaneously. Load testing will
simulate 10,000 virtual users to see how the system handles it in terms of response time,
throughput, etc.
2. Stress Testing:
- Purpose: To evaluate how the system behaves under extreme or beyond-limit conditions.
- Focus: Stability and error handling under heavy load or resource starvation.
- Example: A banking application might be stress tested by increasing the number of transactions
per second to an unrealistic level to see if it crashes or handles the load gracefully.
3. Volume Testing:
- Purpose: To evaluate the system's performance when subjected to a large volume of data.
- Example: An application is tested by inserting 10 million records into the database to observe how
1. Failover Testing:
- Purpose: To ensure that the system can automatically switch to a backup system/component when
the primary one fails.
- Process:
- Example: In a cloud environment, if one server goes down, failover testing ensures that the traffic
2. Recovery Testing:
- Purpose: To verify how well the system recovers from crashes, hardware failures, or any other
unexpected failures.
- Process:
- Example: After a sudden power failure, recovery testing checks how long it takes to bring the