<?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>Gojko Adzic &#187; testing</title>
	<atom:link href="http://gojko.net/tag/testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://gojko.net</link>
	<description>Building software that matters</description>
	<lastBuildDate>Fri, 12 Mar 2010 07:59:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Checking is not testing, testing is not checking</title>
		<link>http://gojko.net/2009/11/06/checking-is-not-testing-testing-is-not-checking/</link>
		<comments>http://gojko.net/2009/11/06/checking-is-not-testing-testing-is-not-checking/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 11:12:28 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[exploratory testing]]></category>
		<category><![CDATA[oredev]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=1386</guid>
		<description><![CDATA[Today at the Oredev conference in Malmo, James Marcus Bach suggested renaming a large part of what is now called tests to checks. Bach said there is a big difference between a conscious process of questioning and evaluating a product and almost mechanical rule-based verifications. These two things are different enough that they should have [...]]]></description>
			<content:encoded><![CDATA[<p>Today at the Oredev conference in Malmo, <a href="http://www.buccaneerscholar.com/blog/">James Marcus Bach</a> suggested renaming a large part of what is now called tests to checks. Bach said there is a big difference between a conscious process of questioning and evaluating a product and almost mechanical rule-based verifications. These two things are different enough that they should have different names, and bundling them under the name of &#8220;test&#8221; causes confusion. He suggested calling the former kind of work <i>testing</i> and latter <i>checking</i>.<span id="more-1386"></span></p>
<p><img src="/images/oredev_bach.jpg" /></p>
<p>Bach compared the situation in testing today to early days of software development where compiling and writing code were all called programming, then compiling got separated and renamed to reflect the fact that it is completely done with a machine. Checking can be automated to a great degree and delegated to the machine, said Bach, offering an example of classic TDD unit tests. Testing as a concious process needs to be done by a trained specialist. This allows us to put more emphasis on exploratory testing, which Elisabeth Hendrickson listed as one of the <a href="http://gojko.net/2009/10/13/seven-key-agile-testing-practices-for-releasable-software/">key seven practices for successful agile testing</a>.</p>
<p>On a similar note, Mary Poppendieck talked about how <a href="http://gojko.net/2009/10/16/mary-poppendieck-test-driven-development-redefined/">testing is a learning activity</a> at the <a href="/tag/agiletd">Agile Testing Days</a> conference in Berlin, contrasting it to checking the correctness using known expectations. </p>
<p>See other articles from the <a href="/tag/oredev">Oredev</a> conference.</p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2009/11/06/checking-is-not-testing-testing-is-not-checking/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Upgrading agile development at uSwitch.com: From concept to production in four days</title>
		<link>http://gojko.net/2009/10/29/upgrading-agile-development-at-uswitch-com-from-concept-to-production-in-four-days/</link>
		<comments>http://gojko.net/2009/10/29/upgrading-agile-development-at-uswitch-com-from-concept-to-production-in-four-days/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 17:44:51 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[skillsmatter]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=1357</guid>
		<description><![CDATA[At the agile testing user group meeting yesterday in London, Hemal Kuntawala talked about development strategies and process improvements at uSwitch.com over the last year or so. The start of his experience report reminded me very much of several teams I&#8217;ve seen over the last few years, with a process that is seemingly agile with [...]]]></description>
			<content:encoded><![CDATA[<p>At the <a href="http://www.agiletesting.org.uk">agile testing user group</a> meeting yesterday in London, <a href="http://testerhemal.wordpress.com/">Hemal Kuntawala</a> talked about development strategies and process improvements at <a href="http://uSwitch.com">uSwitch.com</a> over the last year or so. The start of his experience report reminded me very much of several teams I&#8217;ve seen over the last few years, with a process that is seemingly agile with lots of good ideas but also a ton of problems. Judging by the reactions from the audience the situation is very common in development shops today, so his success story is sure to be very encouraging to lots of people out there.<span id="more-1357"></span></p>
<p>What was really interesting for me in this report is that the change was driven by the demand for better quality. Hemal joined uSwitch as a QTP automation specialist a year ago, when the process in place had quite a few agile elements. Developers were doing TDD, continuous integration was in place, they were doing three weeks sprints and had a Scrum wall. Developers worked in small teams with testers on the team and &#8220;never more than two or three seats away from the business&#8221;. Two days at the end of every iteration were left for cleanup and testing. But they still had lots of quality problems, which led to a company-wide effort to focus on quality. Out of that, little by little, they fundamentally changed the development process and how they think about software development.</p>
<h2>Fat-er wall</h2>
<p>Kuntawala said that although developers and testers were working closely together, there was still an invisible wall between them and developers. Developers would develop and testers would test &#8211; throwing features over that invisible wall to each-other. As there was one tester to three developers, testers quickly became a bottleneck.  &#8220;QA and development were ping-ponging each-other. When the time is up, deadlines have to be met and the code gets shipped regardless of quality&#8221;, said Kuntawala. This phased approach, albeit done in short iterations, still did not allow them to get the quality they expected. So they started a company-wide initiative to focus on quality and get everyone to think about improving quality. </p>
<p>The first thing that they did is remove the testing bottleneck and get rid of the imaginary barrier between developers and testers (Kuntawala called it the Fat-er wall, anagram of waterfall). Developers were asked to start thinking about testing and they were educated on how to test and learned the theory behind testing. Likewise, testers got educated about development and started to develop and look at the system underneath the user interface. &#8220;You get a better perspective of what needs to be tested in the right place&#8221;, said Kuntawala. This all resulted in code that was more testable and much better tested. Instead of a massive number of QTP tests, which were poorly documented and used only by testers due to licensing costs, they switched to Selenium for UI testing.</p>
<p>The tester role was dropped completely. Instead of talking about testing, they just called everything development. Testers got their job roles changed to reflect this. One of the developers in the audience said that dropping the testing phase made people work much more carefully because they knew that &#8220;nobody is going to look at this after they commit and it will go to production&#8221;.</p>
<h2>Sorting out deployment</h2>
<p>At this point, developers were really releasing to the source code control system. Once the code was in the release branch, they considered their work done. The operations team would take the code from there and try to release it to production. This process was error-prone and it was their next area of focus. The operations team already had some tests to verify the deployment but they were unreliable (often timing out). After doing a few deployments together with the operations team, the developers started writing better tests to verify post-deployment status of the application. These tests are written with Selenium and operations team used them to quickly verify newly deployed code. Developers also make sure that they pass them before handing over to operations. Resolving deployment issues and timeouts on tests and working together to investigate these things resulted in much shorter time to run tests and being able to verify deployments better. It&#8217;s also worth noting that they deploy to half of the server farm, verify that it is working correctly, and then deploy to the other half. This allows them to quickly roll back and deploy without downtime.</p>
<h2>Moving from tasks to stories</h2>
<p>The next part of the process they optimised is being able to deliver smaller chunks of software. They previously used technical tasks to plan and divide work. Technical tasks made it hard to work out a specific acceptance criteria for each task. This also caused delays in deployment. &#8220;Tasks depend on each other so developers were reluctant to deploy it until everything is done&#8221;, said Kuntawala. So they moved to working on user stories instead of tasks. Stories reflect user value, they are individually deployable and it is easy to get a good definition of when a story is done. As part of the change, they started using acceptance tests as a guide for development and introduced specification workshops to get better involvement from the business side. In order to help people write better acceptance tests, they developed cheat-sheets, taking ideas from Jerry Weinberg and James Whittaker (Does it do what we want it to do? does it do what we don&#8217;t want it to do? think about where bugs can lurk: input, state, environment and data). Selenium tests were replaced with <a href="http://cukes.info/">Cucumber</a> and <a href="http://watir.com">WatiR</a>.</p>
<h2>Avoiding mass sign-off and testing</h2>
<p>Once the deliverables were broken down into stories and it was possible to ship them out sooner, the cycle at the end of the iteration where features get signed-off before a release became a bottleneck and was seen as an unnecessary delay. Instead of running the tests at the end, they started running tests immediately. Instead of one big demonstration at the end, they started demonstrating new features to the business and getting them signed off as soon as they were done. Finally, they started deploying these things on demand. To help with this, they started continuous monitoring on production. They chose <a href="http://tealeaf.com">Tealeaf</a> for user experience monitoring, such as tracking error rates and usage of new features. This added visibility provides a safety-net against unnoticed deployment problems.</p>
<h2>Restructuring the scrum wall</h2>
<p>After all this, they restructured the scrum wall to reflect their new process, moving in the Kanban direction. It now has four columns: Ready, In Progress, Inventory and Done. A story becomes ready when it is added into the release plan. It is In Progress during development (including testing) and goes to Inventory when it is ready for deployment. It goes to Done once it is in production, making money. What&#8217;s really interesting about this is a limit of three stories in Inventory &#8211; in order to move things there, you first have to deploy what is already in the Inventory, reducing the difference between development and production systems.  The limit on Done is 9, meaning that once 9 things are deployed, they do the retrospective. Instead of time-based iterations, they effectively have work-based iterations.</p>
<h2>The result</h2>
<p>The expected turnaround time for a feature a year ago was six to nine weeks. Today, the average turnaround time from requirement to production is just four days. And things are coming out without problems &#8211; apparently there hasn&#8217;t been a serious issue in production for over six months. One of the development managers from uSwitch was in the audience and said that &#8220;quality has increased substantially and our conversion rates have grown&#8221;. &#8220;We now see work hit production a lot sooner. It might seem we&#8217;re working faster but we&#8217;re doing things that are smaller and smaller&#8221;, commented one of Kuntawala&#8217;s colleagues during the discussion.</p>
<p>As some interesting quotes from the team, Kuntawala said that a colleague from the operations team started asking &#8220;is there a better way to test this&#8221;, that a business colleague asked &#8220;how are we going to test this&#8221; and that the business is telling them &#8220;we can&#8217;t keep up&#8221;. The company no longer thinks about development in terms of projects and iterations, but in terms of business value.</p>
<p>A very interesting observation during the discussion after Kuntawala&#8217;s presentation was that these changes were not driven by a big management decision. They were all implemented as small gradual improvements. Small changes, continuous problem solving and improvement made the transition smooth. &#8220;When we got comfortable, we started thinking about what&#8217;s the next thing we can do&#8221;, said Kuntawala, suggesting that the next things that they will look into will be fully automated deployments and better integration of development teams and the business. He concluded that in twelve months time the process will probably look a lot different. I look forward to hearing an update on this next year.</p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2009/10/29/upgrading-agile-development-at-uswitch-com-from-concept-to-production-in-four-days/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Mike Scott opensources Testify</title>
		<link>http://gojko.net/2009/10/13/mike-scott-opensources-testify/</link>
		<comments>http://gojko.net/2009/10/13/mike-scott-opensources-testify/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 14:58:56 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[agiletd]]></category>
		<category><![CDATA[testify]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=1307</guid>
		<description><![CDATA[Today at Agile Testing Days conference in Berlin, Mike Scott from SQS announced the immediate availability of Testify, an agile TDD toolset installer and project generator. 
Testify is a wizard for creating new, portable projects. It sets up the project structure and installs the opensource testing toolset, a stack of “best of breed” tools needed [...]]]></description>
			<content:encoded><![CDATA[<p>Today at <a href="/tag/agiletd">Agile Testing Days</a> conference in Berlin, <a href="http://twitter.com/MikeAScott">Mike Scott</a> from SQS announced the immediate availability of Testify, an agile TDD toolset installer and project generator. <span id="more-1307"></span></p>
<p>Testify is a wizard for creating new, portable projects. It sets up the project structure and installs the opensource testing toolset, a stack of “best of breed” tools needed for TDD. It also creates a trivial core project, a trivial UI and a set of trivial unit and acceptance tests that serve as examples for your tests, along with batch files to build the project and run all tests in the suite. The build files will do a full build, run all the unit and acceptance tests, executes static analysis, coverage report and so on. </p>
<p>David Evans talked about Testify <a href="http://gojko.net/2009/08/26/fast-track-test-driven-development-testify-your-project/">earlier this year</a> in London, prompting lots of questions about opensourcing it. As of today, testify is available under an opensource license from <a href="http://code.google.com/p/testifywizard/">Google code repository</a>.</p>
<p><i>see other news from the <a href="/tag/agiletd">Agile Testing Days</a> conference.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2009/10/13/mike-scott-opensources-testify/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing the role of test managers</title>
		<link>http://gojko.net/2009/10/13/changing-the-role-of-test-managers/</link>
		<comments>http://gojko.net/2009/10/13/changing-the-role-of-test-managers/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 14:26:42 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agile testing]]></category>
		<category><![CDATA[agiletd]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=1302</guid>
		<description><![CDATA[During the ‘Agile Quality Management – Axiom or Oxymoron?’ talk at Agile Testing Days today in Berlin, David Evans from SQS talked about several aspects of agile development that often confuse and scare traditional test managers. One of the aspects that was particularly interesting to me is the fact that there is no test management [...]]]></description>
			<content:encoded><![CDATA[<p>During the ‘Agile Quality Management – Axiom or Oxymoron?’ talk at <a href="/tag/agiletd">Agile Testing Days</a> today in Berlin, <a href="http://www.computerworlduk.com/community/blogs/index.cfm?blogid=20">David Evans</a> from SQS talked about several aspects of agile development that often confuse and scare traditional test managers. One of the aspects that was particularly interesting to me is the fact that there is no test management role in agile literature. Test managers are often “afraid that they’ll disappear in a puff of logic when agile testing starts”, said Evans. <span id="more-1302"></span></p>
<p>According to Evans, the oxymoron here is managing testing. Test management is one of those hangovers from traditional waterfall development, which was a best practice then but does not really apply in agile processes. When testing was a mini project itself, it had to be managed separately. When development and testing are integrated this overhead goes away. Testers belong to the team, tests are specifications, so they don’t need separate management from development. The responsibility of test management still exists, but lies with the team. </p>
<p>This doesn’t mean that test managers will necessarily lose their jobs. Test managers can become “practice managers”, who are responsible to get the best possible testers and make them available to a team, but then step away.  Test management activity can also become similar to coaching, mentoring testers and educating them, hiring, helping people through their career. These responsibilities still exist and that is where the responsibilities should be in terms of management. An alternative, which Lisa Crispin mentioned, is that they can go back to testing.</p>
<p>Speaking about heavy test management tools, which are equally missing from agile literature, Evans said that they are useful for metrics such as tests are running at a given pace, or 98% of our tests are passing. But on agile projects you expect a 100% pass rate and frequent execution, so metrics become irrelevant. Evans said that 98% pass rate might be good news for a test manager on a waterfall project, but an agile team will view that as “we have tests failing”, something that has to be addressed and fixed straight away. The percentage of failing tests is irrelevant in this case. As there is no need for such metrics, agile teams tend to use lighter-weight tools that get their job done.</p>
<p><i>See other news from <a href="/tag/agiletd">Agile testing days</a>.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2009/10/13/changing-the-role-of-test-managers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Are agile testers different?</title>
		<link>http://gojko.net/2009/10/13/are-agile-testers-different/</link>
		<comments>http://gojko.net/2009/10/13/are-agile-testers-different/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 08:20:48 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[agile testing]]></category>
		<category><![CDATA[agiletd]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=1276</guid>
		<description><![CDATA[Lisa Crispin gave a keynote at Agile Testing Days conference in Berlin today, discussing the topic of staffing an agile team with testers, in particular whether any tester can be on an agile team or are agile testers different from the rest. Crispin and Janet Gregory interviewed a lot of testers while working on their [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lisacrispin.com/wordpress/">Lisa Crispin</a> gave a keynote at <a href="http://www.agiletestingdays.com">Agile Testing Days</a> conference in Berlin today, discussing the topic of staffing an agile team with testers, in particular whether any tester can be on an agile team or are agile testers different from the rest. Crispin and <a href="http://janetgregory.ca/">Janet Gregory</a> interviewed a lot of testers while working on <a href="http://gojko.net/2009/02/23/agile-testing-crispingregory-is-a-great-book-long-overdue/">their book</a> and found that lots of people they interviewed had similar experiences and traits. According to Crispin, an agile tester mindset is such that they: <span id="more-1276"></span></p>
<ul>
<li>Constantly look for new challenges and ways to improve: they learn new tools, scripting languages and approaches to testing</li>
<li>Are proactive and willing to take on any task: they look for ways to contribute in different ways on a project, not limiting themselves to traditional testing tasks</li>
<li>Collaborative, not antagonistic: they collaborate with the rest of the team to deliver the best possible product, not take an adversarial approach to developers. </li>
<li>Customer-focused: they to work closely with customers, learn from them and help them do their job better</li>
<li>Results-oriented: teams set goals for themselves and they aim to achieve these goals with everyone else</li>
<p>The “quality police” mindset typical for testers on traditional waterfall teams doesn’t work on an agile team. “You’re not there to stop bad developers put bad code into production, you’re there to help them build quality into the product from the start“, said Crispin.</p>
<p>To testers fearful about going into an agile project, Crispin said that “It’s an agile testers’ utopia”, because “agile is all about quality” and everyone on the team is concerned about delivering a good product.</p>
<p><i>I&#8217;ll be covering Agile Testing Days on this blog in the next few days. Monitor the <a href="/tag/agiletd">agiletd</a> tag on my blog for updates</i></ul>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2009/10/13/are-agile-testers-different/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
