View PDF of Webinar Slides
Transcription
View PDF of Webinar Slides
Five Hard-Won Lessons… …In Performance, Load, and Reliability Testing Ferrari 360 race from www.Fast-Autos.net www.LeeHayward.com Cosmo Wh ti M tt ? Why D Does PLR T Testing Matter? Why do performance, performance load load, and reliability testing? Inadequate performance can lead to user dissatisfaction, user errors, and lost business S stem failure under load often means loss of ssystem System stem functionality when the need is highest Reliability problems damage your reputation and your business Perhaps the more important question PLR testing is, “Are y you sure that there are not critical risks to y your business related to performance, load, or reliability?” p “Experience is a dear teacher,, but some will learn from no other.” – Ben Franklin, 1700s-era wit and US Revolutionary Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 2 G t iin PLR Ri k Greatt M Moments Risks If 10% of an ee-commerce commerce site site’ss customers abandon their shopping cart due to sluggish performance, how long will that company stay in business? One bank estimated its average cost of field failure at over €100,000—often related to PLR The Victoria’s Victoria s Secret 1999 Internet holiday lingerie show—good concept; terrible execution—mistake: insufficient performance, load, and reliability testing On introduction, a new 999 (emergency) phone service in the UK suffered from reliability (and other) problems that resulted in late ambulance arrivals and consequent fatalities Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 3 “I SSee th k S Wh ?” the Ri Risk—So Whatt D Do I D Do?” I can can’tt tell you everything you need to know—no know no one can—but I can give you some ideas The following pages will illustrate five lessons I’ve learned in PLR testing Case studies show both success and failure II’ll ll indicate tips for success with a I’ll indicate warnings for common mistakes with Ì All figures and case studies are real (some details omitted) itt d) th thanks k tto th the ki kind d permission i i off my clients li t and my associates on the projects Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 4 Fi ti Five L Lessons iin PLR T Testing Configure performance performance, load load, and reliability test environments to resemble production Generate loads and transactions that model various real-world scenarios Test the tests with models and simulations—and vice versa Invest in the right tools but don’t waste money Start modeling, g, simulation,, and testing g during g design—and continue throughout the lifecycle! g ppersonal These are hard-won lessons,, learned through experience with successful projects—and expensive failures Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 5 L li ti E i t Lesson 11: R Realistic Environments Software engineering is not yet like other engineering fields Civil engineering g g example: p Bridges g Aeronautical engineering: Scale models Software engineering counterexample: Binary trees, normalized relational databases It can be difficult to extrapolate results from smaller ll environments i t under d scaled-down l dd loads into larger environments Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 6 U li ti E i t Unrealistic Environment One client client’ss systems: Support large, diverse networks Gather, integrate, and control complex data Tested in a minimal environment For a large customer with a complex network and data, one query that was to run overnight, overnight each night, took 25 hours! ÌFor systems y that deal with large g data-sets,, don’t forget g that the data is part of the test environment Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 7 R li ti E i t Realistic Environment For a banking application, application we built a test environment that mimicked the production environment Differences were limited to the bandwidth between the call center (where the clients were) and the data center ((where the servers were)) We used testing and modeling to ensure that these differences would not affect the PLR results in the production d ti environment i t aUnderstand all differences between actual and test environments and how they might affect your results Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 8 T t andd P Test Production d ti E Environments i t Tests were run in steps where each step added 20 users to the load, looking for “knees” knees in the performance The only differences between the test and production environments were in the bandwidth and throughput limits on this wide-area network that tied the call center to the data center. Five Lessons in PLR Testing Realistic loads put into the system from the call center side of the interface www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 9 L l W ld L d Lesson 22: R Real-World Loads A realistic test environment makes possible the next level of realistic PLR testing: realistic transactions and loads Load scenarios should include… Regular events (like backups) Seasonal events (e.g., holiday shopping, year year-end end closing, etc.) Different classes of users (power, novice, etc.) Growth for the future External factors (such as WAN or Internet load) aTry “tip over tests”: Increase load until the system fails to check for graceful degradation and unexpected bottlenecks Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 10 Li ht U p t ti L d Light, Unrepresentative Loads For an interactive voice response server server, the developers tested subsystem performance by generating load using half of the telephony cards The system load imposed by the load generators was below that of the telephony subsystems under test Warnings from test professionals about the meaninglessness of such tests were ignored The tests “passed”, until… ÌPLR testing is a specialized, complex task that requires expertise and study: Careless OJT can kill your project Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 11 R p t ti L d Representative Loads We built a load generator that ran on an identical but separate host We loaded all telephony ports The tests failed, failed revealing project-threatening design problems And when we cranked up the h lloadd here… h Crash!!! aPrefer non-intrusive load generators for most PLR testing ÌPLR testing of subsystems in unrealistic system settings yields misleading results Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 12 Wh lf G tdL When SSelf-Generated Loadd iis Ok Okay “MaxConfig” MaxConfig A cluster of 31 systems A mix of mainframes and PCs running Unix Load generators Simple p Unix/C p programs g Used files, interprocess communication, process migration, g and other cross-network activities Created high, random loads for up to 48 hours aIntrusive (self-generated)www.rbcs-us.com load works for load, reliability tests Five Lessons in PLR Testing Copyright (c) 2004-2007 RBCS Page 13 L t d th dl Lesson 33: T Testt th the T Tests—and the M Models If realism of environment and load is important, how can we be sure we got it right—before g we g go live or ship? p Models can help us “test our tests” The tests also test the models A model which is validated through testing is useful for p predicting g future p performance aSpreadsheets are good for initial PLR modeling and design aDynamic simulations allow for more “what-if” scenarios and are useful during design, implementation, and testing Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 14 T if Test,t bbutt V Verify For an Internet project, project we tested at 25K, 40K, and 50K We used a production environment and realistic load generator Functional testing of the devices during PLR tests gave us a sense of user experience i under d load l d We compared our test results against the simulation results Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 15 D bl Ch ki Double-Checking An extract from our PLR results presentation Simulation data for IMAP servers 45% server utilization at 25K users 75% server utilization (saturation) at 40K users Worst-case snapshots (25K users) Server CPU Idle MTA1 MTA2 Maildb1 Maildb2 IMAP1 IMAP2 68% 79% 67% 89% 59% 55% ∴ Test data supports simulation results @ 25K users www.rbcs-us.com Five Lessons in PLR Testing Copyright (c) 2004-2007 RBCS Page 16 A bl Ch ki Andd M More D Double-Checking We did a detailed analysis of performance, performance too Transaction Connect Banner Authorize Select Fetch Server IMAP IMAP IMAP IMAP IMAP Frequency 1 per connect 1 per connect 1 per connect 1 per connect 1 per connect Simulation Time (ms) 0.74 2.57 19.68 139.87 125.44 Observed Time (ms) 0.77 13.19 19.08 163.91 5,885.04 aBe careful to design your tests and models so that you can compare the results. results Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 17 L l D ’t Spl Lesson 44: IInvestt iin T Tools—Don’t Splurge Tools are necessary for PLR testing There are many types of suitable tools Commercial Open-source Custom-developed p For complex test situations, you may well need a combination of the above aCheck www.tejasconsulting.com and sourceforge.org for open-source tools ÌDon’t overload on free tools; even free tools have costs Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 18 M t d on T l Money W Wasted Tools One client’s client s all all-too-often-repeated too often repeated test tool tale They selected a commercial tool based solely on a salesperson’s representations that it would work for them They y hired a consultant to automate all their tests for them, without any transition plan to train staff, maintain tests They tried to automate at an unstable interface (in this case, the GUI) The consultant left, and the day after the tool and the tests were found to be unusable by the staff Total cost? About $500,000! aFirst, design your PLR test system (cases, data, automation strategy, etc.), then identify the specific tool requirements for your system, t andd only l then th go shopping h i for f tools t l Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 19 M ll Sp t Money andd Ti Time W Well-Spent For a complex system with a wide wide-area area network of interactive voice response servers connected to a large call center, we used the following tools QA Partner (now ( Silk) lk) to d drive the h call ll center applications l through the graphical user interface Custom-built load generators to drive the interactive voice response server applications l Custom-built middleware to tie the two sides together and coordinate the testing end-to-end Free tools such as TCL as building blocks for our test components Total cost? Under $$500,000 , Let’s see how… Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 20 A hit t off the Architecture th System S t Under U d Test T t ACD PBX N x T1 Telephone CSA Workstation ACD IVR City IVR CT-Connect Server Telephone CM Workstation CSA-Server WAN CM Server Pub/Su Telephone Voice Repository CSA Workstation Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS City IVR Page 21 T t SSystem Test t A Architecture hit t ACD PBX N x T1 CSA Workstation QA Partner drove the call center GUI application ACD IVR City IVR CT-Connect Server CM Workstation CSA-Server WAN CM Server Pub/Su Voice Repository Custombuilt load generator drove the IVR application CS Workstation CSA City IVR Custom-built testing middleware coordinated the tests end-to-end Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 22 L l d St Lesson 55: St Startt E Early—and Stay on C Course Performance, load Performance load, and reliability problems often arise during initial system design A bad unit or subsystem can affect the entire system Interface problems between subsystems can create PLR problems Slow brittle, Slow, brittle unreliable system architectures can can’tt be patched into perfection aU models aUse d l tto identify id tif andd fix fi PLR problems bl during d i design d i aInclude PLR in unit, subsystem, integration, and system test ÌThrowing more hardware at the problems might not work Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 23 F ili tto Sti k with ith th Failing Stick the P Program For the interactive voice response server testing mentioned on slides 11 and 12, one senior technical staff member had built a spreadsheet model that predicted many of the problems we found in later testing However, there was no follow-up during design, implementation, or subsystem testing Late discovery of problems during integration and system test lead to “patching” off th the IVR server… Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 24 P bl with ith P t hi PLR B Problems Patching Bugs Patching of a problem would improve performance However, the next bottleneck would be discovered during g testing “Peeling the onion” was a slow l process which hi h didn’t resolve the performance p p problems Five Lessons in PLR Testing Lines on the axes indicate desired response ti andd supported time t d load l d level l l www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 25 PLR l T PLR: T Testt E Early, Testt Oft Often For the Internet project discussed on slides 15 15-17 17, we started with a spreadsheet during initial server system design That initial server design was turned into a simulation, which was fine-tuned as detailed design work continued Performance testing of units and subsystems was compared against the simulation Few surprises were found during system testing aIteratively improve the models and the tests to resolve discrepancies between the predicted and observed results Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 26 Wh ti St d? Where D Does Y Your PLR T Testing Stand? Assess your PLR testing: How well—or poorly—does your company do in applying pp y g each of these lessons? Which common mistakes are you making? Which tips for success could you apply? Avoid expensive, unforeseen field failures by assessing and improving your PLR risk mitigation iti ti strategy t t th throughout h t th the lif lifecycle l ÌDon’t let PLR field failures be your first sign you’re at risk aDirect questions to [email protected] Five Lessons in PLR Testing www.rbcs-us.com Copyright (c) 2004-2007 RBCS Page 27 …Contact C t t RBCS For over a dozen years, RBCS has delivered services in consulting, outsourcing and training f software for ft andd hardware h d testing. t ti Employing E l i the th industry’s i d t ’ mostt experienced i d andd recognized consultants, RBCS conducts product testing, builds and improves testing groups and hires testing staff for hundreds of clients worldwide. Ranging from Fortune 20 companies to start-ups, RBCS clients save time and money through improved product development, decreased tech support calls, improved corporate reputation and more. To learn more about RBCS, visit www.rbcs-us.com. Address: RBCS, Inc. 31520 Beck B kR Road d Bulverde, TX 78163-3911 USA Phone: +1 ((830)) 438-4830 Fax: +1 (830) 438-4831 E-mail: [email protected] Web: www.rbcs-us.com Five Testing Best Practices www.rbcs-us.com Copyright (c) RBCS Page 28