<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-8951904624959546499</atom:id><lastBuildDate>Tue, 21 May 2013 21:00:00 +0000</lastBuildDate><category>Lightning Talks</category><category>test blogs</category><category>Silliness</category><category>Teamwork</category><category>process</category><category>bugs</category><category>Podcast</category><category>STARwest</category><category>Rapid Software Testing</category><category>Testing Conferences</category><category>Data Warehouse Testing</category><category>STPCon</category><category>software testing career</category><category>language</category><category>Performance Testing</category><category>Presentations</category><category>Stareast</category><category>Test This</category><category>testing metaphor</category><category>Managing Testing</category><category>Test Cases</category><category>heuristics</category><category>Bug Report Attributes</category><category>CAST</category><category>metrics</category><category>Kanban</category><category>Tools</category><category>Don't Test It</category><category>Personal Excellence</category><category>automation</category><category>writing tests</category><category>Testing Related Ideas</category><category>questions</category><title>Test This Blog - Eric Jacobson's Software Testing Blog</title><description>Refinements on the art of software testing</description><link>http://www.testthisblog.com/</link><managingEditor>noreply@blogger.com (Eric Jacobson)</managingEditor><generator>Blogger</generator><openSearch:totalResults>231</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/EricJacobsonSoftwareTestingBlog" /><feedburner:info uri="ericjacobsonsoftwaretestingblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>EricJacobsonSoftwareTestingBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-912338205005318191</guid><pubDate>Tue, 21 May 2013 17:08:00 +0000</pubDate><atom:updated>2013-05-21T13:08:33.792-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bugs</category><category domain="http://www.blogger.com/atom/ns#">Personal Excellence</category><title>Should You Still Report Bugs If Nobody Listens?</title><description>&lt;p&gt;Well…yes.&amp;nbsp; I would.&lt;/p&gt; &lt;p&gt;The most prolific bug finder on my team is struggling with this question.&amp;nbsp; The less the team decides to fix her bugs, the less interested she grows in reporting them.&amp;nbsp; Can you relate?&lt;/p&gt; &lt;p&gt;There is little satisfaction reporting bugs that nobody wants to hear about or fix.&amp;nbsp; In fact, it can be quite frustrating.&amp;nbsp; Nevertheless, when our stakeholders choose not to fix certain classes of bugs, they are sending us a message about what is important to them right now.&amp;nbsp; And as my friend and mentor, &lt;a href="http://www.developsense.com/blog/"&gt;Michael Bolton&lt;/a&gt; likes to say:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;If they decide not to fix my bug, it means one of two things:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Either I’m not explaining the bug well enough for them to understand its impact,&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;or it’s not important enough for them to fix.&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;So as long as you’re practicing good bug advocacy, it must be the second bullet above.&amp;nbsp; And IMO, the customer is always right.&lt;/p&gt; &lt;p&gt;Nevertheless, we are testers.&amp;nbsp; It is our job to report bugs despite adversity.&amp;nbsp; If we report 10 for every 1 that gets fixed, so be it.&amp;nbsp; We should not take this personally.&amp;nbsp; However, we may want to:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Adjust our testing as we learn more about what our stakeholders really care about.&lt;/li&gt; &lt;li&gt;Determine a non-traditional method of informing our team/stakeholders our bugs.&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Individual bug reports are expense because they slowly suck everyone’s time as they flow through or sit in the bug repository.&amp;nbsp; We wouldn’t want to knowingly start filling our bug report repository with bugs that won’t be fixed.&lt;/li&gt; &lt;li&gt;One approach would be a verbal debrief with the team/stakeholders after testing sessions.&amp;nbsp; Your testing notes should have enough information to explain the bugs.&lt;/li&gt; &lt;li&gt;Another approach could be a “supper bug report”; one bug report that lists several bugs.&amp;nbsp; Any deemed important can get fixed or spun off into separate bug reports if you like.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/RotzqId4D50" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/RotzqId4D50/should-you-still-report-bugs-if-nobody.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>1</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/05/should-you-still-report-bugs-if-nobody.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-7797218210383688095</guid><pubDate>Fri, 17 May 2013 13:09:00 +0000</pubDate><atom:updated>2013-05-17T09:09:52.091-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Managing Testing</category><category domain="http://www.blogger.com/atom/ns#">Teamwork</category><category domain="http://www.blogger.com/atom/ns#">Testing Conferences</category><title>Don’t Find Bugs, Prevent Bugs</title><description>&lt;p&gt;It’s a cliché, I know.&amp;nbsp; But it really gave me pause when I heard Jeff “Cheezy” Morgan say it during his excellent STAReast track session, “Android Mobile Testing: Right Before Your Eyes”.&amp;nbsp; He said something like, “instead of looking for bugs, why not focus on preventing them?”.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;Cheezy demonstrated Acceptance Test Driven Development (ATDD) by giving a live demo, writing Ruby tests via Cucumber, for product code that didn’t exist.&amp;nbsp; The tests failed until David Shah, Cheezy’s programmer, wrote the product code to make them pass.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;em&gt;(Actually, the tests never passed, which they later blamed on incompatible Ruby versions…ouch.&amp;nbsp; But I’ll give these two guys the benefit of the doubt. ) &lt;/em&gt;&lt;/p&gt; &lt;p&gt;Now back to my blog post title.&amp;nbsp; I find this mindshift appealing for several reasons, some of which Cheezy pointed out and some of which he did not:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Per Cheezy’s rough estimate 8/10 bugs involve the UI.&amp;nbsp; There is tremendous benefit to the programmer knowing about these UI bugs while the programmer is writing the UI initially.&amp;nbsp; Thus, why not have our testers begin performing exploratory testing before the Story is code complete?&lt;/li&gt; &lt;li&gt;Programmers are often incentivized to get something code completed so the testers can have it (and so the programmers can work on the next thing).&amp;nbsp; What if we could convince programmers it’s not code complete until it’s tested?&lt;/li&gt; &lt;li&gt;Maybe the best time to review a Story is when the team is actually about to start working on it; not at the beginning of a Sprint.&amp;nbsp; And what do we mean when we say the team is actually about to start working on it?&lt;/li&gt; &lt;ul&gt; &lt;li&gt;First we (Tester, Programmer, Business Analyst) write a bunch of acceptance tests.&lt;/li&gt; &lt;li&gt;Then, we start writing code as we start executing those tests.&lt;/li&gt; &lt;li&gt;Yes, this is ATDD, but I don’t think automation is as important as the consultants say.&amp;nbsp; More on that in a future post.&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Logging bugs is soooooo time consuming and can lead to dysfunction.&amp;nbsp; The bug reports have to be managed and routed appropriately.&amp;nbsp; People can’t help but count them and use them as measurements for something…success or failure.&amp;nbsp; If we are doing bug prevention, we never need to create bug reports.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Okay, I’m starting to bore myself, so I’ll stop.&amp;nbsp; Next time I want to explore Manual ATDD.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/dlCF4joie7I" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/dlCF4joie7I/dont-find-bugs-prevent-bugs.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>4</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/05/dont-find-bugs-prevent-bugs.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-9137603411061763027</guid><pubDate>Mon, 29 Apr 2013 17:14:00 +0000</pubDate><atom:updated>2013-04-29T13:14:18.360-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Managing Testing</category><category domain="http://www.blogger.com/atom/ns#">automation</category><category domain="http://www.blogger.com/atom/ns#">Testing Conferences</category><title>Managing Successful Test Automation – Part 2</title><description>&lt;ul&gt; &lt;li&gt;Measuring your Automation might be easy.&amp;nbsp; Using those measurements is not.&amp;nbsp; Examples:&lt;/li&gt; &lt;ul&gt; &lt;li&gt;# of times a test ran&lt;/li&gt; &lt;li&gt;how long tests take to run&lt;/li&gt; &lt;li&gt;how much human effort was involved to execute and analyze results&lt;/li&gt; &lt;li&gt;how much human effort was involved to automate the test&lt;/li&gt; &lt;li&gt;number of automated tests&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;EMTE (Equivalent Manual Test Effort) – What effort it would have taken humans to manually execute the same test being executed by a machine.&amp;nbsp; Example: If it would take a human 2 hours, the EMTE is 2 hours.&lt;/li&gt; &lt;ul&gt; &lt;li&gt;How can this measure be useful? It is an easy way to show management the benefits of automation (in a way managers can easily understand).&lt;/li&gt; &lt;li&gt;How can this measure be abused?&amp;nbsp; If we inflate EMTE by re-running automated tests just for the sake of increasing EMTE, when are misleading.&amp;nbsp; Sure, we can run our automated tests everyday, but unless the build is changing every day, we are not adding much value.&lt;/li&gt; &lt;li&gt;How else can this measure be abused?&amp;nbsp; If you hide the fact that humans are capable of noticing and capturing much more than machines.&lt;/li&gt; &lt;li&gt;How else can this measure be abused?&amp;nbsp; If your automated tests can not be executed by humans and if your human tests can not be executed by a machine.&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;ROI (Return On Investment) – Dorothy asked the students what ROI they had achieved with the automation they created.&amp;nbsp; All 6 students who answered, got it wrong; they explained various benefits of their automation, but none were expressed as ROI.&amp;nbsp; ROI should be a number, hopefully a positive number.&amp;nbsp; &lt;/li&gt; &lt;ul&gt; &lt;li&gt;ROI=(benefit-cost)/cost&lt;/li&gt; &lt;li&gt;The trick is to convert tester time effort to money.&lt;/li&gt; &lt;li&gt;ROI does not measure things like “faster execution”, “quicker time to market”, “test coverage”&lt;/li&gt; &lt;li&gt;How can this measure be useful?&amp;nbsp; Managers may think there is no benefit to automation until you tell them there is.&amp;nbsp; ROI may be the only measure they want to hear.&lt;/li&gt; &lt;li&gt;How is this measure not useful?&amp;nbsp; ROI may not be important.&amp;nbsp; It may not measure your success.&amp;nbsp; “Automation is an enabler for success, not a cost reduction tool” – Yoram Mizrachi.&amp;nbsp; You company probably hires lawyers without calculating their ROI.&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;She did the usual tour of poor-to-better automation approaches (e.g., capture playback to advanced key-word driven framework).&amp;nbsp; I’m bored by this so I have a gap in my notes.&lt;/li&gt; &lt;li&gt;Testware architecture – consider separating your automation code from your tool, so you are not tied to the tool.&lt;/li&gt; &lt;li&gt;Use pre and post processing to automate test setup, not just the tests.&amp;nbsp; Everything should be automated except selecting which tests to run and analyzing the results.&lt;/li&gt; &lt;li&gt;If you expect a test to fail, use the execution status “Expected Fail”, not “Fail”.&lt;/li&gt; &lt;li&gt;Comparisons (i.e., asserts, verifications) can be “specific” or “sensitive”.&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Specific Comparison – an automated test only checks one thing.&lt;/li&gt; &lt;li&gt;Sensitive Comparison – an automated test checks several things.&lt;/li&gt; &lt;li&gt;I wrote “awesome” in my notes next to this: &lt;strong&gt;If your sensitive comparisons overlap, 4 tests might fail instead of 3 passing and 1 failing.&lt;/strong&gt;&amp;nbsp; IMO, this is one of the most interesting decisions an automator must make.&amp;nbsp; I think it really separates the amateurs from the experts.&amp;nbsp; Nicely explained, Dorothy!&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/MRZYIpG3nI0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/MRZYIpG3nI0/managing-successful-test-automation_29.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>1</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/04/managing-successful-test-automation_29.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-7381882308622259758</guid><pubDate>Thu, 25 Apr 2013 21:00:00 +0000</pubDate><atom:updated>2013-04-25T17:00:14.650-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">automation</category><category domain="http://www.blogger.com/atom/ns#">Testing Conferences</category><title>Managing Successful Test Automation – Part 1</title><description>&lt;p align="center"&gt;If you want to have test automation&lt;br&gt;And don't care about trials and tribulation&lt;br&gt;Just believe all the hype&lt;br&gt;Get a tool of each type&lt;br&gt;But be warned, you'll have serious frustration!&lt;/p&gt; &lt;p align="center"&gt;(&lt;em&gt;a limerick by Dorothy Graham&lt;/em&gt;)&lt;/p&gt; &lt;p&gt;I attended Dorothy Graham’s STARCanada tutorial, “Managing Successful Test Automation”.&amp;nbsp; Here are some highlights from my notes:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;“Test execution automation” was the tutorial concern. I like this clarification; sets it apart from “exploratory test automation” or “computer assisted exploratory testing”).&lt;/li&gt; &lt;li&gt;Only 19% of people using automation tools (In Australia) are getting “good benefits”…yikes.&lt;/li&gt; &lt;li&gt;Testing and Automating should be two different tasks, performed by different people.&lt;/li&gt; &lt;ul&gt; &lt;li&gt;A common problem with testers who try to be automators:&amp;nbsp; Should I automate or just manually test?&amp;nbsp; Deadline pressures make people push automation into the future.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Automators&lt;/strong&gt; – People with programming skills responsible for automating tests.&amp;nbsp; The automated tests should be able to be executed by non-technical people.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Testers&lt;/strong&gt; – People responsible for writing tests, deciding which tests to automate, and executing automated tests.&amp;nbsp; “Some testers would rather break things than make things”.&lt;/li&gt; &lt;li&gt;Dorothy mentioned “&lt;a href="http://www.satisfice.com/blog/archives/856"&gt;checking&lt;/a&gt;” but did not use the term herself during the tutorial.&lt;/li&gt; &lt;li&gt;Automation should be like a butler for the testers.&amp;nbsp; It should take care of the tedious and monotonous, so the testers can do what they do best.&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;A “pilot” is a great way to get started with automation.&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Calling something a “pilot” forces reflection.&lt;/li&gt; &lt;li&gt;Set easily achievable automation goals and reflect after 3 months.&amp;nbsp; If goals were not met, try again with easier goals.&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Bad Test Automation Objects– And Why:&lt;/li&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Reduce the number of bugs found by users&lt;/strong&gt; – Exploratory testing is much more effective at finding bugs.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Run tests faster&lt;/strong&gt; – Automation will probably run tests slower if you include the time it takes to write, maintain, and interpret the results.&amp;nbsp; The only testing activity automation might speed up is “test execution”.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Improve our testing&lt;/strong&gt; – The testing needs to be improved before automation even begins.&amp;nbsp; If not, you will have poor automation.&amp;nbsp; If you want to improve your testing, try just looking at your testing.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Reduce the cost and time for test design&lt;/strong&gt; – Automation will increase it.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Run regression tests overnight and on weekends&lt;/strong&gt; – If your automated tests suck, this goal will do you no good.&amp;nbsp; You will learn very little about your product overnight and on weekends.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Automate all tests&lt;/strong&gt; – Why not just automated the ones you want to automate?&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Find bugs quicker&lt;/strong&gt; – It’s not the automation that finds the bugs, it’s the tests.&amp;nbsp; Tests do not have to be automated, they can also be run manually.&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;The thing I really like about Dorothy’s examples above, is that she helps us separate the testing activity from the automation activity.&amp;nbsp; It helps us avoid common mistakes, such as forgetting to focus on the tests first.&lt;/li&gt; &lt;li&gt;Good Test Automation Objectives:&lt;/li&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Free testers from repetitive test execution to spend more time on test design and exploratory testing&lt;/strong&gt; – Yes!&amp;nbsp; Say no more!&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Provide better repeatability of regression tests&lt;/strong&gt; – Machines are good checkers.&amp;nbsp; These checks may tell you if something unexpected has changed.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Provide test coverage for tests not feasible for humans to execute – &lt;/strong&gt;Without automation, we couldn’t get this information.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Build an automation framework that is easy to maintain and easy to add new tests to.&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Run the most useful tests, using under-used computer resources, when possible&lt;/strong&gt; – This is a better objective than running tests on weekends.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Automate the most useful and valuable tests, as identified by the testers&lt;/strong&gt; – much better than “automated all tests”.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/-Ng2M9q3NQI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/-Ng2M9q3NQI/managing-successful-test-automation.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>1</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/04/managing-successful-test-automation.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-3168568798861229847</guid><pubDate>Wed, 17 Apr 2013 16:24:00 +0000</pubDate><atom:updated>2013-04-17T14:08:23.268-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Presentations</category><category domain="http://www.blogger.com/atom/ns#">STPCon</category><category domain="http://www.blogger.com/atom/ns#">Personal Excellence</category><category domain="http://www.blogger.com/atom/ns#">STARwest</category><category domain="http://www.blogger.com/atom/ns#">CAST</category><category domain="http://www.blogger.com/atom/ns#">software testing career</category><title>How To Speak At a Testing Conference</title><description>&lt;p&gt;Last week, at STARCanada, I met several enthusiastic testers who might make great testing conference speakers.&amp;nbsp; We need you.&amp;nbsp; Life is too short for crappy conference talks.  &lt;p&gt;I’m no pro by any means.&amp;nbsp; But I have been a track speaker at STARWest,&amp;nbsp; STARCanada, STPCon, and will be speaking at STAREast in 2 weeks.&amp;nbsp; &lt;p&gt;Ready to give it a go?&amp;nbsp; Here is my advice on procuring your first speaking slot:  &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Get some public speaking experience.&amp;nbsp; &lt;/strong&gt;They are probably not going to pick you without speaking experience.&amp;nbsp; If you need experience, try speaking to a group of testers at your own company, at an IT group that meets within your city, volunteer for an emerging topic talk or sign up for a lightning talk at a conference that offers those, like CAST.  &lt;li&gt;&lt;strong&gt;Come up with a killer topic.&lt;/strong&gt;&amp;nbsp; See what speakers are currently talking about and talk about something fresh.&amp;nbsp; Make sure your topic can appeal to a wider audience.&amp;nbsp; Experience reports seem appealing.  &lt;li&gt;&lt;strong&gt;Referrals&lt;/strong&gt; – meet some speakers or industry leaders with some clout and ask them to review your talk.&amp;nbsp; If they like it, maybe they would consider putting in a good word for you.  &lt;li&gt;Pick one or more conferences and search for their &lt;strong&gt;speaker&lt;/strong&gt; &lt;strong&gt;submission deadlines and forms&lt;/strong&gt; (e.g., &lt;a href="http://www.sqe.com/Conferences/Speakers.aspx"&gt;Speaking At SQE Conferences&lt;/a&gt;).&amp;nbsp; If you’ve attended conferences, you are probably already on their mailing list and may be receiving said requests.&amp;nbsp; I’m guessing the 2014 SQE conference speaker submission will open in a few months.  &lt;li&gt;&lt;strong&gt;Submit the speaker submission form&lt;/strong&gt;.&amp;nbsp; Make sure you have an interesting sounding title.&amp;nbsp; You’ll be asked for a summary of your talk including take-aways and maybe how you intend to give it.&amp;nbsp; This is a good place to offer something creative about the way you will deliver your topic (e.g., you made a short video, you will do a hands-on group exercise).  &lt;li&gt;Wait.&amp;nbsp; Eventually you’ll receive a call or email.&amp;nbsp; Sound competent.&amp;nbsp; Know your topic and &lt;strong&gt;be prepared to answer tough questions&lt;/strong&gt; about it.  &lt;li&gt;If you get rejected.&amp;nbsp; Politely &lt;strong&gt;ask what you could do differently&lt;/strong&gt; to have a better chance of getting picked in the future.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;It is not easy to get picked.&amp;nbsp; I was rejected several times and eventually got a nice referral from Lynn McKee, an experienced speaker with a great reputation; that helped.&amp;nbsp; One of my friends and colleagues, who is far more capable than I am, IMO, has yet to get picked up as a speaker.&amp;nbsp; So I don’t know what secret sauce they are looking for.&lt;/p&gt; &lt;p&gt;Good luck!&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;BTW - Speaking at conferences has both advantages and disadvantages to consider.  &lt;p&gt;Advantages:  &lt;ul&gt; &lt;li&gt;The opportunity to build your reputation as an expert of sorts in the testing community.  &lt;li&gt;It helps you refine your ideas and possibly spread knowledge.  &lt;li&gt;Free registration fees.&amp;nbsp; This makes it more likely your company will pay your hotel/travel costs and let you attend.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Disadvantages:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Public speaking is scary as hell for most of us.&amp;nbsp; The weeks leading up to a conference can be stressful.  &lt;li&gt;Putting together good talks and practicing takes lots of time.&amp;nbsp; I took days off work to prepare.&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/Cvs_vVUxry4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/Cvs_vVUxry4/how-to-speak-at-testing-conference.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>9</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/04/how-to-speak-at-testing-conference.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-5185277877880108350</guid><pubDate>Fri, 05 Apr 2013 12:51:00 +0000</pubDate><atom:updated>2013-04-08T15:23:27.761-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bugs</category><category domain="http://www.blogger.com/atom/ns#">Personal Excellence</category><title>Get Your Hands Off My Bug!</title><description>&lt;p&gt;Don’t you just hate it when your Business Analysts (or others) beat you to it and point out bugs before you have a chance to?&lt;/p&gt; &lt;p&gt;It feels so unfair!&amp;nbsp; They can send an email that says, “the columns aren’t in the right order, please fix it” and the programmers snap to attention like good little soldiers.&amp;nbsp; Whereas, you saw the same problem but you are investigating further and confirming your findings with multiple oracles.&lt;/p&gt; &lt;p&gt;Well, this is not a bug race.&amp;nbsp; There is no “my bug”.&amp;nbsp; If someone else on your team is reporting problems, this helps you.&amp;nbsp; And it certainly helps the team.&amp;nbsp; You may want to observe the types of things these non-testers report and adjust your testing to target other testing.&lt;/p&gt; &lt;p&gt;But try to convert your frustration to admiration.&amp;nbsp; Tell them “nice catch” and “thanks for the help”.&amp;nbsp; Encourage more of the same.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/rZQURt1wqiM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/rZQURt1wqiM/get-your-hands-off-my-bug.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>3</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/04/get-your-hands-off-my-bug.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-3820791467241046554</guid><pubDate>Mon, 01 Apr 2013 17:18:00 +0000</pubDate><atom:updated>2013-04-01T13:20:53.124-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">automation</category><category domain="http://www.blogger.com/atom/ns#">Teamwork</category><title>Do Automated Checks Run Unattended?</title><description>I’m not asking if they *&lt;em&gt;can*&lt;/em&gt; run unattended.&amp;nbsp; I’m asking if they &lt;em&gt;do&lt;/em&gt; run unattended…consistently…without ever failing to start, hanging, or requiring any human intervention whatsoever…EVER.&lt;br /&gt;
Automators, be careful.&amp;nbsp; If you tell too many stories about unattended check-suite runs, the non-automators just might start believing you.&amp;nbsp; And guess what will happen if they start running your checks?&amp;nbsp; You know that sound when Pac-Man dies, that’s what they’ll think of your automated checks.&lt;br /&gt;
I remember hearing a QA Director attempt to encourage “test automation” by telling fantastical stories of his tester past:&lt;br /&gt;
&lt;em&gt;“We used to kick off our automated tests at 2PM and then go home for the day.&amp;nbsp; The next day, we would just look at the execution results and be done.”&lt;/em&gt;&lt;br /&gt;
Years later, I’ve learned to be cynical about said stories.&amp;nbsp; In fact, I have yet to see an automated test suite (including my own) that consistently runs without ever requiring the slightest intervention from humans, who unknowingly may:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Prep the test environment “just right” before clicking “Run”.&lt;/li&gt;
&lt;li&gt;Restart the suite when it hangs and hope the anomaly goes away.&lt;/li&gt;
&lt;li&gt;Re-run the failed checks because they normally pass on the next attempt.&lt;/li&gt;
&lt;li&gt;Realize the suite works better when kicked off in smaller chunks.&lt;/li&gt;
&lt;li&gt;Recognize that sweet spot, between server maintenance windows, where the checks have a history of happily running without hardware interruptions.&lt;/li&gt;
&lt;/ul&gt;
IMO, it’s not a problem if the automator has to periodically do one or more of the above.&amp;nbsp; It’s only a problem if we, as automators, spread untruths about the real effort behind our automated checks.&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/2qKhpW87ORU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/2qKhpW87ORU/do-automated-checks-run-unattended.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>2</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/04/do-automated-checks-run-unattended.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-5925713157993546471</guid><pubDate>Fri, 15 Mar 2013 20:17:00 +0000</pubDate><atom:updated>2013-03-22T08:46:09.613-04:00</atom:updated><title>Bug Report Attributes Part 5 – Links</title><description>&lt;p&gt;If it’s possible to determine which Feature/Story/Requirement introduced a new bug, it’s probably valuable to use a bug report’s “Link” attribute to link the bug report to said parent Feature/Story/Requirement.&amp;nbsp; Here are some reasons this is valuable:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;It tells the programmers roughly where the bug was created.&lt;/li&gt; &lt;li&gt;It may help to decouple “&lt;a href="http://www.testthisblog.com/2012/06/modern-testers-dictionary.html"&gt;Escapes&lt;/a&gt;” from “New Feature Bugs”.&amp;nbsp; Escapes are usually more difficult to trace back to specific Features.&amp;nbsp; Perhaps your team does not count linked bugs as part of WIP but unlinked Escapes are counted as part of WIP.&lt;/li&gt; &lt;li&gt;It tells the team the bug is a dependency to its linked requirement’s deployment (e.g., the bug will follow the Feature into other environments if it is not fixed).&lt;/li&gt; &lt;li&gt;If you can link to the Feature from the bug report, the Feature may provide more context for the bug report.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Another way I like to use the bug report “Link” attribute is to associate bugs to each other.&amp;nbsp; When BugA get’s fixed, it introduces BugB; linking the two together allows us to use briefer language in the bug report like, “this bug was created by the linked bug’s fix”.&amp;nbsp; Generally the link itself makes it easier to view the linked bug report, than merely referencing the Bug Report ID.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/iWLqStGLgXI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/iWLqStGLgXI/bug-report-attributes-part-5-links.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>3</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/03/bug-report-attributes-part-5-links.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-643148339941696373</guid><pubDate>Wed, 06 Mar 2013 18:06:00 +0000</pubDate><atom:updated>2013-03-06T13:06:02.474-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Bug Report Attributes</category><category domain="http://www.blogger.com/atom/ns#">bugs</category><title>Bug Report Attributes Part 4 – Version &amp; Iteration</title><description>&lt;p&gt;Two other bug report attributes I find useless are “Version” and “Iteration”.&amp;nbsp; We no longer bother to populate these.&lt;/p&gt; &lt;p&gt;I used to think these were important attributes because the team could use them to answer questions like:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;How many bugs did we find in Iteration 16?&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;We think Bug1001 is fixed in version 1.2.7.&amp;nbsp; &lt;strong&gt;What version were you testing when you found Bug1001? &lt;/strong&gt; Oh, you were testing version 1.2.6, that explains it.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Now days, I realize counting bugs found in test is not a helpful measure; especially since we’ve focused more testing in the Dev environment and often fix bugs without logging bug reports.&amp;nbsp; In addition, many of my project teams have switched to Kanban so “Iteration” is a seldom used term.&lt;/p&gt; &lt;p&gt;Regarding the second bullet above, I came to realize that most bug report templates have “Created Date”, an auto-populated attribute.&amp;nbsp; I also learned every version of the software under test has an auto-populated build deployment history.&amp;nbsp; If we cross-reference a bug report’s created date with our build deployment history, we can always identify the version or iteration of the code the bug was found in.&amp;nbsp; I would rather fall back on existing information (in the rare cases we need it), than capture extra information every time (that normally gets ignored).&lt;/p&gt; &lt;p&gt;In practice, questions like the second bullet above, never get asked.&amp;nbsp; As long as one populates the &lt;a href="http://www.testthisblog.com/2013/02/bug-report-attributes-part-1-environment.html"&gt;Environment bug report attribute&lt;/a&gt;, confusion rarely occurs.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/l-vtIGsFLuk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/l-vtIGsFLuk/bug-report-attributes-part-4-version.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>1</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/03/bug-report-attributes-part-4-version.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-5718246295374367095</guid><pubDate>Thu, 28 Feb 2013 21:34:00 +0000</pubDate><atom:updated>2013-02-28T16:34:30.994-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Managing Testing</category><title>Management For High Performance Agile Teams</title><description>&lt;p&gt;&lt;em&gt;Warning: this post has almost nothing to do with testing and it barely has anything to do with software development.&amp;nbsp; Managers should read it however.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Last night, at the Atlanta Scrum Users Group, I saw Peter Saddington’s talk, “The New Role of Management for High-Performance Teams”.&amp;nbsp; Peter has three master’s degrees and claims to be Atlanta’s only Certified Scrum Trainer.&lt;/p&gt; &lt;p&gt;Here are some highlights from my notes:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Managers should see themselves as “managers of inspiration”. Don’t manage issues.&amp;nbsp; Instead, manage inspiration.&amp;nbsp; Help people love what they do first, then you don’t need to manage them.&lt;/li&gt; &lt;li&gt;Everyone can improve their job performance by taking time to reflect.&amp;nbsp; Few bother to, because they think they are too busy.&lt;/li&gt; &lt;li&gt;Stop creating processes.&amp;nbsp; Instead, change the rules as you go.&amp;nbsp; The problem with process is that some people will thrive under it and others will die.&amp;nbsp; There are no “best practices”; (&lt;em&gt;Context-driven testers have been saying this for years&lt;/em&gt;).&lt;/li&gt; &lt;li&gt;The most important question you can ask your directs is “Are you having fun?”.&amp;nbsp; Happier employees are more productive.&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Play and fun at work have been declining for 30 years (in the US).&lt;/li&gt; &lt;li&gt;Burn-out rate has been increasing for 30 years (in the US).&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Myth – Agile teams should be self-organizing.&amp;nbsp; Fact, marriages are about the only true self-organizing teams that exist; only about 50% are successful (in the US).&amp;nbsp; Instead of hoping your teams self-organize their way to success, get to know your people and put them on teams that make sense for them.&amp;nbsp; Try re-interviewing everyone.&lt;/li&gt; &lt;li&gt;If you learn 3 things about a co-worker’s personal life, trust is increase by 60%.&amp;nbsp; “How did Becky do at her soccer game yesterday?”&lt;/li&gt; &lt;li&gt;Motivate your teams with these three things:&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Autonomy – People should not have to give it up when they go to work.&lt;/li&gt; &lt;li&gt;Mastery – Ability to grow one’s craft.&amp;nbsp; Help people make this happen.&amp;nbsp; Put people in places where they can improve their work.&lt;/li&gt; &lt;li&gt;Purpose – People do their best work when they know why they are doing it.&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Any manager who asks their directs to work on multiple projects at once, should be fired.&amp;nbsp; Study after study shows that multi-tasking and switching contexts burns people out and causes them to work poorly.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Peter did a fun group exercise to drive home that last point.&amp;nbsp; He had some of us stand in a circle and take turns saying the alphabet or counting by multiples of 3 or 5.&amp;nbsp; He began forcing us to switch patterns on the fly, as we worked.&amp;nbsp; Afterwards, we all hated him and his stupid exercise.&amp;nbsp; …He was representing a manager.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/ut2mWoX8ZCU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/ut2mWoX8ZCU/management-for-high-performance-agile.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>5</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/02/management-for-high-performance-agile.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-5293716492163375862</guid><pubDate>Wed, 27 Feb 2013 18:36:00 +0000</pubDate><atom:updated>2013-02-27T13:36:41.811-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Bug Report Attributes</category><category domain="http://www.blogger.com/atom/ns#">bugs</category><title>Bug Report Attributes Part 3 – Severity</title><description>&lt;p&gt;My bug report template includes a Severity attribute but my teams don’t bother populating it.&amp;nbsp; The severity choices on my template are:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-cIWPX4xUwmo/US5SN2CheTI/AAAAAAAAJH4/hLkFbO4NDHs/s1600-h/Severity%25255B2%25255D.gif"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Severity" border="0" alt="Severity" src="http://lh5.ggpht.com/-Ez2m9KHGihg/US5SOHW2DJI/AAAAAAAAJIA/odCW9-0vnJM/Severity_thumb.gif?imgmax=800" width="244" height="80"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;We leave it on the default.&lt;/p&gt; &lt;p&gt;Try as you may, to objectively define Severity, and it is still arguably subjective.&amp;nbsp; “Loss of Functionality w/Work Around”…well, if we are creative enough, we can always come up with a work around; let’s use the legacy process.&amp;nbsp; “Data Corruption”…well, if we run a DB script to fix the corruption is this bug still severe?&lt;/p&gt; &lt;p&gt;From my experiences, it has been better for humans to read the bug report description, understand the bug, then make any decisions that would have otherwise been made based on a tester’s severity assessment.&amp;nbsp; &lt;/p&gt; &lt;p&gt;As an example, if the bug report description does not indicate the system crashes, and it does, it is likely a poorly written bug description.&amp;nbsp; One shouldn’t need a Severity to pigeon hole it into.&lt;/p&gt; &lt;p&gt;My advice?&amp;nbsp; Save the tester some time.&amp;nbsp; Don’t ask them to populate Severity.&amp;nbsp; Benefit from the discussion it may force later.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/Eyvd1P8VDlY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/Eyvd1P8VDlY/bug-report-attributes-part-3-severity.html</link><author>noreply@blogger.com (Eric Jacobson)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-Ez2m9KHGihg/US5SOHW2DJI/AAAAAAAAJIA/odCW9-0vnJM/s72-c/Severity_thumb.gif?imgmax=800" height="72" width="72" /><thr:total>8</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/02/bug-report-attributes-part-3-severity.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-3779914544516914991</guid><pubDate>Wed, 20 Feb 2013 18:44:00 +0000</pubDate><atom:updated>2013-02-20T13:44:58.290-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Bug Report Attributes</category><category domain="http://www.blogger.com/atom/ns#">bugs</category><title>Bug Report Attributes Part 2 – Priority</title><description>&lt;p&gt;IMO, Priority should not be populated by testers.&amp;nbsp; My teams use a customized version of Microsoft Team Foundation Server’s bug work item template.&amp;nbsp; For whatever reason, Priority is a required attribute upon logging bugs.&amp;nbsp; It defaults to “Medium” and I never change it.&lt;/p&gt; &lt;p&gt;From my experiences, testers often overstate bug priority, wanting to believe the bugs they found are more important to fix than other work that could be done.&amp;nbsp; Some testers see themselves as the saviors of the user-in-distress.&amp;nbsp; I see myself as the information gatherer for my development team and stakeholders.&amp;nbsp; I don’t understand the business needs as well as my stakeholders, thus I remove myself from making claims about bug priority.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Priority is a stakeholder question and it’s always relative to what else is available to work on.&amp;nbsp; A High priority bug may be less important than a new Feature.&lt;/li&gt; &lt;li&gt;From my experiences, Priority does not lead decisions.&amp;nbsp; It follows.&lt;/li&gt; &lt;ul&gt; &lt;li&gt;&lt;u&gt;Tester&lt;/u&gt;: “Per our process, we will only patch production for High priority bugs”.&lt;/li&gt; &lt;li&gt;&lt;u&gt;Stakeholder&lt;/u&gt;: “Well, obviously we need to patch production today”.&amp;nbsp; &lt;/li&gt; &lt;li&gt;&lt;u&gt;Tester&lt;/u&gt;: “But said bug is only a Medium priority”.&lt;/li&gt; &lt;li&gt;&lt;u&gt;Stakeholder&lt;/u&gt;: “Then change it to a High”.&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;IMO, Priority is all but useless.&amp;nbsp; The more High priority active bugs one has, the more diminished it’s label becomes.&amp;nbsp; A better label is “Order”, as in let’s rank everything we can work on, from most important to least important, where each item has a unique ranking order.&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/JBlnTUjifT8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/JBlnTUjifT8/bug-report-attributes-part-2-priority.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>5</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/02/bug-report-attributes-part-2-priority.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-3235164740591052473</guid><pubDate>Wed, 13 Feb 2013 21:38:00 +0000</pubDate><atom:updated>2013-02-13T16:39:50.993-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Bug Report Attributes</category><category domain="http://www.blogger.com/atom/ns#">bugs</category><title>Bug Report Attributes Part 1 – Environment</title><description>&lt;p&gt;Reader, Srinivas Kadiyala, asked if I could share my bug report template.&amp;nbsp; A bug report template high level view might be boring so instead let’s examine bug report attributes individually.&amp;nbsp; Here’s Part 1.&lt;/p&gt; &lt;p&gt;Environment.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Environment can be more or less useful depending on how one populates it.&amp;nbsp; Some testers equate Environment to the environment the bug was found in.&amp;nbsp; IMO, Environment is more useful when it equates to the lowest active version of our software the bug exists in.&lt;/p&gt; &lt;p&gt;If a skilled tester finds a bug in the QA environment, they will probably&amp;nbsp; next determine if it exists in the production environment.&amp;nbsp; If it does, IMO the bug report should have Environment = Production (even though the bug was originally found in QA).&amp;nbsp; &lt;/p&gt; &lt;p&gt;Now we have helped answer/trigger important questions for the team:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Yikes!&amp;nbsp; Should we patch production ASAP?&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Are we going to break something in production if we deploy the QA build without fixing this bug?&lt;/strong&gt;&amp;nbsp; &lt;/li&gt; &lt;li&gt;&lt;strong&gt;How many bugs have escaped into production? &lt;/strong&gt;We can query on this attribute to provide one of our most important measurements.&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/KYs3mM2MyzM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/KYs3mM2MyzM/bug-report-attributes-part-1-environment.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>1</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/02/bug-report-attributes-part-1-environment.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-8747603720224265453</guid><pubDate>Thu, 07 Feb 2013 14:57:00 +0000</pubDate><atom:updated>2013-02-07T13:15:28.723-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bugs</category><category domain="http://www.blogger.com/atom/ns#">Teamwork</category><title>Look Before You Log – Part 2</title><description>&lt;p&gt;In response to my &lt;a href="http://www.testthisblog.com/2013/01/dont-forget-to-look-before-you-log.html"&gt;Don’t Forget To Look Before You Log&lt;/a&gt; post, bugs4tester asked how to prevent duplicate bug reports in large project teams that have accumulated &amp;gt;300 bug reports.&lt;/p&gt; &lt;p&gt;That's a pretty good question.&amp;nbsp; Here are some things that come to mind:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Consider not logging some bugs.&amp;nbsp; One of my project teams does all new feature testing in our development environment.&amp;nbsp; The bugs get fixed as they are found, so bug reports are not necessary.&amp;nbsp; Exceptions include:&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Bugs we decide not to fix.&lt;/li&gt; &lt;li&gt;Bugs found in our QA environment.&amp;nbsp; We are SOX compliant and the auditors like seeing bug reports to prove the code change is necessary.&lt;/li&gt; &lt;li&gt;“Escapes” – Bugs found in production.&lt;/li&gt;&lt;!--EndFragment--&gt;&lt;/ul&gt; &lt;li&gt;Readers Ken and Camal Cakar suggested it may be better to err on the side of logging duplicate bug reports, than taking the time to go dupe hunting or worse, mistakenly assuming the bug is already logged.&amp;nbsp; I agree.&amp;nbsp; Maybe we can use a 120-Second-Dupe-BugReport-Search heuristic; “If I can’t determine whether or not this bug is logged within 120 seconds, I will log it.”&lt;/li&gt; &lt;li&gt;Yes, it takes time to "look before you log", but you may gain that time back.&amp;nbsp; If, every so often, you find that a bug report already exists, you are saving the time it would have taken you to log the bug.&amp;nbsp; You are also saving the time it would have taken other team members encountering the bug report to sort through their confusion (e.g., “Hey, didn’t we already fix this bug?”).&amp;nbsp; IMO, dupes cause people to stare at each, trying to determine the difference, long after their context has faded.&lt;/li&gt; &lt;li&gt;"Look before you log" time can be reduced with bug report repository organization.&amp;nbsp; Examples include:&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Can you assign bug reports to modules or other categories?&lt;/li&gt; &lt;li&gt;Can the team agree on a standard naming scheme? For example: always list the name of the screen or report in the bug report title.&lt;/li&gt; &lt;li&gt;Does your bug repository provide a keyword search that can only search bug report Title or Description?&amp;nbsp;&amp;nbsp; If not, can you access the bug repository DB to write your own?&lt;/li&gt; &lt;li&gt;Can you use keyboard shortcuts or assign hotkeys to dupe bug report searches?&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Sometimes you don’t have to “look before you log”.&amp;nbsp; When testing new functionality, I think most testers know when they have discovered a bug that could not have existed with prior code.&amp;nbsp; On the other hand, some testers can recognize recurring bugs that have been around for years; in these cases the tester may already know it is logged.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Thanks for the fun question.&amp;nbsp; I hope one of my suggestions helps.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/88rvHGfk5xA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/88rvHGfk5xA/look-before-you-log-part-2.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>7</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/02/look-before-you-log-part-2.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-6471301865134362477</guid><pubDate>Wed, 30 Jan 2013 16:14:00 +0000</pubDate><atom:updated>2013-01-30T15:31:05.282-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bugs</category><category domain="http://www.blogger.com/atom/ns#">process</category><category domain="http://www.blogger.com/atom/ns#">Personal Excellence</category><title>Don’t Forget To Look Before You Log</title><description>&lt;p&gt;Shortly after logging a bug this morning, my business analyst kindly asked, “Is this the same as Bug10223, that I logged in October of 2011?”.&lt;/p&gt; &lt;p&gt;…It was!&lt;/p&gt; &lt;p&gt;Ordinarily, prior to logging production bugs that have been around for a while, I run a bug report query to search for open bug reports by keywords.&amp;nbsp; It takes about 10 seconds to determine if the bug I’m about to log has already been logged.&amp;nbsp; This morning I got lazy (and cocky) and just logged it.&lt;/p&gt; &lt;p&gt;It probably took 20 minutes of my time and my business analyst’s time to create a bug report that already existed, communicate about the confusion, and reject my duplicate bug report.&lt;/p&gt; &lt;p&gt;Look before you Log!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/06gxPrQsc0E" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/06gxPrQsc0E/dont-forget-to-look-before-you-log.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>9</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/01/dont-forget-to-look-before-you-log.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-3231473857092242986</guid><pubDate>Wed, 23 Jan 2013 20:44:00 +0000</pubDate><atom:updated>2013-01-23T15:44:49.170-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silliness</category><category domain="http://www.blogger.com/atom/ns#">software testing career</category><title>The Bipolar Life Of A Software Tester</title><description>&lt;p&gt;This sucks.&amp;nbsp; I’ve been testing all day and I haven't found a single problem.&amp;nbsp; &lt;/p&gt; &lt;p&gt;No, wait…&lt;/p&gt; &lt;p&gt;This is good, right? Clean software is the goal.&amp;nbsp; Alright, cool, we rock!&amp;nbsp; Looks like we’re deploying to prod tomorrow morning…just one more test…Dammit! I just found a problem!&amp;nbsp; I hate finding problems at the final hour.&amp;nbsp; This sucks.&lt;/p&gt; &lt;p&gt;No, wait…&lt;/p&gt; &lt;p&gt;This is good, right?&amp;nbsp; Better to have caught it in QA today than in prod tomorrow.&amp;nbsp; That’s what they pay me for.&amp;nbsp; Hey, here’s another bug!&amp;nbsp; And another!&amp;nbsp; I rock.&amp;nbsp; I just found the mother load of bugs.&amp;nbsp; This is awesome!!!&lt;/p&gt; &lt;p&gt;No, wait…&lt;/p&gt; &lt;p&gt;This is bad, right?&amp;nbsp; We’re either going to have to work late or delay tomorrow’s prod release.&amp;nbsp; I totally should have caught these problems earlier, it would have been so much cheaper.&amp;nbsp; I suck.&amp;nbsp; &lt;/p&gt; &lt;p&gt;What’s that?&amp;nbsp; The product owners are rejecting my bugs?&amp;nbsp; Really?&amp;nbsp; How humiliating.&amp;nbsp; I hate when my bugs get rejected!&lt;/p&gt; &lt;p&gt;No, wait…&lt;/p&gt; &lt;p&gt;This is good, right? It’s great that my bugs got rejected.&amp;nbsp; Less churn.&amp;nbsp; Now I don’t have to retest everything.&lt;/p&gt; &lt;p&gt;No, wait…I want to retest everything.&lt;/p&gt; &lt;p&gt;No, wait…maybe I don’t.&lt;/p&gt; &lt;p&gt;Ahhhhhhh!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/LyhPbiry0Hw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/LyhPbiry0Hw/the-bipolar-life-of-software-tester.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>17</thr:total><feedburner:origLink>http://www.testthisblog.com/2013/01/the-bipolar-life-of-software-tester.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-8648015744609011582</guid><pubDate>Wed, 19 Dec 2012 18:20:00 +0000</pubDate><atom:updated>2012-12-19T13:23:20.481-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bugs</category><category domain="http://www.blogger.com/atom/ns#">Tools</category><category domain="http://www.blogger.com/atom/ns#">Personal Excellence</category><title>Test in Bullet Time With Tablock SQL Hints</title><description>&lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/-3XEXqSwLs08/UNIFaVnun1I/AAAAAAAAI14/GLC-GfjbjUA/s1600-h/5626669815_a1f9b1eec5_z%25255B4%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="5626669815_a1f9b1eec5_z" border="0" alt="5626669815_a1f9b1eec5_z" src="http://lh3.ggpht.com/-nuYKELknDJM/UNIFbn6yGHI/AAAAAAAAI18/XG9EyuCpCVA/5626669815_a1f9b1eec5_z_thumb%25255B2%25255D.jpg?imgmax=800" width="430" height="288"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Every once in a while, progs amaze me by casually offering some off-the-cuff solution to my major testing headaches.&lt;/p&gt; &lt;p&gt;I was trying to recreate a complex user scenario involving precise timing.&amp;nbsp; I needed a way to make a service hang (blocking other services), sneak some specific test actions through in the meantime, then unhang the service.&amp;nbsp; After assuming this would be way too complicated for me, my prog offered, “just use a SQL hint to put an exclusive lock on the table”.&lt;/p&gt; &lt;p&gt;A SQL hint is an addition to the query that instructs the database engine to do something extra, overriding its normal decisions.&amp;nbsp; The tabblock hint, wrapped in a transaction, allows you to put an exclusive lock on a table, preventing other transactions from reading or modifying said table.&amp;nbsp; I’m using MS SQL but Oracle supports a similar technique.&lt;/p&gt; &lt;p&gt;Here is how it works in a generic test example:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;State A exists.&lt;br&gt;&lt;/li&gt; &lt;li&gt;Lock the table:&lt;br&gt;&lt;br&gt;&lt;font color="#0000ff"&gt;begin TRANSACTION&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#9b00d3"&gt;UPDATE&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#008080"&gt;tblCustomers&lt;/font&gt;&lt;br&gt;WITH (TABLOCK)&lt;br&gt;SET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#008080"&gt;Name&lt;/font&gt; = 'Fred'&lt;br&gt;WHERE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;font color="#008080"&gt;ID&lt;/font&gt; = 10)&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;font color="#333333"&gt;&lt;em&gt;Note: The transaction remains open.&amp;nbsp; The update statement is irrelevant because we are going to roll it back.&lt;br&gt;&lt;/em&gt;&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font color="#333333"&gt;Trigger the action you want to hang.&amp;nbsp; &lt;em&gt;For example: maybe the current UI state is ready for female customers. You trigger a service that returns female customers from tblCustomers to display them on the UI.&amp;nbsp; Take your time, it won’t complete due to the tablock.&lt;br&gt;&lt;/em&gt;&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font color="#333333"&gt;Perform the action you are trying to sneak in.&amp;nbsp; &lt;em&gt;For example: maybe you&amp;nbsp; change the UI to expect male customers.&lt;br&gt;&lt;/em&gt;&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font color="#333333"&gt;&lt;em&gt;Now State B exists instead of State A.&lt;br&gt;&lt;/em&gt;&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font color="#333333"&gt;Unlock the table:&lt;br&gt;&lt;br&gt;&lt;font color="#0000ff"&gt;ROLLBACK TRANSACTION&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;em&gt;Note: execute the above statement in the same query session as the query in step 1 was executed.&amp;nbsp; The action that was hanging in step 3 completes, and in this example, female customers attempt to load into a screen expecting male customers.&lt;/em&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;font color="#333333"&gt;So the next time you have a test idea that is too complex to execute in real time, try doing it in bullet time (using a tablock hint to slow things down.)&lt;/font&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/muv-w6Iaz1w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/muv-w6Iaz1w/test-in-bullet-time-with-tablock-sql.html</link><author>noreply@blogger.com (Eric Jacobson)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-nuYKELknDJM/UNIFbn6yGHI/AAAAAAAAI18/XG9EyuCpCVA/s72-c/5626669815_a1f9b1eec5_z_thumb%25255B2%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://www.testthisblog.com/2012/12/test-in-bullet-time-with-tablock-sql.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-1147679726785336843</guid><pubDate>Mon, 03 Dec 2012 18:18:00 +0000</pubDate><atom:updated>2012-12-03T13:18:39.526-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bugs</category><title>Handling Non-Required Data in Bug Reports – Part 2</title><description>&lt;p&gt;In &lt;a href="http://www.testthisblog.com/2012/11/handling-non-required-data-in-bug.html"&gt;Part 1&lt;/a&gt; I focused on removing misleading details and unnecessary repro steps from bug reports.&amp;nbsp; I tried to make the case that a tester’s job is to narrow a bug’s repro steps down to only those actions or data that are actually required to experience the bug.&lt;/p&gt; &lt;p&gt;Now let’s discuss the exceptions and how to handle them.&amp;nbsp; Here are two reasons to include non-required data in bug reports:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;It is not feasible to rule out certain data as relevant.&lt;/li&gt; &lt;li&gt;It is helpful for the person following the repro steps to reuse data already identified by the repro steps author, to save time.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;IMO, the repro steps (and the bug report itself) should reflect that said data is or may be non-required.&amp;nbsp; I do this by providing the extra data in a comment for a specific repro step.&amp;nbsp; For example:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;em&gt;&lt;strong&gt;Create a new order. &lt;/strong&gt;&lt;/em&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;&lt;strong&gt;Add at least two line items to the new order.&lt;/strong&gt; (I added Pens and Pencils but it appears that any two line items cause the bug)&lt;/em&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;&lt;strong&gt;Submit the new order. &lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;em&gt;&lt;strong&gt;Expected Results: No errors are thrown.&lt;br&gt;Actual Results: “Object reference not found” error is thrown.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;In some cases, there may have been significant searching to find data in a specific state.&amp;nbsp; One can save time for the bug report reader by providing tips on existing data.&amp;nbsp; For example, maybe the bug only occurs for orders in an “On Hold” state:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;em&gt;&lt;strong&gt;Open an “On Hold” order.&amp;nbsp; &lt;/strong&gt;(I used Order# 10054) &lt;/em&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;&lt;strong&gt;Add at least two line items to the new order.&lt;/strong&gt; &lt;/em&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;&lt;strong&gt;Submit the new order. &lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;em&gt;&lt;strong&gt;Expected Results: No errors are thrown.&lt;br&gt;Actual Results: “Object reference not found” error is thrown.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Again, the core repro steps more or less capture the relevant data pertaining to the bug.&amp;nbsp; The notes, speed up the repro process.&amp;nbsp; Look at how the opposite approach may mislead:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;em&gt;&lt;strong&gt;Open Order# 10054.&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;&lt;strong&gt;Add at least two line items to the new order.&lt;/strong&gt; &lt;/em&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;&lt;strong&gt;Submit the new order. &lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;em&gt;&lt;strong&gt;Expected Results: No errors are thrown.&lt;br&gt;Actual Results: “Object reference not found” error is thrown.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;The above instance makes the bug look like it is just a problem with order# 10054.&amp;nbsp; A skilled tester should have figured out the “On Hold” order state is key.&lt;/p&gt; &lt;p&gt;In conclusion, start with some repro steps.&amp;nbsp; Question each of your steps until you narrow them down to only the required data.&amp;nbsp; Then add any notes to aid the reader if necessary, being careful to offset those notes from the core steps.&amp;nbsp; That’s what I do.&amp;nbsp; What’s your approach?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/pjFej8CkCRo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/pjFej8CkCRo/handling-non-required-data-in-bug.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>2</thr:total><feedburner:origLink>http://www.testthisblog.com/2012/12/handling-non-required-data-in-bug.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-3445921977166710371</guid><pubDate>Tue, 27 Nov 2012 18:01:00 +0000</pubDate><atom:updated>2012-11-27T16:57:57.842-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bugs</category><title>Handling Non-Required Data in Bug Reports – Part 1</title><description>&lt;p&gt;Congratulations, you just found a bug in an office supply commerce application!&amp;nbsp; It appears that any time you submit an order with more than one line item, an “object reference not found” error is thrown.&amp;nbsp; Cool!&amp;nbsp; Here are the repro steps you logged in the bug report:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;&lt;em&gt;Create a new order.&lt;/em&gt; &lt;/strong&gt; &lt;li&gt;&lt;strong&gt;&lt;em&gt;Add Pencils to the new order.&lt;/em&gt; &lt;/strong&gt; &lt;li&gt;&lt;strong&gt;&lt;em&gt;Add Pens to the new order.&lt;/em&gt; &lt;/strong&gt; &lt;li&gt;&lt;strong&gt;&lt;em&gt;Select UPS for shipping method.&lt;/em&gt; &lt;/strong&gt; &lt;li&gt;&lt;strong&gt;&lt;em&gt;Select Credit Card for payment method.&lt;/em&gt; &lt;/strong&gt; &lt;li&gt;&lt;em&gt;&lt;strong&gt;Submit the new order.&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;em&gt;&lt;strong&gt;Expected Results: No errors are thrown.&lt;br&gt;Actual Results: “Object reference not found” error is thrown.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Those are pretty solid repro steps.&amp;nbsp; Every time one performs them, the Actual Results occur.&amp;nbsp; Nevertheless, do you see any problems with the above repro steps?&lt;/p&gt; &lt;p&gt;Hmmmmm….&lt;/p&gt; &lt;p&gt;What if you depend on just the repro steps to understand the bug?&lt;/p&gt; &lt;p&gt;Does this bug only repro if pens and pencils are ordered, if the UPS shipping method is selected, if the Credit Card payment method is selected?&lt;/p&gt; &lt;p&gt;Those details capture what the tester did, but might they mislead?&amp;nbsp; Anytime you add specific data to your repro steps, you may be implying, to someone, that said data is required to repro the bug (e.g., perhaps the “pens” data in our DB is bad).&amp;nbsp; A more skilled tester may log the bug like this:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;&lt;em&gt;Create a new order.&lt;/em&gt; &lt;/strong&gt; &lt;li&gt;&lt;strong&gt;&lt;em&gt;Add at least two line items to the new order.&lt;/em&gt; &lt;/strong&gt; &lt;li&gt;&lt;strong&gt;&lt;em&gt;Select a shipping method.&lt;/em&gt; &lt;/strong&gt; &lt;li&gt;&lt;strong&gt;&lt;em&gt;Select a payment method.&lt;/em&gt; &lt;/strong&gt; &lt;li&gt;&lt;em&gt;&lt;strong&gt;Submit the new order.&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;em&gt;&lt;/em&gt; Okay, that seems considerably better to me.&amp;nbsp; However, we can still improve it.&amp;nbsp; Is it reasonable to assume the programmers, testers, and business analysts on our project team know how to submit an order?&amp;nbsp; Do they already understand that in order to submit an order, one must specify shipping and payment methods?&amp;nbsp; Yes!&lt;/p&gt; &lt;p&gt;Thus, an even more skilled tester may end up with these repro steps: &lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;&lt;em&gt;Create a new order.&lt;/em&gt; &lt;/strong&gt; &lt;li&gt;&lt;strong&gt;&lt;em&gt;Add at least two line items to the new order.&lt;/em&gt; &lt;/strong&gt; &lt;li&gt;&lt;em&gt;&lt;strong&gt;Submit the new order.&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt; There is nothing extra to cloud our interpretation.&amp;nbsp; The steps look so minimal and easy, anyone could do them!&amp;nbsp; Now that’s a set of repro steps we can be proud of. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/NnDOlFR_ju8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/NnDOlFR_ju8/handling-non-required-data-in-bug.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>9</thr:total><feedburner:origLink>http://www.testthisblog.com/2012/11/handling-non-required-data-in-bug.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-798022759752163530</guid><pubDate>Mon, 19 Nov 2012 18:13:00 +0000</pubDate><atom:updated>2012-11-19T13:13:53.329-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silliness</category><category domain="http://www.blogger.com/atom/ns#">software testing career</category><title>My Daddy Tests Software</title><description>&lt;p&gt;&lt;a href="http://lh6.ggpht.com/-a2F0ssBcmlQ/UKp22AUj6aI/AAAAAAAAIxM/Q2DA-avBpCc/s1600-h/DSC03843%25255B4%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC03843" border="0" alt="DSC03843" src="http://lh4.ggpht.com/-RTQbAjjmzLQ/UKp22vnXspI/AAAAAAAAIxQ/ny4TX7cr5ng/DSC03843_thumb%25255B1%25255D.jpg?imgmax=800" width="476" height="270"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This clearly makes her the coolest kid at daycare.&lt;/p&gt; &lt;p&gt;If I had Josephine 1000 years ago, she would probably have become a software tester like her dad.&amp;nbsp; Back then, trades often remained in the family.&amp;nbsp; But in this era, she can be whatever she wants to be when she grows up.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-1_ddgvVS1cU/UKp23dNmDkI/AAAAAAAAIxY/5Tdkc7Xou-8/s1600-h/DSC03858%25255B7%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC03858" border="0" alt="DSC03858" src="http://lh5.ggpht.com/-5WEe-MfY5ts/UKp236ITmPI/AAAAAAAAIxg/_xKZGCg47wU/DSC03858_thumb%25255B4%25255D.jpg?imgmax=800" width="482" height="854"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I doubt she will become a software tester.&amp;nbsp; However, I will teach her how important software testers are.&amp;nbsp; Josie will grow up with Generation Z, a generation that will use software for almost everything.&amp;nbsp; The first appliances she buys will have sophisticated software running them.&amp;nbsp; She will probably be able to see if she needs more eggs by logging in to a virtual version of her refrigerator from work.&amp;nbsp; &lt;/p&gt; &lt;p&gt;And why do you think that software will work?&amp;nbsp; Because of testers!&lt;/p&gt; &lt;p&gt;Josie will be able to process information, herself, at lightning speeds.&amp;nbsp; So I figure, if I start early enough, she can start making suggestions to improve the way we test.&amp;nbsp; &lt;/p&gt; &lt;p&gt;But first she has to learn to talk.&lt;/p&gt; &lt;p&gt;Do your kids appreciate your testing job?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/YR3thOFPdZ8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/YR3thOFPdZ8/my-daddy-tests-software.html</link><author>noreply@blogger.com (Eric Jacobson)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-RTQbAjjmzLQ/UKp22vnXspI/AAAAAAAAIxQ/ny4TX7cr5ng/s72-c/DSC03843_thumb%25255B1%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://www.testthisblog.com/2012/11/my-daddy-tests-software.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-5564637541974878880</guid><pubDate>Fri, 26 Oct 2012 16:59:00 +0000</pubDate><atom:updated>2012-10-29T12:32:33.574-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Presentations</category><category domain="http://www.blogger.com/atom/ns#">Testing Related Ideas</category><title>What Makes Software Cool?</title><description>&lt;p&gt;For most of us, testing for “coolness” is not at the top of our quality list.&amp;nbsp; Our users don’t have to buy what we test.&amp;nbsp; Instead, they get forced to use it by their employer.&amp;nbsp; Nevertheless, coolness can’t hurt.&amp;nbsp; &lt;/p&gt; &lt;p&gt;As far as testing for it…good luck.&amp;nbsp; It does not appear to be as straightforward as some may think.&lt;/p&gt; &lt;p&gt;I attended a mini-UX Conference earlier this week and saw Karen Holtzblatt, CEO and founder of &lt;a href="http://incontextdesign.com/"&gt;InContext&lt;/a&gt;, speak.&amp;nbsp; Her keynote was the highlight of the conference for me, mostly because she was fun to watch.&amp;nbsp; She described the findings of 90 interviews and 2000 survey results, where her company asked people to show them “cool” things and explain why they considered them cool.&lt;/p&gt; &lt;p&gt;Her conclusion was that software aesthetics are way less important than the following four aspects:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Accomplishments&lt;/strong&gt; – When using your software, people need to feel a sense of accomplishment without disrupting the momentum of their lives.&amp;nbsp; They need to feel like they are getting something done that was otherwise difficult.&amp;nbsp; They need to do this without giving up any part of their life.&amp;nbsp; Example: Can they accomplish something while waiting in line?&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Connection&lt;/strong&gt; – When using your software, they should be motivated to connect with people they actually care about (e.g., not Facebook friends).&amp;nbsp; These connections should be enriched in some manner.&amp;nbsp; Example: Were they able to share it with Mom?&amp;nbsp; Did they talk about it over Thanksgiving dinner?&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Identity&lt;/strong&gt; - When using your software, they should feel like they’re not alone.&amp;nbsp; They should be asking themselves, “Who am I?”, “Do I fit in with these other people?”.&amp;nbsp; They should be able to share their identity with joy.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Sensation&lt;/strong&gt; – When using your software, they should experience a core sensory pleasure.&amp;nbsp; Examples: Can they interact with it in a fresh way via some new interface?&amp;nbsp; Can they see or hear something delightful?&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Here are a few other notes I took:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Modern users have no tolerance for anything but the most amazing experience.&lt;/li&gt; &lt;li&gt;The app should help them get from thought to action, nothing in between.&lt;/li&gt; &lt;li&gt;Users expect software to gather all the data they need and think for them.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;I guess maybe I’ll think twice the next time I feel like saying, “just publish the user procedures, they’ll get it eventually”.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/iNsgSfBtotc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/iNsgSfBtotc/what-makes-software-cool.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>2</thr:total><feedburner:origLink>http://www.testthisblog.com/2012/10/what-makes-software-cool.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-375864801493281212</guid><pubDate>Mon, 15 Oct 2012 17:19:00 +0000</pubDate><atom:updated>2012-10-16T12:49:08.796-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Lightning Talks</category><category domain="http://www.blogger.com/atom/ns#">Performance Testing</category><category domain="http://www.blogger.com/atom/ns#">language</category><title>Performance Testing Primer</title><description>&lt;p&gt;Last week we had an awesome Tester Lightning Talk session here at my company.&amp;nbsp; Topics included:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Mind Maps&lt;/li&gt; &lt;li&gt;Cross-Browser Test Emulation&lt;/li&gt; &lt;li&gt;How to Bribe Your Developers&lt;/li&gt; &lt;li&gt;Performance Testing Defined&lt;/li&gt; &lt;li&gt;Managing Multiple Agile Projects&lt;/li&gt; &lt;li&gt;Integration Testing Sans Personal Pronouns&lt;/li&gt; &lt;li&gt;Turning VSTS Test Results Files Into Test Reports&lt;/li&gt; &lt;li&gt;Getting Back to Work After Leave&lt;/li&gt; &lt;li&gt;Black Swans And Why Testers Should Care&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The “Performance Testing Defined” talk inspired me to put my own twist on it and blog.&amp;nbsp; Here goes…&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-Z3XJefCMH9w/UHxFmIEZbAI/AAAAAAAAIpM/o0AHqndAFuk/s1600-h/PerformanceTestUmbrella%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="PerformanceTestUmbrella" border="0" alt="PerformanceTestUmbrella" src="http://lh4.ggpht.com/-9y0P9HPDEes/UHxFm7KcDnI/AAAAAAAAIpU/mI7a_iKn-nw/PerformanceTestUmbrella_thumb%25255B2%25255D.png?imgmax=800" width="447" height="337"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The terms in the above graphic are often misused and interchanged.&amp;nbsp; I will paraphrase from my lightning talk notes:&lt;/p&gt;&lt;strong&gt;Baseline Testing&lt;/strong&gt; – Less users than we expect in prod.&amp;nbsp; This is like when manual testers perform a user scenario and use a stopwatch to time it.&amp;nbsp; It could also be an automated load test where we are using less than the expected number of users to generate load.&lt;br&gt;&lt;strong&gt;Load Testing&lt;/strong&gt; – # of users we expect in prod.&amp;nbsp; Real-world scenario.&amp;nbsp; Realistic.&lt;br&gt;&lt;strong&gt;Stress Testing&lt;/strong&gt; – More users than we expect in prod. Obscene amount of users.&amp;nbsp; Used to determine the breaking point.&amp;nbsp; After said test, the tester will be able to say “With more than 2000 users, the system starts to drag.&amp;nbsp; With 5000 users, the system crashes.”&lt;br&gt;&lt;strong&gt;Stability Testing&lt;/strong&gt; – Run the test continuously over a period of time (e.g., 24 hours, 1 week) to see if something happens.&amp;nbsp; For example, you may find a memory leak.&lt;br&gt;&lt;strong&gt;Spike Testing&lt;/strong&gt; – Think TicketMaster.&amp;nbsp; What happens to your system when it suddenly jumps from 100 simultaneous users to 5000 simultaneous users for a short period of time? &lt;p&gt;There.&amp;nbsp; Now you can talk like a performance tester and help your team discuss their needs.&amp;nbsp; &lt;/p&gt; &lt;p&gt;As far as building these tests, at the most basic level, you really only need one &lt;a href="http://www.developsense.com/blog/2009/08/testing-vs-checking/"&gt;check&lt;/a&gt; (AKA automated test).&amp;nbsp; Said check should simulate something user-like, if possible.&amp;nbsp; In the non-web-based world (which I live in) this check may be one or more service calls.&amp;nbsp; In the non-web-based world, you probably do not want to use an automated check at the UI level; you would need an army of clients to load test.&amp;nbsp; After all, your UI will only have a load of 1 user, right?&amp;nbsp; What you’re concerned with is how the servers handle the load.&amp;nbsp; So your check need only be concerned with the performance before the payload gets handed back to the client.&lt;/p&gt; &lt;p&gt;The check is probably the most challenging part of Performance testing.&amp;nbsp; Once you have your check, the economies of scale begin.&amp;nbsp; You can use that same check as the guts for most of your performance testing.&amp;nbsp; The main variables in each are user load and duration.&lt;/p&gt; &lt;p&gt;&lt;em&gt;Warning: I’m certainly an amateur when it comes to performance testing.&amp;nbsp; Please chime in with your corrections and suggestions.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/yLr7PgXLiOc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/yLr7PgXLiOc/performance-testing-primer.html</link><author>noreply@blogger.com (Eric Jacobson)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-9y0P9HPDEes/UHxFm7KcDnI/AAAAAAAAIpU/mI7a_iKn-nw/s72-c/PerformanceTestUmbrella_thumb%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://www.testthisblog.com/2012/10/performance-testing-primer.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-3015744048583027185</guid><pubDate>Thu, 27 Sep 2012 17:21:00 +0000</pubDate><atom:updated>2012-09-27T13:21:43.814-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silliness</category><category domain="http://www.blogger.com/atom/ns#">testing metaphor</category><title>Testers Are Like Fact Checkers</title><description>&lt;p&gt;Per one of my favorite podcasts, WNYC’s &lt;em&gt;&lt;a href="http://www.onthemedia.org/podcast/"&gt;On the Media&lt;/a&gt;&lt;/em&gt;, journalists are finding it increasingly more difficult to check facts at a pace that keeps up with modern news coverage.&amp;nbsp; To be successful, they need dedicated fact checkers.&amp;nbsp;&amp;nbsp; Seem familiar yet?&lt;/p&gt; &lt;p&gt;Journalists depend on these fact checkers to keep them out of trouble.&amp;nbsp; And fact checkers need to have their own skill sets, allowing them to focus on fact checking.&amp;nbsp; Fact checkers have to be creative and use various tricks, like only following trustworthy people on Twitter and speaking different languages to understand the broader picture.&amp;nbsp; How about now, seem familiar?&lt;/p&gt; &lt;p&gt;Okay, try this:&amp;nbsp; &lt;a href="http://www.poynter.org/author/craigsilverman/"&gt;Craig Silverman&lt;/a&gt;, founder of &lt;a href="http://www.regrettheerror.com/"&gt;Regret the Error&lt;/a&gt;, a media error reporting blog, said “typically people only notice fact checkers if some terrible mistake has been made”.&amp;nbsp; Now it seems familiar, right?&lt;/p&gt; &lt;p&gt;The audience of fact checkers or software testers has no idea how many errors were found before it was released.&amp;nbsp; They only know what wasn’t found.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Sometimes I have a revenge fantasy that goes something like this: &lt;/p&gt; &lt;p&gt;&lt;em&gt;If a user finds a bug and says, “that’s so obvious, why didn’t they catch this”, their software will immediately revert back to the untested version.&amp;nbsp; &lt;/em&gt;&lt;/p&gt; &lt;p&gt;…Maybe some tester love will start to flow then.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/7wsHjcF1eL4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/7wsHjcF1eL4/testers-are-like-fact-checkers.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>0</thr:total><feedburner:origLink>http://www.testthisblog.com/2012/09/testers-are-like-fact-checkers.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-4532188176086828050</guid><pubDate>Mon, 10 Sep 2012 16:53:00 +0000</pubDate><atom:updated>2012-09-10T13:18:38.887-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Kanban</category><title>What I Love About Kanban As A Tester #5</title><description>&lt;p&gt;&lt;em&gt;There’s no incentive to look the other way when we notice bugs at the last minute.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;We are planning to release a HUGE feature to production tomorrow.&amp;nbsp; Ooops!&amp;nbsp; Wouldn’t you know it…we found more bugs.&lt;/p&gt; &lt;p&gt;Back in the dark ages, with Scrum, it’s possible we may have talked ourselves into justifying the release without the bug fixes; “these aren’t terrible…maybe users won’t notice…we can always patch production later”.&lt;/p&gt; &lt;p&gt;But with Kanban, it went something like this:&lt;/p&gt; &lt;p&gt;“…hey, let’s not release tomorrow.&amp;nbsp; Let’s give ourselves an extra day.” &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Nobody has to work late.&lt;/li&gt; &lt;li&gt;No iteration planning needs to be rejiggered.&lt;/li&gt; &lt;li&gt;There’s no set, established maintenance window restricting our flexibility.&lt;/li&gt; &lt;li&gt;Quality did not fall victim to an iteration schedule.&lt;/li&gt; &lt;li&gt;We don’t need to publish any known bugs (i.e., there won’t be any).&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/zBL5a-inKFY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/zBL5a-inKFY/what-i-love-about-kanban-as-tester-5.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>3</thr:total><feedburner:origLink>http://www.testthisblog.com/2012/09/what-i-love-about-kanban-as-tester-5.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8951904624959546499.post-7631646470094175863</guid><pubDate>Wed, 05 Sep 2012 17:13:00 +0000</pubDate><atom:updated>2012-09-05T13:13:53.595-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bugs</category><category domain="http://www.blogger.com/atom/ns#">Personal Excellence</category><category domain="http://www.blogger.com/atom/ns#">Teamwork</category><title>Testing, Everybody’s An Expert in Hindsight</title><description>&lt;p&gt;I just came from an &lt;a href="http://www.testthisblog.com/2012/06/escape-review-meeting-model.html"&gt;Escape Review Meeting&lt;/a&gt;.&amp;nbsp; Or as some like to call it, a “Blame Review Meeting”.&amp;nbsp; I can’t help but feel empathy for one of the testers who felt a bit…blamed.&lt;/p&gt; &lt;p&gt;With each production bug, we ask, “Could we do something to catch bugs of this nature?”.&amp;nbsp; The System 1 response is “no, way too difficult to expect a test to have caught it”.&amp;nbsp; But after 5 minutes of discussion, the System 2 response emerges, “yes, I can imagine a suite of tests thorough enough to have caught it, we should have tests for all that”.&amp;nbsp; Ouch, this can really start to weigh on the poor tester.&lt;/p&gt; &lt;p&gt;So what’s a tester to do?&lt;/p&gt; &lt;ol&gt; &lt;li&gt;First, consider meekness.&amp;nbsp; As counterintuitive as it seems, I believe defending your test approach is not going to win respect.&amp;nbsp; IMO, there is always room for improvement.&amp;nbsp; People respect those who are open to criticism and new ideas.&lt;/li&gt; &lt;li&gt;Second, entertain the advice but don’t promise the world.&amp;nbsp; Tell them about the Orange Juice Test (see below).&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The Orange Juice Test is from Jerry Weinberg’s book, &lt;em&gt;The Secrets of Consulting&lt;/em&gt;.&amp;nbsp; I’ll paraphrase it:&lt;/p&gt; &lt;p&gt;A client asked three different hotels to supply said client with 700 glasses of fresh squeezed orange juice tomorrow morning, served at the same time.&amp;nbsp; Hotel #1 said “there’s no way”.&amp;nbsp; Hotel #2 said “no problem”.&amp;nbsp; Hotel #3 said “we can do that, but here’s what it’s going to cost you”.&amp;nbsp; The client didn’t &lt;em&gt;really&lt;/em&gt; want orange juice.&amp;nbsp; They picked Hotel #3.&lt;/p&gt; &lt;p&gt;If the team wants you to take on new test responsibilities or coverage areas, there is probably a cost.&amp;nbsp; What are you going to give up?&amp;nbsp; Speed?&amp;nbsp; Other test coverage?&amp;nbsp; Your kids?&amp;nbsp; Make the costs clear, let the team decide, and there should be no additional pain on your part.&lt;/p&gt; &lt;p&gt;Remember, &lt;a href="http://www.testthisblog.com/2010/10/youre-tester-relax.html"&gt;you’re a tester, relax&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EricJacobsonSoftwareTestingBlog/~4/JZA1rsCxbck" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/EricJacobsonSoftwareTestingBlog/~3/JZA1rsCxbck/testing-everybodys-expert-in-hindsight.html</link><author>noreply@blogger.com (Eric Jacobson)</author><thr:total>0</thr:total><feedburner:origLink>http://www.testthisblog.com/2012/09/testing-everybodys-expert-in-hindsight.html</feedburner:origLink></item></channel></rss>
