<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sarquol Limited &#187; testing</title>
	<atom:link href="http://www.sarquol.com/tag/testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sarquol.com</link>
	<description>Sarquol solves messy IT problems</description>
	<lastBuildDate>Wed, 19 May 2010 11:51:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Do your users think?</title>
		<link>http://www.sarquol.com/perf/testing-perf/think-time/</link>
		<comments>http://www.sarquol.com/perf/testing-perf/think-time/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 09:24:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[capacity]]></category>
		<category><![CDATA[condition]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Performance Troubleshooting]]></category>
		<category><![CDATA[playback]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[record]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[think]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=248</guid>
		<description><![CDATA[When designing a set of performance tests it is necessary to consider pauses between user interactions. This is usually referred to as “think time”, and represents the time between the system presenting the results of an action and the next action being taken. If a load test script doesn’t include any think time at all [...]]]></description>
			<content:encoded><![CDATA[<p>When designing a set of performance tests it is necessary to consider pauses between user interactions. This is usually referred to as “think time”, and represents the time between the system presenting the results of an action and the next action being taken. If a load test script doesn’t include any think time at all then the system will be bombarded with requests at a rate that isn’t humanly possible. Depending on the system there are likely to be between 10 and 100 times the interactions generated with zero think time than with realistic scenarios.<span id="more-248"></span></p>
<p>When creating test scripts via “record and playback”, however, the tool will usually record page delays and play them back during the script run – and so the problem is solved. Isn’t it?</p>
<p>There are two issues that must be considered here. The first follows on naturally from the comment above: If the recorded wait time is not realistic then the resultant loading will not be realistic, and so the test will be better but still not correct. This could be fixed by simply using a user who is likely to have realistic waits – assuming you can identify such a user and make them available for the testing. I can be surprising just how long real users do spend on think time.</p>
<p>The next issue is more important, and harder to understand. For illustration let us assume we have 10 users with a 5s think time. Let us further assume that requests usually take 0.1s to process, and that simulated users are started 0.5s apart. In normal operation these requests will never coincide. This could be an issue in itself, but this isn’t the worst of it.</p>
<p>Let us now presume there is a problem &#8211; a temporary server issue would be sufficient – that causes all of the responses to arrive back at the client at the same time. It does happen in load testing for various reasons. Now all of the scripts will wait 5s and send the next requests <strong><em>at</em></strong> <strong><em>exactly the same</em></strong><em> <strong>time</strong></em>. The message loading on the server suddenly goes up dramatically, and is likely to continue in this pattern for some time. The result is that the system doesn’t seem to be able to cope with even 10 users in realistic conditions.</p>
<p>The solution is to introduce a level of randomisation in think time delays. It is then possible to introduce an appropriate statistical think time profile &#8211; and to break up bursts. The cost is extra test script development time, but the benefit is much more realistic testing.</p>
<p>If you would like advice, or to discuss how to decide on the most appropriate way to set up load testing in your circumstances then please feel free to contact me at <a href="mailto:dh@sarquol.com?subject=Bulletin:%20Help...">dh@sarquol.com</a>, or call on +44 7887 536083.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.sarquol.com%2Fperf%2Ftesting-perf%2Fthink-time%2F&amp;linkname=Do%20your%20users%20think%3F"><img src="http://www.sarquol.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.sarquol.com/perf/testing-perf/think-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Benchmarking COTS software</title>
		<link>http://www.sarquol.com/perf/testing-perf/benchmarking-cots-software/</link>
		<comments>http://www.sarquol.com/perf/testing-perf/benchmarking-cots-software/#comments</comments>
		<pubDate>Fri, 15 Jun 2007 08:10:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[capacity]]></category>
		<category><![CDATA[cots]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Performance Modelling]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[system]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=203</guid>
		<description><![CDATA[When planning to deliver a system based on commercial software it is common to start by using manufacturer’s data on the capability of the product to do initial sizing. (e.g. This will support 200 parallel connected users per CPU.) This data often comes from benchmarking and is valid as long as the test conditions are [...]]]></description>
			<content:encoded><![CDATA[<p>When planning to deliver a system based on commercial software it is common to start by using manufacturer’s data on the capability of the product to do initial sizing. (e.g. This will support 200 parallel connected users per CPU.) This data often comes from benchmarking and is valid as long as the test conditions are realistically comparable to your production environment.<span id="more-203"></span></p>
<p>Where there are no manufacturer guidelines, or as the next stage, you would usually to produce your own early tests. The same issues apply though, unless you are able to work with production-like data on a production-like platform. I am not saying not to use this approach – in fact I strongly recommend doing so – only that care needs to be taken in understanding where the test is realistic. As with other forms of planning, consider the risk carefully and plan in a level of contingency that is appropriate for capacity plans.</p>
<p>If you need help in interpreting manufacturers figures, or in setting up a benchmarking exercise then feel free to contact me at <a href="mailto:dh@sarquol.com?subject=Bulletin:%20Help...">dh@sarquol.com</a>, or call on +44 7887 536083.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.sarquol.com%2Fperf%2Ftesting-perf%2Fbenchmarking-cots-software%2F&amp;linkname=Benchmarking%20COTS%20software"><img src="http://www.sarquol.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.sarquol.com/perf/testing-perf/benchmarking-cots-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The generic system performance profile</title>
		<link>http://www.sarquol.com/perf/testing-perf/generic-profile/</link>
		<comments>http://www.sarquol.com/perf/testing-perf/generic-profile/#comments</comments>
		<pubDate>Wed, 11 Apr 2007 08:08:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[system]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=174</guid>
		<description><![CDATA[When drawing a graph of the response time performance of a system with increasing load it will usually follow a standard profile, namely: A very low load increasing the load will actually improve the performance of the system slightly. This is because most systems use various caching mechanisms and if there is too little load [...]]]></description>
			<content:encoded><![CDATA[<p>When drawing a graph of the response time performance of a system with increasing load it will usually follow a standard profile, namely:</p>
<ul type="disc">
<li><a href="http://www.sarquol.com/wp-content/uploads/2009/09/Increasing_load_graph.gif"><img class="size-medium wp-image-175 alignright" title="Generic Performance profile graph" src="http://www.sarquol.com/wp-content/uploads/2009/09/Increasing_load_graph-300x189.gif" alt="Generic Performance profile graph" width="300" height="189" /></a>A very low load increasing the load will actually improve the performance of the system slightly. This is because most systems use various caching mechanisms and if there is too little load none of the caches will have data in.</li>
<li>As the load increases a near flat region will be experienced, where all requests act as if they have near dedicated resources available to them.<span id="more-174"></span></li>
<li>As the load increases further requests will tend to be contending for resources on an increasingly frequent basis. Thus, the resultant response time will show a near-linear increase with increasing load.</li>
<li>If further load is added the system will start to demonstrate queuing behaviour, with most requests having to queue for each resource they require. The system response will now degrade far more rapidly with increasing load, and eventually the system will fail.</li>
</ul>
<p><a href="http://www.sarquol.com/wp-content/uploads/2009/09/Increasing_load_graph.gif"></a>This behaviour is well known among people used to stress testing, but is less well known outside that circle. The important point to note is that if a system does not show this behaviour under load it is worth investigating why not. The chances are that there is either a system problem or a problem with the test process being used. If you have a system that does not show this profile and need some support in the analysis then please feel free to contact me at <a href="mailto:dh@sarquol.com?subject=Help...">dh@sarquol.com</a>, or call on +44 7887 536083.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.sarquol.com%2Fperf%2Ftesting-perf%2Fgeneric-profile%2F&amp;linkname=The%20generic%20system%20performance%20profile"><img src="http://www.sarquol.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.sarquol.com/perf/testing-perf/generic-profile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How much should be spent on ensuring system performance?</title>
		<link>http://www.sarquol.com/perf/testing-perf/project-optimisation/</link>
		<comments>http://www.sarquol.com/perf/testing-perf/project-optimisation/#comments</comments>
		<pubDate>Sun, 07 May 2006 14:48:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[assurance]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[delay]]></category>
		<category><![CDATA[it]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[system]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=44</guid>
		<description><![CDATA[he level of performance proof required of projects can fall on both sides of an optimal “cost – benefit” line for a system. Spend sufficient to offset the cost of risk that a system carries if the performance is insufficient in the long term. Remember that it is likely to be much more expensive to solve a performance problem a number of years after initial delivery than when the project is in full flow. The degree of performance proof required, however, should be kept proportional to the level of risk in the system failing to perform well.]]></description>
			<content:encoded><![CDATA[<p>The level of performance proof required of projects can fall on both sides of an optimal “cost – benefit” line for a system. If a project spends too little effort on proving performance then the result will be problems and complaints in production. If a project has overly stringent performance criteria, the result will be high costs and long delivery delays for the project.<span id="more-44"></span></p>
<p>The key to deciding is to consider the level of risk that performance problems will pose to the business. There seem to be relatively few organisations that use a blend of testing and future projection based on a risk-driven approach. It is this approach that is going to produce the most cost effective projects, since the degree of testing and proof provided will reflect the business risk that is inherent in the system. Spend sufficient to offset the cost of risk that a system carries if the performance is insufficient in the long term. Remember that it is likely to be much more expensive to solve a performance problem a number of years after initial delivery than when the project is in full flow. However important the initial delivery may be, a project is not complete until it has been proven to be capable of being operational for the long term.</p>
<p>Suggestion:</p>
<p>Use a simple set of standard criteria for a project representing “average” performance risk for the business:</p>
<ol>
<li>A soak test to prove that the system will run for an extended period, say 12 hours, at average loading without performance degradation.</li>
<li>A load test to demonstrate that the system can process peak demand volumes for a predefined period, such as an hour, without degrading.</li>
<li>A volume test, to prove that the system can operate with production volumes at a defined point in the future – say 2 years hence.</li>
<li>Within any performance tests use a small set of key business functions to test that the system performs adequately.</li>
</ol>
<p>If the risk related to poor system performance, or failure, is especially high then these performance criteria would be made more stringent. The degree of performance proof required, however, should be kept proportional to the level of risk in the system failing to perform well. If the system was business critical, for example, it may be considered appropriate to require that the system be run using a much wider set of business functions, for 72 hours continuously, and at 5 times the expected peak volumes for the system for the next 20 years. Unsurprisingly, as the proof requirements become more stringent the cost and time needed to prove them will increase significantly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sarquol.com/perf/testing-perf/project-optimisation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
