{"id":3090,"date":"2012-01-24T10:53:09","date_gmt":"2012-01-24T14:53:09","guid":{"rendered":"http:\/\/www.webperformance.com\/load-testing-tools\/blog\/?p=3090"},"modified":"2012-01-24T10:53:09","modified_gmt":"2012-01-24T14:53:09","slug":"test-only-as-accurately-as-needed","status":"publish","type":"post","link":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/2012\/01\/test-only-as-accurately-as-needed\/","title":{"rendered":"Test Only as Accurately as Needed"},"content":{"rendered":"<p>In previous posts, I&#8217;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.<\/p>\n<p>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 <em>could<\/em> capture the exact usage of real-world customers of your site for an hour and simulate it perfectly, it would still be only an estimate, because every other hour of real-world usage will be different. In some ways that is depressing because it means we can never achieve perfection.<\/p>\n<p>But if you embrace this fact and accept that a really good test is, at best, a close approximation of reality, it can be make you a much more productive tester. This can give you flexibility in substituting simpler testcases for more complex ones, as long as the traffic pattern, en masse, resembles the real-world pattern. You can forget that 10,000 real-world users will be coming from 10,000 IP addresses but your test rig can only generate traffic from 100 IP addresses. Accept that everyone tests this way and move on.<\/p>\n<p>By reducing the hours we spend obsessing over getting each testcase perfect, we have more hours we can direct towards running more tests, running them more frequently, with a wider variety of testcases and hitting more critical scenarios. We can test more broadly and thereby decrease the risk to the project. And <em>that<\/em> is what is really needed!<\/p>\n<p>Chris Merrill, Chief Engineer @ Web Performance<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In previous posts, I&#8217;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.<br \/>\nYour 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 &hellip; <a href=\"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/2012\/01\/test-only-as-accurately-as-needed\/\">Continue reading &raquo;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3090","post","type-post","status-publish","format-standard","hentry","category-load-testing"],"_links":{"self":[{"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/posts\/3090","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/comments?post=3090"}],"version-history":[{"count":5,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/posts\/3090\/revisions"}],"predecessor-version":[{"id":3282,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/posts\/3090\/revisions\/3282"}],"wp:attachment":[{"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/media?parent=3090"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/categories?post=3090"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/tags?post=3090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}