Stress testing often refers to tests that put a greater emphasis on robustness, availability and error-handling under a heavy load, than on what would be considered correct behavior under normal circumstances. In particular, the goals of such tests may be to ensure the software doesn't crash in conditions of insufficient computational resources such as memory or disk space.
Even in the case of denial of service attacks, stress testing would enable one to evaluate the availability of the software. Stress testing deals with the quality of the application in the environment. The idea is to create an environment more demanding of the application than the application would experience under normal work loads. This is the hardest and most complex category of testing to accomplish and it requires a joint effort from all teams.
Memory leaks are often found under stress testing. A memory leak happens when a test leaves allocated memory behind and does not correctly return the memory to the memory allocation scheme. Stress testing is subjecting a system to an unreasonable load while denying it the resources like RAM, disk space etc. needed to process that load. The idea is to stress a system to the breaking point in order to find bugs that will make that break. The system is not expected to process the overload without adequate resources, but to behave in a decent manner without corrupting or losing data. Stress testing significantly varies from load testing in many ways. Load Testing and stress testing are not synonymous.
Java Development India offers StressTesting Services from our offshore software development outsourcing centre at Kochi, Kerala in India.
|