What is performance?
As a working systems administrators, or programmer, there will be times in which you are called upon to determine the performance of a system, an application, or even an algorithm. While performance testing is frequently time consuming, finding the answer to the question “how fast is it†is neither arcane nor rocket science. All that is required is patience, sound and repeatable methodology, and use of the principles of the scientific method.
Information detailing the scientific method is available on multiple websites. For simplicity Wikipedia’s entries will be used. Wikipedia tells us that the Classical Model of the scientific method is:
- Characterization – Observations, definitions, measurements,
- Hypothesis – explanations of characterization, often theoretical/hypothetical
- Prediction – reasoning from the hypothesis
- Experiment – tests all of the above
The Hypothetico-Deductive model, perhaps more in line with the working professional, is:
- Use your experience.
- Conjecture an explanation.
- Deduce a prediction from that explanation.
- Test
And an even more modern interpretation of the classical model is:
- Define the question
- Gather information and resources
- Form hypothesis
- Perform experiment and collect data
- Analyze data
- Interpret data and draw conclusions that form starting point for next hypothesis
- Publish results
- Retest, often done by third parties
The modern definition would extend the classical model with post experiment work to analyzie, publish, and retest the work done.
Using this information as background, I will be writing a series of articles on understanding performance. These articles will include a few in depth examples to help performance testers understand not only the methods and techniques used, but also the depth and thoroughness required. In the examples, both the hypothetico-deductive model and the modern interpretation of the scientific method will be used.
If you have any examples or questions you’d like covered, feel free to drop me email at kmajer at thisdomainname.com.
>>> Karl