<?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>Modern QA</title>
	<atom:link href="http://blog.spritecloud.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.spritecloud.com</link>
	<description>QA in the modern AGILE web developers world</description>
	<lastBuildDate>Thu, 02 Feb 2012 11:55:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>FOSDEM 2012 Contest</title>
		<link>http://blog.spritecloud.com/2012/02/fosdem-2012-contest/</link>
		<comments>http://blog.spritecloud.com/2012/02/fosdem-2012-contest/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 14:18:29 +0000</pubDate>
		<dc:creator>Jens</dc:creator>
				<category><![CDATA[Publicity]]></category>

		<guid isPermaLink="false">http://blog.spritecloud.com/?p=530</guid>
		<description><![CDATA[Some of us will be at this year&#8217;s FOSDEM conference, and we figured that&#8217;d be a great moment to run a witch hunt^W^Wcontest. The rules are simple: Spot any of us at FOSDEM, and take a picture as proof. For the purposes of this competition, the whole of Brussels counts as &#8220;at FOSDEM&#8221;, at least [...]]]></description>
			<content:encoded><![CDATA[<p>Some of us will be at this year&#8217;s <a href="http://fosdem.org/2012">FOSDEM</a> conference, and we figured that&#8217;d be a great moment to run a witch hunt<code>^W^W</code>contest.</p>
<p>The rules are simple:</p>
<ol>
<li>Spot any of us at FOSDEM, and take a picture as proof. For the purposes of this competition, the whole of Brussels counts as &#8220;at FOSDEM&#8221;, at least from 02/02/2012 to 05/02/2012 (CET timezone).</li>
<li>Send the image to <a href="mailto:fosdem@spritecloud.com">fosdem@spritecloud.com</a>. No entries arriving past the 29th of February 2012 will be accepted (CET timezone). Please include your name, email address, and whether or not you want either of them published. We reserve the right to publish your image submission anonymously, though.</li>
<li>We&#8217;ll judge which pictures are best. Bonus points if you include yourself, make it funny, or manage to connect it to a particular FOSS project, etc. Offensive submissions will be disqualified. We&#8217;re impervious to bribery, but we may take whatever freebies you offer anyway.</li>
<li>The three best entries get a guest blog post here, on any subject related to FOSS and/or testing or writing software. It goes without saying, really, but offensive content will be rejected even if it&#8217;s relevant.</li>
<li>The best entry also gets a free T-shirt.</li>
</ol>
<p>We&#8217;d love to give away more swag, but we&#8217;re unprepared &#8211; this whole thing has been somewhat spontaneous. If it&#8217;s a success, we&#8217;ll do it again next year, but bigger. So be sure to participate!</p>
<p>P.S.: Here&#8217;s the boring legalese:</p>
<ol style="font-size: 75%;">
<li>The contest is open to anyone except employees and the families of employees of spriteCloud B.V. By entering this contest, contestants agree that spriteCloud B.V. may use all images created for the contest for promotional purposes.</li>
<li>All entries and all rights relating there become property of spriteCloud B.V.</li>
<li>By entering, all entrants agree to release spriteCloud B.V. and their employees from all liability and claims relating to participation in the contest. No substitutions or transfer of prizes or cash redemptions permitted by winners.</li>
<li>spriteCloud B.V. reserves the right, in its sole discretion, to cancel, suspend or alter the rules &#038; parameters of the contest. spriteCloud B.V. also reserves the right to substitute a prize or prizes as it deems suitable in the event that the prize is unavailable for any reason whatsoever.</li>
<li>Winners under the age of 18 (as of win announcement) must have their parents&#8217; and/or legal guardians&#8217; consent to accept prizes. Winners, by acceptance of prizes, agree to release spriteCloud B.V. from any and all liability claims or actions of any kind whatsoever for damages.</li>
<li>Offer void where prohibited, regulated or restricted by law in a manner inconsistent with the purposes and rules hereof.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.spritecloud.com/2012/02/fosdem-2012-contest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>spriteCloud @ p0wer0f1 Event</title>
		<link>http://blog.spritecloud.com/2011/11/spritecloud-p0wer0f1-event/</link>
		<comments>http://blog.spritecloud.com/2011/11/spritecloud-p0wer0f1-event/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 18:21:37 +0000</pubDate>
		<dc:creator>Jens</dc:creator>
				<category><![CDATA[Publicity]]></category>
		<category><![CDATA[p0wer0f1]]></category>
		<category><![CDATA[p1event]]></category>

		<guid isPermaLink="false">http://blog.spritecloud.com/?p=523</guid>
		<description><![CDATA[Interviews at The Power of One (1 of 2) from BlueVia on Vimeo. Jump to ca. 1:45 if you want to see my ugly mug. Unfortunately they didn&#8217;t show the main bits when I was talking about QA, and got my name wrong. But it&#8217;s all good in the end!]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/32521404?title=0&amp;byline=0&amp;portrait=0" width="400" height="225" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<p><a href="http://vimeo.com/32521404">Interviews at The Power of One (1 of 2)</a> from <a href="http://vimeo.com/bluevia">BlueVia</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Jump to ca. 1:45 if you want to see my ugly mug. Unfortunately they didn&#8217;t show the main bits when I was talking about QA, and got my name wrong. But it&#8217;s all good in the end!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spritecloud.com/2011/11/spritecloud-p0wer0f1-event/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Results Website of the Year Awards 2011</title>
		<link>http://blog.spritecloud.com/2011/11/results-website-of-the-year-awards-2011/</link>
		<comments>http://blog.spritecloud.com/2011/11/results-website-of-the-year-awards-2011/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 09:35:53 +0000</pubDate>
		<dc:creator>barzilay</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[Publicity]]></category>

		<guid isPermaLink="false">http://blog.spritecloud.com/?p=503</guid>
		<description><![CDATA[spriteCloud was participating at the Website of the Year Awards 2011, and quite an event it was. Here you can find the pictures of the event. The winner of the one and only &#8216;Website of the Year 2011&#8242; Award was Tweakers.net. Below you will find the results of all the sub categories: Populairste site Beste [...]]]></description>
			<content:encoded><![CDATA[<p>spriteCloud was participating at the Website of the Year Awards 2011, and quite an event it was.</p>
<p>Here you can find the <a href="http://www.websitevanhetjaarawardnight.nl/terugblik" title="Pictures of the Awards Evening" target="_blank">pictures of the event</a>. The winner of the one and only &#8216;Website of the Year 2011&#8242; Award was <a href="http://tweakers.net/" title="Tweakers.net" target="_blank">Tweakers.net</a>.</p>
<p>Below you will find the results of all the sub categories:</p>
<table width="437" style="border: 1px solid #000000;padding:3px;">
<tbody style="border: 1px solid #000000;padding:3px;">
<tr style="border: 1px solid #000000;padding:3px;">
<th></th>
<th>Populairste site</th>
<th>Beste site</th>
</tr>
<tr style="border: 1px solid #000000;padding:3px;">
<td>Automotive</td>
<td>Marktplaats Auto&#8217;s</td>
<td>Renault</td>
</tr>
<tr style="border: 1px solid #000000;padding:3px;">
<td>Carrière</td>
<td>Nationale Vacaturebank</td>
<td>Unique Uitzendbureau</td>
</tr>
<tr>
<td>Communities</td>
<td>Facebook</td>
<td>Gathering of Tweakers</td>
</tr>
<tr>
<td>Daten</td>
<td>Relatieplanet</td>
<td>Paiq</td>
</tr>
<tr>
<td>Educatie</td>
<td>Kennisnet</td>
<td>NHA</td>
</tr>
<tr>
<td>Entertainment</td>
<td>YouTube.nl</td>
<td>De Speld</td>
</tr>
<tr>
<td>Financieel</td>
<td>ING</td>
<td>ASN Bank</td>
</tr>
<tr>
<td>Games</td>
<td>Zylom</td>
<td>Zylom</td>
</tr>
<tr>
<td>Gezondheid &amp; Welzijn</td>
<td>Receptenweb</td>
<td>Receptenweb</td>
</tr>
<tr>
<td>Goede Doelen</td>
<td>CliniClowns</td>
<td>KWF Kankerbestrijding</td>
</tr>
<tr>
<td>Huisvesting &amp; Interieur</td>
<td>Funda</td>
<td>IKEA</td>
</tr>
<tr>
<td>Nieuws &amp; Informatie</td>
<td>Nu.nl</td>
<td>Tweakers.net</td>
</tr>
<tr>
<td>Overheid</td>
<td>Belastingdienst</td>
<td>Consuwijzer</td>
</tr>
<tr>
<td>Vrije tijd &amp; Reizen</td>
<td>Vakantieveilingen</td>
<td>Wintersporters</td>
</tr>
<tr>
<td>E-commerce</td>
<td>iBood</td>
<td>iBood</td>
</tr>
<tr>
<td>Sport</td>
<td>PSV.nl</td>
<td>PSV.nl</td>
</tr>
<tr>
<td>Telecom</td>
<td>Ziggo</td>
<td>ZeelandNet</td>
</tr>
<tr>
<td>TV &amp; Radio</td>
<td>UitzendingGemist</td>
<td>Radio 3FM</td>
</tr>
<tr>
<td>Vergelijking</td>
<td>Tweakers.net Pricewatch</td>
<td>Tweakers.net Pricewatch</td>
</tr>
<tr>
<td>Weer &amp; Verkeer</td>
<td>Buienradar</td>
<td>Google Maps</td>
</tr>
<tr>
<td>Zoeken en Vinden</td>
<td>Google</td>
<td>Google</td>
</tr>
<tr>
<td>Mobiele Website</td>
<td>Buienradar Mobiel</td>
<td>Nu.nl Mobiel</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.spritecloud.com/2011/11/results-website-of-the-year-awards-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cross browser testing &#8211; The truth is in the numbers</title>
		<link>http://blog.spritecloud.com/2011/09/cross-browser-testing-the-truth-is-in-the-numbers/</link>
		<comments>http://blog.spritecloud.com/2011/09/cross-browser-testing-the-truth-is-in-the-numbers/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 11:15:53 +0000</pubDate>
		<dc:creator>barzilay</dc:creator>
				<category><![CDATA[Domain Expertise]]></category>

		<guid isPermaLink="false">http://blog.spritecloud.com/?p=463</guid>
		<description><![CDATA[Viral Wouldn’t this almost be a great viral campaign? This new campaign of one of the world&#8217;s leading companies only works properly in Internet Explorer 9.0. In other browsers this is what the Wallmart Video Download service looked like right after launch. Even though errors like this don’t occur that much anymore most Chrome and [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Viral</strong><br />
Wouldn’t this almost be a great viral campaign? This new campaign of one of the world&#8217;s leading companies only works properly in Internet Explorer 9.0. In other browsers this is what the Wallmart Video Download service looked like right after launch.</p>
<p><a href="http://blog.spritecloud.com/wp-content/uploads/2011/09/error.jpg"><img class="alignnone size-medium wp-image-464" title="error" src="http://blog.spritecloud.com/wp-content/uploads/2011/09/error-300x166.jpg" alt="" width="300" height="166" /></a></p>
<p>Even though errors like this don’t occur that much anymore most Chrome and Safari users know that there are still quite some annoying bugs when surfing the internet.</p>
<p><strong>The truth is in the numbers</strong><br />
Does this means that developers still can’t be bothered to do cross browser testing? Does it means that companies don’t demand that their web applications work on all browsers? The truth is in the numbers;</p>
<div id="browser-eu-monthly-201008-201108" width="600" height="400" style="width:600px; height: 400px;"></div>
<p><!-- You may change the values of width and height above to resize the chart -->
<p>Source: <a href="http://gs.statcounter.com/#browser-eu-monthly-201008-201108">StatCounter Global Stats &#8211; Browser Market Share</a></p>
<p><script type="text/javascript" src="http://www.statcounter.com/js/FusionCharts.js"></script><script type="text/javascript" src="http://gs.statcounter.com/chart.php?browser-eu-monthly-201008-201108"></script></p>
<p>IE 6.0, 7.0, 8.0, 9.0, Firefox 3.6, 4.0, 3.5, 5.0, Chrome 12.0, 8.0, 10.0, Safari 5.0 and so on. What works great in IE 9.0 doesn’t automatically work in IE7. Ok. That shouldn’t be hard to find out.</p>
<div id="browser_version-eu-monthly-201109-201109-bar" width="600" height="400" style="width:600px; height: 400px;"></div>
<p><!-- You may change the values of width and height above to resize the chart -->
<p>Source: <a href="http://gs.statcounter.com/#browser_version-eu-monthly-201109-201109-bar">StatCounter Global Stats &#8211; Browser Version Market Share</a></p>
<p><script type="text/javascript" src="http://www.statcounter.com/js/FusionCharts.js"></script><script type="text/javascript" src="http://gs.statcounter.com/chart.php?browser_version-eu-monthly-201109-201109-bar"></script></p>
<p>The top 4 is: Chrome 13, IE 8.0, Firefox 6, IE9. Only thing is, they add up to about 70%.</p>
<p><strong>One hundred percent</strong><br />
In testing 100% is impossible. For cross browser testing this is no different. Let’s say you want to test on the browsers used by at least 85% of all people. This means you’d have to have at least 12 dedicated systems running, and being maintained. Not everyone wants this, which is why we have it. As well as a hosted test environment. We have everything running here in our test lab. Almost everything. From IE x.x, Chrome x, Mozilla, and up</p>
<p><strong>Mobile</strong><br />
When testing mobile web applications you need to be able to test on mobile handsets. We have a wide coverage of handsets for the big mobile operating systems popular today.</p>
<p><strong>Pleased</strong><br />
Having all the handsets; hosted test environments; a test lab based on an official Microsoft Developers Network (MSDN) subscription are just some of the reasons why our customer base, including high profile Digital Agencies, are very pleased with the testing we currently perform for them.</p>
<p>At spriteCloud we are domain experts in AGILE software Quality Assurance and software testing, particularly for web consumer service companies and digital agencies.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spritecloud.com/2011/09/cross-browser-testing-the-truth-is-in-the-numbers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>spriteCloud @ gamescom 2011</title>
		<link>http://blog.spritecloud.com/2011/08/spritecloud-gamescom-2011/</link>
		<comments>http://blog.spritecloud.com/2011/08/spritecloud-gamescom-2011/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 15:40:08 +0000</pubDate>
		<dc:creator>Jens</dc:creator>
				<category><![CDATA[QA Culture]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[gamescom]]></category>
		<category><![CDATA[latency]]></category>
		<category><![CDATA[load testing]]></category>
		<category><![CDATA[MMOG]]></category>
		<category><![CDATA[MMORPG]]></category>
		<category><![CDATA[performance testing]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://blog.spritecloud.com/?p=459</guid>
		<description><![CDATA[More or less by chance I had an opportunity to attend the first day of gamescom this year, Europe&#8217;s biggest video game related trade show. The entertainment area where consumers get a glimpse of new games was a blast, as expected. But the business area open only to trade visitors was particularly interesting to me, [...]]]></description>
			<content:encoded><![CDATA[<p>More or less by chance I had an opportunity to attend the first day of <a href="http://www.gamescom-cologne.com/en/gamescom/home/index.php">gamescom</a> this year, Europe&#8217;s biggest video game related trade show. The entertainment area where consumers get a glimpse of new games was a blast, as expected. But the business area open only to trade visitors was particularly interesting to me, because there were a fair amount of test companies present.</p>
<p>It seems as if the games industry on the whole takes their testing a lot more seriously than many other sectors of the software world. That shouldn&#8217;t be particular surprising, given that games are probably the most abundantly distributed shrink-wrap software still in existence. When you cannot rely on online updates being available to your customers, testing becomes a crucial part of your business &#8212; and <a href="http://arstechnica.com/gaming/news/2007/08/gaming-to-surge-50-percent-in-four-years-possibly.ars">the stakes are high in video gaming</a>.</p>
<p><span id="more-459"></span></p>
<p>What&#8217;s all the more interesting, then, is that so many of the testing companies I&#8217;ve seen don&#8217;t seem to have all <em>that</em> much of an expertise with testing networking related things. Few if any advertise test labs for massively multiplayer online games. I suppose this is only surprising to industry outsiders such as ourselves&#8230;</p>
<p>&#8230; however, it means we shouldn&#8217;t be industry outsiders. Normal web-related functional, performance and load testing aside, our founders are people who have helped build and test on-demand and live video streaming code at <a href="http://en.wikipedia.org/wiki/Joost">Joost</a>. Online gaming has different demands on network performance than video streaming, granted, but in terms of the two major test variables in networking &#8212; bandwidth and latency &#8212; video streaming places some of the toughest demands on systems.</p>
<p>Chances are, if you&#8217;re an online game company caring about the performance of your servers, you&#8217;ll find few testing services providers better suited to your needs than us. So <a href="http://www.spritecloud.com/contact">contact us</a>, by all means!</p>
<p>(Also, when we find the time, we&#8217;re partial to some instance runs in <a href="http://www.lotro.com/">LotRO</a>. You can ping us just for that, too.)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spritecloud.com/2011/08/spritecloud-gamescom-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome to the Real World, Microsoft</title>
		<link>http://blog.spritecloud.com/2011/07/welcome-to-the-real-world-microsoft/</link>
		<comments>http://blog.spritecloud.com/2011/07/welcome-to-the-real-world-microsoft/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 13:40:42 +0000</pubDate>
		<dc:creator>Jens</dc:creator>
				<category><![CDATA[QA Culture]]></category>
		<category><![CDATA[QA Value]]></category>
		<category><![CDATA[Test Process]]></category>

		<guid isPermaLink="false">http://blog.spritecloud.com/?p=453</guid>
		<description><![CDATA[Alright, that&#8217;s a provocative title right there, I admit it. I couldn&#8217;t resist. A short while ago, I was perusing the July 2011 issue of the Communications of the ACM, when I came across an interview article with some of the people behind a massive retro-documentation project at Microsoft. Microsoft had to document much of [...]]]></description>
			<content:encoded><![CDATA[<p>Alright, that&#8217;s a provocative title right there, I admit it. I couldn&#8217;t resist.</p>
<p>A short while ago, I was perusing the <a href="http://cacm.acm.org/magazines/2011/7">July 2011 issue of the Communications of the ACM</a>, when I came across an interview article with some of the people behind a massive retro-documentation project at Microsoft. Microsoft had to document much of the client-server communications of their existing software to allow third parties to implement interoperable software. The article is succinctly called &#8220;Microsoft&#8217;s Protocol Documentation Program: Interoperability Testing at Scale&#8221;. Definitely worth a read.</p>
<p>The sentence that struck me, and that is repeated in sentiment in the remainder of the article is this: &#8220;First and foremost, a team would be required to test documentation, not software, which is the inversion of the normal QA process; (&#8230;)&#8221;.</p>
<p>I&#8217;m not sure I agree with that statement. And to be fair, that statement isn&#8217;t the point of the CACM article, either. But it presents a good launch pad for something that concerns me a little.</p>
<p><span id="more-453"></span></p>
<p>What the Microsoft guy is effectively saying is that the normal QA process is to take some documentation and some software, test the software, and if it doesn&#8217;t match up with the documentation, then reject it. While that sounds like a good description of the QA process as it exists in many people&#8217;s mind, the implication of it must be that the software is an implementation of some strictly documented specification, and <em>that</em> in turn strikes me as unrealistic.</p>
<p>My experience is primarily as a software engineer, and while I have occasionally had to implement some <a href="http://www.ietf.org/rfc.html">RFC</a> or similar specification, in the vast majority of cases, that&#8217;s not happening.  In the rare cases that software <em>is</em> implemented from a specification, it almost invariably deviates from the specification, too &#8212; and often intentionally so. Think of how browsers deviate in how they render documents as an example; some of these deviations are due to the way specs are interpreted by different parties, but some are deliberate.</p>
<p>What happens instead is that software is vaguely specced out, written, unit tested (if you&#8217;re lucky), and if developers have a good enough incentive, documentation of what the software de-facto does is done last. Now whether or not that&#8217;s a good thing is up for debate, but in this post I don&#8217;t want to focus on passing judgement on existing software engineering practices.</p>
<p>Based on such experience, I think it&#8217;s a slightly dangerous misunderstanding of the QA process to assume that it treats documentation as the standard against which to test software. A more realistic and valuable understanding would be that the QA process attempts to detect where documentation and software behaviour are in conflict.</p>
<p>The rationale is centered around what in the scientific method is called <a href="http://en.wikipedia.org/wiki/Confirmation_bias">confirmation bias</a>; it describes the tendency of people to find evidence to support their hypothesis.</p>
<p>In terms of testing, confirmation bias is most easily evident when tests are written to only test <em>known good</em> parameters instead of also testing <em>known bad</em> combinations. If you take the example of testing a login form that require you to enter an email address and a password, the truly interesting tests are those that test without the email, or without the password, or with a string in the email field that doesn&#8217;t conform to email address syntax. It&#8217;s more obvious to confirm the hypothesis that the login form should work than to disprove it.</p>
<p>Testing a login form is a relatively simple example, though. Confirmation bias in testing can occur in more subtle forms. If you&#8217;re testing a network protocol, for example, a lot of the goings on on the wire will be defined as requests and responses of some sort. It is usually implied &#8212; and most likely documented &#8212; that each request to a machine should result in a response being sent back from that machine. What if the machine sends multiple responses? What if it sends a response packet without a request being made? What if a different machine responds than the one the request was sent to?</p>
<p>In many protocols, such behaviour is so outlandish that it&#8217;s not even documented that, for example, such extra responses should be discarded (as one may somewhat reasonably assume). Yet it&#8217;s the existence of such responses that can throw off server software quite badly. The problem here isn&#8217;t that documentation describes behaviour that deviates from what the software does, it&#8217;s that the documentation omits behaviour entirely. It&#8217;s entirely reasonable to assume that even seasoned QA engineers will therefore also omit testing this crucial aspect of the software and/or documentation.</p>
<p>Given all the above, I do agree strongly with the Microsoft team that a change of perspective on QA may be required and useful. Where they speak about a specific goal, however, I think the change in perspective should be more general. In order to avoid all of the consequences of confirmation bias, QA should not be viewed as testing whether software conforms to specification. Instead, that should be viewed as a rare case that applies only in the special circumstances when software is also implemented from such specification.</p>
<p>In the real world (to get back to the title), QA tests documentation, software, and the ability of engineers to fill the gaps left between the two alike.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spritecloud.com/2011/07/welcome-to-the-real-world-microsoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Lifecycle Consultancy</title>
		<link>http://blog.spritecloud.com/2011/06/software-lifecycle-consultancy/</link>
		<comments>http://blog.spritecloud.com/2011/06/software-lifecycle-consultancy/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 22:11:07 +0000</pubDate>
		<dc:creator>Jens</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[QA Value]]></category>
		<category><![CDATA[Team Work]]></category>
		<category><![CDATA[Test Process]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[release management]]></category>
		<category><![CDATA[software lifecycle]]></category>
		<category><![CDATA[test management]]></category>

		<guid isPermaLink="false">http://blog.spritecloud.com/?p=433</guid>
		<description><![CDATA[It feels like ages that I blogged about the place of QA in software development. Granted, in internet years, it has been a while. But the topic never seems to quite go away. Since I wrote that other blog post, a lot of things have happened here at spriteCloud. In the meantime, we&#8217;ve been involved [...]]]></description>
			<content:encoded><![CDATA[<p>It feels like ages that I blogged about <a href="/2010/08/put-software-quality-assurance-in-its-place/">the place of QA in software development</a>. Granted, in internet years, it has been a while. But the topic never seems to quite go away.</p>
<p>Since I wrote that other blog post, a lot of things have happened here at spriteCloud. In the meantime, we&#8217;ve been involved in the testing process with quite a few more customers (yay!). One thing that emerged over time is that many companies don&#8217;t exactly come to us for testing alone, but also for answering the question of how to fit testing into the development and release process.</p>
<p>When you try to answer that question, it quite often happens that you discover that the reason these companies didn&#8217;t know how to fit testing into their process is that there is not much of a process in place to fit testing into. To us QA-minded people, that may come as a surprise, but it really shouldn&#8217;t be.</p>
<p>As one young developer at one of our clients put it to me (slightly paraphrased): &#8220;They should really teach release management in university. Programming is easy enough to pick up, but this stuff is hard to figure out on your own.&#8221; I sympathize with that, as it mirrors my own experience from some ten years or so ago when I started out on my development career.</p>
<p>Before you can teach anything about development processes, though, it is essential that one understands the <em>software lifecycle</em>.</p>
<p><span id="more-433"></span></p>
<p>Let&#8217;s start with the basics: it used to be taught (usually as a bad example) that the software lifecycle works a bit like a <a href="http://en.wikipedia.org/wiki/Waterfall_model">waterfall</a>: Software is completely specified, before it is completely implemented, before it is completely tested, before it is released.</p>
<p><a href="http://blog.spritecloud.com/wp-content/uploads/2011/06/waterfall.png"><img src="http://blog.spritecloud.com/wp-content/uploads/2011/06/waterfall-300x145.png" alt="Waterfall Model of Software Development" title="Waterfall Model of Software Development" width="300" height="145" class="alignleft size-medium wp-image-437" /></a></p>
<p>The model deliberately simplifies things to the point of being fantastically incorrect in describing the real world. It does, however, describe accurately that some tasks within the development process by necessity depend upon the completion of other tasks. Where it fails is that it assumes these tasks can be grouped into five completely separate stages. In this model, testing falls solely into the fourth stage, that of verification. (You can click on the images to enlarge them).</p>
<p>When agile development methodologies sprung up, they usually started by pointing out the flawed assumptions behind the waterfall model. The most glaring flaw to many is that software rarely goes into maintenance mode &#8212; usually it is developed further, and newer versions simply supersede older versions. That last stage of the waterfall model, then, should really be got rid of.</p>
<p>What happens instead is that a whole new design-build-release cycle gets started that works out bugs in the previous release and adds new features, all depending of course on the overall product plan. The best model of describing things, then, should circle back into itself, as any good lifecycle would.</p>
<p><a href="http://blog.spritecloud.com/wp-content/uploads/2011/06/agile.png"><img src="http://blog.spritecloud.com/wp-content/uploads/2011/06/agile-300x128.png" alt="" title="Agile Software Development Model" width="300" height="128" class="alignright size-medium wp-image-435" /></a></p>
<p>One thing that&#8217;s slightly alarming to quality-minded people is that a &#8220;verification&#8221; stage is usually dropped from this model. Depending on which flavour of agile proponent you ask about this, they&#8217;ll either state that <a href="http://en.wikipedia.org/wiki/Test-driven_development">testing should drive development</a>, or that <a href="http://www.unwesen.de/2011/04/13/i-dont-always-test-my-code/">testing is done in production by end-users</a>. The latter group usually legitimize their stance by also demanding very short iterations on this circular model, such that end-users would not be inconvenienced by spurious bugs for a long time anyway.</p>
<p>There is an argument to be made for both, of course, but both miss critical points about testing:</p>
<ol>
<li>Test-driven development misses the fact that testing isn&#8217;t just about testing code. <a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development">Behaviour driven development</a> is a much saner approach, as it focuses more on the end-user experience than anything else. As such, it implies that whoever thinks up what a piece of software should do should be involved in defining what behaviour needs to be tested for, which in larger teams means there&#8217;s now a dependency between several people&#8217;s deliverables.</li>
<li>On the other hand, production testing misses the fact that end-users aren&#8217;t necessarily product designers. Of course it&#8217;s important to take their feedback into account, but different users have different acceptance criteria. It requires careful design to figure out how to best serve the majority of users, and it&#8217;s <em>that</em> design that needs to be fulfilled, not the user&#8217;s expectations.</li>
</ol>
<p>Put differently, you now need a separate stage in the process again at which acceptance test criteria are verified.</p>
<p>If you&#8217;ve followed my line of argumentation closely, you may have noticed that I&#8217;m edging towards a statement about testing that is often slightly misunderstood: <em>of course</em> testing serves to eliminate bugs, but when bugs come in the form of undesirable software behaviour rather than crashes or spurious errors, someone really needs to sit down and describe what the desired software behaviour should be. In other words, there is no testing without a plan. And plans, at least traditionally, happen close to the start of any project (or iteration).</p>
<p>Once you&#8217;ve internalized that, it becomes quite clear that putting a neat &#8220;verification&#8221; box into either the waterfall or agile model cannot really reflect the reality of the software lifecycle. So let&#8217;s draw a picture that&#8217;s closer to reality.</p>
<p><a href="http://blog.spritecloud.com/wp-content/uploads/2011/06/complete.png"><img src="http://blog.spritecloud.com/wp-content/uploads/2011/06/complete-300x164.png" alt="Software Lifecycle" title="Software Lifecycle" width="300" height="164" class="aligncenter size-medium wp-image-436" /></a></p>
<p>That looks a bit more daunting, doesn&#8217;t it? It should, because it gives up on the whole &#8220;stages&#8221; thing and breaks down the lifecycle into roles and the things these roles produce (lined arrows). Dotted arrows describe which artefacts serve as input into which other artefacts.</p>
<p>Once we started describing these roles and their interactions within the lifecycle to customers, things tended to become a lot clearer for them &#8212; they started seeing how some form of test planning needs to happen even before development starts properly.</p>
<p>But surprisingly, things became clearer to us, too. You see, the green blobs in the image cover spriteCloud&#8217;s core competencies. We&#8217;re a QA company, sure&#8230; but by being able to explain and conduct processes and best practices, we cover the release manager and (to an extent) lead developer roles as well, whether we plan to do so or not.</p>
<p>Put into numbers, we provide expertise for four out of eight distinct roles (50%) and produce six out of ten artefacts (60%). That&#8217;s over half of the stuff that happens in software development!</p>
<p>If we tried to push it a little, we could go even further: we all have, to a lesser or greater degree, software development experience. Writing test code is not at all the same as writing functional code, but it&#8217;s more experience than many newbie developers sport. We all have, to a lesser or greater degree, operations experience. Setting up test environments does that to you.</p>
<p>By contrast, many young companies out there have great product managers, UX designers and developers, but not much of the green glue that holds them together. No wonder do we often start talking about things other than testing!</p>
<p>There&#8217;s only one sensible conclusion from all this: we&#8217;ve decided that we&#8217;re &#8220;officially&#8221; shifting our company focus away from pure testing services, and now offer consultancy along the whole software lifecycle.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spritecloud.com/2011/06/software-lifecycle-consultancy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentation on Cucumber and Webdriver with spriteCloud&#8217;s Portal Framework</title>
		<link>http://blog.spritecloud.com/2011/06/presentation-on-cucumber-and-webdriver-with-spriteclouds-portal-framework/</link>
		<comments>http://blog.spritecloud.com/2011/06/presentation-on-cucumber-and-webdriver-with-spriteclouds-portal-framework/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 09:48:19 +0000</pubDate>
		<dc:creator>barzilay</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.spritecloud.com/?p=423</guid>
		<description><![CDATA[Presentation on the history of spriteCloud and the advantages of our Test Automation Services]]></description>
			<content:encoded><![CDATA[<div class="prezi-player">
<p><!-- .prezi-player { width: 600px; } .prezi-player-links { text-align: center; } --></p>
<p><object id="prezi_slaveizcxj0z" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="600" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="name" value="prezi_slaveizcxj0z" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="prezi_id=slaveizcxj0z&amp;lock_to_path=0&amp;color=ffffff&amp;autoplay=no&amp;autohide_ctrls=0" /><param name="src" value="http://prezi.com/bin/preziloader.swf" /><embed id="prezi_slaveizcxj0z" type="application/x-shockwave-flash" width="600" height="400" src="http://prezi.com/bin/preziloader.swf" flashvars="prezi_id=slaveizcxj0z&amp;lock_to_path=0&amp;color=ffffff&amp;autoplay=no&amp;autohide_ctrls=0" bgcolor="#ffffff" allowscriptaccess="always" allowfullscreen="true" name="prezi_slaveizcxj0z"></embed></object></p>
<div class="prezi-player-links">
<p><a title="Presentation on the history of spriteCloud and the advantages of our Test Automation Services" href="http://prezi.com/slaveizcxj0z/roc-presentation-test-automation/">Presentation on the history of spriteCloud and the advantages of our Test Automation Services</a></p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.spritecloud.com/2011/06/presentation-on-cucumber-and-webdriver-with-spriteclouds-portal-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Complete setup guide for Ruby, Cucumber and Watir or Selenium webdriver on Windows</title>
		<link>http://blog.spritecloud.com/2011/04/complete-setup-guide-for-ruby-cucumber-and-watir-or-selenium-on-windows/</link>
		<comments>http://blog.spritecloud.com/2011/04/complete-setup-guide-for-ruby-cucumber-and-watir-or-selenium-on-windows/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 10:22:30 +0000</pubDate>
		<dc:creator>barzilay</dc:creator>
				<category><![CDATA[Automation]]></category>
		<category><![CDATA[Cucumber]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Watir]]></category>

		<guid isPermaLink="false">http://blog.spritecloud.com/?p=400</guid>
		<description><![CDATA[Hi All, We have seen quite some people having trouble getting a proper test automation setup using cucumber and watir-webdriver or selenium-webdriver. Here we describe the minimum number of steps to get your cucumber with watir/selenium-webdriver up and running. Step 1 &#8211; Install Ruby Download and install rubyinstaller-1.9.2-p180.exe. Explanation/details: rubyinstaller-1.8.7-p334.exe would also work Step 2 [...]]]></description>
			<content:encoded><![CDATA[<p>Hi All,</p>
<p>We have seen quite some people having trouble getting a proper test automation setup using cucumber and watir-webdriver or selenium-webdriver. Here we describe the minimum number of steps to get your cucumber with watir/selenium-webdriver up and running.</p>
<h3><strong>Step 1 &#8211; Install Ruby</strong></h3>
<p><code><br />
Download and install <a href="http://rubyforge.org/frs/download.php/74298/rubyinstaller-1.9.2-p180.exe">rubyinstaller-1.9.2-p180.exe</a>.<br />
</code></p>
<h4><em>Explanation/details:</em></h4>
<p><a href="http://rubyforge.org/frs/download.php/74298/rubyinstaller-1.9.2-p180.exe">rubyinstaller-1.8.7-p334.exe</a> would also work</p>
<h3><strong>Step 2 &#8211; Extract DevKit</strong></h3>
<p><code><br />
Download and extract <a href="http://github.com/downloads/oneclick/rubyinstaller/DevKit-tdm-32-4.5.1-20101214-1400-sfx.exe">DevKit-tdm-32-4.5.1-20101214-1400-sfx.exe</a> to a folder you like.<br />
</code></p>
<h4><em>Explanation/details:</em></h4>
<p>Make sure you create a new folder, it extracts the lib and bin folders to that location, there is no root folder such as DevKit for example.</p>
<p>DevKit is needed because Cucumber requires the json gem. Without installing DevKit you would get the error:<br />
<code>ERROR:  Error installing cucumber:<br />
The 'json' native gem requires installed build tools.</code></p>
<p><code> </code></p>
<p><code>Please update your PATH to include build tools or download the DevKit<br />
from 'http://rubyinstaller.org/downloads' and follow the instructions<br />
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'<br />
</code></p>
<h3><strong>Step 3 &#8211; Install DevKit</strong></h3>
<p>Goto the root folder where you extracted DevKit and execute the commands:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">ruby dk.rb init
ruby dk.rb install</pre></div></div>

<h3><strong>Step 4 &#8211; Install the required gems</strong></h3>
<p>Execute:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">gem update --system
gem install rspec --no-ri --no-rdoc
gem install win32console --no-ri --no-rdoc
gem install watir-webdriver --no-ri --no-rdoc
gem install cucumber --no-ri --no-rdoc</pre></div></div>

<h4><em>Explanation/details:</em></h4>
<p>- Installing rspec because it is a commonly used gem.<br />
- win32console supports colored output on the dos command line when executing the tests!<br />
- watir-webdriver requires selenium webdriver, so that one will be installed always. If you only want selenium-webdriver, just do <em>gem install selenium-webdriver</em> instead.</p>
<p>When creating an <em>install_gems.bat</em> file inlcuding these commands, make sure to use the <em>CALL</em> command, e.g:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;"><span style="color: #00b100; font-weight: bold;">CALL</span> gem update --system
<span style="color: #00b100; font-weight: bold;">CALL</span> gem install rspec --no-ri --no-rdoc
<span style="color: #00b100; font-weight: bold;">CALL</span> gem install win32console --no-ri --no-rdoc
<span style="color: #00b100; font-weight: bold;">CALL</span> gem install watir-webdriver --no-ri --no-rdoc
<span style="color: #00b100; font-weight: bold;">CALL</span> gem install cucumber --no-ri --no-rdoc</pre></div></div>

<h3><strong>Step 5 &#8211; Start with your Cucumber and Webdriver setup</strong></h3>
<p>New to cucumber? Have a look at our <a href="http://blog.spritecloud.com/2010/03/web-testing-with-cucumber/" target='''_blank'>Web Testing With Cucumber</a> blog!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spritecloud.com/2011/04/complete-setup-guide-for-ruby-cucumber-and-watir-or-selenium-on-windows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8216;Het Financiële Dagblad Young Entrepeneur Pitch&#8217;</title>
		<link>http://blog.spritecloud.com/2011/03/het-financiele-dagblad-young-entrepeneur-pitch/</link>
		<comments>http://blog.spritecloud.com/2011/03/het-financiele-dagblad-young-entrepeneur-pitch/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 22:29:40 +0000</pubDate>
		<dc:creator>barzilay</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[Publicity]]></category>

		<guid isPermaLink="false">http://blog.spritecloud.com/?p=391</guid>
		<description><![CDATA[Our pitch about our Website Quality Assurance Services and Solutions in Dutch. Upon request we have translated the pitch: Goodday! Of no web-application it is known if all the functionally is always working for a 100%. Especially not, if the complexity increases, or when the application is in constant development. Let alone, when you have [...]]]></description>
			<content:encoded><![CDATA[<p>Our pitch about our Website Quality Assurance Services and Solutions in Dutch.</p>
<p><iframe title="YouTube video player" width="600" height="368" src="http://www.youtube.com/embed/xgrcyzr1ajc" frameborder="0" allowfullscreen></iframe></p>
<p>Upon request we have translated the pitch:<br />
<strong><br />
Goodday!</p>
<p>Of no web-application it is known if all the functionally is always working for a 100%.<br />
Especially not, if the complexity increases, or when the application is in constant development.<br />
Let alone, when you have to take all the different web browsers into consideration, or performance when the number of visitors increase.</p>
<p>IF functionality works, you can figure out in only one way: This is to test it!<br />
This testing can be done in two ways again;<br />
1 &#8211; Manual,.. testing every bit of functionality manually.<br />
2 &#8211; spriteCloud</p>
<p>I am Mark Barzilay from spriteCloud. We are experts in Website Quality Assurance and Test Automation.<br />
We look for solutions in high-end innovation. That we are, through Shell Livewire, one of the 20 most innovative startups of the Netherlands, confirms this.</p>
<p>With aid of our <a href="http://portal.spritecloud.com" target="_blank">service portal</a> test coverage and test results become clear.</p>
<p>Working together with spriteCloud doesn&#8217;t only result in a higher test coverage, but also to a more efficient test process.</p>
<p>In short, with spriteCloud you are certain that the quality of your web application is good!</p>
<p>Thanks!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spritecloud.com/2011/03/het-financiele-dagblad-young-entrepeneur-pitch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

