Desktop applications are mostly ignored when it comes to load testing; mainly because we assume that the performance of desktop applications relies on the hardware where they are installed. But any application which is based on client-server architecture needs to be load tested even if it is a desktop application. Through this newsletter, we are sharing some useful information that can help in load testing the desktop applications.
Load Testing Of Desktop Applications
In today’s competitive software market, users expect more - not only from usability standpoint, but also from responsiveness. The application’s performance, irrespective of its type (i.e. web, mobile, or desktop) and architecture, can make or destroy the user experience.
When it comes to desktop applications, performance testing is important. Desktop apps still hold around 30-40% share of the software market and are mostly used in healthcare, banking and financial services, telecommunications, and retail sectors. As these sectors use desktop applications for communicating with centralized server, performance testing is required for faster and smoother day-to-day operations.
Usually, standalone desktop applications are very unlikely to have any performance bottlenecks when installed on the recommended hardware and software configuration. However, desktop applications that are based on client-server architecture must be load tested. This applications involve different communication protocols that are mostly used at the transport layer.
Load Testing Approach For Desktop Applications
While performance testing desktop applications, there could be scenarios where communication between the client and the server is highly encrypted and secure. This makes the request simulation complex or unfeasible. For such applications, we use a different approach to load test these scenarios with multiple users generating load from different geo-locations over cloud platforms.
KPIs For Desktop Application
- Number of concurrent desktop client connections per second
- Application and database servers throughput
- Desktop client transactions completion time
- Disk input and output per second
- Desktop client connect time to server
- Error rate of transactions
Major Tools For Load Testing Of Desktop Applications
Most of the desktop applications are built on protocols such as Transmission Control Protocols (TCP), User Datagram Protocols (UDP), Windows Socket (WinSock), SOAP, WebSocket, Citrix, TruClient, etc. Majority of load testing tools support these protocols. Some of the popular tools are listed below:
- Use third-party network tools to intercept the client-server communication for performance script development
- Hardware and software configurations of testing infrastructure should be slightly above the baseline
- Setup the test environment while considering the network configurations such as intranet and VPN
- Run the tests in an isolated environment to get accurate and precise results
We would love to hear your feedback, questions, comments and suggestions. This will help us to make us better and more useful next time.
Share your thoughts and ideas at firstname.lastname@example.org