Why Silverlight Load Testing?
In today's complex web application world, developers need to test applications that go beyond simple HTTP-based pages. They need to test Rich Internet Applications (RIAs) that incorporate
complex technologies like Silverlight.
Silverlight applications may be different from applications you worked with previously. With applications
that deliver HTML as the user interface, the server does all of the processing. Users simply page back and forth to the server. Silverlight applications are different. These applications
download the Silverlight client application and run in the browser. They only go back to the server periodically to request or send data. For this reason, server loads reveal a very different
With innovative RIA technologies like Silverlight, there are many new challenges to address.
If you can address these challenges, you can expect success with Silverlight. If you're developing or deploying applications in this fresh environment, you need to think about load testing
in new ways. This article will to discuss the new challenges in load testing Silverlight applications and how to best address them.
What You Want to Test?
Before you start testing an application, it is important to determine your application testing objectives. Do you want to test an application's robustness, performance, infrastructure and/or stability for a predefined user load? If yes, then you want to simulate user experience at a constant rate over a period of time. The test results should answer the following questions:
- Is the server capable of handling a certain number of simultaneous users?
- Is the average response time for pages acceptable under this set load?
- Does the server revert to normal behavior after a load peak?
To find out the different break points, you want to progressively increase the load of the application. The test results should answer the following questions:
- How many users can the application handle while maintaining an acceptable response time?
- What is the load threshold above which the server begins to generate errors and/or refuse connections?
How to Test Your Application
To produce a realistic test, it is essential to pay special attention to three key items:
1. Number of Virtual Users:
The number of virtual users must be close to the number of real users once the application is in production, with a realistic think time applied
between pages. Think time is the time it takes a user to click through to the next page from the current one. Avoid testing with too few virtual users and a reduced think time.
2. Type of Virtual Users:
Not all users employ a web application in the same way. Therefore it is important to define a virtual user for each user profile: simple browsing,
browsing with modifications, system administrator, etc.
3. User Accounts and Values:
Testers should use variables to dynamically modify key values such as user account logins or certain form parameters (such as productID in an e-business application).
Tips to Keep in Mind when Testing Silverlight
To improve application performance, Silverlight, Microsoft's solution for rich Internet applications, uses XAML
for its browser-server communication. Dynamic proprietary parameters must be correctly handled by your load testing tool. Be sure it is ready to test this framework.
Some Silverlight applications use WCF (Windows Communication Foundation).
RIAs like Silverlight technology allow a richer, faster and more interactive experience with browser-enabled applications and services. While next-generation applications like Silverlight
promise a much better customer experience, they also have the potential to overwhelm the servers and networks that deliver the content to client browsers.
Given the potential peak demands of these applications, it's best to approach web application development with RIAs like Silverlight with care. When using Silverlight or other RIA technology,
you need to verify that your applications can handle the loads in a pre-production environment first. Poor application performance, unexpected deployment issues, and server malfunction can
compromise your web application. But by following many of these best practices and techniques explained in this article, Silverlight developers can improve reliability, performance, reduce
development costs and, most important, help your company deliver what it promised in terms of application functionality and performance.
NeoLoad is a performance testing tool which supports Silverlight technology testing
You've liked this content? Please recommend us on Google+1: