Performance Matters
Performance testing is an important aspect of software development and is used to ensure that a product or system works as expected and meets the performance requirements of its users.
We can define it as the process of measuring the speed, scalability, and stability of an application or system under normal and extreme conditions.
Performance testing is essential for any software system or product since it can help identify and address any performance issues before the product is released. In addition, performance testing can help identify potential bottlenecks in the system or architecture and can provide valuable insights into the overall design of the system. It typically involves measuring the response time of the system, the throughput of the system, the scalability of the system, and the reliability of the system.
We need to first understand the difference between Performance and Load testing.
Performance: Speed of an action or set of actions on a single client or server instance. Example: How long it takes for a user to see the first image?
Load: Number of requests a service can handle in a given period of time. Example: How the systems responds to 1,000 users trying to login?
We can test the performance from both the client side, as well as the server side:
Client performance:
Server Performance:
But we can't forget that Performance and Load testing go together.
Basic Tools:
What to look for?
Important considerations for Mobile Performance
Tools
Understand the system
Figuring out what to test
What to look for
Calculating load: How much is enough. In a normal distribution curve, your peak hour will have roughly 20% of total daily traffic. Use the average session length to calculate the number of concurrent sessions. Use the number of requests in a session to calculate the total number of requests per session.