Saturday, December 12, 2009

Persistence testing web applications

Pre-requisites:
My previous post on performance testing is the prequel to this post

Persistence / stability / soak testing is the next step after figuring out how well your application performs under load.

It's time to determine if it continues to perform well under reasonable load over a period of time.

Reasonable load in this context:
Either 60% of stress point or average throughput that application is subject to on production

Steps:
Let the load test with above load run uninterrupted over a period of time (Industry standard for minimum time seems to be 72 hours but we tend to cut corners to stay within tight project deadlines, maximum time depends on the project deadline)

During this time, continue all the monitoring an measurement described in previous post, but not as frequent. Example, if you were monitoring/measuring every minute in a shorter performance test, in persistence test, you would need to monitor every 15 mins or so.

It would be essential to cause small infrequent spikes in the load during persistence tests, to simulate real world behavior.

These tests analyze if the application is stable, even what (if any) is the performance degradation over time.