Facebook Testing

Professional Facebook application testing (including load testing) is available from the experts at Facebook Testing.

Facebook FanBox

FriendRunner for Tool Vendors

Integrating FriendRunner with 3rd-party load testing tools

Problem

Viral growth and quick scaling are often critical to a Facebook application's success, so load testing the app before deployment would seem like a no brainer.

As enterprise customers embrace Facebook and develop applications on the platform, they expect to fully test their products before deployment. However, the Facebook Platform prevents traditional load testing tools from testing Facebook applications, and so the vendors of these tools miss an opportunity. (Learn more about this problem here.)

Solution

FriendRunner is a cloud-based tool that enables the load testing of Facebook applications. It emulates the Facebook Platform so that a Facebook application can run against it instead of the real Facebook. This removes the barriers to load testing, because it enables a 3rd-party load testing tool to treat the Facebook app like any other web application.

This e-mail address is being protected from spambots. You need JavaScript enabled to view it a demonstration to see how easy integration is. Vendors can integrate their tools with FriendRunner using different levels of connectedness depending on their customers' needs:

Tier 1: Simple Integration

FriendRunner enables access to Facebook applications by allowing the Facebook information (such as each virtual user's login credentials) to be specified as parameters in a custom URL according to some simple rules. If the URLs in the test script adhere to these rules, then the load testing tool works with FriendRunner. While this type of integration is not very tight, it is powerful as the two systems can work together without changing any product code.

As a simple enhancement, the tool vendor can build simple macros or functions into the script editor to facilitate URL construction by its customers. This decreases the need for documentation and it lowers support costs.

Tier 2: Test Tool Launches and Controls the FriendRunner Infrastructure

While simple integration is a powerful tool, both systems must be started, configured, and stopped independently, and they do not share information.

A more integrated system enables the test tool to launch the FriendRunner infrastructure with the correct configuration based on the test specifications. This improves the customer experience, as the load test is managed from a single console.

Tier 3: FriendRunner shares information with the Test Tool

The best integration occurs when FriendRunner can share data with the test tool that only it can access. This data can be valuable to the customer, and the test tool's user interface can display this to the customer. FriendRunner can share several types of data:

More meaningful timing metrics

Page load times are a poor metric for Canvas applications, because of all the things happening between the test tool and the application (i.e. proxying by Facebook, calling the application, rendering FBML into HTML, lots of network latency, etc.). As this diagram indicates, the load times calculated by the load test tool contain many actions. This makes it difficult for a customer to isolate and measure the performance of his application.

 

 

Alternatively, Application Time is a better metric, because it measures only the time that the application is actually working: the other times are not included. This is available only to FriendRunner, which is the process calling the application. For more information, see here.

 

API Call Analysis

The customer can view a list of APIs calls, with their parameters, that the application makes into the FriendRunner/Facebook server. This is a useful diagnostic tool to help determine if the application is making unnecessary round trips to the Facebook server and hindering its performance. Furthermore, the customer can see which API calls are either already deprecated or soon to be deprecated, and can view recommended replacement calls.

 

API Call Timing

The customer can monitor FriendRunner's performance to verify that it is performing consistently and is not introducing any delays to the application's processing during API calls. 

Share
 
FriendRunner Alert

FriendRunner Alert monitors the Facebook Platform and automatically tests all Facebook's changes against your application. You'll be alerted to any problems that occur so that you can fix them before your users encounter them.

Test Facebook

To learn more about testing Facebook applications, be sure to check out Test Facebook.

Development Blog