Performance Testing and Monitoring
An old Zen koan asks: "If a tree falls in the forest, and no one is there to hear it, does it still make a sound?" Regardless of one's position toward the philosophy behind this statement, in business a product or service isn’t worth much if the consumers have no access to it. The best e-commerce website would be a waste of time and money if it crashes after the first thousand users make a purchase. A marketing campaign will cause only embarrassment if as a result of it excited potential customers will come en masse and the web server will crash under load.
Performance Testing is targeting system’s ability to deliver the functionality to the user within a reasonable time and without exhausting the resources. Using special tools, performance testers simulate real-life environment and evaluate system’s performance: response time, memory use and processor utilization on the server, etc.
Conflair has expertise in a variety of performance testing tools. However, it is our methodology that distinguishes us from the crowd. Even with the best tools at your disposal, failure to plan performance tests well means planning to fail them…
Conflair usually plans and executes three types of Performance Tests:
- Load/Stress Tests: These tests target application’s ability to handle concurrent transactions. During Load tests we execute simultaneously the highest expected number of concurrent transactions and measure the performance parameters. In Stress tests, we raise the number of concurrent transactions beyond the expected number in order to find a breaking point, or to evaluate the scalability of your system.
- Reliability Tests: These tests validate system’s ability to function over time. Specifically, they are trying to check whether your application exhausts system resources – memory, storage, database – when being active for long periods of time without reset. Frequently overlooked, reliability-related issues cause big problems in production if not found and fixed during testing.
- Data Volume Tests: Your application might function well now. What happens in three years, when you expect to have seven million records in the database and six million files on the file server? Will you queries still run as quickly as they have to? Data Volume tests provide an answer to that questions.
Even with the most careful planning and accurate test execution, there is no possibility to foresee all the factors that impact application’s performance in production. Performance Monitoring addresses this problem. The idea is simple: have a number of agents that run a transaction in production every once in a while, measure the response time and log results. Add to that the ability to send out alerts when the performance level is deteriorating – and you’ve gained another bit of piece of mind and probably reduction in support hours.
Performance Testing and Monitoring, when properly planned and executed, can be very useful in ensuring that the application will be delivered to its users and bring value to the enterprise. Conflair can help you with that.