Software Testing - Detailed Notes
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.
- Focus: Performance under normal and peak conditions.
- 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.
- Focus: Database and data handling capacity.
- Example: An application is tested by inserting 10 million records into the database to observe how
long it takes to process and retrieve data.
ii) Purpose and Process of Failover Testing and Recovery Testing:
1. Failover Testing:
- Purpose: To ensure that the system can automatically switch to a backup system/component when
the primary one fails.
- Process:
a. Identify critical system components (like servers, network nodes).
b. Simulate failure (e.g., shutting down the server).
c. Verify if the system switches to a backup.
d. Check for data integrity and performance after failover.
- Example: In a cloud environment, if one server goes down, failover testing ensures that the traffic
is redirected to a backup server with minimal downtime.
2. Recovery Testing:
- Purpose: To verify how well the system recovers from crashes, hardware failures, or any other
unexpected failures.
- Process:
a. Forcefully stop system processes or simulate data loss.
b. Reboot or restore the system.
c. Monitor recovery time, data consistency, and system functionality.
- Example: After a sudden power failure, recovery testing checks how long it takes to bring the
system back up and whether all services resume normally.