Most companies, nowadays, use the latest technologies to deploy their mission critical applications on the web. So the performance of each application must be tested under different loads and environments. Often the applications are load tested by simulating the users of many users at a time. Many developers use Microsoft Silverlight to develop robust application to complement the need and objectives of their organization.
But the technology is completely different from other conventional applications as the content is delivered without reloading the page. Also, a Silverlight application has to be constantly updated by the server in an asynchronous manner. So application testers often find it a daunting challenge to emulate the test loads realistically. If you are planning to use the new technology to develop or deploy web applications, it becomes essential to explore innovative load testing techniques to address the new challenges.
Silverlight Development Tip#1: Optimize Your Application to Support Multiple Communication Protocols
For load testing an application it is essential to simulate all types of end-users in an exact and accurate way. So the load testing tool must support the different protocols supported used by Silverlight to process user requests. The support will result in smooth extraction of data based on the parameters submitted by individual users, and validating the response.
As a Silverlight application can communicate with the server using multiple protocols, you need to ensure that it supports the Windows Communication Foundation based protocols including REST, and SOAP with classic XML or binary XML. You can design Web services using a set of architectural principles defined by REST. These protocols decide how to use important HTTP verbs like GET, POST, PUT and DELETE. As a XML-based protocol, SOAP allows you application to receive and send information over HTTP.
At the same time, you have options to choose from two approaches to handle applications using SOAP protocol. Along with using an XML manipulation method, you can further load test your application using a specialized tool with dedicated SOAP support capability. Unless your application supports these key communication protocols, the tool will fail to generate realistic test design for individual virtual users, and thus make the test results insignificant and worthless.
Silverlight Development Tip#2: Allow Automatic Processing of Application Identifiers
The Silverlight applications use a variety of identifiers for internal processing. Along with the identifiers common to each Silverlight application, you can also use identifiers specific to your application. Normally, these identifiers are uses as parameters to customize requests and respond. However, you can use multiple identifiers at a time to process the requests sequentially. Generally, the identifiers keep changing whenever a new communication takes place between the client and server.
If you do not assign correct values to the identifiers, these will generate error when you playback a recorded session. So you must extract each parameter at the runtime, and assign appropriate value to simulate the users in an accurate way. However, you must avoid handling the identifiers manually to save your time and efforts. While load testing Silverlight testing, you must use the right tool that automatically detects and processes identifiers related to specific application. Also, you must allow the load testing tool to process custom identifiers automatically by declaring custom correlation rules.
Silverlight Development Tip#3 : Identify and Fix the Cause of Performance Problems
While load testing the application, it may throw errors or has longer response time. So you must identify the root cause of such problems, and fix these as early as possible. Often such problems are caused due to issues in your server infrastructure. You can monitor you server, while running the test to easily identify the root cause. However, it is also important to decide the required components and appropriate values based on your application.
If you are not a system expert, it is advisable to use a specialized tool that can select the right counters automatically, and set the threshold values to generate alerts. While selecting the tool, you need to ensure that it is effective in setting threshold values and counters according to latest industry standards. At the same time, you must customize the setting to meet specific objectives and requirements.
You can also use results correlation as an effective tool to analyze the test results, and identify the root cause of these performance problems. These details can also be used to fix the problems in the application and server infrastructure immediately to make the Silverlight application more powerful.
In addition to following these important tips, it is also a good idea to customize the load testing strategy by keeping in mind the needs and objectives of your organization. Also, you must change your approach to load testing from time to time to launch a powerful Silverlight application while saving your time and efforts.
3 Tips to Successfully Load Test Microsoft Silverlight