In previous posts, I’ve talked a lot about the dangers of not accurately simulating the real-world usage. But there is another side to this story: obsessing too much over an accurate simulation can be very costly. There is one very important thing to understand about load testing: No matter how hard we strive to make tests accurate, they are still only an estimate.
Your load test will never match even one single hour of production usage, not even once, no matter how hard you try. Bold statement? Perhaps. Consider this: even if you could capture the exact usage of real-world customers … Continue reading »
So your license is obsolete, what exactly does that mean? By default a Load Tester license is not set to expire unless it is a temporary license. An obsolete license essentially means that the license version does not match the Load Tester version number.
When a license is mismatched, the following message appears:
As you can see on the License Key Summary, the version code is listed as 4.2, however the current version of Load Tester I have installed is 4.3.
When a license shows up as obsolete, you have two options:
Match up the license version with a downgraded version … Continue reading »
As I described in my previous post on choosing test scenarios, the early tests should focus on the high-traffic scenarios. After testing and optimizing those, the next step is to identify and test the rarely-used but high-risk operations. These are operations that may have an impact on performance that is not proportional to their frequency. Even though these are not as common, they can have large impacts due to their system-wide nature and can cause sporadic performance drops during production hours that defy explanation.
Examples include:
Complex searches
Updates that touch many joined tables at once
Mass changes to data that affect many … Continue reading »
When the first few testcases are ready, the next step is to put them together into a load test. How they are combined and executed will have a big impact on the accuracy of the test.
Testcase ratios – Make sure that each testcase is exercised in the correct ratio relative to the other testcases. For example, it is likely that many more people will be searching for products than buying them – the load configuration should reflect this ratio.
Page ratios – Re-visit the hit rate that will be exerted on each page based on the ratio of testcases and the … Continue reading »
When you have identified the first group of scenarios to test, it is time to turn them into testcases, which is the term we use for the representation of the scenario in software. In it’s simplest form, a testcase is a list of pages to visit. In the simplest tools, it may simply be a list of URLs. With most tools, the testcase is a program generated by the tool and customized by the tester. More sophisticated tools, such as Load Tester, present the testcase visually.
The testcase represents not only the page … Continue reading »
One of the key capabilities of Web Performance Load Tester is the page grouper. This is one of those systems for which, the fewer people notice it, the better it is performing. Essentially the page grouper takes a long list of HTTP transactions in a test case and organizes them, using timing, and/or content and referrer analysis, into a series of logical pages.
If we do this well, we assume that the list of pages we see in a test script after a recording are the same as the logical pages an end user would witness in a browser — each … Continue reading »
Load Tester is designed to recognize common use patterns and transform them into working test cases with a minimum of user intervention. Our clients appreciate that Load Tester does a tremendous amount of work automatically. But, any load testing tool must be prepared to exercise the complexity of its target, and for some web applications even a simple test case can involve hundreds of variables.
This post will try to elucidate the stages of the recording process, which are, roughly:
Recording
Initial Inspection
Automatic Configuration
Manual Configuration
Replay
Validation
During the recording stage, we manually perform a use case in a web browser. Load Tester monitors our work … Continue reading »
Functional test suites do NOT make good load tests! Functional test suites have an inherently different purpose than performance test suites. It is always tempting to take your suite of functional tests and use that as the basis for your load test. This is especially true if your testing tool supports both functional and load testing.
The purpose of functional testing is to determine if the site works correctly. As every good tester knows, this means testing the edge cases. What happens when the user does something unexpected? What if I complete the “How many children do you have?” field by … Continue reading »
The first step in building a load test is to choose the scenarios to test – this is frequently harder than one might guess. When we ask customers which scenarios we should test first, a common answer is “test them all”. While this might yield the most accurate results, it is rarely practical for the allotted budget and schedule. There is great value in getting load test results sooner rather than later – so we recommend testing as early as possible and taking an iterative approach.
Start with the most common operations that users will … Continue reading »
Just because you are paying for a 100MB connection does not mean that you will get that much. And if you don’t test it, you will not know until it is too late.
Just because your admins insist that your test environment is an “exact copy” of your production site does not mean that they are. And if you don’t test it, you will not know until it is too late.
Just because your web server was the bottleneck in the last test and you added another front-end server and put a load balancer in … Continue reading »
Occasional load-testing tips, performance-engineering notes, and product updates. No spam — unsubscribe anytime.