tag:blogger.com,1999:blog-7543846514230823292009-07-06T05:48:00.399-04:00Blue Screen Joy - A Software Tester's JourneyThe first step to making something better is to point out what is wrong with it.
Blue Screen Joy is Andy Roth's blog about the pursuit of quality in software, technology, and life.Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.comBlogger25125tag:blogger.com,1999:blog-754384651423082329.post-28453536689543402692008-09-24T17:05:00.002-04:002008-09-24T17:08:47.473-04:00The Lucky ThirteenHarry McCracken has done a great post on <a href="http://technologizer.com/2008/09/18/errormessage/">The Thirteen Greatest Error Messages of All Time</a>. This baker's dozen rouge gallery should bring joy to any tester's heart.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-2845353668954340269?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com1tag:blogger.com,1999:blog-754384651423082329.post-51342634914992370622008-09-08T14:55:00.003-04:002008-09-08T15:08:00.888-04:00Who Tests the Tester?Finding the right tester to join your team is tricky business. For one, software testing is not something many people have degrees in. Instead it is something most people learn on the job, which is a bit of a chicken and egg situation in of itself. Secondly, it seems many people only visit the testing profession rather than making a career of it, so the people with the right experience might not be interested in the job.<br /><br />One thing we do we selecting candidates for an open Test Engineer position is to go give a quiz. In its current form it is only six questions that we give people up to an hour to answer. This provides a good level-set for what kind of tester a person is likely to be. I won't share the exact questions here in case some savvy applicant finds this blog. I will however give this much info:<br /><ul><li>Some of the questions are about what test cases would you write to test some made up app</li><li>Some of the questions deal with when it is best to use different styles of testing</li><li>One of the questions is a trick question - it asks about how you can tell when you've found all the bugs in an app. No one has gotten this one right yet.</li></ul>The reason I am thinking about this now is because we are trying to find the right tester to fill a new position at my company, AdaptiveBlue. If you might be the one, or know someone who might be, please let me know.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-5134263491499237062?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com4tag:blogger.com,1999:blog-754384651423082329.post-58158279200654469632008-04-09T09:31:00.005-04:002008-04-09T10:11:05.729-04:00To Find the Unfindable BugThis morning I have been tasked with reproducing an unreproducible bug.<br /><br />Since the last update of our software, we've heard from a very small number of new users who were unable o create an account. This is a big deal for this small percentage of people. It is possible that the number of people that are reporting this problem are a fraction of the people who are experiencing it, since many people will just drop-off if they can't create an account, but even so, we also know that most people don't see this problem. We've also not seen this problem during extensive testing.<br /><br />Except that we have seen this problem in testing. A few times in dozens and dozens of attempts. Each time, the exact steps were recreated, and it worked fine the next time. Its what we in the testing business call "a fluke".<br /><br />But, back to the business at hand - how can I solidly recreate this most elusive of bugs? The first thing to do is to find out all we can from the people that experience the bug. Using our best detective skills, we should try to determine how the people who see the bug are different from those who don't. It could be something about about how they are interacting with our product or something about their environment (physical resources, other software, even their physical location). If you can isolate what the difference is, it should be easy to reproduce.<br /><br />If you can't isolate the difference, then it is time to bring in your testing skills. Two approaches you can try:<br /><ol><li><strong>"The Crazy Uncle"</strong> - Test unusual user flows. Since most people don't see the bug, perhaps we need to try something weird and unexpected to make it occur. Never underestimate a user's ability to use your software in a way that is totally unimaginable.</li><li>"<strong>The Big Snafu</strong>" - Make what can go wrong, go wrong. This means limiting or disabling your systems resources while going through the use case. This could include such things as unplugging from the network half way through, removing the install CD at the wrong time, or devoting but a sliver of your system's RAM to some application other than what you are testing.</li><li><strong>"Brute Force"</strong> - Test the usual flow many many many times. It could be what is happening is some sort of race condition that will only occur 1 out of 100 times. This approach is extremely time consuming and boring (and therefore a good candidate for automation), but if you can make it fail when everything else is normal, that is important information that the developer can use to fix it.</li></ol><p>If after all this you still can't reproduce the bug, then your choices are to keep trying, live with it, or hope the developers can find it by scrutinizing and carefully reviewing the code. None of this is especially appealing, but no one promised you a pleasure cruise.</p><p>Does anyone else have suggestions on ways to find the unfindable bug? Please add them to the comments if you do.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-5815827920065446963?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com5tag:blogger.com,1999:blog-754384651423082329.post-47611591806043348282008-03-26T22:56:00.003-04:002008-03-26T23:35:23.635-04:00One of Those DaysSome days you get in a zone where the bugs come out of hiding to follow you like you were the Pied Piper of Defects. For me, that describes exactly how this day wasn't.<br /><br />One thing I was testing involved passing strings of text. Of course all the basic, simple text worked fine. I also tested such odd ball characters like brackets and quotes and other punctuation. I even tested non-English characters including € and the like, and even some Japanese characters. Everything I tried worked perfectly, so I declared it good to go.<br /><br />My boss then decided to give it a try. He happened to choose some text including a $. Of course, it failed miserably.<br /><br />Later I was testing a new widget. I tested in on FF on Windows, and found some issues. These were fixed. I tested it on IE7, found some issues, and these were fixed. I tested it on FF3 Beta on Mac, and it worked there. It was good to go. Or would have been, had it not been on Safari. Guess who tried on Safari? That's right - my boss.<br /><br />Sigh.<br /><br />Some days you get the bugs. Some days the bugs get you.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-4761159180604334828?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com2tag:blogger.com,1999:blog-754384651423082329.post-3981613923075352562007-12-21T17:10:00.000-05:002007-12-21T17:31:19.654-05:00Pay Back Bad Developers<a href="http://bp1.blogger.com/_I0yrtowdWH0/R2w6WCGvwTI/AAAAAAAAABY/H-vLKIie3h4/s1600-h/PO-FRUITCAKE.jpg"><img id="BLOGGER_PHOTO_ID_5146552624374333746" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_I0yrtowdWH0/R2w6WCGvwTI/AAAAAAAAABY/H-vLKIie3h4/s320/PO-FRUITCAKE.jpg" border="0" /></a><br /><div>Here we are, in the thick of the holiday season when we give gifts to the important people in our lives. When doing your Christmas shopping, you should be careful not to overlook the founders of the feast - the Bad Developers.</div><div> </div><div>I say this not because developers write the code that gets sold to your users, thus paying the bills. I say this because without Bad Developers, and the wonderful bugs they tuck away in the product like lumps of coal in a stocking, there would be no need for testers.</div><div> </div><div>That is why I recommend that testers buy a gift for the worst Developers on the team. I say the worst, because it is these venerable engineers that make necessary most of the testing we do. You don't need to reward the good developers - if they are not going to send some wonderful bugs your way, you don't need to get them a thing. So Karen, Jeff, Dominick, and Alex - no gifts for you because you make me work too hard to find those precious few bugs.</div><div> </div><div>But what is the best gift to show how much you appreciate the Bad Developers and their lack of best practices, unit testing, common sense, and skill than a fruit-cake. Nothing says "Thanks for the lousy code! Keep up the bad work!" like a cake made of fruit. This classic no-prize is just what every Bad Developer needs and wants.</div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-398161392307535256?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com1tag:blogger.com,1999:blog-754384651423082329.post-1525729195758449032007-12-19T16:36:00.000-05:002007-12-19T16:50:24.750-05:00Sharpen the Flaw<span style="font-size:130%;">The Seven Habits of Highly Effective Testers<br />Part 7 of 7</span><br /><br /><em><span style="font-size:85%;">This is finally the seventh post in a series many thought would never be finished. It is based ever-so loosely on </span></em><a href="http://www.amazon.com/Habits-Highly-Effective-People/dp/0743269519/ref=nosim/?tag=figmenterpris"><em><span style="font-size:85%;">Stephen R. Covey's book</span></em></a><em><span style="font-size:85%;"> but focused on what you can do to be more effective as a software tester.</span></em><br /><br /><em><span style="font-size:85%;"></span></em>Like college freshmen, bugs rarely live alone. A group of bugs living together is called a pod, or maybe that is dolphins. Swarm? Colony? The best name would have to be the same as crows - a murder of bugs. Yes, I realize I am getting off track. Sorry.<br /><br />The point is, when you find one bug, you can be sure that there are other bugs nearby. As a tester, you should exploit this by banging on the features in which you find the bug. Like pulling on a loose thread, testing heavily around a new bug can lead to the whole program unravelling.<br /><br />You should also test similar functions in other features. Developers are at least as lazy as normal people, so when they can reuse a bit of nifty code, they will, and thus make another instance of the bug. The right way for developers to do this is to abstract the function and then call it from everywhere that needs it, but as we know, the right way to do things is not always the way things are done. And thank goodness for that.<br /><br /><p><em><span style="font-size:85%;">Previous Posts:</span></em><br /><a href="http://www.bluescreenjoy.com/2007/10/be-protractive.html"><span style="font-size:85%;"><em>1 - Be Protractive</em></span></a><span style="font-size:85%;"><em><br /></em></span><a href="http://www.bluescreenjoy.com/2007/10/begin-with-vend-in-mind.html"><span style="font-size:85%;"><em>2 - Begin With the Vend in Mind</em></span></a><span style="font-size:85%;"><em><br /></em></span><a href="http://www.bluescreenjoy.com/2007/11/put-worst-things-first.html"><span style="font-size:85%;"><em>3 - Put Worst Things First</em></span></a><span style="font-size:85%;"><em><br /></em></span><a href="http://www.bluescreenjoy.com/2007/11/think-whenwhen.html"><span style="font-size:85%;"><em>4 - Think When/When</em></span></a><span style="font-size:85%;"><em><br /></em></span><a href="http://www.bluescreenjoy.com/2007/11/seek-first-to-understand-then-to.html"><span style="font-size:85%;"><em>5- Seek First to Understand, Then to Exploit</em></span></a><span style="font-size:85%;"><em><br /></em></span><a href="http://www.bluescreenjoy.com/2007/12/blog-post.html"><span style="font-size:85%;"><em>6 - Sinner Guise</em></span></a><br /></p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-152572919575844903?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com1tag:blogger.com,1999:blog-754384651423082329.post-84735262675294585162007-12-04T15:32:00.002-05:002008-10-07T09:10:33.732-04:00Sinner Guise<span style="font-size:130%;">The Seven Habits of Highly Effective Testers<br />Part 6 of 7</span><br /><br /><em><span style="font-size:85%;">This is the sixth post in a recently neglected series which is based ever-so loosely on </span></em><a href="http://www.amazon.com/Habits-Highly-Effective-People/dp/0743269519/ref=nosim/?tag=figmenterpris"><em><span style="font-size:85%;">Stephen R. Covey's book</span></em></a><em><span style="font-size:85%;"> but focused on what you can do to be more effective as a software tester.</span></em><br /><em><span style="font-size:85%;"></span></em><br />If Moses was alive today he would be a technical writer. Just like the ten commandments, the purpose of software documentation is to tell people what they should do and should not do. Also like the ten commandments, much software documentation is ignored.<br /><br />Software is designed to be used in a certain way. Careful use cases and flows are thought out and implemented by designers and developers. Testers test these happy flows and make sure everything works the way it should. All is well until a user gets the software and tries to do something with it that no one ever imagined. What happens next is crucial.<br /><br />A sign of quality software is that it either handles the abuse, or at worst, fails gracefully. It is our job as testers to make sure that this happens. To do this, part of your testing should include ignoring everything you know about what a user Shalt Do or Shalt Not Do, and go crazy:<br /><ul><li>Put negative numbers into text fields</li><li>Put ridiculously long strings anywhere you can, </li><li>Paste inappropriate stuff - like binary files into text boxes</li><li>Open 13 instances of your app at once</li><li>Unplug the network or the power in the middle of an important flow </li><li>Change the system date and time </li><li>Install on a system way below the minimum specs</li><li>Use weird characters like ì È Ö </li><li>Run 10 other apps while you are testing</li><li>Delete crucial files</li><li>Don't close other applications before proceeding</li></ul><p>In other words - be great and terrible in the way you treat the software. Put on the guise of a sinner and break all the commandments. The developers may not forgive you for doing this, but your users won't forgive if you don't.</p><p><em><span style="font-size:85%;">Previous Posts:</span></em><br /><em><span style="font-size:85%;"><a href="http://www.bluescreenjoy.com/2007/10/be-protractive.html">1 - Be Protractive</a><br /><a href="http://www.bluescreenjoy.com/2007/10/begin-with-vend-in-mind.html">2 - Begin With the Vend in Mind</a></span></em><br /><a href="http://www.bluescreenjoy.com/2007/11/put-worst-things-first.html"><em><span style="font-size:85%;">3 - Put Worst Things First</a></span></em><br /><a href="http://www.bluescreenjoy.com/2007/11/think-whenwhen.html">4 - Think When/When</a><br /><a href="http://www.bluescreenjoy.com/2007/11/seek-first-to-understand-then-to.html">5- Seek First to Understand, Then to Exploit</a><br /><br /><em><span style="font-size:85%;">Next Up:</span></em><br /><em><span style="font-size:85%;">7- Sharpen the Flaw</span></em> </p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-8473526267529458516?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com4tag:blogger.com,1999:blog-754384651423082329.post-30126428119550663432007-11-21T09:48:00.000-05:002007-11-21T13:54:33.063-05:00Firefox Beta Goes To 11 (Thousand)<a href="http://www.zooomr.com/photos/30543@Z01/3577034/"><img style="MARGIN: 10px" alt="firefox102 by honan4108" src="http://static.zooomr.com/images/3577034_f38256628b_m.jpg" width="180" align="left" float="left" /></a> When I got the heads-up from <a href="http://www.readwriteweb.com/archives/firefox_3_beta_hits_the_web.php">Josh</a> and <a href="http://www.techcrunch.com/2007/11/20/firefox-3-beta-1-the-memory-use-says-it-all/trackback/">Duncan</a> that the beta of Firefox 3 was now available, what put a twinkle in my eye was that Mozilla has fixed <strong>11,000</strong> issues with this release. I could not believe it, but here is the info directly from the <a href="http://www.mozilla.com/en-US/firefox/3.0b1/releasenotes/">source</a>:<br /><blockquote>Firefox 3 Beta 1 is based on the new Gecko 1.9 Web rendering platform, which has been under development for the past 27 months and includes nearly 2 million lines of code changes, fixing more than 11,000 issues. </blockquote><p>My first reaction was "How great and wonderful Mozilla is for giving us such a vastly improved product!" This was followed 2 seconds later by "Yikes! My most used application and the product my company has hitched our wagon to has at least 11,000 known issues!"<br /><br />My next thought was "How great and wonderful the Mozilla test team must be for finding that many bugs and driving them to resolution." I doubt I've found anywhere near 11,000 bugs in my <em>career</em>, and I've been a software tester since long it was cool and hip. Even if these issues have been accumulating over the last 27 months, that is more than 10 bugs a day - and that is just the ones they fixed.<br /><br />I then came to the conclusion that Mozilla actually has hundreds of millions of the best kind of testers - free ones - aka users. That is the only way they could find, track, and fix 11,000 bugs - with a strong and active community. So, my final thought was "How great and wonderful the Mozilla community is for finding and reporting all these bugs!" Mozilla should buy them 11,000 beers. </p><p>More on the <a href="http://www.techmeme.com/071120/p16#a071120p16">Firefox 3 beta on Techmeme</a>.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-3012642811955066343?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com1tag:blogger.com,1999:blog-754384651423082329.post-61516119368590079392007-11-15T22:22:00.000-05:002007-11-16T09:02:30.018-05:00A Touch of Quality<div align="left" float="left"><a title="Photo Sharing" href="http://www.zooomr.com/photos/duckbrown/3735696/"><img height="240" alt="My Touch" src="http://static.zooomr.com/images/3735696_72c5153977_m.jpg" width="161" align="left" border="0" style="margin: 10px" /></a></div>I am not, by any means, an Apple fanboy. For most of my life I've been quite the opposite. A couple of years ago, I got a first generation iPod Nano, and thought it was fairly decent. Last year I got a MacBook and it has slowly become my laptop of choice - especially when I travel. When the iPhone came out, I was intrigued, even more so after getting to play with one. Since I am boycotting Cingular however, the iPhone would have to remain something I would admire from a distance.<br /><br />So, you can imagine my interest when Mr. Steve announced the <a href="http://www.amazon.com/Apple-16-GB-iPod-touch/dp/B000JNYWBG/">iPod Touch</a> which had many of best parts of the iPhone but with no phone, and therefore no Cingular (now AT&T) contract. I resisted temptation for what seemed like a long time, but a few weeks ago I gave in and bought a Touch. I am heavy into gadgetry, so it really means something when I say that the iPod Touch is the<br /><br />Best Gadget Ever.<br /><br />This is a blog about quality, and I am here to tell you that the Touch is chock full of quality, both in the hardware and in the software. Lets start with the hardware. The thing is crazy thin. Even when I was 6'3" and 140 pounds (a long time ago) I was nowhere near this thin. Even so it feels solid and sturdy. The screen is plenty big and bright, and easy to read. The wi-fi is strong. Even though there are only 2 buttons, this is actually just enough, and I have yet to find myself wishing for more.<br /><br />As good as the hardware is, the software is even better. Whether you are making your way through music, videos, pictures, or real web pages the navigation is thoughtful and intuitive. Even entering text is not that bad. The software is also very solid - and this from a guy who makes his living breaking software.<br /><br />That is not to say the iPod Touch could not be improved. Some changes I'd like to see:<br /><ul><li>A speaker - This thing begs to shown off and passed around, and so it would be real nice to have a speaker to play the music and video soundtracks so your friends can enjoy it without getting goo on your ear buds.</li><br /><li>Some games - These will be coming after Apple opens up the platform next year, but it would nice if they included some simple time killers from the get-go</li><br /><li>Attached mode - This is a bit unusual, but stay with me. Most of my iTunes listening occurs on my computer - the screen for which is taken up with stuff other than iTunes. Wouldn't it be cool if I could plug in my Touch, then use it as dedicated interface to control iTunes on my computer?</li></ul>Good work Apple. The Touch is so good that I may actually break my Cingular boycott and get myself an iPhone one of these days - though I am going to *try* to wait until the next generation which I *hope* will be announced in January.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-6151611936859007939?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-36015033180156600302007-11-14T17:32:00.000-05:002007-11-14T17:40:31.101-05:00Seek First to Understand, Then to Exploit<span style="font-size:130%;">The Seven Habits of Highly Effective Testers<br />Part 5 of 7</span><br /><br /><em><span style="font-size:85%;">This is the fifth post in a series which is based ever-so loosely on </span></em><a href="http://www.amazon.com/Habits-Highly-Effective-People/dp/0743269519/ref=nosim/?tag=figmenterpris"><em><span style="font-size:85%;">Stephen R. Covey's book</span></em></a><em><span style="font-size:85%;"> but focused on what you can do to be more effective as a software tester.</span></em><br /><em><span style="font-size:85%;"></span></em><br />Customers don't have inside knowledge of how an app is designed, architected, or coded. That is why I've always been a big fan of black-box testing - it best approaches the way a customer will use the app. Still, there is something to be said for glass-box testing as well. Looking inside the box can give you insight into where the good bugs are.<br /><br />Sitting in on developer meetings is one good way to gain some understanding about how the code is built. When there is disagreement about how something should be designed or coded, that means that the features being discussed will likely be target rich environments once they are ready for test. The more heated the argument about a feature, the more you should plan to test it. As an added bonus - after an hour in a developer meeting, you'll be even more glad that you are not a developer.<br /><br />Unit test tools can also provide you some insight. If your developers are running these tools themselves, ask if you can take a look at the reports and logs. If they are not running any unit tests (which is another issue), look into running these tools yourself. Even if you don't totally understand the results, it is a pretty safe bet that areas with a higher density of findings will be more likely to have bugs, and therefore, more worthy of your testing time.<br /><br />One other important thing you should know about the application you're testing is which developers were responsible for which parts. Like with any profession, there are good developers and not-so-good developers. By knowing what the weaker developers coded, you know where to focus your test energy. Likewise, you don't have to spend as much time testing stuff written by the more competent programmers.<br /><br />By taking a little peek under the hood and getting and understanding of how the app is written, you can better exploit weak areas and find more bugs.<br /><br /><em><span style="font-size:85%;">Previous Posts:</span></em><br /><em><span style="font-size:85%;"><a href="http://www.bluescreenjoy.com/2007/10/be-protractive.html">1 - Be Protractive</a><br /><a href="http://www.bluescreenjoy.com/2007/10/begin-with-vend-in-mind.html">2 - Begin With the Vend in Mind</a></span></em><br /><a href="http://www.bluescreenjoy.com/2007/11/put-worst-things-first.html"><em><span style="font-size:85%;">3 - Put Worst Things First</a></span></em><br /><a href="http://www.bluescreenjoy.com/2007/11/think-whenwhen.html">4 - Think When/When</a><br /><br /><br /><em><span style="font-size:85%;">Next Up:</span></em><br /><em><span style="font-size:85%;">6- Sinner Guise</span></em><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-3601503318015660030?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-59387015355850035422007-11-13T18:56:00.000-05:002007-11-13T19:26:15.943-05:00Think When/When<span style="font-size:130%;">The Seven Habits of Highly Effective Testers<br />Part 4 of 7</span><br /><br /><em><span style="font-size:85%;">This is the fourth post in a series which is based ever-so loosely on </span></em><a href="http://www.amazon.com/Habits-Highly-Effective-People/dp/0743269519/ref=nosim/?tag=figmenterpris"><em><span style="font-size:85%;">Stephen R. Covey's book</span></em></a><em><span style="font-size:85%;"> but focused on what you can do to be more effective as a software tester.</span></em><br /><em><span style="font-size:85%;"></span></em><br /><br />This post is about defect triage. I first learned abut triage from watching <a href="http://www.amazon.com/M-Martinis-Medicine-Complete-Collection/dp/B000HT3P5Q/">M*A*S*H</a>. When the choppers and ambulances would bring in the wounded, the doctors and nurses would assess the men and decide who needed to get surgical attention first. These decisions would be based on the severity of the wounds as well as what part of the body the was injured. So a massive leg wound might not get precedence over a moderate heart wound.<br /><br />When deciding when defects should be fixed it should work the same way, but it often does not. That is because of the confusion between severity and priority. Generally severity is measured on a scale from Sev1 - Crash the system to SevX - No harm to foul.<br /><br />The problem comes when severity is the only factor that is considered. In such a situation, a bug that crashes the system but only occurs through a very unlikely usage scenario will get fixed before a more moderate problem that happens in a common user flow. Also, important bugs that are not especially severe will be deferred.<br /><br />This is just wrong. <br /><br />A better way that more advanced teams use is to assign a priority to each defects. To determine this priority, many factors should be considered. First and foremost, is severity, which can be assessed by the person reporting the defect. Also to be included is the likeliness of the defect being encountered by users. This can be determined by the support team with perhaps some input from the marketing folks. Another factor is the current workload of the specific development resources needed to fix the problem. This system therefore requires stakeholders from across the project to be most effective.<br /><br />When these other factors besides just severity are considered, you will come up with a much better answer to the question of "When should this defect be fixed?"<br /><br /><br /><em><span style="font-size:85%;">Previous Posts:</span></em><br /><em><span style="font-size:85%;"><a href="http://www.bluescreenjoy.com/2007/10/be-protractive.html">1 - Be Protractive</a><br /><a href="http://www.bluescreenjoy.com/2007/10/begin-with-vend-in-mind.html">2 - Begin With the Vend in Mind</a></span></em><br /><a href="http://www.bluescreenjoy.com/2007/11/put-worst-things-first.html"><em><span style="font-size:85%;">3 - Put Worst Things First</span></em> </a><br /><br /><em><span style="font-size:85%;">Next Up:</span></em><br /><em><span style="font-size:85%;">5- Seek First to Understand, Then to Exploit</span></em><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-5938701535585003542?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-5288109708333564122007-11-12T18:05:00.000-05:002007-11-12T18:27:39.345-05:00Put Worst Things First<span style="font-size:130%;">The Seven Habits of Highly Effective Testers<br />Part 3 of 7</span><br /><br /><em><span style="font-size:85%;">This is the third post in a series which is based ever-so loosely on </span></em><a href="http://www.amazon.com/Habits-Highly-Effective-People/dp/0743269519/ref=nosim/?tag=figmenterpris"><em><span style="font-size:85%;">Stephen R. Covey's book</span></em></a><em><span style="font-size:85%;"> but focused on what you can do to be more effective as a software tester.</span></em><br /><em><span style="font-size:85%;"></span></em><br />Lets face it, you usually don't have enough time to test everything that needs testing as thoroughly as it should be tested. That means that you will need to prioritize your testing to be effective. But what is the best way to do this?<br /><br />A simple way to approach test prioritization is to use the one fifth method - where the test team consumes a fifth of whisky before test planning. Just kidding (as far as you know). The one fifth method involves asking yourself what you would do if the software needed to ship in one fifth the time you really have. For example, if you are supposed to have five weeks to test, what would you test if you only had one week? If you are supposed to have a week, what would you test if you only had a day?<br /><br />Approaching the problem of prioritization in this manner will quickly lead you to the target-rich areas where you are likely to quickly find many bugs. By testing these first, you give the developers something to keep them busy, and also help ensure you'll have time to retest fixes.<br /><br /><em><span style="font-size:85%;">Previous Posts:</span></em><br /><em><span style="font-size:85%;"><a href="http://www.bluescreenjoy.com/2007/10/be-protractive.html">1 - Be Protractive</a><br /><a href="http://www.bluescreenjoy.com/2007/10/begin-with-vend-in-mind.html">2 - Begin With the Vend in Mind</a></span></em><br /><br /><em><span style="font-size:85%;">Next Up:</span></em><br /><em><span style="font-size:85%;">4- Think When/When</span></em><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-528810970833356412?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-68873489056012475302007-10-08T22:53:00.000-04:002007-10-08T23:19:05.945-04:00Begin With the Vend in Mind<span style="font-size:130%;">The Seven Habits of Highly Effective Testers<br />Part 2 of 7</span><br /><br /><em><span style="font-size:85%;">This is the second post in a series based loosely on </span></em><a href="http://www.amazon.com/Habits-Highly-Effective-People/dp/0743269519/ref=nosim/?tag=figmenterpris"><em><span style="font-size:85%;">Stephen R. Covey's book</span></em></a><em><span style="font-size:85%;"> but focused on what you can do to be more effective as a software tester.</span></em><br /><em><span style="font-size:85%;"></span></em><br /><span style="font-size:85%;">A long time ago in another life I was listening to an audio tape of motivational marketing guru Zig Zeigler. In this tape, Zig said "Nothing happens until somebody sells something." Though I don't totally agree with Zig on this, he does have a point. He also has a really cool name, but I digress.</span><br /><span style="font-size:85%;"></span><br /><span style="font-size:85%;">If you are going to get paid to test software, somewhere along the line, someone has to pony up some money. Traditionally, this has been the customer. For the customer to make the decision that your software is worth their money, there are at least two things that she needs to believe:</span><br /><span style="font-size:85%;"></span><br /><span style="font-size:85%;">1) The software should work</span><br /><span style="font-size:85%;">2) The software should solve some problem for her or fulfil some need</span><br /><span style="font-size:85%;"></span><br /><span style="font-size:85%;">As testers, we tend to focus on #1. We get specs (when we're lucky) then we design and execute tests to determine if the software does what the specs say it should. The origins of these specs will be different for different companies, but usually they are written by some combination of marketing, sales, and development. But w</span><span style="font-size:85%;">hos to say if the specs are right and if the resulting software will be what the customer really needs?</span><br /><span style="font-size:85%;"></span><br /><span style="font-size:85%;">You are.</span><br /><span style="font-size:85%;"></span><br /><span style="font-size:85%;">Before your first test case is even a twinkle in your eye, you should be reviewing the specs, and making some noise if you don't think they are right. Sales and marketing might know the customer best, and development might know the inner workings of the code the best, but it is the test team that is the expert at the intersection of the two. Testers know how to use the software better than anyone, so we have insights into the the design, the features, and the UI that are crucial.</span><br /><span style="font-size:85%;"></span><br /><span style="font-size:85%;">Your company can produce solid software with nary a bug, but if it is not what the customer needs, it will not be sold, and as Zig reminds us, that is when everything starts to fall apart. This is a BAD THING that you can help prevent with carefully and critically reviewing any and all specs, and always asking yourself "Is this something the customer will want to buy?"</span><br /><span style="font-size:85%;"></span><br /><em><span style="font-size:85%;">Previous Posts:</span></em><br /><em><span style="font-size:85%;"><a href="http://www.bluescreenjoy.com/2007/10/be-protractive.html">1 - Be protractive</a></span></em><br /><em><span style="font-size:85%;"></span></em><br /><em><span style="font-size:85%;">Next Up:</span></em><br /><em><span style="font-size:85%;">3- Put Worst Things First</span></em><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-6887348905601247530?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-67544018085023703492007-10-03T16:50:00.000-04:002007-10-08T23:20:21.269-04:00Be Protractive<span style="font-size:130%;">The Seven Habits of Highly Effective Testers<br />Part 1 of 7</span><br /><br /><em><span style="font-size:85%;">This is the first post in a series based on </span></em><a href="http://www.amazon.com/Habits-Highly-Effective-People/dp/0743269519/ref=nosim/?tag=figmenterpris"><em><span style="font-size:85%;">Stephen R. Covey's book</span></em></a><em><span style="font-size:85%;"> but focused on what you can do to be more effective as a software tester.</span></em><br /><br />One of the interesting challenges of software testing is caused by the fact that testing usually happens at the very end of the release cycle. This is a problem when all the milestones before testing are pushed back while the milestones after testing are unchanged. For example, the test-handoff is three weeks late but the GA date remains the same. That's called the squeeze, and it means that testers rarely have enough time to test as thoroughly as we should.<br /><br />What can be done? You could try to push on the developers so that the software is delivered to test on the scheduled date. You could also try push on the executive's for a large corner office and a company Ferrari, with about as much luck. For many reasons, legitimate and otherwise, development is going to take longer than planned - so learn to live with it.<br /><br />The other option is to be to be protractive and push back the GA dates as necessary to give your test team the time it needs. This will not make you popular because nobody likes to miss the GA date. If you want to be popular, I'll suggest to you that Software Test might not be best profession to pursue. Instead, you need to be firm. As bad as it is to be late, it is much worse to be on-time and buggy<br /><br />One company I worked for had a policy that there would be a day-to-day slip of the GA date for every day the software was late into test. This policy showed a commitment to quality and a strong belief in the importance of test. That is not to say that as testers we can't or shouldn't work extra hard to make up some of the slip. If we can dothat, everyone wins because the software is less late, less buggy, and the testers are the heroes.<br /><br />So, be efficient but thorough and make sure you take the time you need to test the software as much as you know it needs to be tested.<br /><br />Next Up - <a href="http://www.bluescreenjoy.com/2007/10/begin-with-vend-in-mind.html">Habit 2: Begin With the Vend in Mind </a><br /><br />That is not to say tha<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-6754401808502370349?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-90965155808168649592007-09-27T13:43:00.000-04:002007-09-27T14:21:51.042-04:00Celebrity Bug Watch<div float="right" align="right"> <a href="http://bp3.blogger.com/_I0yrtowdWH0/Rvv0KfkR9LI/AAAAAAAAABM/GZwMwKd0lCY/s1600-h/clippy.jpg"><img id="BLOGGER_PHOTO_ID_5114950262918870194" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_I0yrtowdWH0/Rvv0KfkR9LI/AAAAAAAAABM/GZwMwKd0lCY/s400/clippy.jpg" border="0" /></a></div><br /><div>If you are a bug and you manage to escape the erstwhile testers, it must be a dream come true to become famous. What usually happens is that these bugs with dreams of becoming celebrities wind up becoming waiters or waitresses, or at best part-time models, while waiting for their "big break" that never comes. Every once in a while however, a bug gets the attention of the critics and the press and become famous.</div><br /><div></div><br /><div>That is happening now with the Excel 100000 Bug, or E100k as it is called among friends. This bug's talent is that if you multiply 77.1*850, Excel will display 100,000 instead of 65,535 as it should. I don't know about you, but it happens to me all the time. Joel Spolsky offers an explanation of <a href="http://www.joelonsoftware.com/items/2007/09/26b.html">why this bug occurs</a>, in case you care.</div><br /><div></div><br /><div>I'm glad I am not the tester that let this bug get by. Given the press that this thing is getting, I'm sure the Microsoft execs are getting all in a dither, and are in turn getting the upper management stirred up, who are taking it out on middle management, who must be going after the 1st line manager of the Excel Multiplication QA Team. That means this manager will ask this poor tester "Why did you not find this bug?" </div><br /><div></div><br /><div>I hate that question because there is no good answer to it. There are lots of good reasons why bugs get missed, but when you have upper-management involved, every valid reason sounds like an excuse. What can this tester say ?</div><br /><ul><br /><li>"I tested 77*850 and 77.2*850, and since they both worked, I thought it was good to go." </li><br /><li>"I didn't know there would be any math involved"</li><br /><li>"You mean 77.1*850 is not 100,000?"</li><br /><li>"I assumed no one would want to calculate that product"</li><br /><li>"Clippy told me it was OK"</li></ul><br /><p>So whatever the reasons for this bug getting out, and the consequences, let me just say Congratulations to E100K on making the big time.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-9096515580816864959?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-41676291126117414382007-09-21T08:14:00.000-04:002007-09-21T08:37:43.640-04:00Testing Outside The Black BoxMuch of what we focus on as quality engineers is determining the quality of a given application. Software testers test software, but software is not all that software companies produce. Companies also produce web sites, demo applications, marketing material, and more. Who is responsible for the quality of this stuff?<br /><br />Hopefully the teams that create these things have systems in place to ensure their quality. Realistically, you might as we that all bugs will fix themselves, the company stock will triple every year, and there will be pizza and chocolate cake every day. It could happen, but don't count on it.<br /><br />As an example, my company just launched a<a href="http://adaptiveblue.typepad.com/"> book widget gallery</a>. The purpose of this blog is to showcase our SmartLink widgets for books by a set of authors. The hope is that these authors and their fans will see these widgets, love them, and put them on their own sites. It uses our technology, but it is not one of our products. It would be an easy thing for test team (aka me) to say, "Well, that is a marketing thing, so we don't need to worry about it." The problem is, it is the testers that have the mad bug finding skills, so who better to do testing, even of stuff that is outside our "responsibilities". As such, I went ahead and did some testing on the gallery, and continue to keep my eyes on it.<br /><br />So, ask yourself, where else in your company can things go wrong? For everywhere you identify, then ask yourself what you can do about it. This may mean venturing into areas that testers have never been, but any wise person in your company will appreciate your insights into how to make things better. Think of yourself as a missionary of quality.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-4167629112611741438?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-83074662392759738212007-09-18T10:39:00.000-04:002007-09-20T10:57:24.141-04:00When Quality Goes...My current all-time favorite hobby is photography. Being a Web 2.0 guy, a large portion of the time I spend on this hobby and the enjoyment I get from it comes from sharing my pictures online as part of a community. For the past year or so, my photo sharing service of choice has been <a href="http://www.zooomr.com">Zooomr</a>. Last spring, Zooomr released Mark III, and said it would change the world. It was a very bumpy launch, the site was down for many days, and even now, many of the features we had in Mark II have yet to resurface.<br /><br />Yet, I still stay with Zooomr, and so do many others. For every person however, there is a line past which they can't take it anymore, and will leave. Raoul Pop, a great photographer, longtime Zooomr advocate, and one of my "friends" on Zooomr has had nearly enough of the missing features and serious bugs that get promises instead of fixes, and that is why he is <a href="http://www.comeacross.info/2007/09/18/taking-a-break-from-zooomr/">taking a break from Zooomr</a>. If you read the comments of his post, you'll see that many other users are like minded, and unless something changes, Zooomr could be in trouble.<br /><br />This blog is about finding bugs, but as Zooomr shows us, just knowing about the bugs is not enough. As testers, we can't just find a nice stack of bugs, then put our feet up on the desk, smoke a big cigar, and congratulate ourselves on a job well done. Instead, we have to make sure that these bugs get fixed. <br /><br />What if there are no dedicated testers? In the case of Zooomr, the job of testing mostly falls to the user, since they have no QA staff, as far as I know. When quality is important, the tester serves as the first customer. When the customer serves as the first tester, there is a problem. A loyal user might tolerate bugs and missing features, report them, and even fight for the fixes. But most users aren't that loyal, and will instead just leave quitely. <br /><br />When quality goes, so go the users. When the users go, so goes the company.<br /><br />The point here is not to single out Zooomr as a company in trouble. Unlike Raoul, I'm not ready to take a break from Zooomr. At least not yet. Intead, this post should be read as a reminder, not just for Zooomr, but for all software companies, that the cost of not fixing bugs is usually much higher than the cost of fixing them.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-8307466239275973821?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com2tag:blogger.com,1999:blog-754384651423082329.post-37879567355691593552007-08-23T10:36:00.000-04:002007-10-03T22:21:47.595-04:00Cache Test Dummy<div float="left"><img style="MARGIN: 10px" height="300" alt="" src="http://www.sti.nasa.gov/tto/spinoff2002/images/065.jpg" align="left" border="0" /></div> Money may be the root of all evil, but it is cache that causes the biggest headaches when you are testing an app with any web based components.<br /><p>Life in the fast lane of web development usually includes rapid cycles of development, deployment, and test. Cache is the monkey-wrench to this fine tuned machine because of the mysterious way that the browser locally stores files that would otherwise be served fresh off the server</p><br /><p>I don't know how many times I've found a really good bug and excitedly reported it to the erstwhile developer only to have them say "Hmm, that's odd. Doesn't happen for me. Try clearing your cache." More often than not, this makes the bug go away, and makes me want to shoot myself.</p><br /><p>The real problem is, testers are not the only ones that have cache. Users do too. And users don't tend to feel the joy of bugs likes testers do. What can be done? For one, you can ask your users to clear their cache. We just did that on <a href="http://blog.adaptiveblue.com/wp-trackback.php?p=550">our blog </a>to help ensure our users and ourselves that our product is not to blame for issues some people are seeing in Firefox. </p><br /><p>That is not the most elegant of solutions. It is better to find and fix these issues before a user ever sees them. So, when you find a bug that is caused by something being cached or not cached as expected, clearing your cache to make the bug go away is not enough. You need to go the next step of figuring out in what scenarios caching is causing trouble, then working with development to make them understand the situation, and improving the code to deal with it. </p><br /><p>Because of the nebulous nature of how browsers handle cache, tackling these problems can be like driving into a wall at 65 MPH, but such is our role as testers. Better us than the users.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-3787956735569159355?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-19560239619847581992007-08-10T09:50:00.000-04:002007-08-10T10:22:51.980-04:00The Seen and UnseenI found the kind of bug this morning that I really enjoy. Well, it would be more accurate to say I missed the kind of bug I really enjoy, but found it eventually.<br /><br />Yesterday we updated some of the images in our product. These images reside on our server, and are dynamically loaded when a user opens the options page in their browser. When the new images were put on the server, I made sure they were right in both the released version (since those users will see them too) and in the upcoming version that I am currently testing. Good job testing by me, right?<br /><br />Wrong.<br /><br />Where I did not test them was on a Mac. This was a simple change and I did not think it was necessary, especially given all the other stuff that I was testing so we could finish this release on time. My mistake. I got a midnight e-mail from my boss that there was a small white space on the bottom of two of the buttons on the Mac:<br /><br /><br /><p><img id="BLOGGER_PHOTO_ID_5097071303454585314" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp1.blogger.com/_I0yrtowdWH0/RrxvWFU_ceI/AAAAAAAAAA0/Wkp4-ptHRJA/s400/Picture+7.png" border="0" /><br />OK, not a huge deal, but something we wanted to fix right away since all our current users (who use Macs) could see this. This is where the story gets good. New graphics were created and uploaded to the server this morning. Both my boss and I checked them on Windows and Mac, and the white space was definitely gone. I gave a big thumbs-up to the change. Good job testing by me, right?</p><p>Wrong.<br /><br />About ten minutes later, in the course of testing something else, I realized that in fixing the whitespace problem, somehow the names of the images got switched for the first two buttons. In other words, the first button looked like the second button should, and vice versa, and so neither one did what it said it would. This was a much worse problem, and not just because it effected Windows users too.<br /><br />What are the lesson to learn from this? I'll save the testing on Mac vs PC lessons for another post (or ten). I'm also going to save the lesson about how fixing minor bugs often creates major bugs. Today's lesson is about how a software test professional such as myself (not to mention my boss) could miss the blatant fact that the buttons were totally wrong when we were looking right at them. It was because of selective attention - we were focused on whether or not there was a little white space under the buttons. In software testing, focus is a fickle mistress. You can just as easily have too much as you can not enough. That is why I like exploratory testing. By not looking for just one specific thing, you tend to see a lot more. But that is also the topic for another post.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-1956023961984758199?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-3032398100279563882007-07-26T22:59:00.000-04:002007-07-27T08:51:58.035-04:00God Speed, NASA TestersIn everyday life, computers fail all the time in all kinds of wonderful and exciting ways. Thank goodness for this, because it keeps us testers employed. Like I always say, within these failures lies joy, at least to the destructive mind of the test professional.<br /><br />That is, unless you work somewhere like NASA. When lives are on the line, I'd think that testers would feel relief at finding some nasty bugs, along with some fear about "What if we had missed this one?" or worse, "What if there is something else we missed?" That is why I have such respect for NASA testers.<br /><br />That is also why I have to scoff at the person who <a href="http://www.engadget.com/2007/07/26/nasa-employee-caught-in-act-of-sabotage-on-iss-bound-computer/">sabotaged a computer </a>that was about to travel on the space shuttle Endeavor to be installed in the space station. He did this by cutting a bunch of wires. What was this guy thinking? Did he really think this not-so subtle "bug" would get past the testers of NASA? We've all missed a bug or two in our days, but I mean, how poor a tester would you have to be to let this one get by you?<br /><br />The only way this could happen would be if the testers went out drinking with the astronauts before running their tests. Two things about that. For one, if I was strapped into a space craft attached to giant tanks of highly explosive rocket fuel, all built by the lowest bidder, I might want to have a drink or three as well. Second, sometimes I find that having a drink before testing actually helps (six-pack test factor).<br /><br />So, lets not worry too much about the astronauts knocking down a few the night before the launch. And lets really not worry at all about disgruntled contractors sabotaging the space shuttle, because we can be confident that the testers of NASA will find out. What NASA should really worry about is that their contractors are hiring people so stupid that this was the best idea they could come up with for sabotage.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-303239810027956388?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-11817467959380731172007-07-23T22:37:00.000-04:002007-07-23T23:06:10.724-04:00What's Behind Your Product?There is a lesson in photography that teaches you when composing a shot, to not just pay attention to your subject, but also check the rest of the frame to make sure there is nothing lurking in the background that should not be. This will help you keep trees from growing out of people's heads, and other distractions that would make your photography less compelling.<br /><br />One of the main products that I currently work on is BlueOrganizer, which is a <a href="https://addons.mozilla.org/en-US/firefox/addon/3481">Firefox add-on </a>for smart browsing. Given that we run in Firefox, we are very much dependent on having a solid Firefox behind us as a platform. Last week Firefox had a minor update, 2.0.0.5. Well, it was minor for them, but it totally broke some important functionality in our product. Luckily we happened to realize this quickly, and were able to get a <strike>hack</strike> patch out to work-around the problem.<br /><br />This reminded me of that photography lesson. It does not matter if your product runs in a browser, native to an OS, or on a device. As testers we tend to focus on testing our product, and ignore the foundation it runs on. We focus on our own stuff and don't think about the potential problems behind it, often until it is too late.<br /><br />For us it was lucky we found the problem on the same day Firefox started to roll-out their update. It would have been better had we found it the day or even the week before. This would have saved our users some frustration and saved us from yet another fire-drill. What I should have done, and will now do in the future is to keep track of what the folks at Mozilla are up to, and work out some way to try their new releases <em>before</em> they are released.<br /><br />What does your product rely on, and how can you keep it on the radar?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-1181746795938073117?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-31450172677249463652007-07-17T09:48:00.000-04:002007-10-01T14:44:42.008-04:00Harry Potter - Software Tester<p><a href="http://msnbcmedia1.msn.com/j/msnbc/Sections/Newsweek/Components/Photos/Mag/061030_Issue/061021_HarryPotter_Vl.widec.jpg"><img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 160px; CURSOR: hand" alt="Harry Potter" align="left" src="http://msnbcmedia1.msn.com/j/msnbc/Sections/Newsweek/Components/Photos/Mag/061030_Issue/061021_HarryPotter_Vl.widec.jpg" border="0" /></a><br /></p>With the release of <a href="http://www.amazon.com/dp/0545010225/ref=nosim/?tag=figmenterpris" >Harry Potter and the Deathly Hallows</a>, the seventh and final book in the series, still a few days off, we still don't know what will become of Harry. Will he defeat Voldemort? Will he live or die? Will he graduate from Hogwarts and become a software tester? <p></p><br /><p>OK, so maybe we can make a good guess about that last question and say that Harry Potter will probably not become a software tester. But what if he did? How would his life experiences prepare him for this noble profession.</p><br /><p><strong>Dealing With Bullies</strong> - During all the time he lived with the Dursleys, Harry had a lot of experience with being bullied. He eventually learned to stand up for himself. This is a key trait of an effective software tester. When the deadline looms and the pressure mounts, a software tester needs to stand up to anyone who tries to ship before the software is ready.</p><br /><p><strong>Exploration</strong> - Whether it is sneaking through secret passages to Hogsmeade, or playing with mysterious devices in Dumbledor's office, Harry has always been one to let his curiosity lead him to try new things. If he used this part of his nature to do exploratory testing, he would likely find a good deal of bugs that lie off the beaten path.</p><br /><p><strong>Training</strong> - Sure, Harry has lots of magical training, but I don't recall him ever taking a class on quality engineering, test automation, or dealing with developers (the last one might have been covered in Defense Against the Dark Arts). So from a training stand-point, Harry might not be the best software tester. But, didn't most of us come into testing with little or no formal training or education? If you have the knack, it is possible to learn this job on the job, so Harry might be OK. Of course, he might be able to use some spell that could give him an advantage over Muggle testers. One well placed "Repairo!" could fix any piece of shoddy software.</p><br /><p><strong>Hedwig</strong> - Harry has shown that he is a good communicator, which is crucial for a software tester since we deal in information. He might need to adjust his ways a bit and use e-mail or IM instead of his owl, but we have every reason to believe he will get the message through.</p><br /><p>So, assuming Harry lives and decides to become a software tester, I'd say he has a good chance at being quite successful.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-3145017267724946365?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-61316158554428618922007-07-16T15:34:00.000-04:002007-08-10T10:24:57.859-04:00Don't Let The Bad Bugs BiteSoftware testers are in the unique position of <em>enjoying</em> bugs, and are actively hoping to find them. That is why this blog is called <strong>Blue Screen Joy</strong> - to celebrate the rush you get when you find that truly nasty bug. I'm talking about those wonderful Severity 1, crash your system, lose your data, smoke coming out of the box kind of bugs.<br /><br />Those are good bugs. I love those bugs . At least I do when I find them in something I am testing. Not so much when they happen to me outside of work.<br /><br />For example, last week, when I smelled that smell that electronics make when they are burning, it did not make me excited. Unsuccessful at finding the source, I wrote the smell off as a fluke. I'll tend to do the same thing when I am testing and see a really good bug that I can't reproduce. That is what I consider a bad bug. I don't love those.<br /><br />Just like with software testing, writing off non-reproducible bugs as flukes can come back to bite you. Last night, the upstairs of my house was a tropic 87 degrees Fahrenheit, despite the fact that the air-conditioner was running. The downstairs was only slightly cooler. I'm no Bob Vila, but after some investigation I discovered:<br /><br />- The furnace filter was long past due for being changed<br />- A good portion of the air-conditioning system was frozen<br /><br />Not only had I thought I had found the bug, but I also thought I had an easy (and free) solution. All I needed to do was change the filter and let the air conditioner thaw, and everything would be fine, right? Wrong. Remember that burning smell that I could not track down? The friendly neighborhood ARS man found out that the source of this smell was some high voltage wiring that led to a capacitor in the blower assembly, which is what makes air conditioning possible.<br /><br /><br /><img id="BLOGGER_PHOTO_ID_5087886271512342770" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_I0yrtowdWH0/RpvNm28UcPI/AAAAAAAAAAk/Esat4ixKtDs/s320/bluescreenjoy.jpg" border="0" /><br />With the wires charred and the capacitor destroyed not only would my house get really hot, but I would also be unable to travel through time. Good news is that for a sum of money that made me question my career choice, the ARS man was able to fix everything and make me cool again.<br /><br />The lesson here is that whether it is a bad bug you can't reproduce or a nasty smell you can't track down, you need to be careful when you write something off as a fluke. Instead, look at other seemingly unrelated problems you are seeing and try to imagine any possible connection. Failing that, come up with a Plan B. Cold beer works nicely in both situations.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-6131615855442861892?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-72406390615859928582007-07-13T13:08:00.000-04:002007-07-13T13:43:20.433-04:00QA vs. QEDepending on where you go, software testers might be involved in Quality Assurance (QA) or Quality Engineering (QE). Each of these terms have been defined countless times, often in contradictory ways. They also tend to be used interchangeably to mean the same things.<br /><br />But are they the same? If we look at the words that make up the terms, they would seem to indicate two different activities.<br /><br />Quality Assurance to me implies the job of <strong>assuring</strong> that the software has some level of <strong>quality</strong>. This works great when the software is good - you can just say, "Yup, the software is good. I assure you." But what about when the software is not so good. How can you assure quality when there is none? What do you say then? <br /> "This software stinks"?<br /> "This software is buggier than a stagnant pond in July"? <br /><br />True as these statements may be, it is not assuring anyone that it is quality software, which is what the term Quality Assurance is all about. That is why I don't like the term. To steal from the overused truism of why you should not assume, you should not assure, because it makes an ass out of you and R.E.<br /><br /><strong>Quality Engineering</strong> on the other had seems to be more about a process for improving quality. Engineering is about designing and building things, so Quality Engineering should be about designing and building quality. The input could be of any level of quality, but after it goes through the QE process it should be of higher quality than when it came in. That means that in QE you not only find bugs in the product, but also in the process.<br /><br />That all sounds great, especially if you are giving an talk at a software testing conference, but what does it really mean to people in the trenches. Whatever QE process your company uses, it could probably be improved. Unfortunately, we're usually too busy finding bugs, writing defect reports, and verifying fixes to have much time left for improving the process. You could move the world if you had a place to stand, right? But, how do you get to that place? My answer to that question is the same as my answer to "How do you eat an elephant?" One bite at a time. Every thing you can do to improve the process, no matter how small, should mean less bugs finding their way into test, which means more time for the Quality Engineer to make more improvements to the process.<br /><br />In the end, I don't think it really pays to get all worked up about if you are doing QA, QE, or Testing. These are all just words. What matters is that you know what you are trying to accomplish and how to get there. Let people who spend more time with PowerPoint slides than bugs worry about the terminology.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-7240639061585992858?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0tag:blogger.com,1999:blog-754384651423082329.post-67366280226273588682007-07-11T10:00:00.000-04:002007-07-11T10:42:28.905-04:00Blue Screen Joy is On<img id="BLOGGER_PHOTO_ID_5085941513512100994" style="FLOAT: left; MARGIN: 10px; CURSOR: hand" alt="power button" src="http://bp3.blogger.com/_I0yrtowdWH0/RpTk3C1NJII/AAAAAAAAAAc/vMujagMLy8I/s400/on.jpg" width="100" align="left" border="0" /><br />The first step to making something better is to point out what is wrong with it.<br /><p></p>With that in mind, I welcome you to Blue Screen Joy - a blog about software testing, quality engineering, the pursuit of bugs, and the ongoing quest for the holy grail - the Blue Screen of Death.<br /><p></p>In this blog I will be sharing what I've learned about software testing during the last 10+ years as a professional software quality engineer. During that time I've done all kinds of testing in companies ranging from 100,000+ employees, to start-ups that were at times as small as 2 people. Speaking of people, I've also been known to test the patience of some folks along the way, especially developers. It is all for the cause, though.<br /><p></p>I'll also be offering reviews and rants about software and tech products for which I am just a user. Nothing drives me as crazy as when I pay money for something and it does not work well - <span class="blsp-spelling-corrected" id="SPELLING_ERROR_1">especially</span> when the flaws could have and should have easily been discovered during test.<br /><br />So, I hope you enjoy the blog and find it useful. Now, lets go kick the tires and light the fires!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/754384651423082329-6736628022627358868?l=www.bluescreenjoy.com'/></div>Andy Rothhttp://www.blogger.com/profile/08053679279006033206noreply@blogger.com0