<?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>Todd Mazierski</title>
	<atom:link href="http://toddmazierski.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://toddmazierski.com</link>
	<description>Software tester, MIDI file artisan, trombonist, euphist</description>
	<lastBuildDate>Sat, 09 Jun 2012 23:30:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>canyonmid.com</title>
		<link>http://toddmazierski.com/composing/canyonmid-com/</link>
		<comments>http://toddmazierski.com/composing/canyonmid-com/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 18:51:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Composing]]></category>

		<guid isPermaLink="false">http://toddmazierski.com/?p=651</guid>
		<description><![CDATA[Want to relive the moment you first heard the dulcet FM synthesizer tones of the Yamaha OPL3 on your fancy new multimedia computer with Windows 3.1? Take a Trip Through the Grand Canyon again at http://canyonmid.com! Special thanks to: The creators of DOSBox and the Windows 3.1x DOSBox Guide Jeffrey Hayes of Tvdog&#8217;s Archive for [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_657" class="wp-caption alignright" style="width: 190px"><a href="http://canyonmid.com"><img src="http://toddmazierski.com/wp-content/uploads/2011/09/canyonmid.png" alt="Screenshot of the CANYON.MID simulator" title="The CANYON.MID simulator" width="180" height="150" class="size-full wp-image-657" /></a><p class="wp-caption-text">The CANYON.MID simulator</p></div>
<p>Want to relive the moment you first heard the dulcet FM synthesizer tones of the <a href="http://en.wikipedia.org/wiki/YMF262">Yamaha OPL3</a> on your fancy new multimedia computer with Windows 3.1? Take a <em><a href="http://en.wikipedia.org/wiki/Trip_Through_the_Grand_Canyon">Trip Through the Grand Canyon</a></em> again at <a href="http://canyonmid.com">http://canyonmid.com</a>!</p>
<p>Special thanks to:</p>
<ul>
<li>The creators of <a href="http://www.dosbox.com/">DOSBox</a> and the <a href="http://vogons.zetafleet.com/viewtopic.php?t=9405">Windows 3.1x DOSBox Guide</a></li>
<li>Jeffrey Hayes of <a href="http://www.oldskool.org/guides/tvdog/images/">Tvdog&#8217;s Archive</a> for giving permission to use a photo of his Tandy 1000 RSX</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://toddmazierski.com/composing/canyonmid-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Credit Cards in Forgery</title>
		<link>http://toddmazierski.com/testing/credit-cards-in-forgery/</link>
		<comments>http://toddmazierski.com/testing/credit-cards-in-forgery/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 14:11:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[forgery]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://toddmazierski.com/?p=576</guid>
		<description><![CDATA[My pull request was accepted, so random credit card type and number generation is now available in the Forgery gem! A few interesting things I picked up along the way: The anatomy of a credit card number (validation of credit card numbers always seemed like magic to me, but not any longer!): 6011475432471140 6011 &#8212; [...]]]></description>
				<content:encoded><![CDATA[<p>My <a href="https://github.com/sevenwire/forgery/pull/40">pull request</a> was accepted, so random credit card type and number generation is now available in the <a href="https://github.com/sevenwire/forgery">Forgery</a> gem!</p>
<pre class="brush: ruby; title: ; notranslate">
Forgery(:credit_card).type
# =&gt; &quot;Visa&quot;

Forgery(:credit_card).number
# =&gt; &quot;4539750423451972&quot;

Forgery(:credit_card).number(:type =&gt; 'Visa', :length =&gt; 13)
# =&gt; &quot;4556180133982&quot;
</pre>
<p>A few interesting things I picked up along the way:</p>
<div id="attachment_595" class="wp-caption alignright" style="width: 165px"><img src="http://toddmazierski.com/wp-content/uploads/2011/09/hans-peter-luhn-1952.png" alt="Photograph of Hans Peter Luhn, 1952" title="Hans Peter Luhn, 1952" width="155" height="145" class="size-full wp-image-595" /><p class="wp-caption-text"><a href='http://en.wikipedia.org/wiki/Hans_Peter_Luhn'>Hans Peter Luhn</a>, responsible for at least one number in your wallet</p></div>
<ul>
<li>
<p>The anatomy of a credit card number (validation of credit card numbers always seemed like magic to me, but not any longer!):</p>
<ul style="list-style-type:none">
<p style="font-weight:bold; text-align: center"><span style="color:#3C78D8">6011</span><span style="color:#149E60">47543247114</span><span style="color:#A61C00">0</span></p>
<li><span style="color:#3C78D8; font-weight:bold">6011</span> &mdash; the <em><a href="http://en.wikipedia.org/wiki/Bank_card_number">IIN</a></em> or <em>prefix</em> &mdash; these belong to different card issuers (for example, this is a Discover Card)</li>
<li><span style="color:#149E60; font-weight:bold">47543247114</span> &mdash; the <em>account number</em> &mdash; normally assigned by the issuer to an individual customer, Forgery creates this at random</li>
<li><span style="color:#A61C00; font-weight:bold">0</span> &mdash; the <em>check digit</em> &mdash; a checksum from the <a href="http://en.wikipedia.org/wiki/Luhn_algorithm">Luhn algorithm</a></li>
</ul>
<li>This was my first experience writing comments for machine-generated documentation (<a href="http://rdoc.sourceforge.net/">RDoc</a>). I think it <a href="/doc/forgery-0.5.0/Forgery/CreditCard.html">looks great</a>, and could prove very useful on other projects.</li>
<li>I learned that one of my go-to Ruby methods for test automation, <code>choice</code>, has been deprecated. Thankfully, it was simply renamed to <a href="http://www.ruby-doc.org/core/classes/Array.html#M000285"><code>sample</code></a>, which is available in <a href="https://github.com/marcandre/backports">backports</a>.</li>
<li>This was my first experience with <a href="http://rspec.info/">RSpec</a>, too. I like it &mdash; it seems very similar to <code>Test::Unit</code> (which I&#8217;m more familiar with), but with a more human-readable syntax. As a result, you end up with more meaningful tests and test failures, because behaviors are being defined instead of functions.</li>
</ul>
<p>Finally, big props to <a href="http://www.darkcoding.net/">Graham King</a> and <a href="http://blog.tinogomes.com/">Celestino Gomes</a>, whose knowledge and code I borrowed heavily from.</p>
]]></content:encoded>
			<wfw:commentRss>http://toddmazierski.com/testing/credit-cards-in-forgery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CAST 2011 Presentation: Intro to Sinatra</title>
		<link>http://toddmazierski.com/testing/cast-2011-presentation-intro-to-sinatra/</link>
		<comments>http://toddmazierski.com/testing/cast-2011-presentation-intro-to-sinatra/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 20:28:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Testing]]></category>
		<category><![CDATA[cast]]></category>
		<category><![CDATA[exploratory]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sinatra]]></category>

		<guid isPermaLink="false">http://toddmazierski.com/?p=484</guid>
		<description><![CDATA[When I attended CAST 2011 this year, I was given a really neat opportunity: to present! I selected Sinatra as my topic, for a few reasons: Its low barrier to entry (easy to learn and free) I had a few interesting experiences with Sinatra to share I wanted to demonstrate that testers could write useful [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://toddmazierski.com/wp-content/uploads/2011/09/logo_button-150x150.png" alt="The Sinatra logo (a fedora)" title="The Sinatra logo" width="150" height="150" class="alignright size-thumbnail wp-image-489" /></p>
<p>When I attended <a href="http://www.associationforsoftwaretesting.org/conference/cast-2011/">CAST 2011</a> this year, I was given a really neat opportunity: <a href="http://www.associationforsoftwaretesting.org/conference/cast-2011/sessions/emerging-topics/">to present</a>! I selected <a href="http://www.sinatrarb.com/">Sinatra</a> as my topic, for a few reasons:
<ul>
<li>Its low barrier to entry (easy to learn and free)</li>
<li>I had a few interesting experiences with Sinatra to share</li>
<li>I wanted to demonstrate that testers could write useful code that wasn&#8217;t automation</li>
</ul>
<p>The presentation (in 3 parts) went something like this:</p>
<h4>#1: What&#8217;s Sinatra?</h4>
<p>Since the audience was potentially a mix of coders, non-coders, etc., I wanted to lay some groundwork, including:
<ul>
<li>What&#8217;s a DSL?</li>
<li>What&#8217;s a web application, exactly?</li>
<li>Why Ruby: its readability, the robust native string manipulation library, how regular expressions are tightly integrated, the vast repository of helpful gems</li>
</ul>
<div id="attachment_553" class="wp-caption alignleft" style="width: 190px"><img src="http://toddmazierski.com/wp-content/uploads/2011/08/final-countdown.png" alt="The Final Countown by Europe album cover" title="The Final Countown" width="180" height="165" class="size-full wp-image-553" /><p class="wp-caption-text">An early idea was to play &ldquo;Final Countdown&rdquo; while coding</p></div>
<h4>#2: Live demo</h4>
<p>Next, I gave a live coding demonstration (I&#8217;ve since been told that I was&hellip;brave for trying this). There were four distinct steps:</p>
<ol style="list-style-position:inside">
<li>A static response (essentially, the example on the <a href="http://www.sinatrarb.com/">Sinatra home page</a>)</li>
<li>A dynamic response</li>
<li>A dynamic view (ERB)</li>
<li>Dynamic data (JSON)</li>
</ol>
<div class="clear"></div>
<h4>#3: Examples</h4>
<p>I shared 3 examples where Sinatra saved the day:</p>
<ol>
<li>
<p>An e-commerce payment gateway that we had to work with was in many respects a &#8220;black box&#8221;, and it was drastically limiting our ability to test. We understood how the requests and responses worked well enough to build a replica in Sinatra, however, giving us the testability features we needed, including:</p>
<ul>
<li>Logging</li>
<li>Recall of past transactions</li>
<li>&#8220;Magic&#8221; functionality (ex. getting any gift certificate amount you wanted)</li>
<li>Error simulations (ex. internal server errors, connection timeouts, etc.)</li>
</ul>
</li>
<li>
<p>The diverse set of tools used by my team at <a href="http://www.ipartners.com/">Interactive Partners</a> led to an unfortunate case of information siloing, but thankfully they all had APIs, so a Sinatra application named <a href="https://github.com/toddmazierski/ip-relay">iP Relay</a> was created to help &#8220;glue&#8221; them all together, for example:</p>
<dl>
<dt>When David, one of our developers, does a deployment using Capistrano:</dt>
<dd><code>> cap deploy</code></dd>
<dt>Our faithful chat servant Botsworth announces it to the team:</dt>
<dd><code>Botsworth: David Stamm deployed 3.16.1 (023c968) to SHO production</code></dd>
<p></p>
<dt>Or, when he makes a commit with a message in this format (with the square brackets at the end):</dt>
<dd><code>Bug #1941 (a bug that will live in infamy) — Fixed incorrect link URL. [bug: 1941, status: resolved]</code></dd>
<div id="attachment_556" class="wp-caption alignright" style="width: 160px"><a href="http://toddmazierski.com/wp-content/uploads/2011/08/testing-test.png"><img src="http://toddmazierski.com/wp-content/uploads/2011/08/testing-test-150x150.png" alt="A screenshot of the &quot;Testing Test&quot;" title="Screenshot of the &ldquo;Testing Test&rdquo;" width="150" height="150" class="size-thumbnail wp-image-556" /></a><p class="wp-caption-text">Screenshot of the &quot;Testing Test&quot;</p></div>
<dt>The following actions are carried out in our bug tracker, Bugzilla:</dt>
<dd>Add comment to bug #1941, change status to &#8220;RESOLVED&#8221;.</dd>
</dl>
</li>
<li>When hiring, without access to old bug reports or test plans, it was difficult to evaluate how well candidates could find and report on bugs, so a Sinatra application named &#8220;Testing Test&#8221; was created to help <em>test</em> the <em>testers</em>. The person we ended up hiring found all of the bugs we intended to be in there, and even some we didn&#8217;t!</li>
</ol>
<h4>Slides</h4>
<p>Finally, the slides shown to the audience, for your viewing pleasure:</p>
<div class="prezi-player"><style type="text/css" media="screen">.prezi-player { width: 550px; } .prezi-player-links { text-align: center; }</style><object id="prezi_ligpjbkgq-vq" name="prezi_ligpjbkgq-vq" width="ligpjbkgq-vq" height="ligpjbkgq-vq"><param name="movie" value="http://prezi.com/bin/preziloader.swf"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="bgcolor" value="#ffffff"/><param name="flashvars" value="prezi_id=ligpjbkgq-vq&amp;lock_to_path=0&amp;color=ffffff&amp;autoplay=no&amp;autohide_ctrls=0"/><embed id="preziEmbed_ligpjbkgq-vq" name="preziEmbed_ligpjbkgq-vq" src="http://prezi.com/bin/preziloader.swf" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="550" height="400" bgcolor="#ffffff" flashvars="prezi_id=ligpjbkgq-vq&amp;lock_to_path=0&amp;color=ffffff&amp;autoplay=no&amp;autohide_ctrls=0"></embed></object><div class="prezi-player-links"><p><a title="View Original on Prezi" href="http://prezi.com/ligpjbkgq-vq/">View Original</a> on <a href="http://prezi.com">Prezi</a></p></div></div>
]]></content:encoded>
			<wfw:commentRss>http://toddmazierski.com/testing/cast-2011-presentation-intro-to-sinatra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tablr</title>
		<link>http://toddmazierski.com/testing/tablr/</link>
		<comments>http://toddmazierski.com/testing/tablr/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 11:59:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[bugzilla]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sinatra]]></category>
		<category><![CDATA[tablr]]></category>

		<guid isPermaLink="false">http://toddmazierski.com/?p=633</guid>
		<description><![CDATA[+-------+-------+-----------+ &#124; tablr &#124; is &#124; a &#124; +-------+-------+-----------+ &#124; 23 &#124; line &#124; Sinatra &#124; &#124; app &#124; that &#124; generates &#124; &#124; rad &#124; ASCII &#124; tables &#124; +-------+-------+-----------+ tablr is a lightweight, quick &#8216;n dirty interface to the main capabilities of TJ Holowaychuk&#8217;s Terminal Table gem. I built it because I like [...]]]></description>
				<content:encoded><![CDATA[<pre><code>+-------+-------+-----------+
| tablr | is    | a         |
+-------+-------+-----------+
| 23    | line  | Sinatra   |
| app   | that  | generates |
| rad   | ASCII | tables    |
+-------+-------+-----------+</code></pre>
<p><a href="http://tablr.toddmazierski.com/">tablr</a> is a lightweight, quick &#8216;n dirty interface to the main capabilities of <a href="http://tjholowaychuk.com/">TJ Holowaychuk&#8217;s</a> <a href="https://github.com/visionmedia/terminal-table">Terminal Table</a> gem. I built it because I like pasting snippets of relevant SQL tables, CSV files, or URL parameters (from Fiddler&#8217;s WebForms view) into bug reports (Bugzilla comments are plain-text, and in a fixed-width font), for example:</p>
<pre><code>Parameters sent to http://api.twitter.com/1/statuses/home_timeline.json:

+----------------------------+--------------------+
| name                       | value              |
+----------------------------+--------------------+
| max_id                     | 113545308612464640 |
| count                      | 21                 |
| include_entities           | 1                  |
| include_available_features | 1                  |
| contributor_details        | true               |
| pc                         | true               |
+----------------------------+--------------------+
</code></pre>
<p>If you&#8217;re a Bugzilla user in particular, maybe you&#8217;ll find it useful, too!</p>
<p>Source code available on <a href="https://github.com/toddmazierski/tablr">GitHub</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://toddmazierski.com/testing/tablr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Random Test Data at Your Fingertips</title>
		<link>http://toddmazierski.com/testing/random-test-data-at-your-fingertips/</link>
		<comments>http://toddmazierski.com/testing/random-test-data-at-your-fingertips/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 18:46:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Testing]]></category>
		<category><![CDATA[autohotkey]]></category>
		<category><![CDATA[automated]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[exploratory]]></category>
		<category><![CDATA[forgery]]></category>
		<category><![CDATA[picka]]></category>

		<guid isPermaLink="false">http://toddmazierski.com/?p=454</guid>
		<description><![CDATA[Exploratory testers, what if you could easily: Plow through lengthy registration forms in seconds Overload comment boxes with millions of words Assail address books with a heaps of ugly special characters To learn how, check out Trish Khoo&#8217;s blog post, Go faster! Linking data generation to hotkeys. Using my own bubblegum and duct tape, I [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_559" class="wp-caption alignright" style="width: 160px"><img src="http://toddmazierski.com/wp-content/uploads/2011/01/johnny-mnemonic-internet-150x150.png" alt="Johnny Mnemonic wearing VR goggles" title="Johnny Mnemonic" width="150" height="150" class="size-full wp-image-559" /><p class="wp-caption-text">&ldquo;I want to get online&hellip;I need a computer!&rdquo;</p></div>
<p>Exploratory testers, what if you could easily:</p>
<ul>
<li>Plow through lengthy registration forms in seconds</li>
<li>Overload comment boxes with millions of words</li>
<li>Assail address books with a heaps of ugly special characters</li>
</ul>
<p>To learn how, check out <a href="http://trishkhoo.com">Trish Khoo&#8217;s</a> blog post, <a href="http://trishkhoo.com/2010/12/go-faster-linking-data-generation-to-hotkeys/">Go faster! Linking data generation to hotkeys</a>. Using my own <abbr style="border-style: dotted; border-width: 0 0 1px 0; cursor: help" title="I'll spare you the gory details, but it involves such atrocities as swapping the Windows Clipboard contents, and reading and writing from temporary text files to work around character encoding issues with output from the Windows console.">bubblegum and duct tape</abbr>, I managed to wire together the following:</p>
<div class="clear"></div>
<ul>
<li>
  <a href="http://www.autohotkey.com/">AutoHotkey</a>, sometimes using its <code>InputBox</code> function to collect parameters before returning a result:</p>
<p><img src="http://toddmazierski.com/wp-content/uploads/2011/01/ahk-what-domain-300x159.png" alt="A &quot;What domain?&quot; prompt from AutoHotkey" title="A &quot;What domain?&quot; prompt from AutoHotkey" width="300" height="159" class="aligncenter size-full wp-image-462" /></p>
</li>
<li>A Ruby random data generation gem named <a href="https://github.com/sevenwire/forgery">Forgery</a></li>
<li>
<p><a href="https://github.com/toddmazierski/picka">My fork</a> of <a href="http://antlong.com/">Anthony Long&#8217;s</a> <a href="https://github.com/antlong/picka">picka</a> random data generator &mdash; the reason for the fork was, instead of generating data that will <em>always</em> pass form validation (better for automated tests), generate data that will <em>usually</em> pass form validation (better for exploratory testing).</p>
<p>As an aside, one reason to love picka: its <code>sentence</code> function, which pulls text from <em>The Adventures of Sherlock Holmes</em>, totally of out of context (much more entertaining to read than lorem ipsum):</p>
<blockquote><p>He rose as he knew was in a corner a scissors grinder with his compasses drawing a circle with Eyford for its own fields filled for the world</p></blockquote>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://toddmazierski.com/testing/random-test-data-at-your-fingertips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minimalist Skin for Bugzilla</title>
		<link>http://toddmazierski.com/testing/minimalist-skin-for-bugzilla/</link>
		<comments>http://toddmazierski.com/testing/minimalist-skin-for-bugzilla/#comments</comments>
		<pubDate>Fri, 15 Oct 2010 16:27:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Testing]]></category>
		<category><![CDATA[bugzilla]]></category>

		<guid isPermaLink="false">http://toddmazierski.com/?p=434</guid>
		<description><![CDATA[If you test web sites and use Bugzilla, a skin I&#8217;ve developed named Minimalist may be of interest to you. Of course, please feel free to fork it and modify it for your needs! Here are the skin&#8217;s main improvements over &#8220;Dusk&#8221; (on which it&#8217;s based): Slimmed-down footer: only includes saved searches (instead of just [...]]]></description>
				<content:encoded><![CDATA[<p>If you test web sites and use Bugzilla, a skin I&#8217;ve developed named <a href="https://github.com/toddmazierski/bugzilla-minimalist">Minimalist</a> may be of interest to you. Of course, please feel free to fork it and modify it for your needs!</p>
<div id="attachment_435" class="wp-caption alignright" style="width: 310px"><a href="http://toddmazierski.com/wp-content/uploads/2010/10/minimalist-skin.png"><img src="http://toddmazierski.com/wp-content/uploads/2010/10/minimalist-skin-300x149.png" alt="Screenshot of the Minimalist skin for Bugzilla" title="Screenshot of the Minimalist skin for Bugzilla" width="300" height="149" class="size-medium wp-image-435" /></a><p class="wp-caption-text">Screenshot of the skin</p></div>
<p>Here are the skin&#8217;s main improvements over &#8220;Dusk&#8221; (on which it&#8217;s based):</p>
<ol>
<li>Slimmed-down footer: only includes saved searches (instead of just another copy of the header)</li>
<li>&#8220;Heat&#8221; shading for priority and severity values</li>
<li>Brighter, fresher colors, <del>copied from</del> inspired by <a href="http://lighthouseapp.com">Lighthouse</a></li>
<li>Browser icons (mapped to &#8220;Hardware&#8221; values)</li>
<li>Wider search field, because <a href="https://bugzilla.mozilla.org/page.cgi?id=quicksearch.html">QuickSearch</a> is <a href="http://www.youtube.com/watch?v=14W-XguG--U">awesome</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://toddmazierski.com/testing/minimalist-skin-for-bugzilla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated Testing with Fiddler</title>
		<link>http://toddmazierski.com/testing/automated-testing-with-fiddler/</link>
		<comments>http://toddmazierski.com/testing/automated-testing-with-fiddler/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 11:55:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Testing]]></category>
		<category><![CDATA[automated]]></category>
		<category><![CDATA[exploratory]]></category>
		<category><![CDATA[fiddler]]></category>

		<guid isPermaLink="false">http://toddmazierski.com/?p=341</guid>
		<description><![CDATA[Exploratory testing isn&#8217;t necessarily all manual testing. In fact, I&#8217;m always looking for opportunities to extend my reach and increase my efficiency with automation. It&#8217;s like putting on a pair of night vision goggles: it&#8217;s still me and my brain, simultaneously learning, designing, and executing tests, only able to see things from more perspectives at [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_383" class="wp-caption alignright" style="width: 135px"><img src="http://toddmazierski.com/wp-content/uploads/2011/09/star-wars-probe-droid.jpg" alt="A probe droid from Star Wars" title="Probe droid from Star Wars" width="125" height="125" class="size-full wp-image-383" /><p class="wp-caption-text"><a href='http://www.harryrobinson.net'>Harry Robinson</a> likens his <em>Computer-Aided Exploratory Testing</em> to using probe droids</p></div>
<p><a href="http://www.satisfice.com/articles/what_is_et.shtml">Exploratory testing</a> isn&#8217;t necessarily all manual testing. In fact, I&#8217;m always looking for opportunities to extend my reach and increase my efficiency with automation. It&#8217;s like putting on a pair of night vision goggles: it&#8217;s still me and my brain, simultaneously learning, designing, and executing tests, only able to see things from more perspectives at once.</p>
<p>If you&#8217;re not familiar with the <a href="http://www.fiddler2.com">Fiddler Web Debugger</a>, its core features are:</p>
<ul>
<li>inspecting HTTP traffic</li>
<li>setting breakpoints</li>
<li>manipulating (&#8220;fiddling&#8221; with) data</li>
</ul>
<p>I don&#8217;t believe it&#8217;s traditionally thought of as a web automation tool (like <a href="http://seleniumhq.org/">Selenium</a> or <a href="http://jakarta.apache.org/jmeter/">JMeter</a>), but there&#8217;s a customizable rules file named, oddly enough, <a href="http://www.fiddlertool.com/Fiddler/Dev/ScriptSamples.asp">CustomRules.js</a> that can be modified to perform automation <em>as</em> you perform manual exploratory testing. Below are two extremely simple modifications I&#8217;ve made that have aided my exploratory testing a great deal. Please feel free to copy, modify, be inspired by them!</p>
<h4>Example #1: JSON-RPC error detection</h4>
<pre class="brush: jscript; title: ; notranslate">
// Is this the domain we're interested in (foo.bar.com), and is this a JSON response?
if (oSession.HostnameIs(&quot;foo.bar.com&quot;) &amp;&amp; oSession.oResponse.headers.ExistsAndContains(&quot;Content-Type&quot;, &quot;application/json&quot;)) {
  // &quot;error:null&quot; is present in the response
  if (oSession.utilFindInResponse(&quot;\&quot;error\&quot;:null&quot;, false) &gt; -1) {
    // Turn the line in Fiddler green
    oSession[&quot;ui-color&quot;]=&quot;green&quot;;
  }
  // &quot;error:null&quot; is *not* present in the response
  else {
    //Turn the line in Fiddler red
    oSession[&quot;ui-color&quot;]=&quot;red&quot;;
  }
}
</pre>
<p>A few of our applications use the <a href="http://json-rpc.org">JSON-RPC</a> standard for their web services. A rule of thumb I&#8217;ve developed is: if an error occurs, something <em>other</em> than &#8220;error: null&#8221; will be present in the response. When added to the <code>OnBeforeResponse</code> function in CustomRules.js, this code simply turns the request green or red in the session list based upon this rule:</p>
<p class="aligncenter"><img class="aligncenter" src="http://toddmazierski.com/wp-content/uploads/2011/09/json-rpc-error-with-pointer.png" alt="A JSON-RPC error highlighted in red in Fiddler" title="A JSON-RPC error highlighted in Fiddler" width="441" height="120" class="size-full wp-image-395" /></p>
<p>With Fiddler up on my other screen, any time unexpected behavior is exhibited by the front-end, I only need to glance over and look for red to see whether or not the back-end web services are somehow involved.</p>
<h4>Example #2: tracking request highlighting</h4>
<pre class="brush: jscript; title: ; notranslate">
if (oSession.HostnameIs(&quot;www.google-analytics.com&quot;)) {
  //Turn the line in Fiddler gold
  oSession[&quot;ui-backcolor&quot;]=&quot;gold&quot;;
}
</pre>
<p>Every web application we build has some form of tracking (sometimes only in certain environments), and whether it&#8217;s event tracking, tracking activity within a Flash interface, or just normal page tracking, it&#8217;s been valuable for me to have these requests stand out in the Fiddler session list, like so:</p>
<p class="aligncenter"><img class="aligncenter" src="http://toddmazierski.com/wp-content/uploads/2011/09/tracking-highlight-with-pointer.png" alt="Tracking request highlighted in gold in Fiddler" title="Tracking request highlighted in Fiddler" width="443" height="168" class="aligncenter size-full wp-image-412" /></p>
<p>When added to the <code>OnBeforeRequest</code> function in CustomRules.js, the code above simply turns any request to Google Analytics gold in the session list. If selected, Fiddler&#8217;s WebForms view then provides an easy way to inspect the parameters being sent (which can be useful if you don&#8217;t have access to the analytics tool itself).</p>
]]></content:encoded>
			<wfw:commentRss>http://toddmazierski.com/testing/automated-testing-with-fiddler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make It Work</title>
		<link>http://toddmazierski.com/composing/make-it-work/</link>
		<comments>http://toddmazierski.com/composing/make-it-work/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 05:00:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Composing]]></category>
		<category><![CDATA[corporate]]></category>

		<guid isPermaLink="false">http://toddmazierski.com/?p=296</guid>
		<description><![CDATA[In March of 2010, I was commissioned by the New York Public Library to write a track for their new employee orientation video, &#8220;Best of All Possible Libraries.&#8221; The title of the track comes from the video&#8217;s introduction, given by the library&#8217;s president, Dr. Paul LeClerc. Looking out over the famous Rose Reading Room, he [...]]]></description>
				<content:encoded><![CDATA[<p><img alt="Photomontage of &quot;Best of All Possible Libraries&quot;" src="/media/make-it-work/photomontage.png"></p>
<p>
    In March of 2010, I was commissioned by the New York Public Library to write a track for their new employee orientation video, &#8220;Best of All Possible Libraries.&#8221;
</p>
<p>
    The title of the track comes from the video&#8217;s introduction, given by the library&#8217;s president, Dr. Paul LeClerc.  Looking out over the famous Rose Reading Room, he emphasizes that the greatness of the institution ultimately derives from &#8220;the staff of the New York Public Library [who] put this place together and every single day, day in and day out, season after season, make it work.&#8221;
</p>
<p><a class="download" href="/media/make-it-work/make-it-work.mp3" target="_blank">Make It Work</a></p>
]]></content:encoded>
			<wfw:commentRss>http://toddmazierski.com/composing/make-it-work/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Design Reboot HD</title>
		<link>http://toddmazierski.com/composing/design-reboot-hd/</link>
		<comments>http://toddmazierski.com/composing/design-reboot-hd/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 04:00:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Composing]]></category>
		<category><![CDATA[film]]></category>
		<category><![CDATA[foley]]></category>
		<category><![CDATA[sound_design]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://toddmazierski.com/?p=284</guid>
		<description><![CDATA[A short film by game designer and animator Craig Adams from superbrothers, Design Reboot HD is an illustration of a portion of the lecture &#8220;Design Reboot&#8221;, delivered by video game creator and outspoken critic Jonathan Blow. In the lecture, Blow identifies what he thinks is the unique expressive power of video games, and he then [...]]]></description>
				<content:encoded><![CDATA[<p>
    A short film by game designer and animator Craig Adams from <a href="http://superbrothers.ca" target="_blank">superbrothers</a>, Design Reboot HD is an illustration of a portion of the lecture <a href="http://braid-game.com/news/?p=129" target="_blank">&#8220;Design Reboot&#8221;</a>, delivered by video game creator and outspoken critic <a href="http://number-none.com/blow" target="_blank">Jonathan Blow</a>.  In the lecture, Blow identifies what he thinks is the unique expressive power of video games, and he then describes the ethical dilemmas that occur when this power is misued by the industry.
</p>
<p>
    The film includes &#8220;chiptune&#8221; music by the <a href="http://en.wikipedia.org/wiki/Super_Madrigal_Brothers" target="_blank">Super Madrigal Brothers</a>, foley art and 8-bit sound design by me.
</p>
<p><br /><img src="/media/design-reboot-hd/design-reboot-hd-preview.png" width="320" height="240" alt="media" /><br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://toddmazierski.com/composing/design-reboot-hd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Superior Gold Group</title>
		<link>http://toddmazierski.com/composing/superior-gold-group/</link>
		<comments>http://toddmazierski.com/composing/superior-gold-group/#comments</comments>
		<pubDate>Sun, 17 May 2009 04:00:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Composing]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://toddmazierski.com/?p=238</guid>
		<description><![CDATA[Superior Gold Group, working with the production company GREYTV, launched a national advertising campaign in May 2009 outlining the increasing value of gold over time. The spots aired on major networks including FOX News, Bloomberg Television, Home and Garden Television, and the Fine Living Network. Golden Grams]]></description>
				<content:encoded><![CDATA[<p>
    <a href="http://www.gold101.com" target="_blank">Superior Gold Group</a>, working with the production company <a href="http://www.greytv.com" target="_blank">GREYTV</a>, launched a national advertising campaign in May 2009 outlining the increasing value of gold over time.  The spots aired on major networks including FOX News, Bloomberg Television, Home and Garden Television, and the Fine Living Network.
</p>
<p>
    <a class="download" href="/media/superior-gold-group/golden-grams.mp3" target="_blank">Golden Grams</a></p>
<p>    <br /><img src="/media/superior-gold-group/college-preview.png" width="340" height="191" alt="media" /><br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://toddmazierski.com/composing/superior-gold-group/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
