<?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/"
		xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Željko Filipin&#039;s Blog on Software and Testing &#187; Testing</title>
	<atom:link href="http://zeljkofilipin.com/category/software/testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://zeljkofilipin.com</link>
	<description>Test like you do not need the money.</description>
	<lastBuildDate>Fri, 13 Jan 2012 11:26:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<copyright>Copyright &#xA9; Željko Filipin&#039;s Blog on Software and Testing 2010 </copyright>
	<managingEditor>zeljko.filipin@gmail.com (Željko Filipin&#039;s Blog on Software and Testing)</managingEditor>
	<webMaster>zeljko.filipin@gmail.com (Željko Filipin&#039;s Blog on Software and Testing)</webMaster>
	<image>
		<url>http://zeljkofilipin.com/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>Željko Filipin&#039;s Blog on Software and Testing</title>
		<link>http://zeljkofilipin.com</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>Test like you do not need the money.</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>Željko Filipin&#039;s Blog on Software and Testing</itunes:author>
	<itunes:owner>
		<itunes:name>Željko Filipin&#039;s Blog on Software and Testing</itunes:name>
		<itunes:email>zeljko.filipin@gmail.com</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://zeljkofilipin.com/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>Zagreb STC MeetUp #2</title>
		<link>http://zeljkofilipin.com/zagreb-stc-meetup-2/</link>
		<comments>http://zeljkofilipin.com/zagreb-stc-meetup-2/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 11:25:31 +0000</pubDate>
		<dc:creator>Željko Filipin</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://zeljkofilipin.com/?p=1544</guid>
		<description><![CDATA[Yesterday I was at Zagreb STC MeetUp #2. It was organized by Karlo Šmid at Ericsson Nikola Tesla. After the first meetup (which was great) I thought the second one could be only worse. But to my great surprise, it was even better than the first one! About ten of us appeared. Pizza was already [...]]]></description>
			<content:encoded><![CDATA[<p><embed type="application/x-shockwave-flash" src="https://picasaweb.google.com/s/c/bin/slideshow.swf" width="600" height="400" flashvars="host=picasaweb.google.com&#038;hl=en_US&#038;feat=flashalbum&#038;RGB=0x000000&#038;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fzeljko.filipin%2Falbumid%2F5697059738175797041%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></p>
<p>Yesterday I was at <a href="http://www.meetup.com/SoftwareTestingClub/events/45216182/">Zagreb STC MeetUp #2</a>. It was organized by <a href="http://zagorskisoftwaretester.blogspot.com/2011/12/zagreb-croatia-testers-meetup-2.html">Karlo Šmid</a> at <a href="http://www.ericsson.com/hr/">Ericsson Nikola Tesla</a>.</p>
<p>After <a href="http://zeljkofilipin.com/software-testers-speak-up-meeting-1/">the first meetup</a> (which was great) I thought the second one could be only worse. But to my great surprise, it was even better than the first one!</p>
<p>About ten of us appeared. Pizza was already there, so we started talking informally while eating pizza. (We even had a snack and refreshment sponsor, <a href="http://calyx.hr/">Calyx</a>.)</p>
<p>Karlo brought a few books, I brought a few and we organized a little library. I think I got a pretty good deal, I borrowed a few good books:</p>
<ul>
<li><a href="http://www.geraldmweinberg.com/Site/Perfect_Software.html">Perfect Software: And Other Illusions about Testing</a> by Gerald M. Weinberg</li>
<li><a href="http://www.amazon.com/Lessons-Learned-Software-Testing-Kaner/dp/0471081124">Lessons Learned in Software Testing</a> by Cem Kaner, James Bach and Bret Pettichord</li>
<li><a href="http://www.amazon.com/Testing-Computer-Software-2nd-Kaner/dp/0471358460">Testing Computer Software, 2nd Edition</a> by Cem Kaner, Jack Falk and Hung Q. Nguyen</li>
</ul>
<p>(Book reviews coming soon.)</p>
<p>While we were still eating pizza, Karlo had a talk about <a href="http://grinder.sourceforge.net/">The Grinder</a>, a Java Load Testing Framework. After that I talked about <a href="http://watir.com/">Watir</a> (automated testing that doesn’t hurt), <a href="http://cukes.info/">Cucumber</a> (making BDD fun) and <a href="http://sikuli.org/">Sikuli</a> (automate anything you see) and how I use them together.</p>
<p>A really important part of every meetup are informal conversations in pairs or small groups, and we also had plenty of those.</p>
<p>A really good meetup. If you have a chance to attend the next one, I would highly recommend it.</p>
]]></content:encoded>
			<wfw:commentRss>http://zeljkofilipin.com/zagreb-stc-meetup-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Software Testers Speak Up Meeting #1</title>
		<link>http://zeljkofilipin.com/software-testers-speak-up-meeting-1/</link>
		<comments>http://zeljkofilipin.com/software-testers-speak-up-meeting-1/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 11:26:56 +0000</pubDate>
		<dc:creator>Željko Filipin</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://zeljkofilipin.com/?p=1497</guid>
		<description><![CDATA[I was at Software Testers Speak Up Meeting #1 yesterday at Ericsson Nikola Tesla (in Zagreb, Croatia). It was organized by Karlo Šmid. It was a good meeting. About 15 of us showed up. We introduced ourselves, talked about what we do, asked questions&#8230; After and hour or two talking, pizza arrived but the discussions [...]]]></description>
			<content:encoded><![CDATA[<p><embed type="application/x-shockwave-flash" src="https://picasaweb.google.com/s/c/bin/slideshow.swf" width="600" height="400" flashvars="host=picasaweb.google.com&#038;hl=en_US&#038;feat=flashalbum&#038;RGB=0x000000&#038;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fzeljko.filipin%2Falbumid%2F5673695170814139937%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></p>
<p>I was at <a href="http://zagorskisoftwaretester.blogspot.com/2011/10/software-testers-speak-up-meeting-1.html">Software Testers Speak Up Meeting #1</a> yesterday at <a href="http://www.ericsson.com/hr/">Ericsson Nikola Tesla</a> (in Zagreb, Croatia). It was organized by <a href="http://zagorskisoftwaretester.blogspot.com/">Karlo Šmid</a>.</p>
<p>It was a good meeting. About 15 of us showed up. We introduced ourselves, talked about what we do, asked questions&#8230; After and hour or two talking, pizza arrived but the discussions continued, sometimes in smaller groups or pairs. A really good meeting.</p>
<p>The next one will probably be at the same place in a month or two. We will probably have one or two short 10-20 minute talks the next time. I am really looking forward to it.</p>
<p>If you want to continue the discussion from the meeting, ping Karlo (<a href="https://twitter.com/#!/karlosmid">@karlosmid</a>) or me (<a href="zeljkofilipin">@zeljkofilipin</a>) at Twitter, join <a href="https://groups.google.com/forum/#!forum/viaqa">viaqa</a> Google group or <a href="http://www.linkedin.com/groups/viaqa-3753518?gid=3753518&#038;trk=hb_side_g">viaqa</a>/<a href="http://www.linkedin.com/groups?gid=96618&#038;trk=hb_side_g">Croatian Software Testing Network</a> LinkedIn groups.</p>
<p>Update: <a href="http://zagorskisoftwaretester.blogspot.com/2011/11/notes-on-software-testers-speak-up.html">Karlo wrote about the meeting</a> too.</p>
]]></content:encoded>
			<wfw:commentRss>http://zeljkofilipin.com/software-testers-speak-up-meeting-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>viaqa 11</title>
		<link>http://zeljkofilipin.com/viaqa-11/</link>
		<comments>http://zeljkofilipin.com/viaqa-11/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 14:54:37 +0000</pubDate>
		<dc:creator>Željko Filipin</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://zeljkofilipin.com/?p=1339</guid>
		<description><![CDATA[This June I was the main organizer of viaqa 11, conference on software testing in Zagreb, Croatia. It was two day conference. The first day was about general software testing topics, and the second day was about Watir. A have written a lot about the conference at it&#8217;s web site, and I plan to write [...]]]></description>
			<content:encoded><![CDATA[<p>This June I was the main organizer of <a href="http://viaqa.mobi/">viaqa 11</a>, conference on software testing in Zagreb, Croatia. It was two day conference. The first day was about general software testing topics, and the second day was about <a href="http://watir.com/">Watir</a>.</p>
<p>A have written a lot about the conference at it&#8217;s web site, and I plan to write more soon, so if you are interested, visit <a href="http://viaqa.mobi/">viaqa 11</a> web site.</p>
<p><embed type="application/x-shockwave-flash" src="https://picasaweb.google.com/s/c/bin/slideshow.swf" width="600" height="400" flashvars="host=picasaweb.google.com&#038;hl=en_US&#038;feat=flashalbum&#038;RGB=0x000000&#038;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fzeljko.filipin%2Falbumid%2F5621799622103710449%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></p>
<p><embed type="application/x-shockwave-flash" src="https://picasaweb.google.com/s/c/bin/slideshow.swf" width="600" height="400" flashvars="host=picasaweb.google.com&#038;hl=en_US&#038;feat=flashalbum&#038;RGB=0x000000&#038;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fzeljko.filipin%2Falbumid%2F5621800294743670033%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://zeljkofilipin.com/viaqa-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Postfix Logs: Bash</title>
		<link>http://zeljkofilipin.com/postfix-logs-bash/</link>
		<comments>http://zeljkofilipin.com/postfix-logs-bash/#comments</comments>
		<pubDate>Tue, 28 Dec 2010 14:37:26 +0000</pubDate>
		<dc:creator>Željko Filipin</dc:creator>
				<category><![CDATA[Testing]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://zeljkofilipin.com/?p=1221</guid>
		<description><![CDATA[My company uses Postfix mail server to send mail. Recently some users complained that they have received the same e-mail multiple times. I have inspected our logs and confirmed the problem. In short, the problem was that all messages should have unique message-id. We had a bug. While sending the same message to multiple people [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1301" class="wp-caption alignnone" style="width: 310px"><a href="http://zeljkofilipin.com/wp-content/uploads/2010/12/P6040019.jpg"><img src="http://zeljkofilipin.com/wp-content/uploads/2010/12/P6040019-300x224.jpg" alt="Random Croatian countryside #1" title="Random Croatian countryside #1" width="300" height="224" class="size-medium wp-image-1301" /></a><p class="wp-caption-text">Random Croatian countryside #1</p></div>
<p>My company uses <a href="http://www.postfix.org/">Postfix</a> mail server to send mail.</p>
<p>Recently some users complained that they have received the same e-mail multiple times. I have inspected our logs and confirmed the problem. In short, the problem was that all messages should have unique message-id. We had a bug. While sending the same message to multiple people (for example in a mailing list), all messages had the same message-id and that caused some mails to be sent multiple times.</p>
<p>The developers fixed the problem and I wanted to make sure it is really fixed. After checking in a virtual machine we use for testing we were pretty sure the problem is fixed. All messages had unique message-id, even if the same mail was sent to multiple people. We have updated the code in production. After a few days I wanted to check Postfix logs to make sure the problem is really fixed.</p>
<p>I have found good (and short) article on Postfix logs, <a href="http://onlamp.com/pub/a/onlamp/2004/01/22/postfix.html">Troubleshooting with Postfix Logs</a> that should provide enough information to get you started if you are new to Postfix. In short, Postfix has great logs. You will find everything you need there.</p>
<p>To further improve logs, we use <a href="http://en.wikipedia.org/wiki/Variable_envelope_return_path">variable envelope return path (VERP)</a> to track all mail. In short, VERP makes it possible to know exactly which message bounced. Our VERP looks like this: <code>vyx1psnf=qf3kay0g=user=example.net@example.com</code>. We have sent <code>vyx1psnf=qf3kay0g</code> message (our tracking ID) to <code>user@example.net</code>. We own <code>example.com</code> domain and bounced mail will be returned there. (Please notice that <code>example.net</code> and <code>example.com</code> are not the same domain.) When we get mail sent to <code>vyx1psnf=qf3kay0g=user=example.net@example.com</code> we know it is a bounce and we know exactly which mail has bounced.</p>
<p>Let&#8217;s take a look at the logs. I have just checked logs for the last two months and files for each day are from 64 to 358 MB in size. I have picked one file, Mac OS says it is 109.1 MB on disk. We will call the file <code>log</code>.</p>
<p>How does the file look like? (Some portions are anonymized.)</p>
<pre class="brush: bash; title: ; notranslate">
$ cat log | head
Dec 19 00:06:46 cdn postfix/qmgr[11196]: 051452B98BB: from=&lt;19=zrnapvcy=user=example.net@example.com&gt;, size=290769, nrcpt=1 (queue active)
Dec 19 00:06:46 cdn postfix/qmgr[11196]: 0E5B82B8EE4: from=&lt;cqpygzdq=5wtz5664=user=example.net@example.com&gt;, size=30125, nrcpt=1 (queue active)
...
</pre>
<p>(A big thank you to <a href="http://twitter.com/#!/banovotz">Davor Banović</a> for helping me with <a href="http://en.wikipedia.org/wiki/Bash_%28Unix_shell%29">Bash</a>.)</p>
<p>Every line in log file has four parts. Let&#8217;s inspect the first line in log in detail.</p>
<table border="1px">
<tr>
<td>date and time</td>
<td><code>Dec 19 00:06:46</code></td>
</tr>
<tr>
<td>host name</td>
<td><code>cdn</code></td>
</tr>
<tr>
<td>Postfix component ID</td>
<td><code>postfix/qmgr[11196]:</code></td>
</tr>
<tr>
<td>message</td>
<td><code>051452B98BB: from=<19=zrnapvcy=user=example.net@example.com>, size=290769, nrcpt=1 (queue active)</td>
</tr>
</table>
<p>We are only interested in message, and it is freeform.</p>
<p>Let's get some statistics about the log file before we dive into one mail.</p>
<pre class="brush: bash; title: ; notranslate">
$ ls -l log
-rw-r--r--  1 zeljko  staff  109127473 Dec 20 11:55 19
</pre>
<p>Google says <a href="http://www.google.com/search?q=109127473+bytes+to+megabytes">109 127 473 bytes = 104.072068 megabytes</a>.</p>
<p>All lines start with <code>Dec</code> so we can count number of lines.</p>
<pre class="brush: bash; title: ; notranslate">
$ grep -c Dec log
791311
</pre>
<p>So, 791k lines. 154k lines report status (about 19%).</p>
<pre class="brush: bash; title: ; notranslate">
$ grep -c status= log
153573
</pre>
<p>There are four statuses that are possible: deferred, sent, expired and bounced. Let's see how many of each there is.</p>
<pre class="brush: bash; title: ; notranslate">
$ grep -c status=deferred log
56609
$ grep -c status=sent log
92695
$ grep -c status=expired log
978
$ grep -c status=bounced log
3291
</pre>
<p>So, 56k deferred (37% of all statuses), 93k sent (60%), 1k expired (1%), 3k bounced (2%).</p>
<p>How many lines are there that contain VERP in <code>from</code> header and how many lines contain message-id?</p>
<pre class="brush: bash; title: ; notranslate">
$ grep -c &quot;: from=&lt;.*=.*=.*@.*&gt;, &quot; log
149133
$ grep -c message-id log
142528
</pre>
<p>(A big thank you to <a href="http://rubular.com/">Rubular</a> for helping me with regular expressions.)</p>
<p>Similar numbers. 149k lines contain VERP in from header (19% of all lines), 143k lines contain message-id (18%).</p>
<p>4k lines contain VERP in <code>to</code> header (1%). Those are bounces, remember?</p>
<pre class="brush: bash; title: ; notranslate">
$ grep -c &quot;: to=&lt;.*=.*=.*@.*&gt;, &quot; log
4279
</pre>
<p>There are 153k VERPs in either <code>from</code> or <code>to</code> headers, and VERPs appear only in mentioned headers and nowhere else.</p>
<pre class="brush: bash; title: ; notranslate">
$ grep -c &quot;: \w*=&lt;.*=.*=.*@.*&gt;, &quot; log
153412
$ grep -c &quot;&lt;.*=.*=.*@.*&gt;, &quot; log
153412
</pre>
<div id="attachment_1304" class="wp-caption alignnone" style="width: 310px"><a href="http://zeljkofilipin.com/wp-content/uploads/2010/12/P6040027.jpg"><img src="http://zeljkofilipin.com/wp-content/uploads/2010/12/P6040027-300x224.jpg" alt="Random Croatian countryside #2" title="Random Croatian countryside #2" width="300" height="224" class="size-medium wp-image-1304" /></a><p class="wp-caption-text">Random Croatian countryside #2</p></div>
<p>Enough of statistics, let's inspect one mail. A few lines from the log look like this.</p>
<pre class="brush: bash; title: ; notranslate">
$ cat log
...
Dec 19 12:25:07 cdn postfix/qmgr[11196]: 309332B8F9A: from=&lt;vyx1psnf=qf3kay0g=user=example.net@example.com&gt;, size=13803, nrcpt=1 (queue active)
Dec 19 12:25:07 cdn postfix/cleanup[31905]: 321512B8F5A: message-id=&lt;801daf8a02064f0789a28289dd0fde67@example.com&gt;
Dec 19 12:25:07 cdn postfix/smtpd[31881]: 63CBD2B8EF4: client=example.com[127.0.0.1]
Dec 19 12:25:07 cdn postfix/cleanup[31807]: 3233C2B8FA0: message-id=&lt;4bad537e1cb14b9b86f693668a2a56ed@example.com&gt;
Dec 19 12:25:07 cdn postfix/smtp[31781]: 419122B8FC8: to=&lt;user@example.net&gt;, relay=127.0.0.1[127.0.0.1]:10027, conn_use=3, delay=0.54, delays=0.41/0/0/0.13, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 8D2632B8F9A)
...
</pre>
<p>As you can see, it is a mess because Postfix logs stuff as it happens, and a lot of things happen almost at the same time. Since we want to know if any mail is sent multiple times, for now we are only interested in lines that have text <code>status=sent</code>, so we will start there.</p>
<pre class="brush: bash; title: ; notranslate">
$ grep status=sent log
...
Dec 19 12:25:07 cdn postfix/smtp[31781]: 419122B8FC8: to=&lt;user@example.net&gt;, relay=127.0.0.1[127.0.0.1]:10027, conn_use=3, delay=0.54, delays=0.41/0/0/0.13, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 8D2632B8F9A)
...
</pre>
<p>We need <code>ID</code> (<code>419122B8FC8</code>) from that line.</p>
<pre class="brush: bash; title: ; notranslate">
$ echo &quot;Dec 19 12:25:07 cdn postfix/smtp[31781]: 419122B8FC8: to=&lt;user@example.net&gt;, relay=127.0.0.1[127.0.0.1]:10027, conn_use=3, delay=0.54, delays=0.41/0/0/0.13, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 8D2632B8F9A)&quot; | cut -d &quot; &quot; -f6 | cut -d &quot;:&quot; -f1
419122B8FC8
</pre>
<p>So, mail with Postfix ID <code>419122B8FC8</code> is sent.</p>
<pre class="brush: bash; title: ; notranslate">
$ grep 419122B8FC8 log
Dec 19 12:25:07 cdn postfix/smtpd[31793]: 419122B8FC8: client=example.com[127.0.0.1]
Dec 19 12:25:07 cdn postfix/cleanup[31809]: 419122B8FC8: message-id=&lt;a64ea1f30f964980a4c27593daaa9a8e@example.com&gt;
Dec 19 12:25:07 cdn postfix/qmgr[11196]: 419122B8FC8: from=&lt;vyx1psnf=qf3kay0g=user=example.net@example.com&gt;, size=13803, nrcpt=1 (queue active)
Dec 19 12:25:07 cdn postfix/smtp[31781]: 419122B8FC8: to=&lt;user@example.net&gt;, relay=127.0.0.1[127.0.0.1]:10027, conn_use=3, delay=0.54, delays=0.41/0/0/0.13, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 8D2632B8F9A)
Dec 19 12:25:07 cdn postfix/qmgr[11196]: 419122B8FC8: removed
</pre>
<p>We also need <code>message-id</code> (<code>a64ea1f30f964980a4c27593daaa9a8e@example.com</code>), <code>VERP</code> (<code>from=&lt;vyx1psnf=qf3kay0g=user=example.net@example.com&gt;</code>) and <code>relay</code> (<code>127.0.0.1</code>).</p>
<pre class="brush: bash; title: ; notranslate">
$ grep 419122B8FC8 log | grep message-id | cut -d &quot;&lt;&quot; -f2 | cut -d &quot;&gt;&quot; -f1
a64ea1f30f964980a4c27593daaa9a8e@example.com

$ grep 419122B8FC8 log | grep &quot;: from=&lt;.*=.*=.*@.*&gt;, &quot; | cut -d &quot;&lt;&quot; -f2 | cut -d &quot;&gt;&quot; -f1
vyx1psnf=qf3kay0g=user=example.net@example.com

$ grep 419122B8FC8 log | grep relay= | cut -d &quot;=&quot; -f3 | cut -d &quot;[&quot; -f1
127.0.0.1
</pre>
<p>Now we have all data we need.</p>
<table border="1px">
<tr>
<td>VERP</td>
<td>vyx1psnf=qf3kay0g=user=example.net@example.com</td>
</tr>
<tr>
<td>message-id</td>
<td>a64ea1f30f964980a4c27593daaa9a8e@example.com</td>
</tr>
<tr>
<td>Postfix ID</td>
<td>419122B8FC8</td>
</tr>
<tr>
<td>relay</td>
<td>127.0.0.1</td>
</tr>
</table>
<p>How many times do message-id and VERP appear in the file?</p>
<pre class="brush: bash; title: ; notranslate">
$ grep vyx1psnf=qf3kay0g=user=example.net@example.com
Dec 19 12:25:07 cdn postfix/qmgr[11196]: 419122B8FC8: from=&lt;vyx1psnf=qf3kay0g=user=example.net@example.com&gt;, size=13803, nrcpt=1 (queue active)
Dec 19 12:25:07 cdn postfix/qmgr[11196]: 8D2632B8F9A: from=&lt;vyx1psnf=qf3kay0g=user=example.net@example.com&gt;, size=14415, nrcpt=1 (queue active)

$ grep a64ea1f30f964980a4c27593daaa9a8e@dgroups.org log
Dec 19 12:25:07 cdn postfix/cleanup[31809]: 419122B8FC8: message-id=&lt;a64ea1f30f964980a4c27593daaa9a8e@example.com&gt;
Dec 19 12:25:07 cdn dkimproxy.out[32050]: DKIM signing - signed; message-id=&lt;a64ea1f30f964980a4c27593daaa9a8e@example.com&gt;, signer=&lt;@example.com&gt;, from=&lt;user@example.net&gt;
Dec 19 12:25:07 cdn postfix/cleanup[31930]: 8D2632B8F9A: message-id=&lt;a64ea1f30f964980a4c27593daaa9a8e@example.com&gt;
</pre>
<p>Looks like 419122B8FC8 and 8D2632B8F9A are connected, since they always appear together.</p>
<pre class="brush: bash; title: ; notranslate">
$ grep 419122B8FC8 log
Dec 19 12:25:07 cdn postfix/smtpd[31793]: 419122B8FC8: client=example.com[127.0.0.1]
Dec 19 12:25:07 cdn postfix/cleanup[31809]: 419122B8FC8: message-id=&lt;a64ea1f30f964980a4c27593daaa9a8e@example.com&gt;
Dec 19 12:25:07 cdn postfix/qmgr[11196]: 419122B8FC8: from=&lt;vyx1psnf=qf3kay0g=user=example.net@example.com&gt;, size=13803, nrcpt=1 (queue active)
Dec 19 12:25:07 cdn postfix/smtp[31781]: 419122B8FC8: to=&lt;user@example.net&gt;, relay=127.0.0.1[127.0.0.1]:10027, conn_use=3, delay=0.54, delays=0.41/0/0/0.13, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 8D2632B8F9A)
Dec 19 12:25:07 cdn postfix/qmgr[11196]: 419122B8FC8: removed

$ grep 8D2632B8F9A log
Dec 19 12:25:07 cdn postfix/smtpd[31842]: 8D2632B8F9A: client=example.com[127.0.0.1]
Dec 19 12:25:07 cdn postfix/cleanup[31930]: 8D2632B8F9A: message-id=&lt;a64ea1f30f964980a4c27593daaa9a8e@example.com&gt;
Dec 19 12:25:07 cdn postfix/qmgr[11196]: 8D2632B8F9A: from=&lt;vyx1psnf=qf3kay0g=user=example.net@example.com&gt;, size=14415, nrcpt=1 (queue active)
Dec 19 12:25:07 cdn postfix/smtp[31781]: 419122B8FC8: to=&lt;user@example.net&gt;, relay=127.0.0.1[127.0.0.1]:10027, conn_use=3, delay=0.54, delays=0.41/0/0/0.13, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 8D2632B8F9A)
Dec 19 12:25:09 cdn postfix/smtp[31964]: 8D2632B8F9A: to=&lt;user@example.net&gt;, relay=example.net[127.0.0.1]:25, delay=1.9, delays=0.13/0/0.43/1.3, dsn=2.0.0, status=sent (250 OK id=1PUIFI-0002Yf-TL)
Dec 19 12:25:09 cdn postfix/qmgr[11196]: 8D2632B8F9A: removed
</pre>
<p>So, 419122B8FC8 used relay 127.0.0.1 (localhost) and 8D2632B8F9A used relay example.net. That is normal. Mail is first sent to 127.0.0.1 (localhost) and then to destination mail server (example.net). It is just the way things are set up. Maybe I get into more detail in another blog post.</p>
<p>We have more data now, and everything looks fine so far.</p>
<table border="1px">
<tr>
<td>VERP</td>
<td>vyx1psnf=qf3kay0g=user=example.net@example.com</td>
</tr>
<tr>
<td>message-id</td>
<td>a64ea1f30f964980a4c27593daaa9a8e@example.com</td>
</tr>
<tr>
<td>Postfix ID 1</td>
<td>419122B8FC8</td>
</tr>
<tr>
<td>relay 1</td>
<td>127.0.0.1</td>
</tr>
<tr>
<td>Postfix ID 2</td>
<td>8D2632B8F9A</td>
</tr>
<tr>
<td>relay 2</td>
<td>example.net</td>
</tr>
</table>
<p>Now, let's finally inspect the whole file and find out if any mail is sent multiple times. There are more than one way to do it. A couple of them are:</p>
<ul>
<li>Get all lines with status <code>sent</code>. From each line grab Postfix ID. Get all lines with the ID. Get message-id, relay and VERP from lines with the ID. Ignore if VERP is in <code>to</code> header. (Those are bounces. We are interested only in VERPs in <code>from</code> header.)</li>
<li>Get all lines with a VERP. From each line grab Postfix ID. Get all lines with the ID. Get message-id, relay and status from lines with the ID. Ignore if status is not <code>sent</code>.</li>
</ul>
<p><img src="https://docs.google.com/drawings/pub?id=1VNMTg4Vqp_TVl9wXHo64ec1QNTE7nmz_qpMPcYCDJ1w&amp;w=960&amp;h=720"></p>
<p>Since I have no idea how would I do that in Bash, I will use <a href="http://en.wikipedia.org/wiki/Ruby_%28programming_language%29">Ruby</a> for that. This post got pretty long, that will be covered in another post.</p>
]]></content:encoded>
			<wfw:commentRss>http://zeljkofilipin.com/postfix-logs-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test Like You Do Not Need the Money</title>
		<link>http://zeljkofilipin.com/test-like-you-do-not-need-the-money/</link>
		<comments>http://zeljkofilipin.com/test-like-you-do-not-need-the-money/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 22:30:43 +0000</pubDate>
		<dc:creator>Željko Filipin</dc:creator>
				<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://zeljkofilipin.com/?p=623</guid>
		<description><![CDATA[A few days ago it was exactly 5 years since I started working as a software tester. I planned to publish this on the very date, but life happened. What happened in the last five years? Am I smarter? Or just older? Let&#8217;s find out. Personal In the last five years I have upgraded LifeOS™ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/21518596@N00/2295547909"><img src="http://zeljkofilipin.com/wp-content/uploads/2009/09/5.jpg" alt="5" title="5"  /></a></p>
<p><a href="http://twitter.com/zeljkofilipin/status/3685550585">A few days ago</a> it was exactly 5 years since I started working as a software tester. I planned to publish this on the very date, but life happened.</p>
<p>What happened in the last five years? Am I smarter? Or just older? Let&#8217;s find out.</p>
<p><strong>Personal</strong></p>
<p><img src="/wp-content/uploads/2009/09/snorkel.JPG" alt="snorkel" title="snorkel" /></p>
<p>In the last five years I have upgraded LifeOS™ from 26.0 to 31.0, upgraded Girlfriend 5.0 application to Wife 4.0 and installed Son 1.5. I do not use DistanceRunning application so much any more, but I do my best. Drums 1.0 are lost somewhere and Guitar 1.0 is mainly collecting digital dust. No so sure about smarter, but definitely older.</p>
<blockquote><p>Smarter vs. Older &#8211; 0:1</p></blockquote>
<p><strong>Professional</strong></p>
<p><img src="/wp-content/uploads/2009/09/zoo.jpg" alt="zoo" title="zoo" /></p>
<p>Five years ago I had a job I did not like. I thought software (programming to be precise) is so cool, and I wished I could develop it for a living. No luck back then.</p>
<p><img src="/wp-content/uploads/2009/09/bear.jpg" alt="bear" title="bear" /></p>
<p>I still think software is lots of fun, and I live in code as much as I can. But, now I think <a href="http://en.wikipedia.org/wiki/Software_testing">software testing</a> is even cooler, and I know I was born to be a tester. Not only do I have a job I would do even if I did not have to work, but I get to work from home. A dream I had since I was just a little kid.</p>
<blockquote><p>Smarter vs. Older &#8211; 1:1</p></blockquote>
<p><strong>Programming Languages</strong></p>
<p><img src="/wp-content/uploads/2009/09/fire.jpg" alt="fire" title="fire" /></p>
<p>My <a href="http://en.wikipedia.org/wiki/BASIC">BASIC</a>, <a href="http://en.wikipedia.org/wiki/Fortran">FORTRAN</a> and <a href="http://en.wikipedia.org/wiki/PHP">PHP</a> skills declined a bit in the last five years, but I am sure I would be up and running in minutes if I ever needed them. (Looks like I had a thing for UPPERCASE languages back then.)<br />
I have picked up some <a href="http://www.ruby-lang.org/en/">Ruby</a> and <a href="http://watir.com/">Watir</a> in the last few years, and I even made it to the <a href="http://watir.com/community/">Watir core team</a>! Not bad for a simple tester from Croatia, right?! <img src='http://zeljkofilipin.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote><p>Smarter vs. Older &#8211; 2:1</p></blockquote>
<p><strong>Web</strong></p>
<p><img src="/wp-content/uploads/2009/09/web.JPG" alt="web" title="web" /></p>
<p>Five years ago, I had a <a href="http://web.archive.org/web/20050205073212/web.vip.hr/zeljko.filipin.vip/">crappy site</a> with a crappy URL. (In Croatian only. Some stuff is missing because it is archive.org snapshot, but it did not look much better anyway.)<br />
Today, I am all over the place. (I even have a place where I try to <a href="http://friendfeed.com/zeljkofilipin">aggregate</a> my web presence.) I have a <a href="http://zeljkofilipin.com/">great site</a> with great URL. Five years ago <a href="http://en.wikipedia.org/wiki/Podcast">podcasts</a> just started to appear, now I have <a href="http://watirpodcast.com/">one</a>.</p>
<blockquote><p>Smarter vs. Older &#8211; 3:1</p></blockquote>
<p><strong>Watir</strong></p>
<p><img src="/wp-content/uploads/2009/09/sea.jpg" alt="sea" title="sea" /></p>
<p>I already mentioned <a href="http://watir.com/">Watir</a>, a tool that I use almost every day, and it makes my life much easier. <a href="http://zeljkofilipin.com/category/software/watir/">Big portion</a> of this site is dedicated to it. I like it so much I talk about <a href="http://zeljkofilipin.com/2007/11/26/smoke-on-the-watir/">it</a> <a href="http://zeljkofilipin.com/2008/05/12/ruby-on-beers-2/">to</a> <a href="http://zeljkofilipin.com/2009/01/27/barcamp-zagreb-2009/">anybody</a> <a href="http://zeljkofilipin.com/2009/03/08/spletne-urice-106/">that</a> <a href="http://zeljkofilipin.com/2009/03/14/webindustrija-2009/">would</a> <a href="http://zeljkofilipin.com/2009/05/11/dorscluc-2009/">listen</a>. I even <a href="http://zeljkofilipin.com/2009/01/17/awta-2009/">flew across the ocean</a> to meet with people that like Watir.</p>
<p><strong>Conclusion</strong></p>
<p>It really takes a lot of time to write a blog post. No wonder I do not write so much.</p>
<p>Let&#8217;s take a look at the final score:</p>
<blockquote><p>Smarter vs. Older &#8211; 3:1</p></blockquote>
<p>Looks like Smarter won. Maybe another jury would vote differently.</p>
<p>If you remember only one thing from this post, I hope it will be the title:</p>
<blockquote><p>Test like you do not need the money.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://zeljkofilipin.com/test-like-you-do-not-need-the-money/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How Testers Look Like?</title>
		<link>http://zeljkofilipin.com/how-testers-look-like/</link>
		<comments>http://zeljkofilipin.com/how-testers-look-like/#comments</comments>
		<pubDate>Fri, 15 Jun 2007 14:30:13 +0000</pubDate>
		<dc:creator>Željko Filipin</dc:creator>
				<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://zeljkofilipin.com/2007/06/15/how-testers-look-like/</guid>
		<description><![CDATA[I read a few blogs. I monitor a few mailing lists. When I read a post, I like to know how that person looks like. I guess that I am one of those visual types. (My image is at every page of this blog.) And sometimes it is not an easy task to find it [...]]]></description>
			<content:encoded><![CDATA[<p>I read a few blogs. I monitor a few mailing lists. When I read a post, I like to know how that person looks like. I guess that I am one of those visual types. (My image is at every page of this blog.) And sometimes it is not an easy task to find it out. So, I found images of a few testers (not in any specific order):</p>
<ul>
<li><a href="http://www.humbugreality.com/BraidyTester/images/TheBraidyTester.jpg">Michael J. Hunter</a></li>
<li><a href="http://www.kohl.ca/images/jonathan_kohl.jpg">Jonathan Kohl</a></li>
<li><a href="http://www.qualitytree.com/Company/elisabethhendrickson.jpg">Elisabeth Hendrickson</a></li>
<li><a href="http://www.kaner.com/images/kaner.gif">Cem Kaner</a></li>
<li><a href="http://www.whatistesting.com/images/brianmarick.jpg">Brian Marick</a></li>
<li><a href="http://www.sasqag.org/pastmeetings/bret.jpg">Bret Pettichord</a></li>
<li><a href="http://www.satisfice.com/images/jbach.jpg">James Bach</a></li>
<li><a href="http://www.expoqa.com/images/michael_bolton.jpg">Michael Bolton</a> (not so sure about him)</li>
</ul>
<p>I tagged them as tester at my delicious account (<a href="http://del.icio.us/zeljko.filipin/tester">del.icio.us/zeljko.filipin/tester</a>). I will be adding more, as I find more images. If you are a tester, or you have found images of other testers, leave a link to image in comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://zeljkofilipin.com/how-testers-look-like/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Data Generator</title>
		<link>http://zeljkofilipin.com/data-generator/</link>
		<comments>http://zeljkofilipin.com/data-generator/#comments</comments>
		<pubDate>Mon, 04 Dec 2006 10:42:44 +0000</pubDate>
		<dc:creator>Željko Filipin</dc:creator>
				<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://zeljkofilipin.com/2006/12/04/data-generator/</guid>
		<description><![CDATA[My developer pointed me to Benjamin Keen&#8217;s Data Generator. This little program lets you generate large volumes of random, custom data for use in testing software. Looks good. I will try it and write more about it if I find some inspiration (and time).]]></description>
			<content:encoded><![CDATA[<p><a href="http://edge4dev.wordpress.com/">My developer</a> pointed me to Benjamin Keen&#8217;s <a href="http://www.benjaminkeen.com/software/data_generator/">Data Generator</a>.</p>
<blockquote><p>This little program lets you generate large volumes of random, custom data for use in testing software.</p></blockquote>
<p>Looks good. I will try it and write more about it if I find some inspiration (and time).</p>
]]></content:encoded>
			<wfw:commentRss>http://zeljkofilipin.com/data-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Treat Users With Respect</title>
		<link>http://zeljkofilipin.com/treat-users-with-respect/</link>
		<comments>http://zeljkofilipin.com/treat-users-with-respect/#comments</comments>
		<pubDate>Thu, 16 Nov 2006 10:56:33 +0000</pubDate>
		<dc:creator>Željko Filipin</dc:creator>
				<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://zeljkofilipin.com/2006/11/16/treat-users-with-respect/</guid>
		<description><![CDATA[Yesterday I blogged how TortoiseSVN 1.4.1 Crashes. I could not just click &#8220;Send&#8221; button at error report window because I have recently reinstalled windows and I did not have default e-mail client configured (I use Gmail only). As a tester, I know a value of error report, so I wanted to send it. Also, I [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I blogged how <a href="http://zeljkofilipin.com/2006/11/15/tortoisesvn-141-crashes/">TortoiseSVN 1.4.1 Crashes</a>. I could not just click &#8220;Send&#8221; button at <a href="http://zeljkofilipin.com/wp-content/uploads/2006/11/svn.png">error report window</a> because I have recently <a href="http://zeljkofilipin.com/2006/09/25/tools/">reinstalled windows</a> and I did not have default e-mail client configured (I use Gmail only). As a tester, I know a value of error report, so I wanted to send it. Also, I really like TortoiseSVN so I wanted to contribute. Configuring Outlook Express to use Gmail servers took some time, but fortunately I have done it already, so I knew where to find <a href="http://mail.google.com/support/bin/answer.py?ctx=%67mail&#038;hl=en&#038;answer=12103">documentation</a>.</p>
<p>I usually send error reports (especially when all I have to do is click a button), but there is usually no response. The exception is <a href="http://www.ruby-ide.com/">Arachno Ruby IDE</a>, but that is another story.</p>
<p>This morning, I was really (pleasantly) surprised when I found this in my inbox (posted with permission):</p>
<blockquote><p>It&#8217;s a bug in Subversion when using the neon 0.26.2 library. I&#8217;m currently working with the Subversion guys on a fix for this. In the meantime, either deactivate SSPI authentication on the server or downgrade to TSVN 1.4.0. Sorry for the inconvenience.</p>
<p>Stefan<br />
<code><br />
--<br />
&#160;&#160;&#160;&#160;&#160;&#160; ___&#160;&#160;&#160;&#160;&#160;&#160; "De Chelonian Mobile"<br />
&#160;&#160;oo&#160;&#160;// \\&#160;&#160;&#160;&#160;&#160;&#160;TortoiseSVN<br />
 (_,\/ \_/ \&#160;&#160;&#160;&#160; The coolest Interface to<br />
&#160;&#160; \ \_/_\_/&gt;&#160;&#160;&#160;&#160;(Sub)Version Control<br />
&#160;&#160; /_/&#160;&#160; \_\&#160;&#160;&#160;&#160; http://tortoisesvn.net<br />
</code></p></blockquote>
<p>Please notice the turtle in the signature, I really worked hard to reproduce it as in original, but with limited succes (I used <a href="http://www.simplebits.com/cgi-bin/simplecode.pl">SimpleCode</a>).</p>
<p>Not only did I get the response, but there was also two workarounds for my problem. I do not have access to servers, and I have already downgraded to 1.4.0, but it was nice of him to let me know. Actually, after he gave me permission to post his response, he (once more) apologized for not having a fix &#8220;because we lack a test environment with a windows domain&#8221;. 1.4.0 works fine for me, I upgraded by mistake (that is also another story), so as far as I am concerned, they can take their time. Also, I will surely send them all error reports from now on.</p>
<p>If you treat your users with respect, they will help you make better software.</p>
]]></content:encoded>
			<wfw:commentRss>http://zeljkofilipin.com/treat-users-with-respect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bug That Has Lived Two Years and a Day</title>
		<link>http://zeljkofilipin.com/bug-that-has-lived-two-years-and-a-day/</link>
		<comments>http://zeljkofilipin.com/bug-that-has-lived-two-years-and-a-day/#comments</comments>
		<pubDate>Thu, 05 Oct 2006 07:45:33 +0000</pubDate>
		<dc:creator>Željko Filipin</dc:creator>
				<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://zeljkofilipin.com/?p=37</guid>
		<description><![CDATA[A few weeks ago, my developer resolved a case that was opened for two years and one day. It was minor bug (priority 4), but that does not matter. Our application has changed so much in that two years that, of course, it was not reproducible. But that does not matter, either. What matters is [...]]]></description>
			<content:encoded><![CDATA[<p><span lang="EN-GB">A few weeks ago, <a href="http://edge4dev.wordpress.com/">my developer</a> resolved a case that was opened for two years and one day. It was minor bug (priority 4), but that does not matter. Our application has changed so much in that two years that, of course, it was not reproducible. But that does not matter, either.</span></p>
<p><span lang="EN-GB">What matters is &#8211; that bug was open for over a two years.</span></p>
<p><span lang="EN-GB">At that time, I just have read Joel Spolsky&#8217;s <a href="http://joelonsoftware.com/articles/fog0000000043.html">The Joel Test: 12 Steps to Better Code</a>. There is question: &#8220;Do you fix bugs before writing new code?&#8221; No. To be honest, we did not have a feature freeze for a while.</span></p>
<p><span lang="EN-GB">Isn&#8217;t it demotivating to know that bug that you have reported would not be looked at for a while. When will it be resolved? Better not to think about it. I pointed that to my developer, and he promised that he would do his best. </span></p>
<p><span lang="EN-GB">Since then, he was closing many bugs. Just this morning, he said that he has resolved all bugs with priorities 1, 2 and 3 (showstopper, critical and major). I immediately checked our bug tracking software (all testers <em>know </em>that developers cannot be trusted <img src='http://zeljkofilipin.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ). Then, I have built the latest version of our application and verified that all bugs are resolved.</span></p>
<p><span lang="EN-GB">There are still over one hundred open bugs, but they are all minor and trivial (priorities 4 and 5). I think that we did not have this situation since I started working here. Over two years.</span></p>
<p><span lang="EN-GB">I have a strange feeling now. I am so motivated to find new bugs. I have noticed some strange behaviour in our application, but I did not have time to look into it. Until know.</span></p>
<p><span lang="EN-GB">There is <em>always </em>one more bug<a href="http://www.catb.org/jargon/html/L/Lubarskys-Law-of-Cybernetic-Entomology.html">*</a>.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://zeljkofilipin.com/bug-that-has-lived-two-years-and-a-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don’t Use Bug Counts to Measure Testers</title>
		<link>http://zeljkofilipin.com/don%e2%80%99t-use-bug-counts-to-measure-testers/</link>
		<comments>http://zeljkofilipin.com/don%e2%80%99t-use-bug-counts-to-measure-testers/#comments</comments>
		<pubDate>Wed, 30 Aug 2006 12:04:58 +0000</pubDate>
		<dc:creator>Željko Filipin</dc:creator>
				<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://zeljkofilipin.com/?p=32</guid>
		<description><![CDATA[I have just read a short article, Don’t Use Bug Counts to Measure Testers by Cem Kaner. The last paragraph: If you really need a simple number to use to rank your testers, use a random number generator. It is fairer than bug counting, it probably creates less political infighting, and it might be more [...]]]></description>
			<content:encoded><![CDATA[<p>I have just read a short article, <a href="http://www.kaner.com/pdfs/bugcount.pdf">Don’t Use Bug Counts to Measure Testers</a> by <a href="http://www.kaner.com/">Cem Kaner</a>.</p>
<p>The last paragraph:</p>
<blockquote><p>If you really need a simple number to use to rank your testers, use a random number generator. It is fairer than bug counting, it probably creates less political infighting, and it might be more accurate.</p></blockquote>
<p><a href="http://www.testing.com/cgi-bin/blog">Brian Marick</a> mentioned it at <a href="http://groups.yahoo.com/group/agile-testing/">agile-testing@yahoogroups.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://zeljkofilipin.com/don%e2%80%99t-use-bug-counts-to-measure-testers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

