Gui Performance Testing Tools Open Source

Performance testing is a crucial part of mobile app development because it helps you get your app ready for the world. I talked previously about the basics of mobile performance testing, but there are lots of advanced options available to get your app in tip top shape before it launches.

In this article, I go over some of the top tools available to help with mobile performance testing.

Site 24×7

Analyze full webpage including DNS time, Connection time, First-byte time, Start to render, Document complete, and total page loading time with Site24X7.

site24x7-geekflare

With Site 24×7, you can choose to test from more than 60 locations globally.

Dareboost

Perform in-depth analysis from multiple locations using a desktop or mobile browsers. Dareboost lets you test up-to five sites per month for free.

dareboost-result

You get all the standard metrics score, tips, and best practices recommendation. There are hundreds of checks done, and if you are not familiar with them, then you can share the report with your developer. All the recommendation is categorized based on a priority so you can focus on critical one first.

Locust Locust

Locust is a simple-to-use, distributed, user load testing tool that can help you capture response times.

What scripting languages does it use? The best one — Python! 🙂

It is used to helps performance test websites or other applications.

Locust can also help you figure out how many concurrent users a system can handle.

Where tools like jMeter are based upon, a thread-based architecture that consumes a lot of resources. Locust uses an event-based approach that uses fewer resources.

Rahul Solanki a technical leader at BlueConch Technologies mentioned to me that when he compared it with JMeter, the number of resources that Locust occupies was around 70 percent less.

If you’re familiar with the term “load generators,” Locust uses the term “swarm”–as in you can point a swarm of locusts to put a load on your website.

You can define the behavior you want for each of your Locust instances. It also gives you the ability to monitor the swarming process from a web UI in real-time.

Some of the cool key features you get with Locust are:

  • The ability to create your test scenarios using straight Python
  • You can easily scale the number of users you need to emulate
  • It has a nice Web-based UI
  • Extensible
  • Good for testing APIs

Cons

Since its a newer tool it has far fewer plugins than JMeter

Github starsIt currently has 15.7k stars on GitHub.

Performance Testing Tutorial | TestGuild

Fiddler with BlackWidow and Watcher svg+xml;nitro-empty-id=OTM4OjIwNA==-1;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48L3N2Zz4=

This might seem like an odd combination to have on a performance tool list.

But performance engineering expert Todd DeCapua in a previous PerfGuild conference session recommended using Fiddler with Watcher and BlackWidow to create a quick-start automation testing performance solution.

Fiddler enables you to do many things, but it’s probably best described as a packet capture tool.

While Fiddler may not be considered a load testing solution it does many things that allow you to debug website issues, and with one of its many extensions, you can accomplish even more.

Some things you might want to use Fiddler for:

  • Troubleshooting issues with your web application
  • Security testing
  • Performance evaluations
  • Debugging web traffic from most computers and devices
  • Many integration features
  • Handy for finding performance bottlenecks
  • Fiddler is already a pretty popular tool among developers. Many use it for debugging to view the HTTP requests their computer is sending to a service or website.

Watcher is a security add-in for Fiddler which will enable you to get some security results quickly. BlackWidow is a web crawler that gives you the functionality to point it towards a web address and then be able to drill down on results.

For someone who’s just getting started in performance engineering, these three tools working together can provide a great way to get that free look and feel as well as results that one might not otherwise be able to obtain quickly.

Todd actually has a session during a past PerfGuild Online Conference where he gives a demo of this approach.

nGrinder Grinder

nGrinder‘s GitHub page describes it as having been designed to be an enterprise-level performance engineering solution. It was developed to make stress testing easy and to provide a platform that allows you to create, execute, and monitor tests.

Features:

  • You can write your tests using Jython or Groovy to create test scenarios and create stress against JVM using multiple agents.
  • It can extend tests with customer libraries like jar and py
  • Allows you to monitor the state of your performance agents load generation
  • Take care of automatically collecting test results from distributed agents after tests

Github starsIt currently has 1.3k stars on GitHub.

The Grinder

The Grinder is a Java-based framework. It provides you with easy-to-run and -create distributed testing solutions using many load generator machines to capture your end-users response times. So you don’t have to worry about any virtual users restrictions.

  • You can perform load testing on any system that has a Java API
  • A nice GUI console
  • It automatically handles the management of client connections and cookies 

Gatling

Gatling is a stress tool built on ScalaAkka, and Netty.

This modern architecture approach it uses allows you to test and measure your application’s end-to-end performance and easily scale up your virtual users.

  • It has a simple yet powerful DSL.
  • Easy to extend
  • If you’re into Scala and the benefits it brings, this is the load testing tool for you.
  • It has a scenario recorder
  • Allows you to take a shift-left code approach to performance testing

Github starsIt currently has 5.1k stars on GitHub.

To learn more about Gatling check out the Founder of Gatling Stephane Landelle’s PerfGuildsession on Load Testing Done Right with Gatling.

k6

k6 is a developer-centric, open-source load testing tool for testing the performance of your back-end infrastructure.

You can also use k6 to start including performance testing into your continuous integration pipelines.

k6 is also  Modern load testing tools built with Go and JavaScript so it integrates well into most developers’ workflow.

  • Clean scripting API
  • Provides distributed & Cloud execution
  • Cool REST API orchestration ability

Github starsIt currently has 11.7k stars on GitHub.

Tsung

Tsung is an open-source, multi-protocol distributed load testing tool.

  • Can monitor a client’s CPU, memory, and network traffic
  • It has an HTTP recorder
  • Includes HTML reports and graphs
  • Support protocols like HTTP, XMPP, LDAP, etc.

Github starsIt currently has 2.1k stars on GitHub.

Siege Siege

Siege is a command-line HTTP load testing and benchmarking utility. It was designed to help developers measure their code under stress.

  • Supports basic authentication, cookies, HTTP, HTTPS and FTP protocols.
  • Allows its users hit a server with a configurable number of simulated clients. Those clients place the server “under siege.”
  • Great for a simple, brute-force type of testing tool

Github starsIt currently has 4k stars on GitHub.

Httperf

Httperf is a tool for measuring web server performance. It provides a flexible facility for generating various HTTP workloads and for measuring server performance. Read More »

Taurus

Although not specifically related to Perf testing, Taurus provides an automation-friendly framework for continuous testing, including functional and performance. Read More »

Artillery

Artillery is a modern, powerful & easy-to-use load testing and functional testing toolkit. Use it to ship scalable applications that stay performant & resilient under high load. Read More »

Goad

Goad takes full advantage of the power of Amazon Lambdas for distributed load testing. You can use goad to launch HTTP loads from up to four AWS regions at once. Each lambda can handle hundreds of concurrent connections, able to achieve peak loads of up to 100,000 concurrent requestsRead More »

Apache Bench

ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed to give you an impression of how your current Apache installation performs. Read More »

Conclusion

  Performance testing is not an easy task. It requires mastery of entire testing pyramid with special focus on performance at the topmost level. It can be performed manually or using specialized tools.

Leave a Comment