<?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>HCoder.org &#187; tests</title>
	<atom:link href="http://hcoder.org/tag/tests/feed/" rel="self" type="application/rss+xml" />
	<link>http://hcoder.org</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sat, 17 Jul 2010 21:17:24 +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>Feeling the pressure produces better code?</title>
		<link>http://hcoder.org/2009/12/06/feeling-the-pressure-produces-better-code/</link>
		<comments>http://hcoder.org/2009/12/06/feeling-the-pressure-produces-better-code/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 16:10:00 +0000</pubDate>
		<dc:creator>emanchado</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[automated]]></category>
		<category><![CDATA[exploratory]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[teams]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[tests]]></category>
		<category><![CDATA[unit]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[The other day I was in a conversation with some developer that was complaining about some feature. He claimed that it was too complex and that it had led to tons of bugs. In the middle of the conversation, the developer said that the feature had been so buggy that he ended up writing a [...]]]></description>
			<content:encoded><![CDATA[<p>The other day I was in a conversation with some developer that was complaining about some feature. He claimed that it was too complex and that it had led to tons of bugs. In the middle of the conversation, the developer said that the feature had been so buggy that he ended up writing a lot of unit tests for it. To be honest I don&#8217;t think there were a lot of bugs <em>after</em> those tests were written, so that made me think:</p>
<blockquote><p>Maybe the testers in his team are doing too good of a job?</p></blockquote>
<p>
Because, you know, if testers are finding enough of &#8220;those bugs&#8221; (the ones that should be caught and controlled by unit tests and not by testers <em>weeks</em> after the code was originally written), maybe some developers are just not &#8220;feeling the pressure&#8221; and can&#8217;t really get that they should be writing tests for their code. If testers are very good, things just work out fine in the end&#8230; sort of. And of course, the problem here is the trailing &#8220;sort of&#8221;.<br />
I know I&#8217;m biased, but in my view there is a <strong>ton</strong> of bugs that should never be seen by someone that is not the developer itself. Testers should deal with more complex, interesting, user-centred bugs. Non-trivial cases. Suboptimal UIs. Implementation disagreements between developers and stakeholders. That kind of thing. It&#8217;s simply a waste of time and resources that testers have to deal with silly, easy-to-avoid bugs on a daily basis. Not to mention that teams shouldn&#8217;t have to wait for days or weeks until they find <em>basic</em> bugs via exploratory testing. Or that a lot of those are much, much quicker to test with unit tests than having to create the whole fixture/environment for them to be found with exploratory testing.<br />
My current conclusion is that pushing on the UI/usability side is not only good for the user, but it&#8217;s likely to produce better code as it will be, on average, more complex and will have to be better controlled by QA (code review, less ad-hoc design, &#8230;) and automated tests. Maybe developers will start hating me for that, but hopefully <em>users</em> will thank me.</p>
]]></content:encoded>
			<wfw:commentRss>http://hcoder.org/2009/12/06/feeling-the-pressure-produces-better-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slides for several talks now published</title>
		<link>http://hcoder.org/2009/09/20/slides-for-several-talks-now-published/</link>
		<comments>http://hcoder.org/2009/09/20/slides-for-several-talks-now-published/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 15:25:00 +0000</pubDate>
		<dc:creator>emanchado</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[automated]]></category>
		<category><![CDATA[courses]]></category>
		<category><![CDATA[packaging]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[slides]]></category>
		<category><![CDATA[talks]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[tests]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I had said that I was going to publish the slides for a couple of talks I had given over the last couple of months, and I just got around to actually do it, so here they are: Software automated testing 123, an entry-level talk about software automated testing. Why you should be doing it [...]]]></description>
			<content:encoded><![CDATA[<p>I had said that I was going to publish the slides for a couple of talks I had given over the last couple of months, and I just got around to actually do it, so here they are:</p>
<ul>
<li><a href="http://www.demiurgo.org/charlas/testing-123/">Software automated testing 123</a>, an entry-level talk about software automated testing. Why you should be doing it (if you&#8217;re not already), some advice for test writing, some basic concepts and some basic examples (in Perl, but I trust it shouldn&#8217;t be too hard to follow even if you don&#8217;t know the language).</li>
<li><a href="http://www.demiurgo.org/charlas/python-unittesting/">Taming the Snake: Python unit tests</a>, another entry-level talk, but this time about Python unit testing specifically. How to write xUnit style tests with <code>unittest</code>, some advice and conventions and some notes on how to use the excellent <code>nosetests</code> tool.</li>
<li>Introduction to Debian packaging, divided in four sessions: <a href="http://www.demiurgo.org/charlas/debian/1-introduction/slides.html">Introduction</a>, <a href="http://www.demiurgo.org/charlas/debian/2-simple_packaging/slides.html">Packaging a simple app</a>, <a href="http://www.demiurgo.org/charlas/debian/3-backporting_software/slides.html">Backporting software</a> and <a href="http://www.demiurgo.org/charlas/debian/4-packaging_tools/slides.html">Packaging tools</a>.</li>
</ul>
<p>Just a quick note about them: the slides shouldn&#8217;t be too hard to understand without me talking, but of course you&#8217;ll lose some stuff that is not written down, some twists, clarifications of what I mean exactly by different things and whatnot. In particular, the &#8220;They. don&#8217;t. make. sense. Don&#8217;t. write. them&#8221; stuff refers to tests that don&#8217;t have a reliable/controlled environment to run into. I feel really strong about them, so I wanted to dedicate a few more seconds to smashing the idea that they&#8217;re ok, hence the extra slides :-)</p>
<p>Enjoy them, and please send me any comments you have about them!</p>
]]></content:encoded>
			<wfw:commentRss>http://hcoder.org/2009/09/20/slides-for-several-talks-now-published/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Haberdasher: testsuites and RemixUI</title>
		<link>http://hcoder.org/2008/03/13/more-haberdasher-testsuites-and-remixui/</link>
		<comments>http://hcoder.org/2008/03/13/more-haberdasher-testsuites-and-remixui/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 23:19:00 +0000</pubDate>
		<dc:creator>emanchado</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[haberdasher]]></category>
		<category><![CDATA[foton]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rails2]]></category>
		<category><![CDATA[remixui]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[tests]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[After porting Haberdasher to Rails 2, I had forgotten to execute all the testsuites I had (unit, functional and acceptance, with Selenium and Selenium on Rails). The bad news is that they didn&#8217;t pass. The good news is that it wasn&#8217;t such a big problem making them pass again. The functional tests failed because of [...]]]></description>
			<content:encoded><![CDATA[<p>After porting <a href="http://haberdasherhq.org/">Haberdasher</a> to Rails 2, I had forgotten to execute all the testsuites I had (unit, functional and acceptance, with <a href="http://selenium.openqa.org/">Selenium</a> and <a href="http://selenium-on-rails.openqa.org/">Selenium on Rails</a>). The bad news is that they didn&#8217;t pass. The good news is that it wasn&#8217;t such a big problem making them pass again.</p>
<p>The functional tests failed because of some stupid change in Rails 2. Namely, it seems that now you can&#8217;t make more than one request in a single functional test method (bug?). The acceptance tests had some minor problems due to some changes I made in the interface. The rest worked without problems.</p>
<p>Now that everything is ported and working like a charm, it&#8217;s time to make some interesting changes. I had been wanting to use a really cool library called RemixUI, made by my former company, <a href="http://www.foton.es/">Fotón Sistemas Inteligentes</a>, and these days I finally had the chance to use the latest version. RemixUI is a &#8220;web widget&#8221; library, similar to DJWidgets, MCWidgets and RemixWidgets (all of them available in the <a href="http://fotonsi.berlios.de/">Fotón BerliOS page</a>, but unfortunately obsolete), that makes it much easier to write validation, integration between client side and server side, interface improvements with Javascript, reusable widgets/controls, etc.</p>
<p>I haven&#8217;t used it that much yet, but I&#8217;m really eager to change all the forms and controls in the application to take advantage of the cool stuff offered by RemixUI. The problem now is that the RemixUI gem is not public yet, so I can&#8217;t really release the new version of Haberdasher. I&#8217;ll try to make them put the Gem somewhere public, so I can release Haberdasher, and other people can have a look at RemixUI.</p>
]]></content:encoded>
			<wfw:commentRss>http://hcoder.org/2008/03/13/more-haberdasher-testsuites-and-remixui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
