VWO Logo
Request Demo

Server-Side Testing

Definition of server-side testing

Let us begin by understanding what happens at the backend when you land on a website.

When a user visits a website through a browser, a request is sent to the server from where files are transferred to the browser, which then builds the viewable version of the website. As per the pre-set rules, the JavaScript in the files makes the webpage (made of HTML and CSS) interactive. JavaScript runs either at the server or browser level. This JavaScript is also responsible for creating webpage variations. 

In experimentation processes like A/B testing, there are two methods to deliver the test variations. One is server-side testing, and the other is client-side testing.

In server-side testing, the user requests a webpage through the browser; after that, the server finds the requested files that make the webpage and runs the JavaScript in it. The desired changes on the webpage are made, and the server sends the variation directly to the user.

Now, we move on to understanding how server-side testing differs from client-side testing.

Client-side testing vs server-side testing

In client-side testing, the server sends all the requested files to the browser, which then runs the JavaScript to make changes before showing the viewable version of the webpage. Here is the detailed difference between the two testing approaches.

ParameterServer-side testingClient-side testing
Ease of implementationDifficult. Since the variation is sent directly to the browser. It requires developers to create each variation and store it on a server.Easy. A drag-and-drop editor at the backend is utilized.
SpeedFaster, as all the heavy lifting is done at the server level; the browser can render the webpage faster.Slow as the browser has to go through the JavaScript, before HTML, and CSS codes. It takes time and needs optimization measures to improve the speed.
Impact on consumer experienceNo impact.The JavaScript execution at the browser level can disrupt the consumer experience of the webpage loading.
ScopeCan customize and create variations to check algorithm, UI/UX, transaction flow, etc. The JavaScript execution at the browser level can create variations limited to UI/UX.
ChannelsCan test across channels.Restricted to web version only.

Let’s move forward and understand scenarios where you can opt for server-side testing.

When to use server-side testing?

Server-side testing has the power to test at a deeper level than just testing UI and UX. Here are scenarios that need experimentation with server-side testing:

  • Dynamic content pages change with user interaction. Like an eCommerce website, a test is run to determine the ideal shipping cost based on the product price.
  • Complex and big websites have multiple dynamic elements. For example, social network websites where you want to test upvote, share, comment, and post buttons.
  • Testing of a new product launch or features that require experimentation at the stack. For instance, an ed-tech company might want to test the new course recommendation mechanism based on a form fill by a user.
  • Experiment with the consumer experience by creating multiple variations of the web and the app versions. For example, a newspaper firm tested the visitor flow on both web and app versions in a single experiment. 

How server-side testing happens?

A software development kit (SDK) is installed and integrated into the backend server. An SDK is created with backend languages like Node.js, Python, .net, and Java.

The SDK sits as an interface between the web server and the testing tool server.  The SDK takes all the conditions of experimentation from the tool server in JSON format. Then the visitor is shown the requested web page with the variations prescribed in the JSON file.

The data of the user activity gets tracked on the server side. Then it is sent further for campaign reporting on a dashboard.

Benefits of server-side testing

Now that we know the conditions and scenarios for server-side testing, and the process to establish the test, let’s understand the benefits of running server-side tests.

  • Helps in running complex experimentation processes that are beyond user experience testing.
  • Mitigates risk while rolling out new features and products, as it rolls the part or product in stages. During the rollout in stages, it helps in finding gaps and scope for improvement.
  • A robust testing method for running a single test across multiple platforms like web pages and apps.
  • Provides deep insight into the full stack that helps in decision-making based on strong facts as opposed to guesstimates.

Apart from all the benefits mentioned above, there is one advantage of server-side testing that is worth mentioning. In client-side testing, there is a possibility of flickering, which means a user might see the original version for a moment before getting a variation of the webpage. This might affect the experimentation results, as some users might behave differently; when they know they are part of an experiment. However, in server-side testing variations are sent directly from the server side, which negates the chances of flickering. 

Server-side testing with VWO

It is important to have a smooth user experience while experimenting. Server-side testing with VWO ensures full flexibility to run experimentation across channels with SDK integration in 15 minutes without any performance impact. Get a demo of VWO Fullstack, and improve the digital experience across your product.