How Load Testing Brings Developers & Marketers Together

Posted by Roy Derks on Jan 7, 2015

Marketers and developers have often had somewhat of a contentious relationship. However, in the advent of cloud computing and a reliance on data-driven decision making, marketers and developers are required to work together and help each other like never before.

Only load testing could have brought Alan and Dilbert together

 

 

 

 

 

 

 

One of the most unexpected convergence points for these two groups is when and how to do successful load testing.


The leading load testing platform for developers

Start free plan

5 tests per month with 100 concurrent users


Why? Because developers and engineers will take the blame from marketing (and the rest of the company) if the app fails to deliver when marketing's work kicks in and loads of users start using the application.

Marketers, on the other hand, hold most of the data the developers need to properly test the application before problems occur.

Making this convergence point work well is precisely the challenge my team faced when creating the Dutch tv-guide application, Pointers.

One of the most important things when building a mobile application is scalability, the more users the application can handle the more profit you could potentially generate. Performance should therefore be maximized in order to get the most out of your app. But how do you achieve this?

The main goal we wanted to achieve was to create a good-looking application that was easy to use and could be used by ten thousands of users.

Because we wanted the option to make the application available on different (mobile) platforms, we choose to have it built as an API-Centric Application.

This means that all functions within the application are called through an API, which can be addressed from every platform on which our application is active. After a process that spread several months, we received the beta-version of our application.

But then came the most important part: How many users could the application handle?

To test this, we used Load Impact when load testing the application with a maximum of 500 concurrent users.

Although this might not sound like much at first glance, try to think of any new application out there that has 500 users who are making calls at exactly the same time. It's hard! 500 concurrent users is actually quite a lot.

The next thing to do is set up both a user scenario and test configuration, which can be quite tricky if you're new to performance testing.

As there is enough information available on how to do this, I will skip this part and jump straight to discussing the results of our load testing.

Load testing uncovers actionable performance data.

So here are the graphical results from a test I ran with Load Impact. What you see is the number of concurrent users (green) combined with the average loading times of our application (blue).

As you can see there is a strong causality between the two; as the number of users increases, so will the average loading times. This basically means that the application becomes slower when it gets used a lot and as you can see the loading times drop after a certain point.

This breaking point can be considered as the maximum amount of users the application can handle; when more concurrent users are added some calls will fail and therefore the average loading time will drop.

Being limited to a maximum number of users is definitely something you don’t want and this can easily be interpreted as a bottleneck.

Now, as a developer you don’t want the code you’ve written to cause any technical limitations and as a marketer you want to be able to attract as many users as possible. So, in many ways, load testing can be considered as the point where developers and marketers come together.

Load testing can show developers where the bottlenecks are, so they can figure out a way to solve them. Marketers rely on developers to do this correctly in order to not loose any potential customers to slow performance, or worse yet, complete crashes.

It is also important that marketers provide developers with forecasts as to how many customers they believe will be attracted to the application as a result of upcoming marketing campaigns. These forecast can help a great deal when it comes to capacity and scalability planning.

Another application's performance saved by load testing with Load Impact

When you look at a test I ran later, you can definitely see improvements in the scalability of the application. The average loading times are no longer affected by the number of concurrent users, but are fluctuating around the same number.

This however is only the case until the number of concurrent users reaches a certain point. From there onwards the average loading times are increasing, so this point can be marked as our new maximum capacity.

Although optimizing the server or recoding the API and adding basic features can make an application a lot more scalable, this might still not be enough to satisfy a marketer’s need for handling as many users as possible. In that scenario the server has to be completely redesigned or the API has to be drastically rewritten to make the application more scalable.

You can also choose for other fixes like “storing” your graphical content – meaning images and videos – in Content Delivery Networks (CDN). This will not only make them faster available to your users, it will also save you a lot of bandwidth as this content is not continuously pulled from your server.

Unfortunately, these kind of fixes often take a considerable amount of time and might cause marketing campaigns to be postponed. Therefore, it is important to start load testing your application right from the start. The sooner you will find possible bottlenecks, the sooner your developers can start with finding solutions to solve them.

With adding features like caching and storing your content in a CDN, most applications can become a lot more scalable. And with the correct use of load testing you can figure out how many users you application can handle, that way marketers can adjust their campaigns so as not to purposely exceed capacity limits and risk crashes and slow performance.


The leading load testing platform for developers

Start free plan

5 tests per month with 100 concurrent users

Topics: performance, developers, results, marketers, marketing, data, Load Testing, cnd, application crashes, Blog

Recent Posts

Popular posts

Posts by Topic

see all

Subscribe to Email Updates