| |||||||||||||
| |||||||||||||
|
|
Testing Systems Under Load By Jim Jenkins and Mike Burke | IQ Services
Today’s telecommunications and contact center infrastructures have become extremely complex. They involve highly integrated combinations of hardware and software delivering business solutions to virtually every industry. New technologies underlying these infrastructures are added every day, sometimes halfway around the world. The design and reliability of these infrastructures is critical to delivering the level of customer service demanded by business-to-business and business to consumer business solutions. In order to meet the strict Customer Satisfaction and ROI objectives associated with deploying complex infrastructures, companies must first know a business solution works as designed before it is put into production. Testing systems under load is the only way to be confident a business system will work as designed. What does it mean to test a system under load? The simplest definition is to create a level of activity in a test environment that equals or exceeds the level of activity you expect to experience when actual users access and exercise the system. Planning Load Test ActivityThe key to successful load testing is planning. Load testing is not function or unit level testing. It is testing that verifies your business solution meets your business objectives at designed levels of activity. To accomplish this, you must identify the high-risk areas related to system performance and create test scenarios that thoroughly exercise those areas at activity levels that meet your design objectives. Pay particular attention to data interactions between servers and call transfers. For example, if you have a contact center business solution that is expected to handle 15,000 calls per hour, with a portion of those calls being handled by self service applications and the balance of the calls being handled by agents, you might want to set a test objective of 20,000 calls per hour with an appropriate number of calls directed to self service and agents. If your business solution also includes online access you may want to have your test include a required number of browsers with appropriate design margins to demonstrate overall system performance under load. In all cases the test scenarios should represent complete (end- to-end) transactions. The above is a simple high-level example of how test objectives can be established. There are many other objectives related to performance on the actual calls that should also be established as part of your planning activity. These include measurement of response times, verification of announcements, and voice quality. Other objectives related to demonstration of business continuity and real-time maintenance can also be built into the objectives of testing activity.Set up is everything! The establishment of well-defined test objectives is key to creating test scenarios that will result in the best demonstration of system performance under load. Implementing Load TestingThere are many interesting issues and approaches to testing systems under load. Over the years, we have learned several important things about effectively performing testing and evaluating the results. One of the key lessons learned is the value of an automated, repeatable test methodology that provides clearly documented results, not just anecdotal reports of issues. Another is having everyone who cares about the test results participate in the actual testing. There is no substitute for real-time visibility of performance and issues. Observing performance changes driven by turning the volume of activity up and down improves everyone’s understanding of how a business solution actually performs. Issues can frequently be identified and corrected in minutes instead of days. One of the major challenges of both planning and implementing testing is scheduling. Testing milestones in an implementation schedule certainly help to drive a project. However it is important to keep the testing in perspective and not allow the testing to become an end in itself. Systems need to be tested when they are ready for testing. Load testing before appropriate unit level testing has been successfully completed and overall system setup has been properly verified can result in spending unnecessary dollars and chasing the wrong problems. It is good practice to plan on two to three iterations of load testing before you expect to be complete. The actual time required for load testing will depend on the complexity of the infrastructure and the test objectives. Whenever possible, load testing should occur one to two weeks before cutover, to allow time for tweaks and re-testing, and should be performed on the actual production infrastructure to ensure all components have been integrated correctly. Observing and Documenting Load TestingSimple, accurate and thorough documentation of test results that can be quickly accessed and analyzed on-line is a key element of effective load testing. Recordings of test calls are invaluable. Being able to listen to calls online immediately after they are completed adds major value to the process. Recordings clearly document and illustrate issues so they can be addressed without having to attempt to replicate an issue based on anecdotal reports of unexpected system behavior. It is amazing what a knowledgeable person who intimately understands the system infrastructure can determine from listening to a call that was not handled as expected. The test data collected should be comprehensive and it should be possible to organize and present the data in the ways that best match the test objectives. Straightforward formal documentation of the test results provides confidence the system is ready for actual customers. Benchmark and Regression Testing What can be learned by testing systems under loadProperly planned and implemented, a load test is a thorough system check-up. Load testing can answer questions such as:
Testing systems under load is a key requirement of meeting customer satisfaction and ROI objectives. The consequences of not performing this testing can be disastrous to your business. Proper planning and implementation will result in cost effective testing that gives you confidence your end users are having the experience you intend. Testing systems under load at all phases of the business solution lifecycleThe following chart provides more examples of how load testing can fit into the life cycle of a business solution.
|
||||||||||||
Privacy Statement | Terms Of Use | Site Map | Archive | Contact Us | Blog Copyright © 2010 Interactive Quality Services, Inc. doing business as IQ Services. All Rights Reserved. | |||||||||||||