Skip to content

Load Testing Blog

How to Design Virtual Users as Fierce as RuPaul

Rupaul is an American actor, author, drag queen, model and recording artist born in the sixties.

What is recording

Recording consists of creating a snapshot of the interactions between a web browser or a mobile app and a remote HTTP server. This step is particularly important to create realistic load tests. We have already made great tutorials about recording using JMeter, Fiddler and Google Chrome.

Improved Import

We're excited to announce that we've added the following features:

  • New Record Wizard: the wizard has been greatly reworked for enhanced readability,
  • Automated containers (business transactions): when importing a Google Chrome or Fiddler HAR, we create containers for you automatically,
  • Automated Dynamic Resources: a recording can be bloated with many requests to resources like Javascript, Images or Css. You can now choose to remove them automatically, and we switch HTML request to download those resources dynamically.

Let's take a tour of all these features and see how they help to create realistic virtual users quicker than before!

New Load Testing Reports features

Why improving our reporting system? We were aware that some features were missing to make it easier to drill-down to bottlenecks. But, we prioritized those features low at the moment because we were focused on gaining traction for now.

If you have read How we greatly improved User Engagement, you know that we care about our customer needs. We carefully collect and prioritize customer feedbacks. And, at some point, we decided to get back to development to make some major improvements, based on what our customers experienced with our tool.

It's a matter of good balance between gaining traction to get new clients and improving the tool to avoid loosing leads. If people try your tool, it's already 50% of the work done. But, the other 50% are important too: our tool must solve our customer issues, and it must do it well.

We decided it was the moment to switch back to development because we were loosing some leads due to important features being missing. Let's take the tour!

How to load test a Rest API

REST APIs are becoming widely popular. Our own application is designed with a REST API. What does it mean? It's a software architecture where a client (the Web Browser) talks to a server (an HTTP server in our case) mostly using the HTTP protocol.

REST services used to communicate using an XML based protocol called SOAP. SOAP is still used by big companies in legacy REST services. Nowadays, REST APIs are mostly communicating using the JSON format. JSON is human readable, like XML, but simpler. It lacks all the security layers SOAP can offer, but most of the web application don't require them.

In this article, we explain how to easily run thousands of concurrent users on your REST Api using OctoPerf.

Unit testing AngularJS directives

As we are currently working on marketing our load testing solution we don't get much time left for coding. We identified some issues that could spoil user experience. It could make us loose some prospects.

So I took one day off backlinking / mailing / phoning / marketing to return to my beloved IDE. One day of coding in six weeks, it feels like holidays! I took the opportunity to improve our frontend SonarQube metrics. We now have only 5 hours left of technical debt. Not as well as the backend code quality, but it is on the right track:

Technical debt

I fixed a large part of the issues and started to unit tests our AngularJS directives using Karma.

How we greatly improved user engagement

The goal of any Saas Application is to convert as many trials as possible to paid customers. To improve your application, what do you absolutely need? Feedback. We are using a live chat support app to get feedback on how users are using our SaaS app.

We were greatly surprised by the results. Many of our users were stuck at the very first step of load testing their web or mobile app. We discovered several issues:

  • Customers were proposed to create an empty virtual user as first choice. Many of them were then stuck with this empty user, not knowing what to do next,
  • Customers were not finding how to return to project homepage from the virtual users edition page,
  • We are only collecting email when user are registering to improve visitor to trial conversion rate. We have then a lack of information about users, and need to find a way to get them later.

Let me explain now how we greatly improved our user engagement and trial conversion rate by fixing the above points.