<?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>QA Hates You &#187; Clean Tricks</title>
	<atom:link href="http://qahatesyou.com/wordpress/category/clean-tricks/feed/" rel="self" type="application/rss+xml" />
	<link>http://qahatesyou.com/wordpress</link>
	<description>You suspected it.  Now you know it.</description>
	<lastBuildDate>Tue, 07 Feb 2012 17:29:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Decoding the Credit Card Number</title>
		<link>http://qahatesyou.com/wordpress/2012/01/decoding-the-credit-card-number/</link>
		<comments>http://qahatesyou.com/wordpress/2012/01/decoding-the-credit-card-number/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 17:04:07 +0000</pubDate>
		<dc:creator>The Director</dc:creator>
				<category><![CDATA[Clean Tricks]]></category>

		<guid isPermaLink="false">http://qahatesyou.com/wordpress/?p=2366</guid>
		<description><![CDATA[If you work with credit card processing, this graphic will explain how the credit card is derived. You can use it to better create test data or whatnot.]]></description>
			<content:encoded><![CDATA[<p>If you work with credit card processing, <a href="http://www.mint.com/blog/trends/credit-card-code-01202011/" target="_blank">this graphic</a> will explain how the credit card is derived.  </p>
<p>You can use it to better create test data or whatnot.</p>
]]></content:encoded>
			<wfw:commentRss>http://qahatesyou.com/wordpress/2012/01/decoding-the-credit-card-number/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Your Placeholder Text Leaks Out</title>
		<link>http://qahatesyou.com/wordpress/2011/03/your-placeholder-text-leaks-out/</link>
		<comments>http://qahatesyou.com/wordpress/2011/03/your-placeholder-text-leaks-out/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 12:17:18 +0000</pubDate>
		<dc:creator>The Director</dc:creator>
				<category><![CDATA[Clean Tricks]]></category>

		<guid isPermaLink="false">http://qahatesyou.com/wordpress/?p=1796</guid>
		<description><![CDATA[As careful as you are, well, no, strike that: as careful as the non-QA elements in your organization are, some of your test data and placeholder text are going to leak out into the real world. You have to choices: Encourage your careless team members (and your QA staff) to use relatively innocuous placeholders, or [...]]]></description>
			<content:encoded><![CDATA[<p>As careful as you are, well, no, strike that: as careful as the non-QA elements in your organization are, some of your test data and placeholder text are going to leak out into the real world.</p>
<p>You have to choices: Encourage your careless team members (and your QA staff) to use <a href="http://www.dustbury.com/archives/12198" target="_blank">relatively innocuous placeholders</a>, or expose your users to lorem ipsum ad nauseum.</p>
]]></content:encoded>
			<wfw:commentRss>http://qahatesyou.com/wordpress/2011/03/your-placeholder-text-leaks-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Worst I Ever Got Was A Shower Caddy</title>
		<link>http://qahatesyou.com/wordpress/2011/01/the-worst-i-ever-got-was-a-shower-caddy/</link>
		<comments>http://qahatesyou.com/wordpress/2011/01/the-worst-i-ever-got-was-a-shower-caddy/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 19:54:07 +0000</pubDate>
		<dc:creator>The Director</dc:creator>
				<category><![CDATA[Clean Tricks]]></category>

		<guid isPermaLink="false">http://qahatesyou.com/wordpress/?p=1629</guid>
		<description><![CDATA[Other testers recount their experiences with finding themselves in test data found in production: James Bach has a vanity license plate with TESTER on it and got a ticket as a result. Word is that this used to happen a lot with plates with NO PLATE or NONE on them, too, since the cops wrote [...]]]></description>
			<content:encoded><![CDATA[<p>Other testers recount their experiences with finding themselves in test data found in production:</p>
<ul>
<li>James Bach has a vanity license plate with <em>TESTER</em> on it <a href="http://www.satisfice.com/blog/archives/559" target="_blank">and got a ticket as a result</a>.  Word is that this used to happen a lot with plates with <em>NO PLATE</em> or <em>NONE</em> on them, too, since the cops wrote this on tickets given to those cars and HQ added an extra fine for not having a plate.</li>
<li>As an overcorrection, Eusebiu Blindu (aka testalways) found that his hosting provider <a href="http://www.testalways.com/2011/01/05/tests-on-live-environments/" target="_blank">blocks the keyword test</a> in certain circumstances.</li>
</ul>
<p>As you can well guess, I insist upon testing in production whenever possible, and when I was working for an interactive agency, I entered the contests as <em>Brian Tester</em> with an e-mail address with the interactive agency&#8217;s domain and with the agency&#8217;s address.  As a result, I, I mean <em>Brian Tester</em> won the consolation prizes in several of the CPG client&#8217;s giveaways.  This meant coupon packs and the occasional free sample.  The biggest prize I ever got was a shower caddy, a piece of plastic you could doublestick-tape to your shower to hold the client&#8217;s product bottles and useless for anything else.</p>
<p>Ha, ha!</p>
<p>These amusing anecdotes aside, what can one do to try to prevent this?</p>
<ul>
<li><strong>If possible, remove your test data.</strong>  If you can delete your test record as part of the test, <em>do it.</em>  In many cases, though, you don&#8217;t have a delete function or direct access to the database to delete.</li>
<li><strong>Standardize your test data for production.</strong>  Use the same surname or address whenever you test, for example.  This provides a key to use to identify and scrub that test data whenever your organization needs to do that test data.  You could use your company&#8217;s address, for example.  If you can&#8217;t find a single field you can be sure is 100% unique and that users will not actually input, use a composite built of several fields.</li>
<li><strong>Understand where the data goes.</strong>  A lot of times, other companies and organizations are getting dumps of your application&#8217;s data for other purposes, such as contest administration.  Even if your team knows to scrub for your data, these other organizations might not.  And suddenly, you&#8217;re on the top 10 most wanted list, Bob Tester.  Sorry.</li>
<li><strong>Communicate with data consumers.</strong>  Once you know where the data is going, you can tell them about the standard form for your test data and warn them to scrub it or handle it.</li>
<li><strong>Document your test data.</strong>  As part of any data schema or spec document that should get passed onto other data consumers, especially the ones about whom you won&#8217;t know or with whom you will not communicate, include details about your test data standard.  Include it in code comments.  Stick that note everywhere as a warning.</li>
</ul>
<p>Following those steps, if you can, might help prevent the problems that happen when some program takes your test data seriously.</p>
]]></content:encoded>
			<wfw:commentRss>http://qahatesyou.com/wordpress/2011/01/the-worst-i-ever-got-was-a-shower-caddy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Banish Lorem Ipsum</title>
		<link>http://qahatesyou.com/wordpress/2010/09/banish-lorem-ipsum/</link>
		<comments>http://qahatesyou.com/wordpress/2010/09/banish-lorem-ipsum/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 17:12:41 +0000</pubDate>
		<dc:creator>The Director</dc:creator>
				<category><![CDATA[Clean Tricks]]></category>

		<guid isPermaLink="false">http://qahatesyou.com/wordpress/?p=1389</guid>
		<description><![CDATA[In case you&#8217;re looking for a little Hamlet test of your own or need fill copy for a design, you can use Fillerati to create long strings from various literary texts. (Link seen in the Twitterverse. Sorry, I forgot who betweeted it.)]]></description>
			<content:encoded><![CDATA[<p>In case you&#8217;re looking for a little <a href="http://qahatesyou.com/wordpress/2007/07/unleashing-the-hamlet/" target="_blank">Hamlet test</a> of your own or need fill copy for a design, you can use <a href="http://www.fillerati.com/" target="_blank">Fillerati</a> to create long strings from various literary texts.</p>
<p>(Link seen in the Twitterverse.  Sorry, I forgot who betweeted it.)</p>
]]></content:encoded>
			<wfw:commentRss>http://qahatesyou.com/wordpress/2010/09/banish-lorem-ipsum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing E-mail Addresses The Right Way</title>
		<link>http://qahatesyou.com/wordpress/2009/03/testing-e-mail-addresses-the-right-way/</link>
		<comments>http://qahatesyou.com/wordpress/2009/03/testing-e-mail-addresses-the-right-way/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 12:59:13 +0000</pubDate>
		<dc:creator>The Director</dc:creator>
				<category><![CDATA[Clean Tricks]]></category>

		<guid isPermaLink="false">http://qahatesyou.com/wordpress/2009/03/25/testing-e-mail-addresses-the-right-way/</guid>
		<description><![CDATA[Joe Strazzere offers a list of tests for e-mail addresses. Go, learn, and do. Don&#8217;t make me find them for you.]]></description>
			<content:encoded><![CDATA[<p>Joe Strazzere offers a list of <a href="http://www.sqablogs.com/jstrazzere/page6/&amp;thisy=&amp;thism=&amp;thisd=" target="_blank">tests for e-mail addresses</a>.</p>
<p>Go, learn, and do.  Don&#8217;t make me find them for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://qahatesyou.com/wordpress/2009/03/testing-e-mail-addresses-the-right-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designers Lose One Excuse</title>
		<link>http://qahatesyou.com/wordpress/2008/07/designers-lose-one-excuse/</link>
		<comments>http://qahatesyou.com/wordpress/2008/07/designers-lose-one-excuse/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 12:32:31 +0000</pubDate>
		<dc:creator>The Director</dc:creator>
				<category><![CDATA[Clean Tricks]]></category>

		<guid isPermaLink="false">http://qahatesyou.com/wordpress/2008/07/15/designers-lose-one-excuse/</guid>
		<description><![CDATA[As you know, readers, I&#8217;m a fan of paying attention to the status bar in Internet Explorer, ever vigilant for the icon that indicates a scripting error on the page. The QA people at GoDaddy explain how you can do the same in Safari 3.x, almost, which means your team&#8217;s designers and hipster developer have [...]]]></description>
			<content:encoded><![CDATA[<p>As you know, readers, I&#8217;m a fan of paying attention to the status bar in Internet Explorer, ever vigilant for the icon that indicates a scripting error on the page. The QA people at GoDaddy explain how <a href="http://bugcrushers.com/?p=7" target="_blank">you can do the same in Safari 3.x</a>, almost, which means your team&#8217;s designers and hipster developer have one less excuse not to notice these things before you do.</p>
<p>Of course, it does not address the <em>reason</em>, which is the inherent self-righteous sloth these people exhibit, but that&#8217;s another matter entirely.</p>
]]></content:encoded>
			<wfw:commentRss>http://qahatesyou.com/wordpress/2008/07/designers-lose-one-excuse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reminder: Test Month Fields with September</title>
		<link>http://qahatesyou.com/wordpress/2008/04/reminder-test-month-fields-with-september/</link>
		<comments>http://qahatesyou.com/wordpress/2008/04/reminder-test-month-fields-with-september/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 18:40:36 +0000</pubDate>
		<dc:creator>The Director</dc:creator>
				<category><![CDATA[Clean Tricks]]></category>

		<guid isPermaLink="false">http://qahatesyou.com/wordpress/2008/04/28/reminder-test-month-fields-with-september/</guid>
		<description><![CDATA[A posting at DailyWTF reminds us that we should always test month edit boxes with September, especially when the user can enter 09: See, Javascript supports octal numbers. Any number starting with a zero is octal, even if it can&#8217;t be an actual octal number. In certain languages, like Perl, trying to use a non-octal [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://thedailywtf.com/Articles/Thank-you,-Javascript.aspx" target="_blank">posting</a> at DailyWTF reminds us that we should always test month edit boxes with September, especially when the user can enter 09:</p>
<blockquote><p>See, Javascript supports octal numbers. Any number starting with a zero is octal, even if it can&#8217;t be an actual octal number. In certain languages, like Perl, trying to use a non-octal number as an octal number results in an error. In other languages, like Javascript, it silently fails.</p></blockquote>
<p>This problem can also occur when the user selects the month from a drop-down list and converts it to a number for database purposes, so you should always test with September at least once in your testing.</p>
]]></content:encoded>
			<wfw:commentRss>http://qahatesyou.com/wordpress/2008/04/reminder-test-month-fields-with-september/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keeping Your Test Data Clean</title>
		<link>http://qahatesyou.com/wordpress/2007/09/keeping-your-test-data-clean/</link>
		<comments>http://qahatesyou.com/wordpress/2007/09/keeping-your-test-data-clean/#comments</comments>
		<pubDate>Mon, 24 Sep 2007 17:36:23 +0000</pubDate>
		<dc:creator>The Director</dc:creator>
				<category><![CDATA[Clean Tricks]]></category>
		<category><![CDATA[Load testing]]></category>

		<guid isPermaLink="false">http://qahatesyou.com/wordpress/2007/09/24/keeping-your-test-data-clean/</guid>
		<description><![CDATA[There are many things one can learn from  this story: Symantec Corp.&#8217;s early-warning system gave its enterprise customers a brief scare late Friday when it erroneously sent an alert that said an Internet-crippling attack was in progress. However, the one I want to tease out is this lesson: always keep your junk data clean and [...]]]></description>
			<content:encoded><![CDATA[<p>There are many things one can learn from  <a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;articleId=9038358&amp;source=NLT_AM&amp;nlid=1" target="_blank">this story</a>:</p>
<blockquote><p>Symantec  Corp.&#8217;s early-warning system gave its enterprise customers a brief scare  late Friday when it erroneously sent an alert that said an Internet-crippling  attack was in progress.</p></blockquote>
<p>However, the one I want to tease out is this lesson: <strong>always keep your junk data clean and readable and clearly defined as test data.</strong></p>
<p><span id="more-73"></span></p>
<p>In the Symantec alert, the message sort of indicated that it might be a test:</p>
<blockquote><p>In the body of the e-mailed alert, however, careful readers found the words  &#8220;Summary: threatcon test threatkhanh otrs&#8221; buried among several links.</p></blockquote>
<p>Whenever you&#8217;re testing in a live environment or in an environment where databases are copied from dev or test environments into production (not a best practice, I know, but it happens too often), you must structure your test data so that it&#8217;s marked as test data somehow.</p>
<p>For example, on Web data collection forms that use e-mail as a uniqueish identifier, I recommend using a standard domain for your test submissions; in the past, I&#8217;ve used the company&#8217;s domain.  This way, your dev teams can (and should, but whether they will or not depends upon the caliber of your persuasion&#8211;I recommend .45) filter out the test records before the records go to the fulfillment house, e-mail vendor, or mere usage reports.</p>
<p>On free-text sorts of data entry, it&#8217;s best to stick with a simple line of &#8220;This is a test entry.&#8221; or something similar.  At least Mr. Khan did enter the word &#8220;test&#8221; in his data entry for Symantec; other times, developers or testers pound on the keyboards with the subtleties of bonobos.   If these strings of characters get passed onto actual users, they might look like defective behavior on the part of your application.  Worse, if you subversive QA types use gallows humor in your test entries, it might make it past the gatekeepers and onto the end user or client&#8217;s computer screen.</p>
<p>I&#8217;m not saying that I ever did anything like that, regularly-scheduled production testing included some feeble humor that the data aggregation and screening person filtered out before passing relevant entries onto the client.  When the data aggregation and screening duties passed on to admin staff, one of the almost plausible punchlines made it to the client.  The humor wasn&#8217;t anything that damaged the relationship with the client, but it&#8217;s better to be safe than sorry.</p>
<p>So treat that test data as though your client or end user was going to read it.   That way, when your tech team inevitably makes the mistake that presents test data as gospel, at least it will be good spelled.</p>
<p>If you use automated testing, make sure that the test data used by your scripts is clean and friendly, too.  Because if your client gets to see that information, your client is going to see it a lot.  Automated test data that indicates its source in automated testing will explain to the uninformed why he or she is seeing this test message every day at 1am.</p>
<p>It&#8217;s not a bad idea to earmark load testing data as well so that its origin is easily identified; a load test mistakenly sent to a production server should trip some potential Denial of Service alarms with your hosting provider.  If you&#8217;re doing it <a href="http://qahatesyou.com/wordpress/2007/07/10/sissy-load-tests/" target="_blank">the right way</a>, that is.</p>
]]></content:encoded>
			<wfw:commentRss>http://qahatesyou.com/wordpress/2007/09/keeping-your-test-data-clean/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opening the Raincoat on Flash Version Testing</title>
		<link>http://qahatesyou.com/wordpress/2007/09/opening-the-raincoat-on-flash-version-testing/</link>
		<comments>http://qahatesyou.com/wordpress/2007/09/opening-the-raincoat-on-flash-version-testing/#comments</comments>
		<pubDate>Wed, 05 Sep 2007 20:21:12 +0000</pubDate>
		<dc:creator>The Director</dc:creator>
				<category><![CDATA[Clean Tricks]]></category>

		<guid isPermaLink="false">http://qahatesyou.com/wordpress/2007/09/05/opening-the-raincoat-on-flash-version-testing/</guid>
		<description><![CDATA[The cool kids like to use Adobe Flash to build rich Web applications because if you build it in Flash, you don&#8217;t have to worry about compatibility with Web browsers. Oh, who am I kidding, they like to use Flash because it offers a bunch of effects out of the box and it does some [...]]]></description>
			<content:encoded><![CDATA[<p>The cool kids like to use Adobe Flash to build rich Web applications because if you build it in Flash, you don&#8217;t have to worry about compatibility with Web browsers.  Oh, who am I kidding, they like to use Flash because it offers a bunch of effects out of the box and it does some right purty things with animation and pictures.  It allows them to put forms and data submission stuff right into the flash really fast, too, often without any data validation, but that&#8217;s another story.</p>
<p>No, today&#8217;s lamentation is about how those cool kids build Flash animations or applications using the latest version of Adobe Flash love to use the latest gimcracks and whatnot and how people who have a previous version of the Flash player installed with their browsers sometimes don&#8217;t get to see and marvel at the genius of your design team.  Sometimes, they will see <em>nothing at all</em>, which is very, very bad.  And you know, some browsers/computers ship without Flash installed in the default browser, right?  So what happens when <em>that</em> user tries to hit the page, he gets no message and no warning, which means he thinks the site is defective.  Because it is.</p>
<p><span id="more-59"></span>I am not saying that every Flash application should be compatible back to Flash 6 (although Flash 7 would be nice); instead, Web sites that use rich media should build detection logic into their sites to inform the user of the Flash thingamabob&#8217;s compatibility; that is, if the designers <em>had</em> to have some widget from Flash 8 in the thing, the Web site should check to ensure that the user&#8217;s Web browser has at least Flash 8 installed.  It&#8217;s not impossible, but it takes a little extra effort that&#8217;s not dedicated to the gee-whizery that warms the cockles of your Flash developers&#8217; hearts.</p>
<p>That being said, what should you do to test these things, my QAhort?  What I did was to create a batch file that, with a single click of the mouse, would use the silent installers to uninstall the currently installed version of Flash and then installs the version you want.  Just like that.</p>
<p>Here&#8217;s the basics:</p>
<ol>
<li>Go to Adobe&#8217;s <a href="http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14266&amp;sliceId=1" target="_new">Archived Flash players available for testing purposes</a> page.</li>
<li>Download the Zip files to a central location, such as a mapped network drive.  If you&#8217;re only going to do this on a workstation, you don&#8217;t need to do this step, but if you want to make the files available across workstations, you&#8217;ll need a central location.</li>
<li>Go to Adobe&#8217;s <a href="http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14157&amp;sliceId=2" target="_new">How to uninstall the Adobe Flash Player plug-in and ActiveX control</a> page and download the uninstaller executable.</li>
<li>Unzip the contents of each version&#8217;s zip file.  They tend to have two installers, one for the Active X control used by Internet Explorer and one for the Gecko/Firefox/Netscape version.</li>
<li>Create, in a central location, your Flash uninstaller batch file.  This batch file removes Flash from your system as described on the Adobe article page.  This file, <code>uninstallflash.bat</code>, should look something like this:<br />
<blockquote><p><code><font size="1"><br />
q:<br />
cd \qa_files\Macromedia Flash<br />
uninstall_flash_player /s<br />
</font></code></p></blockquote>
<p>The installer files that I mention below will call this file to clear existing versions of Flash before running the installers.  The Adobe page says it&#8217;s a good idea to restart between uninstalling and reinstalling, but in most cases it will work without; however, do keep in mind the caveats about instant message clients and whatnot holding onto the ActiveX control and preventing its installation.</li>
<li>Create the individual version installation batch file.  I used a single batch file for each version, but if you&#8217;re sophisticated and underutilized, you can put a menu in the batch file if you want.  For example, <code>installFlash7.bat</code> would look something like this:<br />
<blockquote><p><code><font size="1"><br />
q:<br />
cd \qa_files\Macromedia Flash<br />
call uninstallflash.bat<br />
z:\<br />
cd \qa_files\Macromedia Flash\macromedia flash\Flash Player Installer Archive\fp7_archive\r61<br />
flashplayer7r61_winax.exe /q<br />
flashplayer7r61_win.exe /s<br />
c:<br />
</font></code></p></blockquote>
<p>Again, this uses the silent installer so that you&#8217;re not bothered with the prompts associated with a normal installer.  When the installers run, though, you might see some progress bars on the screen.</li>
<li>Once you&#8217;ve got the uninstallers set up, you can create shortcuts or whatnot to their locations and run them easily.  You can create desktop shortcuts if you want, but I prefer to create a centrally located HTML file that has nothing but links to them and then embed that HTML file into the Active Desktops of all the workstations upon which I would use the batch files.  This way, I&#8217;d have access to the latest versions of the files and would see any changes I&#8217;d made to the HTML file list of batch files.  But that&#8217;s just my way.</li>
</ol>
<p>In any case, what you have is an easy way to rapidly switch between versions of Flash&#8211;or uninstalling Flash completely&#8211;to see what your users will see when they are exposed to the creative genius of your organization&#8217;s Flash designers.  And the ensuing havoc.</p>
]]></content:encoded>
			<wfw:commentRss>http://qahatesyou.com/wordpress/2007/09/opening-the-raincoat-on-flash-version-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Screenshots: A Primer</title>
		<link>http://qahatesyou.com/wordpress/2007/07/screenshots-a-primer/</link>
		<comments>http://qahatesyou.com/wordpress/2007/07/screenshots-a-primer/#comments</comments>
		<pubDate>Tue, 17 Jul 2007 17:53:42 +0000</pubDate>
		<dc:creator>The Director</dc:creator>
				<category><![CDATA[Clean Tricks]]></category>

		<guid isPermaLink="false">http://qahatesyou.com/wordpress/2007/07/17/screenshots-a-primer/</guid>
		<description><![CDATA[Screenshots are the QAer&#8217;s best friend, gentle reader. Appended to a defect report or printed on a color plotter at 20&#8243; by 30&#8243; so you can wave them two-handedly in front of the developer, they can prove conclusively that something very wrong happened with the application. Because otherwise the developers will fix something and claim [...]]]></description>
			<content:encoded><![CDATA[<p>Screenshots are the QAer&#8217;s best friend, gentle reader.  Appended to a defect report or printed on a color plotter at 20&#8243; by 30&#8243; so you can wave them two-handedly in front of the developer, they can prove conclusively that something very wrong happened with the application.  Because otherwise the developers will fix something and claim it was never broken in the first place, or the humidity within the office will change, altering the flow of electrons through the network cable, producing different results when you try to recreate it, or something.  It&#8217;s always something.</p>
<p>So, at any rate, a good screenshot adds a lot of value to a defect report or other communication.</p>
<p><span id="more-18"></span></p>
<p>As you might know, gentle reader, I used to be a technical writer before I gave up trying to explain the inexplicable and decided to seek and destroy it instead.  So I have some advice for taking screenshots effectively.  Most of the advice that follows talks in terms of Windows-based computers, but if you&#8217;re in QA, you should be smart enough to apply the lessons to other platforms.</p>
<p>First off, you need a program that can handle bitmap images, such as Microsoft Paint (standard with a Windows install), Microsoft Word (if you have Microsoft Office installed), or a custom graphics program.  I&#8217;ve always been happy with <a href="http://store.corel.com/webapp/wcs/stores/servlet/ProductDisplay?partNumber=OL_PR11&amp;srcid=&amp;pculicenseid=&amp;promocode=0&amp;countryCode=US&amp;storeId=10302&amp;catalogId=10103&amp;langId=-1&amp;trkid=googlepsp&amp;trkid=40883191&amp;gclid=CNngz_eFr40CFSQ9IgodLUsUvg" target="_new">Paint Shop Pro</a> because it&#8217;s under $100 and I&#8217;ve used it for almost a decade.  However, Photoshop or what have you will work as well.</p>
<p>Next, there are two ways to take a screenshot.  You can simply press the Print Screen key, which takes an image of the entire desktop including taskbar and whatever bits of your wallpaper might display behind the application you&#8217;re testing.  This is typically too much information, so you&#8217;ll only use it occasionally.  I mean, here&#8217;s a busy screenshot of my whole desktop, including windows open beneath the application I want to call out:</p>
<p><center><a href="http://www.qahatesyou.com/images/prscrn.jpg" target="_new"><img src="http://www.qahatesyou.com/images/prscrn.jpg" alt="Bad screenshot" border="0" width="400" /></a><br />
<font size="1"><em>Click for full size.</em></font></center>Attach that to a defect report, and you&#8217;ll overwhelm a poor, simple developer.Now, if you press the ALT key and the Print Screen key, Windows will take a screenshot of just the active window.  Like this: <center><a href="http://www.qahatesyou.com/images/prscrnright.jpg" target="_new"><img src="http://www.qahatesyou.com/images/prscrnright.jpg" alt="Proper screenshot" border="0" width="400" /></a><br />
<font size="1"><em>Click for full size.</em></font></center>Now, be careful if you&#8217;ve got a floating window that&#8217;s not maximized and it&#8217;s tucked under the taskbar, as this will capture the taskbar, too: <center><a href="http://www.qahatesyou.com/images/prscrntskbar.jpg" target="_new"><img src="http://www.qahatesyou.com/images/prscrntskbar.jpg" alt="Hey, that's the taskbar!" border="0" width="400" /></a><br />
<font size="1"><em>Click for full size.</em></font></center>That&#8217;s just poor craftsmanship.Now, keep aware of the various and sundry things that pop unbidden onto your screen while you&#8217;re taking screenshots.  Some applications grab focus or display notifications in the corner of your screen on events, and if you get any of those things, <em>retake the screenshot</em>.  Geez, this particular screenshot appeared in the  <a href="http://stpmag.com/issues/stp-2007-06.pdf" target="_new">June issue</a> (PDF at the link) of <em>Software Test &amp; Performance</em> magazine.  The QA guy himself and any editors at the magazine just let this go.  In the magazine itself, you can even make out who sent him that offending e-mail: <center><a href="http://www.qahatesyou.com/images/screenshot.jpg" target="_new"><img src="http://www.qahatesyou.com/images/screenshot.jpg" alt="Oopsie!" border="0" width="400" /></a><br />
<font size="1"><em>Click for full size.</em></font></center>Now, you&#8217;ve got the screenshot and you&#8217;ve pasted it into your graphics package.  It&#8217;s okay to use some of the graphics tools within the graphics program to highlight or add explanation: <center><a href="http://www.qahatesyou.com/images/screenshotshow.jpg" target="_new"><img src="http://www.qahatesyou.com/images/screenshotshow.jpg" alt="Isolating items of interest" border="0" width="400" /></a><br />
<font size="1"><em>Click for full size.</em></font></center>Additionally, you can judiciously use the cropping feature of your graphics package to bring the issues to prominence.Now, remember I said there was one reason to do a Print Screen shot that doesn&#8217;t just capture the active window?  If you&#8217;re showing a modal dialog box, such as a message box or other sub-window functionality, ALT+Print Screen will only capture the modal dialog box and not the underlying state of the application.  Like this:</p>
<p><center><img src="http://www.qahatesyou.com/images/prnscrndialog.jpg" alt="Modal dialog, isolated" width="400" /><br />
</center>That doesn&#8217;t tell the developers much, and they like it that way, since it presents less challenge by their subatomic consciences in rejecting the defect.Instead, you should take a full desktop screenshot and then crop it down to just the application you&#8217;re testing: <center><a href="http://www.qahatesyou.com/images/prnscrnmodal.jpg" target="_new"><img src="http://www.qahatesyou.com/images/prnscrnmodal.jpg" alt="The modal screenshot" border="0" width="400" /></a><br />
<font size="1"><em>Click for full size.</em></font></center>That way, you can show more about the state of the application behind whatever modal dialog you show.Now, about saving those screenshots.  Hopefully, you&#8217;ve got a real graphics package and can save the images as either a JPG or a GIF.  This makes the image easy to review in other graphics programs or in Web browsers if your defect tracker is Web-based.  Of course, if you don&#8217;t have a graphics package, you can save the image within a Microsoft Word document.  You want to avoid proprietary image formats (such as Paint Shop Pro images with .psp extensions) or more esoteric image formats (TIFF or whatnot) because they will require image programs to review.  You probably want to avoid bitmaps or Windows file formats as they can be large in size.Now you can attach your stunning, hard-hitting evidence of application failure to your defect report.  Not that it&#8217;s going to matter one difference to your technical staff; they will receive the report, ignore the image, bang randomly on the keys while making monkey sounds, and when that fails to cause the problem to occur, will mark this issue as not reproducible.</p>
<p>But you have proof.  And you&#8217;re not crazy.</p>
<p>(As a footnote, if you&#8217;re testing on a Macintosh, you can do a screengrab in different ways recounted <a href="http://8help.osu.edu/1232.html" target="_new">here</a>.)</p>
]]></content:encoded>
			<wfw:commentRss>http://qahatesyou.com/wordpress/2007/07/screenshots-a-primer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

