A Heuristic Approach. Scott Barber
|
|
|
- Randall Hardy
- 10 years ago
- Views:
Transcription
1 Performance Testing Software Systems: A Heuristic Approach Derived from: Microsoft patterns & practices Performance Testing Guidance for Web Applications By: J.D. Meier, Carlos Farre, Prashant Bansode, Scott Barber, Dennis Rea 2007 Microsoft Corporation. All rights reserved. Scott Barber Chief Technologist PerfTestPlus, Inc. Performance Testing Software Systems Page 1
2 Performance Testing Software Systems Scott Barber, (A.K.A. The Perf Guy ) [email protected] Chief Technologist, PerfTestPlus, Inc. Vice President & Executive Director, Association for Software Testing Contributing Author & Expert Advisor Performance Testing Guidance for Web Applications Performance Testing Software Systems Page 2
3 Credits Some of this material was developed for, or inspired by, Performance Testing Guidance for Web Applications, a Microsoft patterns & practices book by J.D. Meier, Scott Barber, Carlos Farre, Prashant Bansode, and Dennis Rea. Many ideas in this course were inspired or enhanced by colleagues including Alberto Savoia, Roland Stens, Richard Leeke, Mike Kelly, Nate White, Rob Sabourin, Chris Loosley, Ross Collard, Jon Bach, James Bach, Jerry Weinberg, Cem Kaner, Dawn Haynes, Karen Johnson, and the entire WOPR community. Most of the concepts in this presentation are derived from publications, presentations, and research written and/or conducted by Scott Barber. Many ideas were improved by students who took previous versions of this course, back to This course has been heavily influenced by: Rapid Software Testing (James Bach & Michael Bolton, Satisfice, Inc.) Just-In-Time Testing (Robert Sabourin, Amibug, Inc.) Performance Testing Software Systems Page 3
4 I Assume That You: Test software performance or manage someone(s) who does. Have at least some control over the design of your tests and some time to create new tests. Have at least some influence over your test environment. Are worried that your test process is spending too much time and resources on things that aren t important AND/OR Are worried that your test process doesn t leave enough time and resources to determine what IS important. Believe that good testing requires thinking. Test under uncertainty, resource limitations and time pressure. Have a major goal to find important problems quickly. Want to get very good at testing software performance. Performance Testing Software Systems Page 4
5 There is no such thing as a junior performance tester but there are people who are new to performance testing. --Scott Barber Performance Testing Software Systems Page 5
6 Instructional Methods That I Use The Class Presents My Editorial Opinions: I do not make appeals to authority; I speak only from my experiences, and I appeal to your experience and intelligence. Not All Slides Will be Discussed: There is much more material here than I can cover in detail, so I may skip some of it. (If you want me to go back to something that I skipped, just ask.) I Need to Hear from You: You control what you think and do, so I encourage your questions about and challenges to the lecture. (Talk to me during the break, too.) If You Want Specifics, Bring Specifics: I invite you to bring real examples of testing problems and test documents to class. (I am happy to show you how I would work through them.) The Exercises are the Most Important Part: I sometimes use immersive socratic exercises that are designed to fool you if you don t ask questions. I usually do not provide all the information you need. Asking questions is a fundamental testing skill! Slide Adapted from Rapid Software Testing by James Bach & Michael Bolton, , Satisfice, Inc. Performance Testing Software Systems Page 6
7 Instructional Methods That I Use If I call on you, and you don t want to be put on the spot, just say Pass! Slide Adapted from Rapid Software Testing by James Bach & Michael Bolton, , Satisfice, Inc. Performance Testing Software Systems Page 7
8 What Not to Expect From Me Untested theory. Marketing fluff. Pulled punches to protect the guilty. The One True Answer to anything. Every concept to apply, precisely as presented, to every context. Over simplifications without acknowledgement. A disimpassioned, boring instructor! Performance Testing Software Systems Page 8
9 Primary Goal of this Course To teach you how to think about, organize, and manage performance testing effectively, under time and resource constraints, by examining nine core principles common to successful performance testing projects and examining how you can rapidly apply those principles to your project context. Performance Testing Software Systems Page 9
10 Secondary Goal of this Course To introduce you to how to apply heuristics and oracles to increase your ability to more efficiently and effectively achieving the objectives of you performance testing projects. Performance Testing Software Systems Page 10
11 Let s face the truth, performance testing *IS* rocket science. --Dawn Haynes Performance Testing Software Systems Page 11
12 Mnemonic Mnemonics make difficult to remember information, less difficult to remember. adjective: assisting or intended to assist the memory. noun: thing intended to assist the memory, as a verse or formula. Mnemonics Neatly Eliminate Man's Only Nemesis Insufficient Cerebral Storage An acrostic mnemonic to remember how to spell mnemonics. - Performance Testing Software Systems Page 12
13 Mnemonics in this Course Were created by Scott Barber to help Scott organize and remember stuff. Have been, and will be, revised when revisions help Scott remember stuff better, or remember better stuff. Have been used and liked by some people other than Scott. Have proven to be not so memorable for some people. If these mnemonics don t work for you, create your own!! Performance Testing Software Systems Page 13
14 Heuristics Heuristics bring useful structure to problem-solving skill. adjective: serving to discover. noun: a fallible method for solving a problem or making a decision. Heuristic reasoning is not regarded as final and strict but as provisional and plausible only, whose purpose is to discover the solution to the present problem. - George Polya, How to Solve It Slide Adapted from Rapid Software Testing by James Bach & Michael Bolton, , Satisfice, Inc. Performance Testing Software Systems Page 14
15 Types of Heuristics Guideword Heuristics: Words or labels that help you access the full spectrum of your knowledge and experience as you analyze something. Trigger Heuristics: Ideas associated with an event or condition that help you recognize when it may be time to take an action or think a particular way. Like an alarm clock for your mind. Subtitle Heuristics: Help you reframe an idea so you can see alternatives and bring out assumptions during a conversation. Heuristic Model: A representation of an idea, object, or system that helps you explore, understand, or control it. Heuristic Procedure or Rule: A plan of action that may help solve a class of problems. Slide Adapted from Rapid Software Testing by James Bach & Michael Bolton, , Satisfice, Inc. Performance Testing Software Systems Page 15
16 Some Everyday Heuristics It s dangerous to drink and drive. A bird in hand is worth two in the bush. Nothing ventured, nothing gained. Sometimes people stash their passwords near their computers. Try looking there. Stores are open later during the Holidays. If your computer is behaving strangely, try rebooting. If it s very strange, reinstall Windows. If it s a genuinely important task, your boss will followup, otherwise, you can ignore it. Slide Adapted from Rapid Software Testing by James Bach & Michael Bolton, , Satisfice, Inc. Performance Testing Software Systems Page 16
17 Heuristics Process A heuristic is not an edict. Heuristics require guidance and control of skilled practitioner. Heuristics are context-dependent. Heuristics may be useful even when they contradict each other especially when they do! Heuristics can substitute for complete and rigorous analysis. Slide Adapted from Rapid Software Testing by James Bach & Michael Bolton, , Satisfice, Inc. Performance Testing Software Systems Page 17
18 Heuristics in this Course Were created by Scott to help Scott organize and remember stuff. Are fallible (ask Scott about times when they have failed him). Are incomplete (ask Scott about times when he used these and still missed stuff ). Are not all relevant to every project and every context. If these heuristics don t work for you, create your own (and update the mnemonic)!! Performance Testing Software Systems Page 18
19 Principles Process One-size-fits-all approaches fit performance testing poorly. In my experience, successful performance testing projects involve at least active decisions related to each of the core principles in this course. Core principles are neither exclusive, nor sequential. They go by many different names, have varying priorities, and may be implicit or explicit. Core principles are not in themselves an approach or process. Core principles represent a foundation upon which to build a process or approach based on the context of your project. Performance Testing Software Systems Page 19
20 Performance Testing Principles: (A mnemonic of guideword heuristics) Performance Testing Software Systems Page 20
21 Performance Testing Principles Project context is central to successful performance testing. Business, project, system, & user success criteria. Identify system usage, and key metrics; plan and design tests. Install and prepare environment, tools, & resource monitors. Script the performance tests as designed. Run and monitor tests. Validate tests, test data, and results. Analyze the data individually and as a cross-functional team. Consolidate and share results, customized by audience. "Lather, rinse, repeat" as necessary. Performance Testing Software Systems Page 21
22 Performance Testing Software Systems Page 22
23 When assessing project context, I (Another mnemonic of guideword heuristics) Performance Testing Software Systems Page 23
24 Why do we test software system performance? To determine compliance with requirements? To evaluate release readiness? To assess user satisfaction? To assist in performance tuning? To estimate capacity? To validate assumptions? To generate marketing statements? Performance Testing Software Systems Page 24
25 Performance Testing Software Systems Page 25
26 Do you know your performance testing mission? Do you know the Commander s Intent? Can you find out? Might COPE in PUBS help? Example from my days as a U.S. Army LT: Mission: Secure hilltop 42 NLT 0545 tomorrow. Commander s Intent: It is my intent that the supply convoy safely cross the bridge spanning the gorge between hilltop 42 and hilltop 57 between 0553 and 0558 tomorrow. Performance Testing Software Systems Page 26
27 Instructions: Assemble into groups of 3-5 people (4 is ideal) that you don t normally work with. Use COPE in PUBS to describe your current or most recent performance testing project to one another. Pick the most interesting and jot down some notes about its context using COPE in PUBS. Be prepared to brief the class on the context of the project you chose AND be prepared to answer questions about the contexts of your teammates. Performance Testing Software Systems Page 27
28 Performance Testing Software Systems Page 28
29 Performance Testing Software Systems Page 29
30 Performance Criteria are boundaries dictated or presumed by someone or something that matters. Goals: Soft Boundaries (User Satisfaction) Requirements: Firm Boundaries (Business or Legal) Thresholds: Hard Boundaries (Laws of Physics) Constraints: Arbitrary Boundaries (Budget or Timeline) Performance Testing Software Systems Page 30
31 Performance Goals are soft boundaries typically representing the opinion of someone that matters. Typically target whole-system performance characteristics Are often unsubstantiated opinions Are often unattainable Must be well qualified, but can be loosely quantified Performance Testing Software Systems Page 31
32 Performance Requirements are firm boundaries frequently derived from contracts (that matter). Are actually required to pass to go live Are often externally dictated Are often continually monitored in production Are typically legally enforceable Must be both well qualified and quantified Performance Testing Software Systems Page 32
33 Performance Thresholds are hard boundaries that represent physical properties of a system (that matters). Are the maximum acceptable values for component-level resources of interest Based on published hardware or software performance recommendations or direct observation Are practically non-negotiable without an environmental change Performance Testing Software Systems Page 33
34 Performance Constraints are arbitrary boundaries set or presumed by someone that matters (but likely doesn t get it ). Boundaries imposed by people, traditions, and/or assumptions Are sometimes exceedingly difficult to challenge Are almost always worth questioning if they jeopardize the project Performance Testing Software Systems Page 34
35 + => Performance Testing Software Systems Page 35
36 Performance Testing Objectives What we actually hope to gain by testing performance Are sometimes completely unrelated to stated requirements, goals, thresholds, or constraints Should be the main drivers behind performance test design and planning Usually indicate the performance-related priorities of project stakeholders Will frequently override goals in go-live decisions How do we know if we re meeting our objectives? Performance Testing Software Systems Page 36
37 For a video lecture, see: Slide Adapted from Rapid Software Testing by James Bach & Michael Bolton, , Satisfice, Inc. Performance Testing Software Systems Page 37
38 An oracle is the principle or mechanism by which you recognize a problem...it works...it appeared at least once to meet some requirement to some degree. Slide Adapted from Rapid Software Testing by James Bach & Michael Bolton, , Satisfice, Inc. Performance Testing Software Systems Page 38
39 Without an oracle you cannot recognize a problem If you think you see a problem, you must be using an oracle. Slide Adapted from Rapid Software Testing by James Bach & Michael Bolton, , Satisfice, Inc. Performance Testing Software Systems Page 39
40 Consistency ( this agrees with that ) is an important theme in oracles History: The present version of the system is consistent with past versions of it. Image: The system is consistent with an image that the organization wants to project. Comparable Products: The system is consistent with comparable systems. Claims: The system is consistent with what important people say it s supposed to be. Users Expectations: The system is consistent with what users want. Product: System elements are consistent with comparable elements in the system. Purpose: The system is consistent with its purposes, both explicit and implicit. Statutes: The system is consistent with applicable laws and legal contracts. Familiarity: The system is not consistent with the pattern of any familiar problem. Consistency heuristics rely on the quality of your models of the product and its context. Slide Adapted from Rapid Software Testing by James Bach & Michael Bolton, , Satisfice, Inc. Performance Testing Software Systems Page 40
41 All Oracles Are Heuristic We often do not have oracles that establish a definite correct or incorrect result, in advance. That s why we use abductive inference. No single oracle can tell us whether a program (or a feature) is working correctly at all times and in all circumstances. That s why we use a variety of oracles. Any program that looks like it s working, to you, may in fact be failing in some way that happens to fool all of your oracles. That s why we proceed with humility and critical thinking. You (the tester) can t know the deep truth about any result. That s why we report whatever seems likely to be a bug. Slide Adapted from Rapid Software Testing by James Bach & Michael Bolton, , Satisfice, Inc. Performance Testing Software Systems Page 41
42 Coping With Difficult Oracle Problems Ignore the Problem Ask so what? Maybe the value of the information doesn t justify the cost. Simplify the Problem Ask for testability. It usually doesn t happen by accident. Built-in oracle. Internal error detection and handling. Lower the standards. You may be using an unreasonable standard of correctness or goodness. Shift the Problem Parallel testing. Compare with another instance of a comparable algorithm. Live oracle. Find an expert who can tell if the output is correct. Reverse the function. (e.g. 2 x 2 = 4, then 4/2 = 2) Slide Adapted from Rapid Software Testing by James Bach & Michael Bolton, , Satisfice, Inc. Performance Testing Software Systems Page 42
43 Coping With Difficult Oracle Problems Divide and Conquer the Problem Spot check. Perform a detailed inspection on one instance out of a set of outputs. Blink test. Compare or review overwhelming batches of data for patterns that stand out. Easy input. Use input for which the output is easy to analyze. Easy output. Some output may be obviously wrong, regardless of input. Unit test first. Gain confidence in the pieces that make the whole. Test incrementally. Gain confidence by testing over a period of time. Slide Adapted from Rapid Software Testing by James Bach & Michael Bolton, , Satisfice, Inc. Performance Testing Software Systems Page 43
44 Instructions: Reassemble into your group. Identify at least 3 performance criteria for your project of each type. (Goals, Requirements, Thresholds, and Constraints) Based on your criteria, identify the top 5 performance testing objectives for your project. Identify your oracles for the top 5 performance testing objectives. Be prepared to brief the class on your criteria, objectives, and oracles. Performance Testing Software Systems Page 44
45 Performance Testing Software Systems Page 45
46 Enterprise grade load generation tools are designed to look easy in sales demos. Don t be fooled. --Scott Barber Performance Testing Software Systems Page 46
47 To help me decide what tests to design, I use (An acronym of guideword heuristics) Performance Testing Software Systems Page 47
48 Do I need this test to: or or response and/or utilized under or conditions Performance Testing Software Systems Page 48
49 Communicating Design Performance Testing Software Systems Page 49
50 When Building Usage Models, I (Yet another mnemonic of guideword heuristics) Performance Testing Software Systems Page 50
51 Common activities (get from logs) e.g. Resource hogs (get from developers/admins) Even if these activities are both rare and not risky SLA s, Contracts and other stuff that will get you sued What the users will see and are mostly likely to complain about. What is likely to earn you bad press New technologies, old technologies, places where it s failed before, previously under-tested areas Don t argue with the boss (too much) Performance Testing Software Systems Page 51
52 Communicating System Usage Performance Testing Software Systems Page 52
53 Intent of Investigation: Prerequisites: Tasks: Tools & Scripts: External Resources Needed: Risks: Data of Special Interest: Areas of Concern: Pass/Fail Criteria: Completion Criteria: Planned Variants: Execution Duration(s): Collect configuration data for tuning. Collect data to assist in validating existing network. Static prototype deployed on future production hardware. Determine network bandwidth, validate firewalls & load balancer, evaluate web server settings. Load generation tool, HTTP scripts to request objects of various sizes from a pool of IP addresses. Firewall, Load Balancer, Network Admins, network monitors, 20 IP addresses for spoofing. Schedule delay, availability of administrators, configuration of load generation tool for IP spoofing, Network bandwidth & latency, load balancer effectiveness, resource consumption, response times. No internal expertise on load balancer configuration. Adequate available bandwidth, architectural assumptions validated. Critical data collected and assumptions validated. 1 to 20 IPs, volume of 1 to 500, size from 1Kb to 1mb, configuration settings. 6 days: 2 days ea. network & bandwidth, firewall and load balancer, web server configuration. Performance Testing Software Systems Page 53
54 Performance Testing Software Systems Page 54
55 Instructions: Reassemble into your group. Referencing your previous work, use IVECTRAS and FIBLOTS to design the top priority performance tests for your team s project. Revisit your oracles. Will they work as planned? If not, choose new oracles. Be prepared to brief the class on your tests and your Oracles. Performance Testing Software Systems Page 55
56 Performance Testing Software Systems Page 56
57 Test Harness Simulated User Load Test Harness Test Harness Performance Testing Software Systems Page 57
58 SUT, Load Generator, Monitors, Tools, Utilities, Processes, & Team Installations, Data, Hooks, Stubs, Harnesses, & Schedule Configurations, Assumptions, Design, Models, Integrations, Gaps, & Support Everything so far based on Validations. Prepare for execution Performance Testing Software Systems Page 58
59 Only performance testing at the conclusion of system or functional testing is like ordering a diagnostic blood test after the patient is dead. --Scott Barber Performance Testing Software Systems Page 59
60 Performance Testing Software Systems Page 60
61 Performance Testing Software Systems Page 61
62 Instructions: Reassemble into your group. Use the 9 core principles of successful performance testing projects to create an approach or process for your team s project. Consider how this approach or process will mesh with the overall project approach or process. Be prepared to brief the class on your process. Performance Testing Software Systems Page 62
63 Performance Testing Software Systems Page 63
64 MacGyver is a super-hero, *not* a career path. --Scott Barber Performance Testing Software Systems Page 64
65 When creating scripts, I try to: (Yet another mnemonic of guideword heuristics) Performance Testing Software Systems Page 65
66 Ensure obvious functional errors are detected Consider pre-script validation and/or transformation If you think there are 3 ways to do something, users will find 5 the other two could be performance killers Vary data to avoid unintentional caching and determine the difference between speed and volume effects Super-users yield Stinky-scripts Not logging out can leave resource consuming session artifacts The step model, is not just unrealistic, it can invalidate results If you don t design your scripts to be maintainable, they won t be maintained Performance Testing Software Systems Page 66
67 Performance Testing Software Systems Page 67
68 Load generation tools: Do not interact with client side portions of the application. Do not natively evaluate correctness of returned pages. Often don t handle conditional navigation. Do not handle abandonment well. Scripting concepts: Record EDIT playback Add data variance Add delays Add conditional logic Add code to evaluate correctness of key pages Add abandonment functions Performance Testing Software Systems Page 68
69 Real Users React Ensure your tests represent the fact that real users react to the application. Vary Data Make sure that data being entered is unique for each simulated user. Make sure that each simulated users is unique (this may mean more than just separate IDs and Passwords). Vary Navigation Paths If there is more than one way for a user to accomplish a task in the application, your test must represent that. Different paths through the system often stress different parts of the system. Performance Testing Software Systems Page 69
70 Users Think and Type Guess what? They all do it at different speeds! Guess what else? It's your job to figure out how to model and script those varying speeds. Determine how long they think Log files Industry research Observation Educated guess/intuition Combinations are best Performance Testing Software Systems Page 70
71 Abandonment If a page takes too long to display, users will eventually abandon your site thus lessening the load changing the overall performance. Not simulating abandonment makes your test unintentionally more stressful than real life. Performance Testing Software Systems Page 71
72 Delays Every page has a think time after you determine the think time for that page, document it. These think times should cause your script to pace like real users. Event Type Event Name Type Min Max Std Req't Goal Procedure name: Initial Navigation() Timer name: tmr_home_page negexp 4 N/A N/A 8 5 Timer name: tmr_login normdist Timer name: tmr_page1 linear 5 35 N/A 8 5 Timer name: tmr_data_entry negexp 8 N/A N/A 8 5 Timer name: tmr_page2 normdist Timer name: tmr_submit_transaction linear 2 4 N/A 5 3 Timer name: tmr_signout N/A N/A N/A N/A 8 5 Performance Testing Software Systems Page 72
73 Not Frightening Frightening Performance Testing Software Systems Page 73
74 Performance Testing Software Systems Page 74
75 Performance Testing Software Systems Page 75
76 Instructions: Reassemble into your group. Discuss the most challenging scripting problems you anticipate based on your test design. Consider alternatives to achieving the same degree of realism while minimizing the scripting challenge. Be prepared to brief the class on your scripting challenges. Performance Testing Software Systems Page 76
77 Performance Testing Software Systems Page 77
78 To remind me that execution doesn t simply mean break it, I recall: (A mnemonic of guideword heuristics) (Not to mention an oddly placed Shakespeare reference.) Performance Testing Software Systems Page 78
79 Determine what the script(s) actually do (Accuracy). Check script(s), data, etc. for consistency (Precision). If it s worth checking more than once, it s likely worth trending. Vary between alternate extremes over a definable period. Establishing an understood, reliable point of reference. Increase the load systematically until learning stops. Usage won t be exactly what you think, ask what if? Work as a collaborative, cross-functional team. When something looks odd beat on it to see if it breaks. Performance Testing Software Systems Page 79
80 Execution Heuristics: 1, 3, 7, 11, More Best, Expected, Worst Marching & Resonance What if Greenspan sneezes? First user on Monday UAT under load If I can t break it, I don t understand it Performance Testing Software Systems Page 80
81 Instructions: Reassemble into your group. Spend a few minutes jotting down execution heuristics that may be valuable for your team s project. Be prepared to describe your heuristics to the class. Performance Testing Software Systems Page 81
82 Performance Testing Software Systems Page 82
83 With an order of magnitude fewer variables performance testing could be a science, but for now, performance testing is at best a scientific art. --Scott Barber Performance Testing Software Systems Page 83
84 When I m analyzing, I remind myself to: (A mnemonic of guideword heuristics) Performance Testing Software Systems Page 84
85 Results are meaningless without technical context. Don t over-trust results until you can repeat them. Within the test run, across tests, across data, etc. If you can repeat it or it s >1%, it s not an outlier. Graph, blink, overlay, compare, and contrast. If it can get you sued, check it every time. How well do the results represent reality. This is where users care and symptoms are found. If it s broken, performance doesn t matter. Performance Testing Software Systems Page 85
86 Methods: Blink De-Focus & Re-Focus Overlay Plot Bucket Look for Odd Be Derivative Ditch the Digits Un-average Averages Manual Performance Testing Software Systems Page 86
87 Facts: Analysis is a team sport. We cannot prove anything. Focus on patterns, trends, and feelings. Numbers are meaningless out of context. Qualitative feedback is at least as relevant as quantitative feedback. Performance Testing Software Systems Page 87
88 All three have an average of 4. Which has the best performance? How do you know? Performance Testing Software Systems Page 88
89 Instructions: Reassemble into your group. Pay attention, I m going to explain this group of exercises orally. Be prepared to describe your findings with the class. Performance Testing Software Systems Page 89
90 Performance Testing Software Systems Page 90
91 Linear extrapolation of performance test results is, at best, black magic. Don t do it (unless your name is Connie Smith, PhD. or Daniel Menasce, PhD.) --Scott Barber Performance Testing Software Systems Page 91
92 I name good reports: (A mnemonic of guideword heuristics) Performance Testing Software Systems Page 92
93 Stakeholders need data to make decisions. Many decisions can t wait until tomorrow. Reports are only interesting if they contain data that is useful. A great report for developers is probably a lousy report for executives. Try to use pictures over numbers and numbers over words. Save words for recommendations. Strive to make reports compelling without explanation. Unless you are hiding something, make the supporting data available to the team. Performance Testing Software Systems Page 93
94 Facts: Most people will never read performance test results docs. Most people don t really understand the underlying components to performance. It is our job to make it easy for them to understand, and understand quickly. Being skilled at graphical presentation of technical information is critical for us to help others understand the message we are delivering. Confusing charts and tables lead to wrong decisions causing lost $ and ruined reputations. Performance Testing Software Systems Page 94
95 What consumers of reports want: Answers NOW! (They might not even know the question) To understand information intuitively. Simple explanations of technical information. To be able to make decisions quickly and have the information to support those decisions. Trigger phrases to use with others. Concise summaries and conclusions. Recommendations and options. Performance Testing Software Systems Page 95
96 What consumers of reports usually get: Performance Testing Software Systems Page 96
97 Strive for something better: Concise verbal descriptions. Well formed, informative charts (pretty pictures). Focus on requirements and business issues. Don t be afraid to make recommendations or draw conclusions! Make all supporting data available to everyone, all the time (Don t sit on data cause they won t understand it). Report Document Report *AT LEAST* every 48 hours during execution. Performance Testing Software Systems Page 97
98 Inspired by ET : Edward Tufte, Ph.D., Professor Emeritus of political science, computer science and statistics, and graphic design at Yale. According to ET: Power Corrupts... Performance Testing Software Systems Page 98
99 PowerPoint Corrupts Absolutely. Performance Testing Software Systems Page 99
100 Relative Performance Performance Testing Software Systems Page 100
101 Graphs Make Some Things Obvious Performance Testing Software Systems Page 101
102 Trends, Trends, Trends!!! Performance Testing Software Systems Page 102
103 Performance Testing Software Systems Page 103
104 Performance Testing Software Systems Page 104
105 Performance Testing Software Systems Page 105
106 Performance Testing Software Systems Page 106
107 Performance Testing Software Systems Page 107
108 Performance Testing Software Systems Page 108
109 Performance Testing Software Systems Page 109
110 Performance Testing Software Systems Page 110
111 Instructions: Reassemble into your group. Spend a few minutes discussing and sketching 1 graphic that would convey the key information to stakeholders that you don t believe they are getting now. Be prepared to let the class assess your graphic. Performance Testing Software Systems Page 111
112 Performance Testing Software Systems Page 112
113 Don t confuse Delivery with Done You will never have enough data (statistically), even if you already have too much (to parse effectively). Ask Rut or Groove. Don t let complacency be your guide. If you run out of new ideas, take old ideas to new extremes. Above all else ask: What test that I can do right now, will add the most informational value to the project? Performance Testing Software Systems Page 113
114 Performance Testing Principles Project context is central to successful performance testing. Business, project, system, & user success criteria. Identify system usage, and key metrics; plan and design tests. Install and prepare environment, tools, & resource monitors. Script the performance tests as designed. Run and monitor tests. Validate tests, test data, and results. Analyze the data individually and as a cross-functional team. Consolidate and share results, customized by audience. "Lather, rinse, repeat" as necessary. Performance Testing Software Systems Page 114
115 Questions Performance Testing Software Systems Page 115
116 Contact Info Scott Barber Chief Technologist PerfTestPlus, Inc Web Site: Performance Testing Software Systems Page 116
Choose Wisely. Scott Barber
What to Performance Test: Choose Wisely Derived from: Microsoft patterns & practices Performance Testing Guidance for Web Applications By: J.D. Meier, Carlos Farre, Prashant Bansode, Scott Barber, Dennis
Performance Testing Challenges
Performance Testing Challenges First Presented for: Florida Institute of Technology Computer Science Seminar Scott Barber Chief Technology Officer PerfTestPlus, Inc. Performance Testing Challenges Page
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
The ROI of Test Automation
The ROI of Test Automation by Michael Kelly www.michaeldkelly.com Introduction With the exception of my first project team out of college, in every project team since, I ve had to explain either what automated
Exploratory Testing Dynamics
Exploratory Testing Dynamics Created by James Bach, Jonathan Bach, and Michael Bolton 1 v2.2 Copyright 2005-2009, Satisfice, Inc. Exploratory testing is the opposite of scripted testing. Both scripted
Exploratory Testing Dynamics
Exploratory Testing Dynamics Created by James and Jonathan Bach 1 v1.6 Copyright 2005-2006, Satisfice, Inc. Exploratory testing is the opposite of scripted testing. Both scripted and exploratory testing
Map. Testing Without a. You don t always need to wait for complete specifications to start your testing effort. Test & Analyze
Testing Without a Map You don t always need to wait for complete specifications to start your testing effort. BY MICHAEL BOLTON SOMETIMES WHEN FACED WITH AN UNFAMILIAR APPLIcation and a directive to test
SOA Performance Testing Challenges
SOA Performance Testing Challenges First Presented for: Software Test & Performance Conference November 2006, Boston, MA Most Recently Revised for: Software Test & Performance Conference October 2007,
Exploratory Testing in an Agile Context
Exploratory Testing in an Agile Context A guide to using Exploratory Testing on Agile software development teams. Elisabeth Hendrickson 2 Exploratory Testing. So you bang on the keyboard randomly, right?
White Paper. The Ten Features Your Web Application Monitoring Software Must Have. Executive Summary
White Paper The Ten Features Your Web Application Monitoring Software Must Have Executive Summary It s hard to find an important business application that doesn t have a web-based version available and
Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle
Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle Introduction I ve always been interested and intrigued by the processes DBAs use to monitor
Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References
Outline Computer Science 331 Introduction to Testing of Programs Mike Jacobson Department of Computer Science University of Calgary Lecture #3-4 1 Denitions 2 3 4 Implementation and Evaluation 5 Debugging
10 Best Practices for Application Performance Testing
Business white paper 10 Best Practices for Application Performance Testing Leveraging Agile Performance Testing for Web and Mobile Applications 10 Best Practices for Application Performance Testing Table
So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
How to Write a Successful PhD Dissertation Proposal
How to Write a Successful PhD Dissertation Proposal Before considering the "how", we should probably spend a few minutes on the "why." The obvious things certainly apply; i.e.: 1. to develop a roadmap
Building Your Firewall Rulebase Lance Spitzner Last Modified: January 26, 2000
Building Your Firewall Rulebase Lance Spitzner Last Modified: January 26, 2000 Building a solid rulebase is a critical, if not the most critical, step in implementing a successful and secure firewall.
An Example Checklist for ScrumMasters
An Example Checklist for ScrumMasters Michael James ([email protected]) 14 September 2007 (Revised 24 July 2012) A Full Time Facilitator? An adequate ScrumMaster can handle two or three teams at a time.
April 30, 2009. Assignment 4. Instructional Design for Conversion of Legacy FrameMaker Documentation to the new Xerox Branding
April 30, 2009 Assignment 4 Instructional Design for Conversion of Legacy FrameMaker Documentation to the new Xerox Branding Xerox and the sphere of connectivity design are trademarks of Xerox Corporation
How To Test For Elulla
EQUELLA Whitepaper Performance Testing Carl Hoffmann Senior Technical Consultant Contents 1 EQUELLA Performance Testing 3 1.1 Introduction 3 1.2 Overview of performance testing 3 2 Why do performance testing?
HOW TO USE DATA VISUALIZATION TO WIN OVER YOUR AUDIENCE
HOW TO USE DATA VISUALIZATION TO WIN OVER YOUR AUDIENCE + TABLE OF CONTENTS HOW DATA SUPPORTS YOUR MESSAGE 1 Benefits of Data Visualization WHEN TO USE DATA VISUALIZATION HOW TO FIND THE STORY IN YOUR
Resource Monitoring During Performance Testing. Experience Report by Johann du Plessis. Introduction. Planning for Monitoring
Resource Monitoring During Performance Testing Experience Report by Johann du Plessis Introduction During a recent review of performance testing projects I completed over the past 8 years, one of the goals
User Stories Applied
User Stories Applied for Agile Software Development Mike Cohn Boston San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo Singapore Mexico City Chapter 2 Writing Stories
Instructional Design for e-learning. Dr Richard Hyde Atlantic Link Ltd.
Instructional Design for e-learning Dr Richard Hyde Atlantic Link Ltd. Overview What is instructional design? Theories and models Choosing an approach The development process Top ten tips What is Instructional
How to handle Out-of-Memory issue
How to handle Out-of-Memory issue Overview Memory Usage Architecture Memory accumulation 32-bit application memory limitation Common Issues Encountered Too many cameras recording, or bitrate too high Too
Tools for Managing and Measuring the Value of Big Data Projects
Tools for Managing and Measuring the Value of Big Data Projects Abstract Big Data and analytics focused projects have undetermined scope and changing requirements at their core. There is high risk of loss
How to Study Mathematics Written by Paul Dawkins
How to Study Mathematics Written by Paul Dawkins Before I get into the tips for how to study math let me first say that everyone studies differently and there is no one right way to study for a math class.
Basic Testing Concepts and Terminology
T-76.5613 Software Testing and Quality Assurance Lecture 2, 13.9.2006 Basic Testing Concepts and Terminology Juha Itkonen SoberIT Contents Realities and principles of Testing terminology and basic concepts
Why Your SIEM Isn t Adding Value And Why It May Not Be The Tool s Fault. Best Practices Whitepaper June 18, 2014
Why Your SIEM Isn t Adding Value And Why It May Not Be The Tool s Fault Best Practices Whitepaper June 18, 2014 2 Table of Contents LIVING UP TO THE SALES PITCH... 3 THE INITIAL PURCHASE AND SELECTION
The Role of Automation Systems in Management of Change
The Role of Automation Systems in Management of Change Similar to changing lanes in an automobile in a winter storm, with change enters risk. Everyone has most likely experienced that feeling of changing
SPECIFICATION BY EXAMPLE. Gojko Adzic. How successful teams deliver the right software. MANNING Shelter Island
SPECIFICATION BY EXAMPLE How successful teams deliver the right software Gojko Adzic MANNING Shelter Island Brief Contents 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Preface xiii Acknowledgments xxii
Top 5 best practices for creating effective dashboards. and the 7 mistakes you don t want to make
Top 5 best practices for creating effective dashboards and the 7 mistakes you don t want to make p2 Financial services professionals are buried in data that measure and track: relationships and processes,
Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as:
Performance Testing Definition: Performance Testing Performance testing is the process of determining the speed or effectiveness of a computer, network, software program or device. This process can involve
Tips for writing good use cases.
Transforming software and systems delivery White paper May 2008 Tips for writing good use cases. James Heumann, Requirements Evangelist, IBM Rational Software Page 2 Contents 2 Introduction 2 Understanding
Configuring ehealth Application Response to Monitor Web Applications
Focus on Setup Configuring ehealth Application Response to Monitor Web Applications ehealth Application Response (AR) helps you manage the performance of your Web applications by monitoring response times
Compass Interdisciplinary Virtual Conference 19-30 Oct 2009
Compass Interdisciplinary Virtual Conference 19-30 Oct 2009 10 Things New Scholars should do to get published Duane Wegener Professor of Social Psychology, Purdue University Hello, I hope you re having
How to Plan a Successful Load Testing Programme for today s websites
How to Plan a Successful Load Testing Programme for today s websites This guide introduces best practise for load testing to overcome the complexities of today s rich, dynamic websites. It includes 10
Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction
Software Testing Rajat Kumar Bal Introduction In India itself, Software industry growth has been phenomenal. IT field has enormously grown in the past 50 years. IT industry in India is expected to touch
06. Create a feedback loop. 01. Create a plan. 02. Improve People skills. 07. Get a tool that supports the workflow. 03. Keep your promises
01. Create a plan 06. Create a feedback loop Plan how you are going to provide better customer service and take help from both staff and customers. 02. Improve People skills Service is a skill and people
ISTQB Certified Tester. Foundation Level. Sample Exam 1
ISTQB Certified Tester Foundation Level Version 2015 American Copyright Notice This document may be copied in its entirety, or extracts made, if the source is acknowledged. #1 When test cases are designed
Introduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
What Is Specific in Load Testing?
What Is Specific in Load Testing? Testing of multi-user applications under realistic and stress loads is really the only way to ensure appropriate performance and reliability in production. Load testing
pm4dev, 2015 management for development series Project Schedule Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS
pm4dev, 2015 management for development series Project Schedule Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS A methodology to manage development
What makes a good process?
Rob Davis Everyone wants a good process. Our businesses would be more profitable if we had them. But do we know what a good process is? Would we recognized one if we saw it? And how do we ensure we can
Module 3: Functional Requirements
smart BA Distance Learning Programme Module 3: Functional Requirements Hello and welcome to the smart BA distance learning programme Module 3 in this module you are going to analyse the requirements of
The Dirty Little Secret of Software Pricing
WHITEPAPER The Dirty Little Secret of Software Pricing Stan Schneider Mr. Customer, our price is $13,349 dollars per floating development seat. Larger teams need more support, so we charge 20% maintenance
Application Performance Testing Basics
Application Performance Testing Basics ABSTRACT Todays the web is playing a critical role in all the business domains such as entertainment, finance, healthcare etc. It is much important to ensure hassle-free
Coverity White Paper. Effective Management of Static Analysis Vulnerabilities and Defects
Effective Management of Static Analysis Vulnerabilities and Defects Introduction According to a recent industry study, companies are increasingly expanding their development testing efforts to lower their
Agent s Handbook. Your guide to satisfied customers
Agent s Handbook Your guide to satisfied customers Introduction LiveChat is a tool that facilitates communication between a company and its customers. Agents who wield that tool use it to make customers
Getting Things Done: Practical Web/e-Commerce Application Stress Testing
Getting Things Done: Practical Web/e-Commerce Application Stress Testing Robert Sabourin President Montreal, Canada [email protected] Slide 1 Practical Web/e-Commerce Application Stress Testing Overview:
How To Test On The Dsms Application
Performance Test Summary Report Skills Development Management System December 2014 Performance Test report submitted to National Skill Development Corporation Version Date Name Summary of Changes 1.0 22/12/2014
A Guide To Understanding Your 360- Degree Feedback Results
A Guide To Understanding Your 360- Degree Feedback Results 1 Table of Contents INTRODUCTION CORE BELIEFS... 1 PART ONE: UNDERSTANDING YOUR FEEDBACK... 2 360 Degree Feedback... 2 Evaluate Your Effectiveness...
Copyright (c) 2015 Christopher Small and The Art of Lawyering. All rights reserved.
Copyright (c) 2015 Christopher Small and The Art of Lawyering. All rights reserved. 1 In this special report, I ll be sharing with you the ten biggest mistakes that lawyers make when marketing their law
WINDOWS AZURE AND WINDOWS HPC SERVER
David Chappell March 2012 WINDOWS AZURE AND WINDOWS HPC SERVER HIGH-PERFORMANCE COMPUTING IN THE CLOUD Sponsored by Microsoft Corporation Copyright 2012 Chappell & Associates Contents High-Performance
Software testing. Objectives
Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating
Performance of Cisco IPS 4500 and 4300 Series Sensors
White Paper Performance of Cisco IPS 4500 and 4300 Series Sensors White Paper September 2012 2012 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public Information. Page 1 of
Insource or Outsource Testing: Understanding Your Context. Updates
Insource or Outsource Testing: Understanding Your Context Michael Bolton DevelopSense STAR East 2009 Updates This presentation is ALWAYS under construction Updated slides at http://www.developsense.com/past.html
Web Load Stress Testing
Web Load Stress Testing Overview A Web load stress test is a diagnostic tool that helps predict how a website will respond to various traffic levels. This test can answer critical questions such as: How
Performance Testing Uncovered
Performance Testing Uncovered First Presented at: NobleStar Systems Corp. London, UK 26 Sept. 2003 Scott Barber Chief Technology Officer PerfTestPlus, Inc. Performance Testing Uncovered Page 1 Performance
What it takes to get it done
What it takes to get it done Any piece of knowledge Dale W. Callahan I acquire today has a value at this moment exactly proportional to my skill to deal with it. Tomorrow, when I know more, I recall that
FRAMEWORK. 7 Building Blocks to Success
The CMI Content MarketING FRAMEWORK 7 Building Blocks to Success Your company is probably already exploring the role that compelling content can play in your own marketing programs just as many other companies
The Association of System Performance Professionals
The Association of System Performance Professionals The Computer Measurement Group, commonly called CMG, is a not for profit, worldwide organization of data processing professionals committed to the measurement
Performance Testing: Scott Barber
Performance Testing: Throughout the Application Life-Cycle Created for: Throughout the Life-Cycle By: Scott Barber Chief Technologist PerfTestPlus, Inc. 2012 PerfTestPlus, Inc. All rights reserved. Performance
Streamline your supply chain with data. How visual analysis helps eliminate operational waste
Streamline your supply chain with data How visual analysis helps eliminate operational waste emagazine October 2011 contents 3 Create a data-driven supply chain: 4 paths to insight 4 National Motor Club
Oracle Primavera. P6 Resource Leveling Demo Script
Oracle Primavera P6 Resource Leveling Demo Script Script Team Information Role Name Email Primary Author L. Camille Frost [email protected] Contributor Reviewer Geoff Roberts [email protected]
White paper: Unlocking the potential of load testing to maximise ROI and reduce risk.
White paper: Unlocking the potential of load testing to maximise ROI and reduce risk. Executive Summary Load testing can be used in a range of business scenarios to deliver numerous benefits. At its core,
MONEY MANAGEMENT. Guy Bower delves into a topic every trader should endeavour to master - money management.
MONEY MANAGEMENT Guy Bower delves into a topic every trader should endeavour to master - money management. Many of us have read Jack Schwager s Market Wizards books at least once. As you may recall it
DESCRIBING OUR COMPETENCIES. new thinking at work
DESCRIBING OUR COMPETENCIES new thinking at work OUR COMPETENCIES - AT A GLANCE 2 PERSONAL EFFECTIVENESS Influencing Communicating Self-development Decision-making PROVIDING EXCELLENT CUSTOMER SERVICE
Frequency Matters. The keys to optimizing email send frequency
The keys to optimizing email send frequency Email send frequency requires a delicate balance. Send too little and you miss out on sales opportunities and end up leaving money on the table. Send too much
pm4dev, 2007 management for development series Introduction to Project Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS
pm4dev, 2007 management for development series Introduction to Project Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS A methodology to manage
Screen Design : Navigation, Windows, Controls, Text,
Overview Introduction Fundamentals of GUIs Screen Design : Navigation, Windows, Controls, Text, Evaluating GUI Performance - Methods - Comparison 1 Example: Automotive HMI (CAR IT 03/2013) 64, 68, 69 2
Open-EMR Usability Evaluation Report Clinical Reporting and Patient Portal
Open-EMR Usability Evaluation Report Clinical Reporting and Patient Portal By Kollu Ravi And Michael Owino Spring 2013 Introduction Open-EMR is a freely available Electronic Medical Records software application
Test management best practices
Test management best practices Introduction Purpose Few people can argue against the need for improved quality in software development. Users of technology that utilizes software have come to expect various
Moving beyond hardware
Moving beyond hardware These slides represent the work and opinions of the author and do not constitute official positions of any organization sponsoring the author s work This material has not been peer
Phase 2 The System Specification
Team W2 Video-Conferencing-Based Classroom Extension Sergio Bana Andrew Carland Matt Dyson Sarah Jordan Andrew Wantuch Phase 2 The System Specification 1 P a g e TABLE OF CONTENTS 1. INTRODUCTORY PROBLEM
7 Must Know SEO Facts for Business Owners
7 Must Know SEO Facts for Business Owners You will never view SEO the same way after you read this report! By Michael Nguyen 1 Contents Introductions... 3 Background... 3 Starting my Own Business... 4
Developing a Load Testing Strategy
Developing a Load Testing Strategy Michele Ruel St.George Bank CMGA 2005 Page 1 Overview... 3 What is load testing?... 4 Scalability Test... 4 Sustainability/Soak Test... 4 Comparison Test... 4 Worst Case...
5Get rid of hackers and viruses for
Reprint from TechWorld /2007 TEChWoRLd ISSuE 2007 ThEBIG: 5 FIREWaLLS TEChWoRLd ISSuE 2007 ThEBIG: 5 FIREWaLLS TEChWoRLd ISSuE 2007 ThEBIG: 5 FIREWaLLS # # # Load balancing is basically a simple task where
Training Programs for Enterprise-Wide Change
Training Programs for Enterprise-Wide Change Top Five Requirements for Programs that Deliver Prepared by VisionCor, Inc. 1 Contents Summary... 3 Before We Get Started... 3 Program Principles... 4 Business
THE CMI CONTENT MARKETING FRAMEWORK. 7 Building Blocks to Success
THE CMI CONTENT MARKETING FRAMEWORK 7 Building Blocks to Success Your company is probably already exploring the role that compelling content can play in your own marketing programs just as many other companies
The Role of Design in the Design of EMR Systems
The Role of Design in the Design of EMR Systems By: Kevin Richardson, PhD The recent Healthcare Information and Management Systems Society (HIMSS) report, Defining and Testing EMR Usability: Principles
Is Your Schedule Correct? Common Scheduling Mistakes and How to Avoid Them
Sponsored by Is Your Schedule Correct? Common Scheduling Mistakes and How to Avoid Them Joseph A. Lukas PMP, CSM, CCP, PE White Paper 1-888-762-3683 www.pmcentersusa.com Joe Lukas & PM Centers USA, LLC
