Load Testing for IT Pros

If you think that load testing (or the act of stress testing your applications to ensure quality user experiences under heavy traffic) is only for your QA counterparts, think again. In 2013 a whopping 23% of IT budgets were allocated to application quality according to Capgemini’s World Quality 2013-2014 report, up from 18% in 2012. When you think about it, it makes sense. After all IT is the first line of response when users complain and application issues arise.
Blog #3

While load testing can be intimidating for IT pros at first, it shouldn’t be when you are armed with the right testing solution. Wouldn’t you prefer to triage and resolve overloaded Citrix/MTS issues early on, before large volumes of users are impacted? That is exactly what you can do with load testing, plus you can protect your organization of hefty compliance violation penalties and security breaches. For example in the summer of 2012, the University of Chicago Medical Center had an issue where overloaded Citrix servers were logging users under wrong profiles!

Here are some quick tips to help you get started:

1. Look for a non-intrusive performance testing solution to avoid performance impact in your production environments. Ideally, “load generating machines” should be used to generate user load against the server environment under test, while “measuring machines” should measure response times and gather server performance metrics on the back-end.

2. Select a tool that doesn’t require advanced programming skills. Unless you want to show off your programming skills, or move full time to development, look for a solution that offers an easy to use point-and-click scripting wizard, so you can easily build your test scripts.

3. Make sure that you will be able to replicate and measure REAL user activity using the ACTUAL client connection GUI for each load test. That way the most important metric is measured and analyzed – the end-to-end client side response time, so you can verify that SLAs are met for all pre-defined levels of load, plus is the most accurate way to identify underperforming application components at peak usage time. For example, each CitraTest VU test script executes on its own “desktop”, and opens its own client connection to the server-under-test, just as a group of real users would.

4. Double-check that you can create and execute large volumes of real user transactions against your production environment. That way you will be able to select the right level of load (or virtual users) to fit your custom needs. Since number of employees, locations, offices, peak requests, peak times, and so on will change over time, you need to have flexibility in your virtual user levels.

5. Build realistic and comprehensive testing scenarios. Consider areas such as key applications to load test, key multi-step user interactions to verify under load (e.g. logging, check a balance, add customer call log, etc.) , numbers of virtual users to test with, as well as ramp-up time. Don’t forget to generate realistic load modeling scenarios with varying number of virtual users for complete test coverage. In addition, as your real users will not all perform the same actions, you need to simulate multiple users concurrently performing different actions in order to realistically stress test your applications, and verify all critical functions and end-to-end transactions are working well under load.

6. Oversee both server performance and end-to-end response time under load. That way you can isolate hardware constraints and bottlenecks, and ensure sufficient back-end infrastructure capacity to handle all user requests and deliver quality user experiences at peak times.

7. Keep all stakeholders in the know. In a world where IT is becoming metrics-driven and ensuring alignment with your business counterparts is a must for success, you need to be armed with the right information. Share your load testing reports (test scenarios, results, virtual users, SLAs, etc.), and keep peers, management and stakeholders in the know.

8. Analyze results. Load testing gives you actionable insight to assess the need to tackle key projects for the business (e.g. capacity planning, new vendor selection, Web performance optimization, etc.). Get together with team members and stakeholders and periodically review load testing results to make better informed decisions.

9. Decide on-going load testing frequency to ensure IT readiness on a 24x7x365. Load Testing is not a “one-time-only” activity. In fact, you should think about load testing whenever you encounter any of these situations outlined below.
o Mounting user escalations (Increased number of open helpdesk issues, escalations and user complaints, intermittent application problems that you cannot reproduce or troubleshoot…)
o New application roll-outs (e.g. new application deployment, bug fixes, new patches or service releases)
o Organizational changes (e.g. mergers and acquisitions resulting in additional employees, offices, branches or locations, business development activities, geographical expansion)
o Infrastructure changes (e.g. datacenter consolidation, virtualization, new server deployments, cloud migration)

10. Check-out Tevron’s CitraTest VU to test Citrix/RDS performance under multiple load levels, and ensure quality experiences, for all users, at all times – under all load conditions.

Did you know that even Citrix relies on CitraTest VU to run their own load testing initiatives when a new version is released?

Your network is a living entity where the number of users, remote branches and locations, business requirements, load levels and users’ expectations change at lightning speed. So load test your applications (external facing and internal apps) to ensure IT readiness for whatever changes come your way! Need more convincing? Check-out how load testing helps you mitigate risks!

Good luck with your load testing efforts!