3

Is there any open source automation tool for performance testing for desktop applications?

Load Runner and JMeter are supporting web applications only. I searched in several websites but found no performance testing automation tools.

3

Usually it isn't required to do performance testing of desktop applications as they're being used by 1 user only hence visual experience is quite enough.

However if desktop application relies on backend server, i.e. it does network communication over HTTP protocol using an API or displays data from RDBMS you might want to test what will be the behaviour of the backend server when several hundreds or thousands of desktop application instances concurrently communicate with it.

In fact this scenario isn't different from "usual" web applications testing as you'll need to simulate outgoing requests triggered by multiple desktop application instances and any free and open source tool can be used to cover this scenario.

The long list is available at Open source performance testing tools and the shorter one which highlights the most popular ones is Open Source Load Testing Tools: Which One Should You Use?

1

Although I haven't tried Desktop application performance testing on my own, but like you, I too had same question (long back) and I ended up with an answer like this.

It depends how your desktop application will generate load? Is there any Network connection involved or any database connectivity involved, if yes then you can put load over the network or database using JMeter/Load runner etc. But if your application is a standalone desktop application then why do you need performance testing of application, one thing you can only do is to limit the Resources of your machine and then test the application and in that case a stopwatch alone is fine to capture timings. Also, the main thing which needs to be verified during performance test of desktop application is Resource Utilization consumed by the desktop application.

Another thing is you can check this link, which states the process of how you can performance test desktop application using Sikuli tool (it is open source but I guess not free).

0

When testing a desktop application if you stumble upon the idea/request to do performance testing, ask a few questions (to yourself if not others),

  1. Why do you want to do performance testing of a desktop application?
  2. Does the application make HTTP requests to a remote system/server?
  3. and there may be more questions.

If your application makes HTTP requests to server and database located remotely, you can get the HTTP requests from the developers and use Loadrunner or Jmeter to generate load for performance testing.

If your application is really a standalone application and it doesn't make connection requests and/or get data from a remote server, then you need to think of different things that you can do as part of performance testing.

  • You can run the application on a system with low resources and again on a system with high resources and compare the performance. Here, resources means the CPU capacity, RAM, Disk I/O, Disk Space occupied, etc.
  • You can run other application and then run your application under test and check how much resources it takes up. Does the application continue to operate seamlessly or does it hang up or show signs of delay?
  • You can click randomly on the desktop window very frequently and check if it hangs or breaks or produces an error.
  • Check if the application requires a certain system library/file/application to perform a certain action. If the same thing is required by another application, try running both simultaneously.

Similarly, you can think of other scenarios to do performance testing of the desktop application. For such kind of testing you can use system monitoring tools, for example, in Windows systems you can use the Performance tab of the Task Manager to keep track of the system's resource occupancy and performance.

You see performance testing is not only about generating a load of x number of requests made by users simultaneously. It has many other sides as well. Put on your thinking hat and think of scenarios for doing performance testing.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.