<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' 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'><id>tag:blogger.com,1999:blog-8495615183577355000</id><updated>2024-08-29T22:47:33.967-07:00</updated><title type='text'>Welcome to Testing World</title><subtitle type='html'>Any things for testing.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-4683146648088238178</id><published>2013-03-25T03:59:00.002-07:00</published><updated>2013-03-25T03:59:18.615-07:00</updated><title type='text'>6 Testing Mistakes to Avoid Like the Plague</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background-color: white; background-position: initial initial; background-repeat: initial initial; margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 17.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;a href=&quot;http://blog.utest.com/6-testing-mistakes-to-avoid-like-the-plague/2013/02/&quot;&gt;&lt;span style=&quot;color: #00a8cc; mso-bidi-font-size: 11.0pt; text-decoration: none; text-underline: none;&quot;&gt;6 Testing Mistakes to Avoid Like the Plague&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;“It’s okay to make
mistakes,” they’ll tell you. “As long as you learn from your mistakes.” Not the
worst advice you could get, but a wiser person would tell you that it’s far
better to&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;learn from someone
else’s mistakes&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;. Wouldn’t you agree?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;If so, you’re in luck, because organizations all over the world
continue to make the same&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;software testing
mistakes&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;over and over again –
all so that&amp;nbsp;you don’t have to.&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;While there are far too many to list here, we wanted to share a
few of the more common gaffes. Here they are, in no particular order:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Mistake #1: Testing too late&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;How do you know if you’ve waited too long to test your apps? One
sign would be if users are publically complaining via social media about
defects they found on their own. When it comes to quality, the sooner you can
involve the test team, the better off you are going to be. As you’ll see
throughout this post, many of the great testing blunders occur for this very
reason. Teams that see testing as the “last line of defense” not only
misunderstand the role of QA, but they put themselves and their business in
dangerous territory&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://www.exampler.com/testing-com/writings/classic/mistakes.html&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: windowtext; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; text-decoration: none; text-underline: none;&quot;&gt;Brian Marick&lt;/span&gt;&lt;span style=&quot;color: #00a8cc; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;explains the advantages of testing early:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Tests designed before coding begins can improve quality. They
inform the developer of the kinds of tests that will be run, including the
special cases that will be checked. The developer can use that information
while thinking about the design, during design inspections, and in his own
developer testing. Early test design can do more than prevent coding bugs.&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Mistake #2: Testing with amateurs&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;In an ideal world, every testing project would have two types of
experts: a testing expert and a domain expert. The reasons for having the
testing expert on hand should be obvious (to readers of this blog anyway). The
great testers understand, regardless of the product, where flaws and
vulnerabilities are likely to be found. They are, as James Bach has said,&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;professional skeptics&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;. Domain experts on the other hand might not
know much about testing per se, but they will immediately pick up on
inconsistencies and shortcomings in the product from a feature/functionality
perspective. Unfortunately, many companies are making the mistake – the BIG
mistake – of having neither a testing expert nor a domain expert on their team.
Don’t be one of them.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Mistake #3: Testing without a scope&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;“Just look for bugs and tell me what you find.” Famous last
words! While this type of “improv” testing can often yield quality results, it
should never be standard operating procedure. Unfortunately it is inside many
companies.&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;A note to testers&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;: If this is the direction you’re asked to go
in, here is some&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 9pt;&quot;&gt;&lt;span style=&quot;color: #444444;&quot;&gt;good advice from Jon
Bach&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;There are *always* requirements, but they aren’t always written.
They are both implicit and explicit.&amp;nbsp; Some are hidden, some may be
obvious.&amp;nbsp; Some take time to emerge, others hit you right away.&amp;nbsp; You
find them and they find you. You’ll know you found one when you sense a user
has an unmet need.&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Techniques for testing without requirements:&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: #4d4d4d; line-height: 16.5pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in; text-align: justify;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Ask
     stupid questions&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: #4d4d4d; line-height: 16.5pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in; text-align: justify;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Read
     the FAQ&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: #4d4d4d; line-height: 16.5pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in; text-align: justify;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Look
     at competing products&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: #4d4d4d; line-height: 16.5pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in; text-align: justify;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Read
     out-of-date documents&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: #4d4d4d; line-height: 16.5pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in; text-align: justify;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Invite
     a developer to the whiteboard, then diagram your assumptions of the
     architecture or some states&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Testing is an active search, not just for bugs, but for
requirements.&amp;nbsp; Approach your requirements-gathering the same way you
approach testing.&amp;nbsp; You have to go find the bugs – they often won’t reveal
themselves to you on their own.&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Mistake #4: Testing “one and done”&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;A lot of time and energy goes into a software launch. So it’s
only natural to relax a bit when the application is released to users. It may
seem as though all is said and done from a testing perspective, but it ain’t.
As we’ve seen time and again, many of the more serious bugs and issues crop up
well after a product launches, often times through no fault of the engineering
team. Maybe the application isn’t synching with a recently updated third party
app. Maybe a browser setting changed. The list is endless. Whatever the
circumstance, companies would do well to avoid the mistake of failing to run
regression tests.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Mistake #5: Testing in a controlled
environment&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;These days, users are likely to consume your application under
all sorts of various conditions; an endless combination of devices, operating
systems, browsers, carriers and locations. Why then do so many companies only
test their applications within the confines of a highly controlled test lab?
Why are they not moving a portion of their testing into the real world? There
was a time when companies could get away with 100% on-site testing – and many
did. Unfortunately, many continue this practice (old habits die hard, after
all) resulting in production&amp;nbsp;bugs that could have easily been found by&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;testers in-the-wild&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;.&lt;span style=&quot;color: #4d4d4d;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Mistake #6: Testing too fast/slow&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;The Agile testers can’t seem to catch their breath, while the
waterfall testers look like they’re about to die of boredom. Our last testing
mistake has to do with the pace of testing – specifically, why many organizations
can’t seem to keep it consistent. Much of the problem (again) boils down to the
misperception of QA. When testing is seen as the last step in a long process
(usually with a looming deadline) it’s natural for testers to feel rushed. When
the role of QA is properly defined and agreed upon, testing will never be
rushed and it will never slow to a crawl. Instead, it will become an integral
part of the organization, not merely a department being waited on.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 16.5pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/4683146648088238178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2013/03/6-testing-mistakes-to-avoid-like-plague.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/4683146648088238178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/4683146648088238178'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2013/03/6-testing-mistakes-to-avoid-like-plague.html' title='6 Testing Mistakes to Avoid Like the Plague'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-9089526244394720699</id><published>2012-06-04T04:33:00.001-07:00</published><updated>2012-06-04T04:33:22.561-07:00</updated><title type='text'>http://searchsoftwarequality.techtarget.com/tip/Scrum-vs-Kanban-Comparing-new-approaches-in-software-development</title><content type='html'>&lt;a href=&quot;http://searchsoftwarequality.techtarget.com/tip/Scrum-vs-Kanban-Comparing-new-approaches-in-software-development#.T8ycnQvITCc.blogger&quot;&gt;http://searchsoftwarequality.techtarget.com/tip/Scrum-vs-Kanban-Comparing-new-approaches-in-software-development&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/9089526244394720699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/06/httpsearchsoftwarequalitytechtargetcomt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/9089526244394720699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/9089526244394720699'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/06/httpsearchsoftwarequalitytechtargetcomt.html' title='http://searchsoftwarequality.techtarget.com/tip/Scrum-vs-Kanban-Comparing-new-approaches-in-software-development'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-4211676157364322764</id><published>2012-02-29T04:07:00.000-08:00</published><updated>2012-02-29T04:07:56.583-08:00</updated><title type='text'>Ad-hoc Testing: An important Process of Software Testing</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Most of the software professional doesn’t like the term called “Ad-hoc Testing” because it implies a lack of testing process or purpose, but this really plays a very important role in Software Testing Life Cycle. “Ad- hoc testing” is a process which comes under Black Box testing and is the least formal method of testing. During Ad-hoc testing, testers doesn’t need to execute test cases, not bounded to test the functionality assigned to him/her, here they just use their intuition or experience. The tester has to find bugs without any proper planning and documentation solely based on just his intuition. If carried out by a skilled tester, it can often find problems that are not caught in regular testing cycle. Sometimes, if testing occurs very late in the development cycle, this will be the only kind of testing that can be performed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;When I was a tester, I was told to focus on the functionality assigned to me and make sure that customer should not find any issues while using the functionality, the term called “FUNCTIONALITY OWNER”. But I wanted to do something different as I got bore to perform the same activities for every product testing along with their release cycle, so I started doing testing of the entire product instead of testing only those functionality assigned to me just after 2 rounds of System Integration Testing using my knowledge and without using any test cases. The result was excellent. I found good issues which were with the product from the very beginning. After analysing those issues it was found that those information was missing in the requirement document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Based upon my findings, I approached to my Test Manager along with my test lead and try to convince him that if the entire testing team will perform one round of Ad-hoc testing just after finishing the System Integration Testing cycle then there is a chance to get more issue which we might miss during the regular testing cycle. It was very hard to convince him as in the Testing Approach / Strategy document; no information about the Ad-hoc testing cycle was mentioned. We were already completed 2 rounds of System Integration Testing cycle and waiting for the new release / build to perform regression testing followed by Acceptance Testing by Product Management team. Test Manager also wanted to have one round of Ad-hoc testing based upon the issue found by me so he has taken those issues to the Steering Committee meeting and tried to convince the entire stake holders and requested to include one week on Ad-hoc testing. Somehow we got the approval from Steering Committee to include one round of Ad-hoc testing and in this way, we the entire testing team has been asked to perform one round of Ad-hoc testing based upon our testing skills, knowledge of the product and intuition only. After one week of Ad-hoc testing, the result was:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: 54.0pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;!--[endif]--&gt;20% Defects (Showstoppers and High priority) of SIT Cycle 1 and 2 has been found.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 54.0pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;!--[endif]--&gt;10% Defects (Medium priority) of SIT Cycle 1 and 2 has been found.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA0RzJqj3taP9kwNfXZ9uFqEk2K5YfcYv2R2TuNBBrGkueFQe38_hnNAV0odUV58omW4EdtmOQNourN80pFU7YobUhsHw6oawh-jmS2T2C_9w9Sd5HoJ9Fi6gJbgy-7QqOnaG7k_bw6hFR/s1600/met.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA0RzJqj3taP9kwNfXZ9uFqEk2K5YfcYv2R2TuNBBrGkueFQe38_hnNAV0odUV58omW4EdtmOQNourN80pFU7YobUhsHw6oawh-jmS2T2C_9w9Sd5HoJ9Fi6gJbgy-7QqOnaG7k_bw6hFR/s320/met.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpLast&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype
 id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; o:spt=&quot;75&quot; o:preferrelative=&quot;t&quot;
 path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;  &lt;v:stroke joinstyle=&quot;miter&quot;/&gt;  &lt;v:formulas&gt;   &lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;/&gt;   &lt;v:f eqn=&quot;sum @0 1 0&quot;/&gt;   &lt;v:f eqn=&quot;sum 0 0 @1&quot;/&gt;   &lt;v:f eqn=&quot;prod @2 1 2&quot;/&gt;   &lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;/&gt;   &lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;/&gt;   &lt;v:f eqn=&quot;sum @0 0 1&quot;/&gt;   &lt;v:f eqn=&quot;prod @6 1 2&quot;/&gt;   &lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;/&gt;   &lt;v:f eqn=&quot;sum @8 21600 0&quot;/&gt;   &lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;/&gt;   &lt;v:f eqn=&quot;sum @10 21600 0&quot;/&gt;  &lt;/v:formulas&gt;  &lt;v:path o:extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot;/&gt;  &lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;t&quot;/&gt; &lt;/v:shapetype&gt;&lt;v:shape id=&quot;Chart_x0020_1&quot; o:spid=&quot;_x0000_i1025&quot; type=&quot;#_x0000_t75&quot;
 style=&#39;width:453pt;height:254.25pt;visibility:visible&#39; o:gfxdata=&quot;UEsDBBQABgAIAAAAIQCDte0/HAEAAC4DAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbKxSy07DMBC8
I/EPlq8ocdoDQqhJDzyOwKF8wGJvEquObdluaf+ezevCIQjoxU/tzOzsbLanzrAjhqidLfkqLzhD
K53Stin5++45u+MsJrAKjLNY8jNGvq2urza7s8fIqNrGkrcp+Xshomyxg5g7j5Z+ahc6SHQNjfAg
99CgWBfFrZDOJrQpSz0GrzavJCBohewNQnqBjniENNp/OAhKyJZe47itcsLl7GEE6DWUHLw3WkKi
DsTRqm/smatrLVE5eeiIM1cBPqm5zuQD7k2PJ36SMBVFMR3Wl5YRWyArZjGPWMPBJPZ0IpvGyQQ0
8Xd9T47nVDl4E1vtlxiWjf2TTReb1mzMclASpQ/FsP6feYCZecWQ9uoLAAD//wMAUEsDBBQABgAI
AAAAIQCtMD/xwQAAADIBAAALAAAAX3JlbHMvLnJlbHOEj80KwjAQhO+C7xD2btN6EJGmvYjgVfQB
1mTbBtskZOPf25uLoCB4m2XYb2bq9jGN4kaRrXcKqqIEQU57Y12v4HTcLdYgOKEzOHpHCp7E0Dbz
WX2gEVN+4sEGFpniWMGQUthIyXqgCbnwgVx2Oh8nTPmMvQyoL9iTXJblSsZPBjRfTLE3CuLeVCCO
z5CT/7N911lNW6+vE7n0I0KaiPe8LCMx9pQU6NGGs8do3ha/RVXk5iCbWn4tbV4AAAD//wMAUEsD
BBQABgAIAAAAIQDcMb0wcwIAAM4LAAAfAAAAY2xpcGJvYXJkL2RyYXdpbmdzL2RyYXdpbmcyLnht
bOxWTY+bMBD9K5bvXb4hQSHStpV6qaoo0f4A15iAamxkvFnSX9+xDbuJssohQT2FCzB4Zt48j9+w
ovlrz9SuJh3r0dBy0ee0wLXWXe55Pa1ZS/on2TEB3yqpWqLhVe29UpG3Ruxb7oW+n3q0Jkrj9YqW
KleM75q/7FnQWqopZqlujfrdZRqDV0q2Ls2w9p/SKEyylWeyDs56BOsyyJLYWY9rd/9w0/LEPU0X
yaV7lETn3pNP36GWUCULjJFmg+aN+APPLqA47LqNcs/012GjUFMWOMRIkJYVeNvsa42elZJvKMDe
+zrjBG+2htMQvQ1G8qFS7UgiuYHCljQCAJJcVhUaChylYZIsYoyOgG2ZLBdBasCQHMpBFBYEyzTO
UowoLEiycGmxeg6HWdepXv9g8m5MyAQqsDK0WFYsSnL42WtDx0eikRvHh9npXh85M1C42DIoyjbt
zdzALkHVoc1u+5194wodCC8woZQJHbhPNSmZMyc+XIY0APnuYd8sIIOsajifDdsIwJzFS2wOxpjP
7mNVMapnS+5fI8YlZ1NGW7kU8yVvGyHVZwA47MpYucs3NYlrDdMlevgqSzj+JP8NdziNd/YJpIOO
6/XOpJglWHdvFLvdotwQRbZQICdiX2AmvrzsRnK6kZaJCysy/WQ902mnR2emER6QeYPu2IFwTbr9
aPGJdIdZMFmvS7cfJ/Go0ifKHwVZmM6m3dGk3S/dKNyhIdZ0Fwj8fxZuGHQw1qxuB35gRpzB8qHb
MXxfOtkOsiBOJoUy88Osm1m3X7uHaF/8Bdlh6wbKQ7RPhqObmw/Rnv7F2Gyi7Z3+v6//AQAA//8D
AFBLAwQUAAYACAAAACEArK5HincBAAAZBAAAHwAAAGNsaXBib2FyZC9kcmF3aW5ncy9kcmF3aW5n
MS54bWykU9FOwjAUfTfxH5q+yxgEJQuDBxDjC5KoH3DTdVvj1i1tmePvvS0lm9NEAy9L1/aec+45
t4tVWxak4UqLSsY0HI0p4ZJViZBZTN/ftndzSrQBmUBRSR7TI9d0tby9WUCUKahzwQgiSB1BTHNj
6igINMt5CXpU1VziWVqpEgz+qixIFHwiclkEk/H4PihBSLrsoDZggByUuACqqNgHT9YgG9AIWbCo
v+M1Fux6ZIhk86Tq13qvrHK2a/aKiCSm6JyEEi2igT/w1/A3GFRlHUCbqtLer9KUtA7laL8Og7eG
MNycPUzDWYgEDM+mk8lsHoaeJX/5pY7lj39UoqATMS56YnykW4WNWFG2VRey2xl2HJ47XuegDDlL
2g2Kuv6HUJ7OMvnlFRPArAiMnkVu5SO/JPETkgdQ/xkZDE8wvqnYoeTSnIZb8QIMviqdi1pToiI7
JOo5cTY5250dtmM3ID0zrpmJ78l2jiPH4FH0WX+o+AIAAP//AwBQSwMEFAAGAAgAAAAhAFLMNS4H
AQAA7AEAACYAAABjbGlwYm9hcmQvY2hhcnRzL19yZWxzL2NoYXJ0MS54bWwucmVsc6yRTUsDMRCG
74L/IeRust2DSGm2B6tQRAS7ve1lTGY/bDYJmVS3/94oFC0UevE2w8y887wzi+U0WvaBkQbvFJ+J
gjN02pvBdYpv68ebO84ogTNgvUPFD0h8WV1fLV7RQspD1A+BWFZxpHifUphLSbrHEUj4gC5XWh9H
SDmNnQygd9ChLIviVsa/Grw60WRro3hcm5Kz+hDy5svavm0HjSuv9yO6dGaF1D3EtCWMmx5CdsJq
iB0mxYWQJsJndk3HoBQZncvzVLP/pPIWX97eUadfnnawmA8p7+fNNy41T/sR4qZZIe2SD43BNveL
ydJ0HHr2Jl/pYUoYHfyAy5MfVV8AAAD//wMAUEsDBBQABgAIAAAAIQDhUTcfzwYAAOYbAAAaAAAA
Y2xpcGJvYXJkL3RoZW1lL3RoZW1lMS54bWzsWc1v3EQUvyPxP4x8b7PfzUbdVNnNbgNt2ijZFvU4
a8/a04w91sxs0r2h9oiEhCiIA5W4cUBApVbiUv6aQBEUqf8Cb2ZsryfrkLSNoILmkLWff/O+35uv
y1fuxQwdECEpT3pe/WLNQyTxeUCTsOfdGo8urHpIKpwEmPGE9Lw5kd6V9fffu4zXfEbTCcciGEck
JggYJXIN97xIqXRtZUX6QMbyIk9JAt+mXMRYwasIVwKBD0FAzFYatVpnJcY08daBo9KMhgz+JUpq
gs/EnmZDUIJjkH5zOqU+Mdhgv64Rci4HTKADzHoe8Az44ZjcUx5iWCr40PNq5s9bWb+8gteyQUyd
MLY0bmT+snHZgGC/YWSKcFIIrY9a3UubBX8DYGoZNxwOB8N6wc8AsO+DpVaXMs/WaLXez3mWQPZx
mfeg1q61XHyJf3NJ526/3293M10sUwOyj60l/Gqt09poOHgDsvj2Er7V3xgMOg7egCy+s4QfXep2
Wi7egCJGk/0ltA7oaJRxLyBTzrYq4asAX61l8AUKsqHILi1iyhN1Uq7F+C4XIwBoIMOKJkjNUzLF
PuTkAMcTQbEWgNcILn2xJF8ukbQsJH1BU9XzPkxx4pUgL599//LZE3R0/+nR/Z+OHjw4uv+jZeSM
2sJJWB714tvP/nz0MfrjyTcvHn5RjZdl/K8/fPLLz59XA6F8FuY9//Lxb08fP//q09+/e1gB3xB4
UoaPaUwkukEO0S6PwTDjFVdzMhGvNmIcYVoesZGEEidYS6ngP1SRg74xxyyLjqNHn7gevC2gfVQB
r87uOgrvRWKmaIXka1HsALc5Z30uKr1wTcsquXk8S8Jq4WJWxu1ifFAle4ATJ77DWQp9M09Lx/BB
RBw1dxhOFA5JQhTS3/g+IRXW3aHU8es29QWXfKrQHYr6mFa6ZEwnTjYtBm3RGOIyr7IZ4u34Zvs2
6nNWZfUmOXCRUBWYVSg/Jsxx41U8UziuYjnGMSs7/DpWUZWSe3Phl3FDqSDSIWEcDQMiZdWYmwLs
LQX9GoaOVRn2bTaPXaRQdL+K53XMeRm5yfcHEY7TKuweTaIy9gO5DymK0Q5XVfBt7laIfoc44OTE
cN+mxAn36d3gFg0dlRYJor/MhI4ltGqnA8c0+bt2zCj0Y5sD59eOoQE+//pRRWa9rY14A+akqkrY
OtZ+T8Idb7oDLgL69vfcTTxLdgik+fLE867lvmu53n++5Z5Uz2dttIveCm1XrxvsotgskeMTV8hT
ytiemjNyXZpFsoR5IhgBUY8zO0FS7JjSCB6zvu7gQoHNGCS4+oiqaC/CKSyw655mEsqMdShRyiVs
7Ay5krfGwyJd2W1hW28YbD+QWG3zwJKbmpzvCwo2ZrYJzeYzF9TUDM4qrHkpYwpmv46wulbqzNLq
RjXT6hxphckQw2XTgFh4ExYgCJYt4OUO7MW1aNiYYEYC7Xc79+ZhMVE4zxDJCAcki5G2ezlGdROk
PFfMSQDkTkWM9CbvFK+VpHU12zeQdpYglcW1ThCXR+9NopRn8CJKum6PlSNLysXJEnTY87rtRttD
Pk573hT2tPAYpxB1qdd8mIVwGuQrYdP+1GI2Vb6IZjc3zC2COhxTWL8vGez0gVRItYllZFPDfMpS
gCVaktW/0Qa3npcBNtNfQ4vmKiTDv6YF+NENLZlOia/KwS5RtO/sa9ZK+UwRsRcFh2jCZmIXQ/h1
qoI9AZVwNGE6gn6BczTtbfPJbc5Z0ZVPrwzO0jFLI5y1W12ieSVbuKnjQgfzVlIPbKvU3Rj36qaY
kj8nU8pp/D8zRc8ncFLQDHQEfDiUFRjpeu15XKiIQxdKI+qPBCwcTO+AbIGzWPgMSQUnyOZXkAP9
a2vO8jBlDRs+tUtDJCjMRyoShOxAWzLZdwqzejZ3WZYsY2QyqqSuTK3aE3JA2Fj3wI6e2z0UQaqb
bpK1AYM7nn/ue1ZBk1Avcsr15vSQYu61NfBPr3xsMYNRbh82C5rc/4WKFbOqHW+G53Nv2RD9YbHM
auVVAcJKU0E3K/vXVOEVp1rbsZYsbrRz5SCKyxYDsVgQpXDeg/Q/mP+o8Jm9bdAT6pjvQm9FcNGg
mUHaQFZfsAsPpBukJU5g4WSJNpk0K+vabOmkvZZP1ue80i3kHnO21uws8X5FZxeLM1ecU4vn6ezM
w46vLe1EV0Nkj5cokKb5RsYEpurWaRunaBLWex7c/ECg78ET3B15QGtoWkPT4AkuhGCxZG9xel72
kFPgu6UUmGZOaeaYVk5p5ZR2ToHFWXZfklM60Kn0FQdcsekfD+W3GbCCy24/8qbqXM2t/wUAAP//
AwBQSwMEFAAGAAgAAAAhAFzuk25MBQAAABYAABsAAABjbGlwYm9hcmQvY2hhcnRzL2NoYXJ0MS54
bWzsWE1z4jgQvW/V/gevi0P2ABgDNqECUxkyzKYqmUkNmT3sTcgCvJEtlyQnsL9+Wx+2cWAIw86k
9pAciNWSWq3X/SR1X7xbJ9R5JFzELB25nZbnOiTFLIrT5cj9ej9tDlxHSJRGiLKUjNwNEe678a+/
XOAhXiEuZxnCxAElqRjikbuSMhu22wKvSIJEi2Ukhb4F4wmS0OTLdsTREyhPaNv3vKCtlbhWATpB
QYLitJjPj5nPFosYkyuG84Sk0ljBCUUSEBCrOBPuGDYXIUk6517PeUQUcHHbSkhRujQCkjavPxmh
3oHqlbGkRH+s1S+P8Wp8gYZzFm3uOMxHQyrkTG4o0Y1MSbI7rv5FZPFFj2mXIi3nd9xRi47cckE0
lOPP4DBEqXNFFgRLZyaRzMUFzJVj9QtTlR74LayAD6mNomjDcgnrK0lhb0aZvOQEmS3aAXg4R3yi
XKzE8H0Vc7N3zKjZ+ZKzPANfWjHNhSScRKZTEDADD+Nobbo9I2Y8IlaPlRjDhORfyELNWIxnK0Jk
57fG+0ZX2aml0D9BEFVqRCYnLE+l0Wtdk0kHlhq5nqtGPIIO9iQkyzIIbaXkUW85UwDhYaXMNPTK
8GlNsU4RjMbRNKZUeUjw5XxCreXTqQd/akOA89YwpU1Phvi5mVOhTFEfd0xYjCS36IB5fyJgXhld
MLecg5EGfR8mk4Y/bHxo+C8D0zUr7QBzfe9MNpgSp+OcOb7zRMiD+L0OkYLYwNkp4Cxn+c7ZS5N8
O+kyaq4Ydu6JkCpKzKpnHb3ksxWNH6yHTaNwigUDkFJwpnmyEyeTRldhUgULDCqDxZw9ExaRsadB
02eRbj8PpR3EnGryyP1IUsU6uze//xJkHb1cFXcVqAU+YV0FbLsy3DQKDPTmFSyGVM+5ZTmwxS0r
OcStnkZDYVrR4Thu/REvVzumV0rq7juaU+F50AsAXTgm8+SWRYYbYX+LaYaDb6zbOs12o+r1WNdT
rKvCqApeOLMrlv1I1vX1ubePU8VB5XutQT02dxHq9Fr9oD7odO75O/ealRzinj48TrrXbkkU58mO
8f+ZfVN1p73daBAH+6KrOLFfj1t9xa0qTF6BW8E376uSW5rrh/AZtJ4NOZ1X9jLeutOs5BCvNKtP
4tUNe/rhpPKCqdeZvJHqf0OqQJGqipFXIJX/IqlevK2eaTieUWh9bR9R52G/54XdwFxVdXnoeQMd
ovWED17dlzpjrI+utAiMKLzq1fuR8RgyaZ1Am0dbEqe3aG21bg1E6zITmhtbyhzUsPon5sy1LEQ4
zdPTZQibaSL35gaOYDnH5CZOH0hUlg0S9Dfj9zF+uEX8wSCUQjGlQAA/bKeIKVnLe2b6MGdCXNoE
WjmxcBYUX1QXsWklyiX7i3A7S7W2EksoW8zpJV2mRoaLFBSknxcLQYo82l7/oLpwPWQd+2KgMmLL
tafEgC0jaHg+8jiCeCICkuqt0sRPD4tPrOWwha2kCMf+fUdwKHMTlOaI3ujaimqvIX0hBm4SLa2j
N/uE1rd+qxcGUG4a9MJ+6AeD8EPTviI3Ro3X6vpdfzDoBGHQP/d7Ya9v6VVfG04HU+LRdY6SXd8d
shKi9eiorA6FA1Gpu94TCfUGG4lz07D7sMEGG6iVo8iSpJHClOqv8vyQhiFlPauovNTqMdBQhUhS
Fm7mS/WWOZBhFsO/mWMqgK1N8FnV/tamkHd8sc8R/8AB0Skf3bboBLu9QxxBNbAq/H2daYyKkp7U
a+EhHBSEp4heIYkcDpW2kcuvI5v551AjmK1QBkdE2aVDqrBaF27H/wIAAP//AwBQSwMEFAAGAAgA
AAAhAGcD7obOAAAArAEAACoAAABjbGlwYm9hcmQvZHJhd2luZ3MvX3JlbHMvZHJhd2luZzEueG1s
LnJlbHOskM1qwzAMgO+DvYPRfVbSwxijTi+l0OvoHkA4yg9NbGOpZX37mRbGAoVeepGQhD59aL35
mSdz5ixjDA5qW4Hh4GM7ht7B92H39gFGlEJLUwzs4MICm+b1Zf3FE2lZkmFMYgoliINBNX0iih94
JrExcSiTLuaZtJS5x0T+SD3jqqreMf9nQLNgmn3rIO/bFZjDJZXLj9mx60bP2+hPMwe9cwK1eHEB
Uu5ZHVh769xibYsr4H2N+pkafqCsC41rR/Ca/jxw8ePmFwAA//8DAFBLAQItABQABgAIAAAAIQCD
te0/HAEAAC4DAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAi0AFAAG
AAgAAAAhAK0wP/HBAAAAMgEAAAsAAAAAAAAAAAAAAAAATQEAAF9yZWxzLy5yZWxzUEsBAi0AFAAG
AAgAAAAhANwxvTBzAgAAzgsAAB8AAAAAAAAAAAAAAAAANwIAAGNsaXBib2FyZC9kcmF3aW5ncy9k
cmF3aW5nMi54bWxQSwECLQAUAAYACAAAACEArK5HincBAAAZBAAAHwAAAAAAAAAAAAAAAADnBAAA
Y2xpcGJvYXJkL2RyYXdpbmdzL2RyYXdpbmcxLnhtbFBLAQItABQABgAIAAAAIQBSzDUuBwEAAOwB
AAAmAAAAAAAAAAAAAAAAAJsGAABjbGlwYm9hcmQvY2hhcnRzL19yZWxzL2NoYXJ0MS54bWwucmVs
c1BLAQItABQABgAIAAAAIQDhUTcfzwYAAOYbAAAaAAAAAAAAAAAAAAAAAOYHAABjbGlwYm9hcmQv
dGhlbWUvdGhlbWUxLnhtbFBLAQItABQABgAIAAAAIQBc7pNuTAUAAAAWAAAbAAAAAAAAAAAAAAAA
AO0OAABjbGlwYm9hcmQvY2hhcnRzL2NoYXJ0MS54bWxQSwECLQAUAAYACAAAACEAZwPuhs4AAACs
AQAAKgAAAAAAAAAAAAAAAAByFAAAY2xpcGJvYXJkL2RyYXdpbmdzL19yZWxzL2RyYXdpbmcxLnht
bC5yZWxzUEsFBgAAAAAIAAgAUQIAAIgVAAAAAA==
&quot;&gt;  &lt;v:imagedata src=&quot;file:///C:\Users\KumarS\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png&quot;
  o:title=&quot;&quot; cropbottom=&quot;-26f&quot;/&gt;  &lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;f&quot;/&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;img src=&quot;file:///C:/Users/KumarS/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif&quot; v:shapes=&quot;Chart_x0020_1&quot; /&gt;&lt;!--[endif]--&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;One of the best uses of ad-hoc testing is for discovery. Reading the requirements / specifications Use cases rarely gives you a good sense of how a program actually behaves. Even the user documentation may not capture the “look and feel” of a program. Ad hoc testing can find holes in your test strategy, and can expose relationships between subsystems that would otherwise not be apparent. In this way, it serves as a tool for checking the completeness of your testing. &lt;/span&gt;&lt;b style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;Missing cases can be found and added to your testing arsenal. Finding new tests in this way can also be a sign that you should perform root cause analysis.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Finding new tests in this way can also be a sign that you should perform root cause analysis. Ask yourself or your test team, “What other tests of this class should we be running?” Defects found while doing ad-hoc testing are often examples of entire classes of forgotten test cases. Another use for ad-hoc testing is to determine the priorities for your other testing activities.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;It has also been found that ad-hoc testing can also be used effectively to increase your code coverage. Adding new tests to formal test designs often requires a lot of effort in producing the designs, implementing the tests, and finally determining the improved coverage. A more streamlined approach involves using iterative ad-hoc tests to determine quickly if you are adding to your coverage. If it adds the coverage you’re seeking, then you’ll probably want to add these scenarios to your existing test cases.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;A good ad-hoc tester (Ad hoc testing can be performed effectively and efficiently by the experienced testers) needs to understand the design goals and requirements for these low-level functions. What choices did the development team make, and what were the weaknesses of those choices? As a tester, we are less concerned with the correct choices made during development. Ad-hoc testing can be done as black box testing. However, this means you must check for all the major design patterns that might have been used. This allows you to narrow the testing to many fewer cases.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;An important element of any IT strategy is to ensure deployment of defect free systems. Among other benefits, ad-hoc testing helps minimize significantly the total cost of ownership (TCO) of applications. However, organizations quickly discover that despite their best intentions and efforts, their QA team has hit a ceiling from a defect leakage standpoint. It seems as if an invisible hurdle is preventing the QA team from achieving its true potential - deploying defect free systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Now a day’s ad-hoc testing finds a place during the entire software testing cycle. Early in the project, ad-hoc testing provides breadth to testers’ understanding of the application and helping them more effective and quality test cases, thus aiding in discovery. In the middle of a project, the data obtained helps set priorities and release schedules of the software program / Application. As a project nears the ship date / acceptance testing by business users / product management team, just after completion all of your testing cycles as mentioned in your Test Approach / Strategy document, ad-hoc testing can be used to examine the quality of the application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;A primary goal of ad-hoc testing is to uncover new defects in the product / specification. In the hands of a skilled tester, it can be highly effective at discovering such problems. Regression tests and ad-hoc tests complement each other in remarkable ways. When you find a defect with a regression test, you&#39;ll often need to use ad hoc methods to analyze and isolate the defect, and to narrow down the steps to reproduce it. You may also want to explore “around” the defect to determine if there are related problems. On the other hand, when you find a defect with an ad-hoc test, you&#39;ll probably document it in your defect tracking system, thereby turning it into a regression test, for verification after the defect is fixed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;The major benefits of ad-hoc testing are:&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;&lt;/div&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;background-color: #fefefe; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;No planning and documentation needed. It can be added successfully during beginning of the project, mid or before release of the product.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fefefe; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;The important bugs are found which helps you in discovering missing test cases - can find holes in your original testing strategy that can be incorporated later.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fefefe; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Gives more understanding of how a software application or feature behaves which may not be known by reviewing specification documents or use cases.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fefefe; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Gives better understanding of the testing priorities, for example if an ad hoc test runs very well, you can decide testing in that area can be deferred to the later stage.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fefefe; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Easy to start and Implement.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fefefe; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;It helps to save a lot of precious time. Sometimes it’s after spending valuable time on preparing and explaining tests that the program’s design is changed. With Ad-hoc testing precious time is not wasted on planning and documents.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div style=&quot;text-indent: -24px;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; The success of Ad-hoc testing depends upon the capability of the tester who carries out the test. The tester has to find bugs without any proper planning and documentation solely based on just his / her intuition.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;In my testing carrier, wherever I work, I have always given importance of ad-hoc always put a round of Ad-hoc testing just after completion of System Integration Testing cycle if the new version of product is getting tested. I have also used the same before the regular testing cycle for a brand new product (first version of product) followed by performing the same before sending to product to either release or sending for the acceptance testing by product management team just after finishing the regular testing cycle. I always mentioned 2 type of testing in my Test Strategy / Approach document which are Formal and Less Formal Test like:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; margin-left: 4.9pt; width: 561px;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;   &lt;td colspan=&quot;2&quot; nowrap=&quot;&quot; style=&quot;background: #FAC090; border: solid windowtext 1.0pt; height: 15.75pt; mso-border-bottom-alt: .5pt; mso-border-color-alt: windowtext; mso-border-left-alt: 1.0pt; mso-border-right-alt: .5pt; mso-border-style-alt: solid; mso-border-top-alt: 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 226.0pt;&quot; valign=&quot;bottom&quot; width=&quot;301&quot;&gt;   &lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: center;&quot;&gt;&lt;span style=&quot;color: #002060;&quot;&gt;Formal Test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td colspan=&quot;2&quot; nowrap=&quot;&quot; style=&quot;background: #FAC090; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: solid windowtext 1.0pt; height: 15.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid black 1.0pt; mso-border-top-alt: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 195.0pt;&quot; valign=&quot;bottom&quot; width=&quot;260&quot;&gt;   &lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: center;&quot;&gt;&lt;span style=&quot;color: #002060;&quot;&gt;Less Formal Test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 16.5pt; mso-yfti-irow: 1;&quot;&gt;   &lt;td nowrap=&quot;&quot; style=&quot;background: #FAC090; border-bottom: none; border-left: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; border-top: none; height: 16.5pt; mso-border-left-alt: solid windowtext 1.0pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 177.35pt;&quot; valign=&quot;bottom&quot; width=&quot;236&quot;&gt;   &lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: center;&quot;&gt;&lt;span style=&quot;color: #002060;&quot;&gt;Testing Type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;background: #FAC090; border-right: solid windowtext 1.0pt; border: none; height: 16.5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 48.65pt;&quot; valign=&quot;bottom&quot; width=&quot;65&quot;&gt;   &lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: center;&quot;&gt;&lt;span style=&quot;color: #002060;&quot;&gt;Duration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;background: #FAC090; border-right: solid windowtext 1.0pt; border: none; height: 16.5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 117.8pt;&quot; valign=&quot;bottom&quot; width=&quot;157&quot;&gt;   &lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: center;&quot;&gt;&lt;span style=&quot;color: #002060;&quot;&gt;Testing Type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;background: #FAC090; border-right: solid windowtext 1.0pt; border: none; height: 16.5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.2pt;&quot; valign=&quot;bottom&quot; width=&quot;103&quot;&gt;   &lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: center;&quot;&gt;&lt;span style=&quot;color: #002060;&quot;&gt;Duration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 15.0pt; mso-yfti-irow: 2;&quot;&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border: solid windowtext 1.0pt; height: 15.0pt; mso-border-bottom-alt: .5pt; mso-border-color-alt: windowtext; mso-border-left-alt: 1.0pt; mso-border-right-alt: .5pt; mso-border-style-alt: solid; mso-border-top-alt: 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 177.35pt;&quot; valign=&quot;bottom&quot; width=&quot;236&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;Build Acceptance Test&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-left: none; border: solid windowtext 1.0pt; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 48.65pt;&quot; valign=&quot;bottom&quot; width=&quot;65&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;1 day&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-top: solid windowtext 1.0pt; border: none; height: 15.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 117.8pt;&quot; valign=&quot;bottom&quot; width=&quot;157&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: none; border-left: none; border-right: solid windowtext 1.0pt; border-top: solid windowtext 1.0pt; height: 15.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.2pt;&quot; valign=&quot;bottom&quot; width=&quot;103&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 15.0pt; mso-yfti-irow: 3;&quot;&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext 1.0pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 177.35pt;&quot; valign=&quot;bottom&quot; width=&quot;236&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;System Integration Testing Cycle 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 48.65pt;&quot; valign=&quot;bottom&quot; width=&quot;65&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;2 weeks*&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;height: 15.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 117.8pt;&quot; valign=&quot;bottom&quot; width=&quot;157&quot;&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-right: solid windowtext 1.0pt; border: none; height: 15.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.2pt;&quot; valign=&quot;bottom&quot; width=&quot;103&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 4;&quot;&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 15.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext 1.0pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 177.35pt;&quot; valign=&quot;bottom&quot; width=&quot;236&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left; text-indent: 22.1pt;&quot;&gt;Initial   Regression Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 48.65pt;&quot; valign=&quot;bottom&quot; width=&quot;65&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;2 days*&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border: none; height: 15.75pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 117.8pt;&quot; valign=&quot;bottom&quot; width=&quot;157&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.75pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.2pt;&quot; valign=&quot;bottom&quot; width=&quot;103&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 15.0pt; mso-yfti-irow: 5;&quot;&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext 1.0pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 177.35pt;&quot; valign=&quot;bottom&quot; width=&quot;236&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;System Integration Testing Cycle 2&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 48.65pt;&quot; valign=&quot;bottom&quot; width=&quot;65&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;2 weeks*&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 117.8pt;&quot; valign=&quot;bottom&quot; width=&quot;157&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;Ad-hoc Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.2pt;&quot; valign=&quot;bottom&quot; width=&quot;103&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;1 week&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 15.0pt; mso-yfti-irow: 6;&quot;&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext 1.0pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 177.35pt;&quot; valign=&quot;bottom&quot; width=&quot;236&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left; text-indent: 22.1pt;&quot;&gt;Final   Regression Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 48.65pt;&quot; valign=&quot;bottom&quot; width=&quot;65&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;1 week&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 117.8pt;&quot; valign=&quot;bottom&quot; width=&quot;157&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;Bug Hunts&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.2pt;&quot; valign=&quot;bottom&quot; width=&quot;103&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;1 day&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 7;&quot;&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 15.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext 1.0pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 177.35pt;&quot; valign=&quot;bottom&quot; width=&quot;236&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;Performance Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 48.65pt;&quot; valign=&quot;bottom&quot; width=&quot;65&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;8 weeks*&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.75pt; mso-border-bottom-alt: solid windowtext 1.0pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 117.8pt;&quot; valign=&quot;bottom&quot; width=&quot;157&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;Alpha testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.75pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.2pt;&quot; valign=&quot;bottom&quot; width=&quot;103&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;1 week&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 15.0pt; mso-yfti-irow: 8;&quot;&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext 1.0pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 177.35pt;&quot; valign=&quot;bottom&quot; width=&quot;236&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;Acceptance Testing by Users&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 48.65pt;&quot; valign=&quot;bottom&quot; width=&quot;65&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;2 weeks*&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;height: 15.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 117.8pt;&quot; valign=&quot;bottom&quot; width=&quot;157&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-right: solid windowtext 1.0pt; border: none; height: 15.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.2pt;&quot; valign=&quot;bottom&quot; width=&quot;103&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 15.0pt; mso-yfti-irow: 9;&quot;&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext 1.0pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 177.35pt;&quot; valign=&quot;bottom&quot; width=&quot;236&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left; text-indent: 22.1pt;&quot;&gt;Regression   Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 48.65pt;&quot; valign=&quot;bottom&quot; width=&quot;65&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;1 week&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;height: 15.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 117.8pt;&quot; valign=&quot;bottom&quot; width=&quot;157&quot;&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-right: solid windowtext 1.0pt; border: none; height: 15.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.2pt;&quot; valign=&quot;bottom&quot; width=&quot;103&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 10;&quot;&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 15.75pt; mso-border-bottom-alt: solid windowtext 1.0pt; mso-border-left-alt: solid windowtext 1.0pt; mso-border-right-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 177.35pt;&quot; valign=&quot;bottom&quot; width=&quot;236&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;Smoke / Release Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.75pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 48.65pt;&quot; valign=&quot;bottom&quot; width=&quot;65&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;1 day&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border: none; height: 15.75pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 117.8pt;&quot; valign=&quot;bottom&quot; width=&quot;157&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt;   &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.75pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.2pt;&quot; valign=&quot;bottom&quot; width=&quot;103&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 11; mso-yfti-lastrow: yes;&quot;&gt;   &lt;td colspan=&quot;4&quot; nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: solid windowtext 1.0pt; border-right: solid black 1.0pt; border-top: none; height: 15.75pt; mso-border-top-alt: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 421.0pt;&quot; valign=&quot;bottom&quot; width=&quot;561&quot;&gt;   &lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: left;&quot;&gt;&lt;span style=&quot;color: #002060;&quot;&gt;* duration depends upon the size of the project and may   varies. The standard duration is mentioned hers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;div style=&quot;text-indent: -24px;&quot;&gt;&lt;span style=&quot;line-height: 18px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: -24px;&quot;&gt;&lt;span style=&quot;line-height: 18px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Last&lt;/span&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&amp;nbsp;but not the least, if you are planning to establish TMM&lt;/span&gt;&lt;i style=&quot;font-family: Calibri, sans-serif;&quot;&gt;i&lt;/i&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt; framework within your organization, then you must implement a round of Ad-hoc testing during PA (process area) 2.1 of Level 2 which is “Test Policy and Strategy” and PA 2.2 which is “Test Planning”. I am sure if you implement the ad-hoc testing during Level 2 you will easily achieve Level 3 – “Defined” to Level – 5 “Optimization”.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: -24px;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: -24px;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; The same article has been published at:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: -24px;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; h&lt;/span&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;ttp://qa.siliconindia.com/qa-expert/Adhoc-Testing-An-important-Process-of-Software-Testing-eid-134.html&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: -24px;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif; font-size: 11pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: #fefefe; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 3pt; text-indent: -18pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/4211676157364322764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/02/ad-hoc-testing-important-process-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/4211676157364322764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/4211676157364322764'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/02/ad-hoc-testing-important-process-of.html' title='Ad-hoc Testing: An important Process of Software Testing'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA0RzJqj3taP9kwNfXZ9uFqEk2K5YfcYv2R2TuNBBrGkueFQe38_hnNAV0odUV58omW4EdtmOQNourN80pFU7YobUhsHw6oawh-jmS2T2C_9w9Sd5HoJ9Fi6gJbgy-7QqOnaG7k_bw6hFR/s72-c/met.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-7382151866563534699</id><published>2012-02-17T05:40:00.000-08:00</published><updated>2012-02-17T05:40:24.340-08:00</updated><title type='text'>Defect Driven Development Continue......</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;line-height: 115%;&quot;&gt;Defect Driven Development (DDD)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;line-height: 115%;&quot;&gt; sounds similar to TDD (Test Driven Development) which is a major function of Agile. But in fact DDD is not fall under Agile Rule. As per my experience I can say that the main principal of DDD falls under Level 5 of TMMi, which is “Defect Prevention” and “Quality Control”. DD actually comes in the picture when the entire functionality as per requirement has been implemented with 2 rounds of SIT (system Integration testing) and you are in the process of creating Final Candidate Build / Release followed by inviting business users for their Acceptance testing. Just 3-4 weeks before testing a FC Build / Release, you do “Triage” of open defects with the help of Business, Development and Test Managers and prioritise the defects which needs to be fixed before FC Build / Release gets prepared.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: #f3fafc; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #002060; line-height: 115%;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: #f3fafc; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #002060; line-height: 115%;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Even if TDD eliminates 75% of the defects – and how likely is that – the situation is qualitatively the same. You still need to expose the product to testers and field users – “Defect-Driven Development.”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Defect Driven Development (DDD), is also a software-development methodology based around using a project&#39;s defect tracking system to track not just defects, but also software features. The central concept in DDD is that from a user&#39;s perspective, the biggest defect in a piece of software is that a “necessary feature is missing”. Whether those feature works as it should is critically important, but actually is a secondary concern in the project lifecycle. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;The primary advantage of DDD is that it addresses the need for both project&lt;span class=&quot;apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;governance&lt;/strong&gt;&lt;span class=&quot;apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;and&lt;span class=&quot;apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;transparency&lt;/strong&gt;, which are generally quite difficult to achieve without rigid project lifecycle methodologies and considerable overhead, usually at the cost of productivity. Because DDD uses a project&#39;s ubiquitous defect tracking system that developers already use, but in a novel way, &lt;b&gt;it is a lightweight methodology that can be easily adopted without the need to introduce significant new processes or tools&lt;/b&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;I have personally used this methodology in my previous company Cincom and found that this really helps in fastening the Final Release Cycle with Quality and meeting the 100% customer’s expectation. I formulated this approach because, the engineering teams work under very demanding circumstances including wide geographic distribution (UK, US France) and native language differences, and we needed better ways to track project progress and feature implementation before the final release cycle. My product management team has created a virtual image of Mrs. Smith (who was doing manual work before started working on software product) while writing the use cases and the same was used during the analysis of Defects Review also like How Mrs. Smith will use the functionality....what will be there in her mind before using the same.....etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;&quot; name=&quot;Naming&quot;&gt;&lt;/a&gt;&lt;b&gt;We should think of defects as&lt;span class=&quot;apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;good&lt;/em&gt;&lt;span class=&quot;apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;things that help us achieve what users really want and need.&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;background-color: white; color: #002060; line-height: 13.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: small;&quot;&gt;Assumptions and Prerequisites&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;There are a few assumptions and prerequisites needed to make DDD work. On the whole, the list is quite short, and covered by most defect tracking systems in widespread use:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18px;&quot;&gt;&lt;span style=&quot;text-indent: -24px;&quot;&gt;Project uses a defect-tracking system.&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Developers are familiar with and committed to using the defect-tracking system.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;The defect-tracking system allows for assignment of defect to an individual, who can then track his assigned defect easily.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;The defect-tracking system allows defects to be designated as dependent on or blocking another defect, and can automatically help users traverse dependency graphs of defects.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Pre-emptive notification (for example, email) of changes to defect status or addition of new defects.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: small;&quot;&gt;&lt;a href=&quot;&quot; name=&quot;How_It_Works&quot;&gt;&lt;/a&gt;&lt;span style=&quot;color: #002060;&quot;&gt;How It Works&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;color: #002060;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Setup a Defect Triage Team. The member should be Development Manager, Test Manager and Product Manager / Business Development Manager with BA’s (If any).&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Create a list of all Open Defects with Priority and Defect ageing by running a query.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Circulate the defect list to the Defect Triage Team.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Setup a meeting. If the entire team is at one location then books a meeting room with System connected to the internet and having Defect Tracking Tool installed else setup a conference call with the Defect Triage Team.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Start reviewing the defect which has priority as “Critical”.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Discuss every defects with customer prospective, analyze the same that what happen if Mrs. Smith will come across with those issues and then take a call&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; text-indent: -18pt;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a. &amp;nbsp;Whether the defect is a real defect or an enhancement.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 72pt; margin-right: 0cm; margin-top: 7.5pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;b.&lt;span style=&quot;line-height: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;In case of Defect, is Priority Ok and customer will really suffer or &amp;nbsp; &amp;nbsp; the same should be of lower priority and can be defer for the next release.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 72pt; margin-right: 0cm; margin-top: 7.5pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;c.&lt;span style=&quot;line-height: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;In case of defer, update the defect with the status a “Defer for next release”.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; margin-bottom: 7.5pt; margin-left: 72pt; margin-right: 0cm; margin-top: 7.5pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 13.5pt;&quot;&gt;d.&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;line-height: 13.5pt;&quot;&gt;In case the defect is really a critical, assign the defect to the Development Manager. Once the meeting will be over Development Manager will discuss those defects with development engineer and identify the ETA followed by assigning the defect to the development engineer and update the ETA.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 72pt; margin-right: 0cm; margin-top: 7.5pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;e.&lt;span style=&quot;line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;In case of Enhancement, assign the defect to the Product Manager / Business Development Manager for further action. If Product Manager / Business Development Manager wants those enhancements should be fixed then create a document for the same enhancement which has estimation from Development Manager and Test Manager. If those enhancements can be implemented without impacting the release date then start auctioning on the same and put the information for those enhancements with the Steering Committee pack / deck and discuss the same in details during the next Steering Committee meeting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 108pt; margin-right: 0cm; margin-top: 7.5pt; text-indent: -108pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: normal;&quot;&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;i.&lt;span style=&quot;line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;After estimation, if you find that the same is impacting the release date then take the same to the CCB (Change Control Board) for further action followed by discussing the same in Steering Committee meeting. If stake holders are agree with changed release date then take an action else defer that defect for the next release.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 72pt; margin-right: 0cm; margin-top: 7.5pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;f.&lt;span style=&quot;line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;Do the same activity for High, Medium and Low priority defects also and follow the steps 6.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 72pt; margin-right: 0cm; margin-top: 7.5pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;g.&lt;span style=&quot;line-height: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;At the end of Defect Triage meeting, you will see a major change with the status of Open Defect.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 72pt; margin-right: 0cm; margin-top: 7.5pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #002060;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Make sure while Triaging a defect the TEAM is aware about the Product Release date and all the action should be taken accordingly. It will be to keep a release date a week earlier as a contingency during the defect triage meeting to mitigate any last moment change.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: small;&quot;&gt;&lt;a href=&quot;&quot; name=&quot;Summary&quot;&gt;&lt;/a&gt;&lt;span style=&quot;color: #002060;&quot;&gt;Effects&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h3 style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: small;&quot;&gt;&lt;a href=&quot;&quot; name=&quot;Overall_bug_counts_start_high_an&quot;&gt;&lt;/a&gt;&lt;span style=&quot;color: windowtext;&quot;&gt;Overall defect counts start high and go down&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;h3 style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;color: #002060;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: small;&quot;&gt;Summary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;At this point, the general concept of DDD should be clear. In summary:&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt;&quot;&gt;DDD&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;is not really very different than the process most projects already follow. The difference is primarily in timing of and perspective in using the defect tracking system: The defect tracking system is&lt;/span&gt;&lt;span class=&quot;apple-converted-space&quot; style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;used from the very beginning&lt;/strong&gt;&lt;span class=&quot;apple-converted-space&quot; style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;of the development process to&lt;/span&gt;&lt;span class=&quot;apple-converted-space&quot; style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;track features&lt;/strong&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Clear owners are defined for each deliverable, whether that&#39;s an overall feature, code, designs, icons, docs, or something else relating to the project.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Because defects are dependent on other defects, owners have a natural reason to talk to colleagues and resolve issues rather than go off on their own.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Defects can be refactored into sub-defects as needed in a right-sized manner for the project. Sometimes, a feature can be wholly implemented by one person, so only one defect is needed. But in the cases where multiple people are involved, that can be expressed with clear ownership.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;The information in the defect tracking system can be mined to create a dashboard of overall project status.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Defects filed by customers, QA, and others can be related back to the parent feature. This means that both unimplemented features and defects appear in the same dashboard. This is critical for getting an overall picture of the completeness of the project.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Defects can be assigned and reassigned as needed to gather more information, or to transition work from one person to another, even across widely separated time zones and organizational boundaries. The overall project status remains the same, however.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: small;&quot;&gt;&lt;a href=&quot;&quot; name=&quot;Examples&quot;&gt;&lt;/a&gt;&lt;a href=&quot;&quot; name=&quot;Effects&quot;&gt;&lt;/a&gt;&lt;a href=&quot;&quot; name=&quot;Processes_become_uniform&quot;&gt;&lt;/a&gt;&lt;a href=&quot;&quot; name=&quot;Full_project_lifecycle_dashboard&quot;&gt;&lt;/a&gt;&lt;a href=&quot;&quot; name=&quot;Consistency_of_implementation&quot;&gt;&lt;/a&gt;&lt;span style=&quot;color: #002060;&quot;&gt;Consistency of implementation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Because features and defects are in the same place, the developer&#39;s primary task list is the set of defects assigned to him. This puts him on the same pages as his manager, architect, and tech lead; there is no sudden changeover between feature implementation and defect fixing, as they are aspects of the same thing. And because the features in the tracking system really describe constraints and deliverables, engineers are still free to innovate like before. The defect tracking system gives him a place to capture his thinking, ask questions, and communicate about what he&#39;s doing beyond a very loose notion of &quot;done&quot; or &quot;not done&quot;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3 style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: small;&quot;&gt;&lt;a href=&quot;&quot; name=&quot;Full_involvement_of_all_parties&quot;&gt;&lt;/a&gt;&lt;a href=&quot;&quot; name=&quot;Better_engineering_and_QA_relati&quot;&gt;&lt;/a&gt;&lt;span style=&quot;color: #002060;&quot;&gt;Better engineering and QA relationship&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;In traditional engineering organizations, the engineering/QA relationship is adversarial in nature, or tends to become that way, because the roles are distinct and responsibility is tightly bounded. Part of this comes from the fact that developers may feel caged by having to work on defects instead of new features, and QA engineers may feel disenfranchised when voicing user concerns that are ignored.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;DDD has the potential to remove the adversarial component from this relationship in two ways. First, defects are part of the standard development process from the beginning, rather than coming in near the end. Developers have less reason to react negatively to issues filed there because they have been socialized to it from the beginning of the project, and they are accustomed to the idea of both missing features and defects as contributing to user dissatisfaction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Second, QA engineers can be much more involved in the ongoing feature work because it&#39;s well-documented and there is a means by which to be heard. They can comment, add new features and requirements to the set, and even work on developing features rather than feeling powerless until a feature has been implemented. They can feel that their voice has been heard throughout the process, and so there is less reason for them to have to say, &quot;I told you so&quot; when something is implemented or designed poorly.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;&quot; name=&quot;More_user_advocacy&quot;&gt;&lt;/a&gt;By making features transparent to developers, QA, and management, and futhermore by giving a concrete means to discuss features and design openly before completion, DDD can offer a formal channel for user advocacy to flow into the design process, not only from QA but from anyone with access to the defect tracking system. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: small;&quot;&gt;&lt;a href=&quot;&quot; name=&quot;Advantages&quot;&gt;&lt;/a&gt;&lt;span style=&quot;color: #002060;&quot;&gt;Advantages&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 13.5pt; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;There are numerous advantages to the DDD approach:&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 7.5pt;&quot;&gt;&lt;/div&gt;&lt;ul style=&quot;line-height: 13.5pt;&quot;&gt;&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Development transparency from the beginning of the development process. As features are completed, the defects are closed. As defects are filed, they can be related back to the feature using the dependency mechanism, and the feature can be reopened as a visible indicator of status.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Issue and task tracking are automated. The defect tracking systems have excellent methods for assigning defects to developers in an easy-to-track way and notifying interested parties of changes in state.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Full organizational involvement. Engineering managers are good at making sure defects get closed; the key to this is giving them something they can track. Furthermore, docs and QA need a way to track their deliverables as they relate to project features. Because anyone can either add themselves as interested parties to a defect, or can file their own defects with dependencies, this becomes much easier.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Cross-organizational coordination. When working across teams and geos with large numbers of features and designs, it becomes imperative to track design decisions and status in a more formal way. Emails are easily lost, and if the right aliases are not used (and archived), then design decisions are all too easy to remain detached from other organizations.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Better design tracking. All features have a unique defect number, and all discussion (or summary of discussion) can be added to one place for all to see. Design discussion will still occur face-to-face and over email, but relevant decisions can be recorded and then easily tracked in the defect.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;Easy prioritization during traige. All defect tracking systems have the concept of a priority which can be used to indicate the importance of a feature in the final product.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 13.5pt; text-indent: -18pt;&quot;&gt;DDD is very effective when used in iterative development. For example, the umbrella defect for each iteration can contain all the tasks which need to be done before that iteration is complete. When a feature task is complete, QA can add blocking defects on the iteration, so that the release iteration will be stable and closed, thus providing a usable set of functionality that has been tested.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;text-indent: -24px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18px;&quot;&gt;X &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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: -24px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18px;&quot;&gt;&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; &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;XXXXXXXX&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/7382151866563534699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/02/defect-driven-development-continue_17.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/7382151866563534699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/7382151866563534699'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/02/defect-driven-development-continue_17.html' title='Defect Driven Development Continue......'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-8960791071384739667</id><published>2012-02-10T01:00:00.000-08:00</published><updated>2012-02-10T01:00:53.037-08:00</updated><title type='text'>Defect Driven Development</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;I am getting questions / query about &quot;&lt;b&gt;Defect Driven Development&lt;/b&gt;&quot;, some of the testing&amp;nbsp;professionals&amp;nbsp;are showing their interests towards this topic, hence I have decided to to write down a document for the same.&lt;br /&gt;
&lt;br /&gt;
But for the time being here is some information.......&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;&quot;Defect Driven Development (DDD)&lt;/b&gt; sounds similar to TDD (Test Driven Development) which is a major function of Agile. But in fact DDD is not fall under Agile Rule. &lt;b&gt;As per my experience I can say that the main principal of DDD falls under Level 5 of TMMi&lt;/b&gt;, which is “Defect Prevention” and “Quality Control”. DD actually comes in the picture when the entire functionality as per requirement has been implemented with 2 rounds of SIT (system Integration testing) and you are in the process of creating Final Candidate Build / Release followed by inviting business users for their Acceptance testing. Just 3-4 weeks before testing a FC Build / Release, you do “&lt;b&gt;Triage&lt;/b&gt;” of open defects with the help of Business, Development and Test Managers and prioritise the defects which needs to be fixed before FC Build / Release gets prepared.&quot;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Guys....wait for some time...I will publish the complete document on the same topic very soon.....&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/8960791071384739667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/02/defect-driven-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/8960791071384739667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/8960791071384739667'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/02/defect-driven-development.html' title='Defect Driven Development'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-4945025778740852967</id><published>2012-02-09T06:17:00.000-08:00</published><updated>2012-02-09T06:17:22.358-08:00</updated><title type='text'>Test automation strategy: Getting started</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;
&lt;div style=&quot;background: white; line-height: 14.25pt; margin-bottom: 15.0pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;You’re the QA director or CIO at a growing software organization. You’re sold on the idea that test automation is necessary in order to keep your team on track, provide quick feedback and manage technical debt. But like many software organizations, you have none at all. Where do you get started?&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;The whole-team approach&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;The history of test automation is littered with failed “test automation projects.” Test automation sounded like a good idea, so the company bought a vendor GUI test automation tool, gave it to the test team, and waited for the magic to happen. Here’s the news: automating tests is software development. It must be done with the same care and thought that goes into writing production code. And it needs a diversity of people and skills: testers to know the right things to test, customers to provide examples of desired behaviour, programmers to design maintainable tests and more.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Test automation succeeds when the whole development team treats it as an integral part of software development. It’s not any harder or easier than writing production code. Learning to do it well takes time, effort and lots of small experiments.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #002060; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Change is hard, and people are motivated to change when they feel pain. Start by sharing the pain of manual regression testing. Your product can’t be released to production without regression testing, right?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Ask the testers to work with customers to identify the most critical areas of the application. They can then write manual regression testing scripts to ensure those areas work.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Automating the manual regression test scripts provide major motivation for automating tests!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Overcome barriers to automation&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Your cross-functional team has all the skills needed to overcome barriers to test automation. Get together for some time-boxed brainstorming meetings to identify the impediments standing in the way of automating tests. In my experience, the best approach is to identify the biggest obstacle, then try a small experiment to get around it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;For example, when my team wanted to try&lt;span class=&quot;apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #002060; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;a href=&quot;http://searchsoftwarequality.techtarget.com/definition/test-driven-development&quot; style=&quot;outline-color: initial; outline-style: initial; outline-width: 0px;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: #002060; text-decoration: none; text-underline: none;&quot;&gt;test-driven development (TDD)&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;, which involves automating unit-level tests, we couldn’t figure out how to do that with our nasty legacy code. First we tried brown bag sessions at lunch where the whole team tried writing unit tests. Then we brought in an expert to do training on it. That helped, but finally we just had to budget time to get traction on it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #002060; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Should you tackle automating unit tests with test-driven development? Would GUI tests be the easy win? It’s helpful to outline a strategy for automating tests.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Plan your automation strategy&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;There are so many tests to automate and so little time; it pays to focus on the automation that will provide you with the best &lt;b&gt;Return on Investment&lt;/b&gt; (ROI). Mike Cohn’s Test Automation Pyramid provides a good guideline.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9MIdX7rVR2KhDXjUemxeLAswwifVSBXYHdLGbRst9p90qkkgSJJV8aIs4pYoShWqbLYJGkQIbKt8jV_CfgNWfZJb3zA5tD5Dd5z5_Mj9D-doFazYsR3Hgv1GePNpeO_RNTrkmOkIdLJXr/s1600/img1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;279&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9MIdX7rVR2KhDXjUemxeLAswwifVSBXYHdLGbRst9p90qkkgSJJV8aIs4pYoShWqbLYJGkQIbKt8jV_CfgNWfZJb3zA5tD5Dd5z5_Mj9D-doFazYsR3Hgv1GePNpeO_RNTrkmOkIdLJXr/s320/img1.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Unit and component tests verify our code design and architecture, and provide the best return on investment. They are quick to write, quick to run and provide a good safety net as part of a continuous integration process. They form the solid base of just about any test automation strategy. If your team has no test automation, learning to automate unit tests is the obvious place to start.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;The next-best return on investment is the middle layer of the triangle, at the API or service level. These tests generally take the place of the user interface. They pass test inputs to production code, obtain results, and compare actual and expected results. Writing and maintaining them takes more time than unit tests, and they generally run more slowly, but they provide crucial feedback.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Today’s test libraries and frameworks allow us to automate and maintain GUI tests more cheaply than the old-school record/playback tools. Even so, they run more slowly than unit or API-level tests, and may require more frequent updating.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;In my experience, a two-pronged approach to start automating tests on a legacy system works well. While the team masters TDD and grows its unit test library, you can get some quick wins with simple GUI tests covering the most critical functionality.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;The test automation pyramid represents our long-term goal, but you won’t get there overnight. Most teams start with an “upside-down” pyramid, more GUI tests than anything else. You can “flip” the pyramid over time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Choosing tools&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;We don’t have a wide array of tools at the unit test level; you just use the flavor of xUnit that goes with your production programming language, such as JUnit for Java or NUnit for .Net.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;For API and GUI level tests, start by experimenting with how you’d like to specify your tests. Does a given/when/then format work well for your business experts? Perhaps your business domain lends itself to a tabular test format. Or, you might have a domain where specifying inputs and expected outputs in a spreadsheet work better. Some businesses prefer working with a time-based scenario.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Once you’ve found a format to try, look for a test library or framework that supports that. If your team has enough bandwidth, you might be able to “grow your own.” Use retrospectives to evaluate whether your experiment is having good results. If not, start a different experiment. This is a big investment. The right choices now will mean big returns in the long term.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Collaborating&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Automating tests is coding. Automated test code deserves the same respect, care and feeding as production code. It makes sense for the people writing production code to also write the test automation code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Testers are expert at knowing the right tests to automate. Other team members contribute expertise that helps us get timely feedback, with data and scenarios that represent production. It just makes sense to have everyone on the team work together to automate tests.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Get started&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;Pick one problem to solve, and do a small experiment to overcome it. If an automating unit test seems too daunting, try “&lt;b&gt;defect-driven development&lt;/b&gt;”. For each defect that your team fixes, first write a unit test to reproduce the problem, and then correct the code. Once the test passes, check in the test and the code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;This is a journey, not a destination. Just take that first step.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; line-height: 14.25pt; margin-bottom: 15pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;What are some of the obstacles to beginning test automation in your organization, and what approaches have you tried to address them? Email comments to &lt;a href=&quot;mailto:sanjay_kumar@hotmail.com&quot;&gt;sanjay_kumar@hotmail.com&lt;/a&gt; .&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/4945025778740852967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/02/test-automation-strategy-getting.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/4945025778740852967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/4945025778740852967'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/02/test-automation-strategy-getting.html' title='Test automation strategy: Getting started'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9MIdX7rVR2KhDXjUemxeLAswwifVSBXYHdLGbRst9p90qkkgSJJV8aIs4pYoShWqbLYJGkQIbKt8jV_CfgNWfZJb3zA5tD5Dd5z5_Mj9D-doFazYsR3Hgv1GePNpeO_RNTrkmOkIdLJXr/s72-c/img1.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-361073554615781985</id><published>2012-02-02T03:11:00.000-08:00</published><updated>2012-02-02T03:11:42.700-08:00</updated><title type='text'>The end of an iteration: When is testing in Agile complete?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;How do you know when you&#39;re done testing a feature? In a time-boxed environment, such as Scrum, are you &quot;done&quot; when the iteration is over, even if you don&#39;t feel you&#39;ve had time to fully test?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
In Agile development, testing isn’t a separate phase, it’s tightly integrated with coding. In fact, we start development on each user story by writing business-facing tests that will tell us what to code and help us know when we’re done. Testers, business analysts and developers work with the business stakeholders to elicit examples of desired and undesired behavior for each user story and feature, and turn these into executable tests. This is called Acceptance Test-Driven Development (ATDD) or Specification by Example. The development team collaborates with the customers to decide which tests will prove a particular user story delivers what the customer expects. This will include automated functional tests, manual exploratory tests and non-functional testing such as performance or security testing. When those tests are all passing, you’re done with that user story.&lt;br /&gt;
User story estimates must include time for all testing activities, including test automation and manual exploratory testing. When we plan our iteration, we only plan the user stories which can be completed, including all testing activities. New Scrum teams often over-commit, planning more work than they can possibly finish. They end up in a mini-waterfall, with testing pushed to the end, and their features are not done just because the last day of the sprint arrived. This leads to a death spiral of stories dragging from one iteration to the next, with the testers unable to ever catch up.&lt;br /&gt;
Agile teams have an advantage – they include all the roles necessary to understand the customer needs and deliver high quality software. Diversity of skills and experiences allows Agile teams to find ways to help business stakeholders define their needs with concrete examples, and translate those examples into the tests which define “done” for each user story and each feature.&lt;br /&gt;
One way to avoid the “mini-waterfall” syndrome is to focus on finishing one story at a time. On my team, when testing tasks fall behind, programmers, DBAs and other team members pitch in to finish up an almost-done story rather than work on different ones. That’s one way to spread out the testing work over the whole iteration. The whole team takes responsibility for automating all regression tests, so that testers can focus on manual exploratory testing and other important activities.&lt;br /&gt;
We testers can always find more testing to do; we never feel “done.” However, working closely with business stakeholders, and planning adequate time for proving features are “done,” allows us to delight our customers. New Agile teams usually can’t deliver much new functionality in each iteration. But if they invest time to find ways to understand customer requirements and translate those into tests which guide development, they’ll bake in quality that allows them to do more and go faster later on.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/361073554615781985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/02/end-of-iteration-when-is-testing-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/361073554615781985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/361073554615781985'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/02/end-of-iteration-when-is-testing-in.html' title='The end of an iteration: When is testing in Agile complete?'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-7199954094135764610</id><published>2012-01-18T01:16:00.000-08:00</published><updated>2012-01-18T01:19:09.211-08:00</updated><title type='text'>Testing Quadrants</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Many software teams struggle with “fitting testing in” to the development lifecycle. For software managers and teams new to Agile development, the idea of planning and executing all the testing activities within short iterations and release cycles is daunting. We’ve often asked questions such as: “When should we do performance testing? And who is going to do it? There aren’t any performances testing specialists on our cross-functional development team.” Substitute “user acceptance testing,” “exploratory testing,” “security testing,” or “usability testing” for “performance” – every Agile development organization faces similar challenges.&lt;/div&gt;A testing taxonomy such as the Agile testing quadrants (Figure 1) is a highly effective tool to help answer these questions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;&lt;shapetype coordsize=&quot;21600,21600&quot; filled=&quot;f&quot; id=&quot;_x0000_t75&quot; o:preferrelative=&quot;t&quot; o:spt=&quot;75&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; stroked=&quot;f&quot;&gt;&lt;stroke joinstyle=&quot;miter&quot;&gt;&lt;/stroke&gt;&lt;formulas&gt;&lt;f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/f&gt;&lt;f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/f&gt;&lt;f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/f&gt;&lt;f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/f&gt;&lt;f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/f&gt;&lt;f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/f&gt;&lt;f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/f&gt;&lt;f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/f&gt;&lt;f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/f&gt;&lt;f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/f&gt;&lt;f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/f&gt;&lt;f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/f&gt;&lt;/formulas&gt;&lt;path gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot; o:extrusionok=&quot;f&quot;&gt;&lt;/path&gt;&lt;lock aspectratio=&quot;t&quot; v:ext=&quot;edit&quot;&gt;&lt;/lock&gt;&lt;/shapetype&gt;&lt;shape alt=&quot;http://cdn.ttgtmedia.com/rms/onlineImages/AgileTestingQuadrants.JPG&quot; id=&quot;Picture_x0020_1&quot; o:spid=&quot;_x0000_i1025&quot; style=&quot;height: 319.5pt; mso-wrap-style: square; visibility: visible; width: 435pt;&quot; type=&quot;#_x0000_t75&quot;&gt;&lt;imagedata o:title=&quot;AgileTestingQuadrants&quot; src=&quot;file:///C:\Users\KumarS\AppData\Local\Temp\msohtmlclip1\01\clip_image001.jpg&quot;&gt;&lt;/imagedata&gt;&lt;/shape&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh412IBy_nR0X94Jx2WCwBzWoBZiIHklsWFpPTPTvoWO3Z1nqQ-vif7JIpGDmQDA_qq2seC30DGzU5L3Eq5wiWI_8FAW1DZXrSRii5TPbenSYFZtzHYnfPUUO3w0vPWKY3yzAkG71vr8y3X/s1600/quad.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;235&quot; kba=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh412IBy_nR0X94Jx2WCwBzWoBZiIHklsWFpPTPTvoWO3Z1nqQ-vif7JIpGDmQDA_qq2seC30DGzU5L3Eq5wiWI_8FAW1DZXrSRii5TPbenSYFZtzHYnfPUUO3w0vPWKY3yzAkG71vr8y3X/s320/quad.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;&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;&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;&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;&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;&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; Figure 1&lt;/i&gt;&lt;br /&gt;
&lt;b&gt;How the quadrants work&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;Tests on the left-hand quadrants help the team know what code to write, and know when they are done writing it. Tests on the right hand side help the team learn more about the code they’re written, and this learning often translates into new user stories and tests that feed back to the left-hand quadrants. Business stakeholders define quality criteria for the top two quadrants, while the bottom two quadrants relate more to internal quality and criteria.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The word “team” here includes both the customer and development teams. We need the business experts to provide examples that we turn into tests to drive development. We also need them to evaluate the resulting software as it is delivered in small increments, and give us fast feedback so we can make course corrections as we go.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The clouds at the quadrant corners denote whether tests in that quadrant generally require automation, manual testing or specialized tools. “Manual” doesn’t mean no specialized skills required – for instance, exploratory testing is a largely manual process but requires a high degree of expertise.&lt;/div&gt;&lt;b&gt;When to do which tests&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;The quadrant numbering system does not imply any order. Most projects would start with Q2 tests, because those are where you get the examples that turn into specifications and tests that drive coding, along with prototypes and the like. Q3 and Q4 testing pretty much require that some code be written and deployable, but most teams iterate through the quadrants rapidly, working in small increments. Write a test for some small chunk of a feature, write the code, once the test is passing, perhaps automate more tests for it, do exploratory testing on it, do security or load testing on it, whatever, then add the next small chunk and go through the whole process again.&lt;/div&gt;&lt;b&gt;How to use the quadrants&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;When you get the team together to plan a release or theme, go through each quadrant and identify which types of testing will be needed. Maybe this project doesn’t require usability testing, but reliability testing is critical. Talk with your customers about quality criteria. What absolutely has to work?&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Next, figure out if the team (or teams) have people with the right skills to accomplish all the different types of testing, and if they already have the necessary hardware, software, data and test environments. If not, brainstorm ways to get what is needed in a timely manner.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Here are some examples. Does the team already have appropriate data for testing? If not, you may need a user story to obtain or create test data, or perhaps a business expert will arrange to provide it. If load testing is critical, but nobody on the team has experience with load testing, you could budget in time for programmers to experiment with developing a load testing harness, schedule time with a load testing expert from a different team within the company, or plan to contract with a load testing specialist. Identifying these issues early gives you time to find creative solutions.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;If the team has decided to try a new practice such as using business-facing tests to drive development (known as “acceptance test-driven development (ATDD)” or “specification by example (SBE),” plan extra time for them to get up to speed with the practice. In the example of implementing ATDD, they need time to experiment with different approaches and create or adopt a testing framework. If nobody on the development team has experience with exploratory testing, you may want to plan training for that. The goal is to avoid suddenly getting stuck in mid-cycle due to lack of a particular testing skill, tool or infrastructure.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Repeat this process as you plan each iteration. For each user story, think through the testing requirements in each quadrant. How will tests be automated at various levels for a given story? When you start your planning by thinking about testing, you are likely to come up with technical implementations that make automation easier. If you lack some key testing component you may decide to postpone a theme or user story until that component can be obtained.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;For example, my team had to rewrite the software to produce account statements for our financial services system into our new architecture. The legacy code had no automated regression tests, and the requirements were highly complex. We ran a huge risk of making mistakes that weren’t caught in testing, and mistakes on account statements are disastrous for the business. We decided to spend an entire sprint developing automated regression tests for the existing account statements, which required some creative experimentation. Armed with this safety net, we then developed the new code, confident that we had mitigated the risks.&lt;/div&gt;&lt;b&gt;It’s a tool, not a rule&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;Adapt and enhance the quadrants to suit your own needs. There are no hard and fast rules about which tests belong in which quadrant.The quadrants are simply a taxonomy that helps teams plan their testing. Using the quadrants helps teams make sure they have all the people and resources they need to accomplish it. Think through them as you do your release, theme and iteration planning, so your whole team starts out by thinking about testing first. Focus on the purpose of each testing activity, and the quality you are building into your software.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/7199954094135764610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/01/ttesting-quadrants.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/7199954094135764610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/7199954094135764610'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2012/01/ttesting-quadrants.html' title='Testing Quadrants'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh412IBy_nR0X94Jx2WCwBzWoBZiIHklsWFpPTPTvoWO3Z1nqQ-vif7JIpGDmQDA_qq2seC30DGzU5L3Eq5wiWI_8FAW1DZXrSRii5TPbenSYFZtzHYnfPUUO3w0vPWKY3yzAkG71vr8y3X/s72-c/quad.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-2723663218933575966</id><published>2011-10-12T21:08:00.000-07:00</published><updated>2011-10-12T21:08:30.026-07:00</updated><title type='text'>Transitioning to Agile development: What about quality assurance?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;When facing an Agile transition, QA managers get worried. They don’t see a job description for a “QA manager” in the new Agile organization. The testers that worked for them are farmed out to cross-functional teams. Both the manager and the testers risk losing their identity and sense of value. Indeed, the development and product managers often don’t understand what testers contribute, nor do they value that contribution.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Too often, the resulting Scrum teams become silos, replacing the old development/testing /business analysis silos. They get focused on delivering code, and development degenerates quickly into mini-waterfalls where testing gets short shrift – just as it did in traditional waterfall!&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Companies have been transitioning to Agile for more than ten years now. Why does this keep happening? What should and can we do about it?&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;The value of quality&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Testers often end up reporting to development managers who see testers as “second class citizens.” Lack of attention to testers and testing activities is a symptom of the company undervaluing product quality. Many executives see “Agile” as a way to make teams “hyper-productive,” cranking new features out fast and furious. They don’t provide teams slack time to experiment with ways to improve their process or product.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: red; font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;When management doesn’t value quality, testers don’t stand a chance. As my colleague &lt;a href=&quot;http://itknowledgeexchange.techtarget.com/software-quality/janet-gregory-explains-why-some-people-prefer-story-boards-over-tools/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;Janet Gregory&lt;/span&gt;&lt;/a&gt; notes, organizations who forget how to learn and grow will stagnate, and potential improvements that could come from moving to Agile development will be lost. Teams that don’t give testing the same attention as coding will pile up so much technical debt, they’ll slow down and possibly fail over the long term.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Let’s look at some reasons why companies shouldn’t eliminate the QA department without giving thought to how their development organization can maximize the value their testers can contribute.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Supporting testers&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;If your company is planning a transition to Agile development, get all the development and QA/Test managers together to decide what they will do in the new Agile organization. Having testers integrated into cross-functional teams which take a “&lt;a href=&quot;http://searchsoftwarequality.techtarget.com/tip/Agile-development-The-whole-team-approach&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: windowtext;&quot;&gt;whole-team approach&lt;/span&gt;&lt;/a&gt;” to quality, works best. Plan time and training to help the entire team take responsibility for quality and testing and to embrace the whole-team approach.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Some organizations, especially large ones, may still benefit from having a separate system test team that makes sure different parts of the product work well together. If your company produces embedded software, or has many large systems that must integrate, you might need a full-time team focused on testing the integration between systems or between software and hardware. They’ll still work closely with development teams, and in most cases, the development teams should still include professional testers.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Create a testing Community of Practice (CoP) to support everyone doing testing activities, across the organization. Practice leaders can help nurture a learning culture, making sure teams have time to share ideas and try new experiments to improve software quality. When I led a testing CoP in a sizeable development organization, I created a wiki space where different testers and teams could ask questions, have a dialog, share ideas, post links to blog posts and more information. We held lunchtime meetings twice a month during which someone demonstrated their automated tests, continuous integration, exploratory testing ideas, anything related to testing. Interestingly, the community attracted programmers, business analysts and product owners as well as testers. It helped break down the “Scrum team silos.”&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;The Testing Practice Manager can also make sure testers get the training they need. A transition to Agile development is hard, and on top of that, we have advances in testing and test automation every day. Though the whole team is responsible for these activities, testers need to be up to speed with the latest skills and technology in order to help ensure testing “keeps up” with coding on their teams.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Demonstrating the value of testers&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;It’s our responsibility to educate the rest of the company about how testers add value. And if we’re transitioning to Agile, we have the opportunity to make sure every team understands and adopts the “whole-team approach” to software development.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;One skill that testers possess is exploratory testing. Experienced exploratory testers aim to learn more about desired and undesired behaviors of the system. They aren’t just looking for what doesn’t work, they’re alert for missing features, and they’re applying critical thinking to many aspects of quality, not only functionality. Educate your development organization on the benefits of exploratory testing. One good way to do this is to have &lt;u&gt;programmers pair with testers&lt;/u&gt; to try out some exploratory testing.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Another area where testers excel is domain knowledge. Programmers have to maintain a narrow focus, so they can complete specific coding tasks. Testers maintain a “big picture” perspective. Given a particular user story, testers think about the business problem being solved, the potential technical implementation, and whether that implementation will really solve the problem. Teams won’t succeed in the long run without good domain knowledge. Try budgeting some time for the team to learn more about some area of the domain. The testers will get a chance to lead the way.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Raising consciousness about quality&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Lack of attention to quality and undervaluing testing isn’t unique to Agile companies, of course. We’ve battled these problems for decades. If you’re willing to take on the role of change agent in your organization, I highly recommend trying the patterns in &lt;a href=&quot;http://www.cs.unca.edu/~manns/intropatterns.html&quot; target=&quot;_blank&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: blue;&quot;&gt;Fearless Change&lt;/span&gt;&lt;/i&gt;&lt;/a&gt; (Manns and Rising, 2003).&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Back in the DotCom boom, I was the first tester hired by a fast-growing Internet startup. Nobody in the company really thought about quality. I decided to try to educate everyone in the company about why paying attention to quality would help the company. One way I did this was to get the company to buy pizza, and I gave a lunchtime introduction to quality and testing. People from both the engineering and business sides of the company showed up, and showed an interest. Though I didn’t know it then, this is the Brown Bag pattern in &lt;i&gt;Fearless Change&lt;/i&gt;: “Use the time when people normally eat lunch to provide a convenient and relaxed setting for hearing about the new idea.”&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;I also simply tried to earn my credibility. I worked closely with the product managers and the developers. When I found issues, we discussed them together. I knew my efforts were paying off when the developers asked me to come in and help them one weekend when they wanted to put in extra time on a project.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;It’s tough to &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;u&gt;change a culture&lt;/u&gt;&lt;/b&gt;, and if you can’t identify the right pain points, you might not be able to instigate much passion about quality. Still, it’s usually worth a try. Find some creative ways to demonstrate the contributions of testers to your company.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Take time to experiment&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Approach your Agile transition as a series of small experiments. Try integrating all the testers into cross-functional teams, while maintaining a testing Community of Practice. Use retrospectives to see how that works. Are teams allowed to manage their workload so that they can finish all testing activities for all user stories during each iteration? Are different teams checking in code that breaks functionality used in code other teams are developing? Is everyone struggling with load or security testing? Perhaps more training is in order, or maybe you need to try setting up some specialist teams to take on activities such as performance testing or system integration testing.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;QA managers are needed to help these testers get the time, training and support they need. Make sure the testing community is represented in discussions of how to maintain and improve software quality. We don’t get high-quality software without a team that is diverse in skills and viewpoint. Make sure each role in your cross-functional teams is represented and supported at a high level. Use the &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;u&gt;Agile Testing Quadrants&lt;/u&gt;&lt;/b&gt; as a tool to discuss all the different testing activities needed, and make sure the right people are available to ensure they get done.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;u&gt;Agile Testing Quadrants: &lt;/u&gt;&lt;/b&gt;Most experts agree that both automated and manual testing are important,&amp;nbsp;but depending on the type of testing you’re doing, one type may be the better choice. In Agile Testing, written by SSQ’s Agile expert Lisa Crispin along with co-author Janet Gregory, four quadrants of testing are described.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Quadrant one&lt;/b&gt;&amp;nbsp;encompasses the automated test efforts&amp;nbsp;including unit tests and component tests. These are typically done by the developer, perhaps using test-driven development (TDD) even before the code is written.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Quadrant two&lt;/b&gt; is testing that may be automated or may be manually done by developers and testers. This includes functional tests, examples, story tests, prototypes and simulations.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Quadrant three&lt;/b&gt;&amp;nbsp;contains manual tests including exploratory testing, usability testing, user acceptance testing and alpha/beta testing.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Quadrant four&lt;/b&gt; includes speciality testing that is typically done with tools such as performance testing and load testing.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #002060; font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Above all, realize that successful Agile transitions don’t happen overnight. It takes years for the new teams to jell, for communication and collaboration among different roles and specialties to develop. It takes practice to keep teams and roles from becoming silos.&amp;nbsp; Aim for baby steps, and celebrate every small success. Even if the old “QA Team” is history, you can still grow a vibrant testing community, which can help teams produce a high-quality product.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/2723663218933575966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/10/transitioning-to-agile-development-what.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/2723663218933575966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/2723663218933575966'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/10/transitioning-to-agile-development-what.html' title='Transitioning to Agile development: What about quality assurance?'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-7179638901547404184</id><published>2011-06-30T09:49:00.000-07:00</published><updated>2011-06-30T09:49:13.174-07:00</updated><title type='text'>Agile problem areas that pain developers and testers</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;The long laundry list of software development pros’ problems with the Agile methodology includes inadequate training, poor leadership, rigid adherence to Agile principles that don’t fit the project, and more. That said, there are Agile problem areas that are slammed more often than these, including required meetings, inadequate documentation and issues related to short iterations.&lt;br /&gt;
&lt;b&gt;Need for speed crimps Agile documentation&lt;/b&gt;&lt;br /&gt;
Some people think that Agile calls for doing hardly any documentation. They complain that they can’t give the kinds of reports they used to give, calling Agile reports “Cragile” -- or crappy Agile – or Scrumbutt.&lt;br /&gt;
&amp;nbsp;“That’s the phoniest belief about Agile I’ve ever heard,” said BigVisible Solutions Agile coach Mike Dwyer. Agile entails doing documentation that has value, he said, not “your earned-value estimated nonsense or spending six weeks writing a proposal to prove that you have done something, when all that you’ve done for the past six weeks is write a presentation.”&lt;br /&gt;
The problem for developers, however, is that there’s little time in Agile’s short-iteration scheme to write enough documentation, development pros told us. Iteration cycles are every three weeks, “boom, boom, boom,” and it’s hard to fit doing documentation into that cycle, said Huckleberry Carignan, lead QA engineer at Vistaprint, a print services provider.&lt;br /&gt;
Veteran software tester Chris York agreed, saying he has never seen managers call for adequate documentation in Agile projects. They ask for concise, but not complete documentation. That means testers are left &amp;nbsp;with short pieces of stories they have to try to put together, “It’s nearly impossible,” said York. “We always got concise, but we never got complete, documentation. There’s nothing that really tells you how things work.”&lt;br /&gt;
&lt;b&gt;Developers grump about Agile meetings&lt;/b&gt;&lt;br /&gt;
Meetings are a cornerstone of the Agile methodologies and a thorn in the side of some developers and testers. Known as &lt;a href=&quot;http://searchsoftwarequality.techtarget.com/tip/Daily-Scrum-meetings-Must-we-really-stand-up&quot; jquery1309452332392=&quot;268&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;daily stand-ups&lt;/span&gt;&lt;/a&gt;, daily Scrums and other names, Agile meetings often draw the most heated criticism of all Agile practices.&lt;br /&gt;
Kern hears more complaints about Agile meetings being done poorly than anything else. “Usually, when you dig deeper, it’s because the meetings are like dumb status meetings; just like the same old same olds,” he said.&lt;br /&gt;
Some tools and/or practices used in Agile meetings seem demeaning and infantile to some participants. Complaints center on having to stand; huddles; the use of talking sticks or cards; and dollar penalties for infractions like sitting, drinking coffee, speaking out of turn, etc.&lt;br /&gt;
York recalled of being in one Agile manager’s meetings. “You held a Kush ball when you spoke. The manager wanted us to throw the ball to each other. Somebody threw the Kush ball and hit the new projector. Now suddenly the Kush ball was no longer being thrown. It felt like grade school.”&lt;br /&gt;
Distributed development teams are another challenge related to Agile’s focus on meetings. Making Agile meetings and Agile’s reliance on constant communication work is difficult for global development teams, said Carignan.&lt;br /&gt;
“Having the communication smoothly enough in a global environment is hard, especially with time zone differences,” Carignan explained. “If we’re in Lexington, Mass., and we’re trying to work together with people in Venlo, Netherlands and Switzerland and Australia, it is pretty difficult to get that communication smoothly to work in Agile method.”&lt;br /&gt;
&lt;br /&gt;
On the other hand, veteran software tester Chris McMahon has worked in &lt;a href=&quot;http://searchsoftwarequality.techtarget.com/tip/100-Distributed-Agile-teams-Communication-and-workflow&quot; jquery1309452332392=&quot;269&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;distributed Agile teams&lt;/span&gt;&lt;/a&gt; that succeeded in communicating well. Those teams mixed written and voice communication, using multi-channel real-time chat applications, voice-over-IP, wikis, IM and remote workflow tools like defect trackers.&lt;br /&gt;
Kern has been in many good meetings, ones that went beyond being simple status reports to identifying obstacles and ways to remove them. Those meeting leaders and participants succeeded in getting people on the same page and making plans; gaining consensus on each person’s role in the plan; creating contingency plans and so on.&lt;br /&gt;
&lt;b&gt;Estimates for iterations not based on reality&lt;/b&gt;&lt;br /&gt;
Requirement goals or stories must be realistic and accurate, or required features don’t get produced in an iteration, said Scott Barber. The result is usually recriminations, project slowdowns and technical debt.&lt;br /&gt;
Typically, &lt;a href=&quot;http://searchsoftwarequality.techtarget.com/tip/Estimation-approaches-in-Agile-development&quot; jquery1309452332392=&quot;270&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;iterations&lt;/span&gt;&lt;/a&gt; are two-to-three weeks long. That quick delivery of features is very attractive to businesses and is seen as a main reason to use Agile instead of waterfall and other development methodologies. Focus too intently on that one aspect of Agile and forego others at your peril.&lt;br /&gt;
York has seem missed estimates kill projects. “You have to be dead on with your estimates otherwise the whole thing is screwed up,” he said. “There’s not enough time in the next iteration or the next to catch up when a goal is missed. He’s seen estimates being way off the mark in three Agile projects. In those cases, York said, at the very end, the project manager cut out what didn’t get done and then claimed it all got done. The result was debilitating technical debt.&lt;br /&gt;
If you don’t get everything done in one iteration, you have to change your plan and go back and fix things before technical debt builds up, wrote software test veteran David Christiansen in his article, &lt;a href=&quot;http://searchsoftwarequality.techtarget.com/tip/How-to-deal-with-iteration-issues-in-Agile&quot; jquery1309452332392=&quot;271&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;How to deal with iteration issues in Agile&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;
An even better approach is not planning&amp;nbsp; too far in advance, said Crispin. Her Agile team avoids missed estimates by estimating only a sprint or two in advance. This gives them the ability to switch priorities very fast, to be very agile.&lt;br /&gt;
&lt;b&gt;Agile’s short iterations lead to burn-out and mistakes&lt;/b&gt;&lt;br /&gt;
Business managers love short iterations, but they wear people out, developers told us.&lt;br /&gt;
Management is getting away with short iterations today because of the recession, said York. “People are going to burn out and start leaving. And as soon as the economy picks up, people are going to start switching jobs because they’re tired of being pushed to the limit.”&lt;br /&gt;
Dwyer sees testers feeling the pinch of short iterations the most, largely because they’re not allowed into a process earlier. Carignan agreed, noting that the expectation is often for test and QA teams to get their work done in the last eight days of a three-week iteration, a time when testing and production is happening almost simultaneously.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/7179638901547404184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/06/agile-problem-areas-that-pain.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/7179638901547404184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/7179638901547404184'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/06/agile-problem-areas-that-pain.html' title='Agile problem areas that pain developers and testers'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-1605600845940206018</id><published>2011-06-30T09:42:00.000-07:00</published><updated>2011-06-30T09:42:58.010-07:00</updated><title type='text'>Agile development: What’s behind the backlash against Agile?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Try Googling “hate Agile” and “Agile sucks” and “Agile fails,” and hundreds of pages will show up. Some contain articles on how to avoid Agile software development failures and problems, and others are by development pros who have tried Agile and just don’t like it. Read the mostly anonymous comments on these articles, and you’ll find the hate being put on Agile right and left.&lt;br /&gt;
That’s the Agile backlash, another instance of any action causing an opposite reaction. Not everyone is on board the Agile train, despite the wave of almost-fanatical evangelism for and quick adoption of it. What’s written on the Web is the tip of the iceberg of dissatisfaction with the process, according to some of the users and experts cited in this series on the so-called backlash. Others think it’s the by-product of rapid and poorly-planned adoption.&lt;br /&gt;
In this article, we’ll explore the reasons why some software pros hate Agile, based on interviews with Agile coaches and consultants -- including Mike Dwyer, David Whalen, and Jon Kern – as well as software test and development veterans Scott Barber, Chris York and Lisa Crispin.&lt;br /&gt;
&lt;b&gt;Too much Agile too soon?&lt;/b&gt;&lt;br /&gt;
Picture this: A CEO/CTO/CIO/CXO sitting in an airplane reading a magazine article that’s gung-ho about Agile. He or she goes back to the office and issues an order to adopt Agile development and, perhaps, to use the Agile process in application lifecycle management (ALM) and all business-side processes. Managers rush to obey.&lt;br /&gt;
This opening scene in the Agile backlash story was suggested without solicitation by almost all of this article’s sources. The chief executive’s decision sets the stage for mistakes to be made and has led to project failures and disgruntled development, systems architecture and project management pros. Frequently, the blame is place on Agile..and, of course, the media.&lt;br /&gt;
“Nobody has been writing about the problems with Agile,” said Chris York, a 15-year software test and development pro. “Every manager reads the same publications, and all the articles say Agile is good. So, the managers want to do it, even though a lot of them have no idea what it really is.”&lt;br /&gt;
Enthusiasm for Agile principles and real need, fueled by the economic downturn, has led to rushed adoption and project failures, according to software tester Scott Barber. “Folks got caught up in the idea or the ideal around Agile,” he said. “They decided, without knowing very much about it, that it was going to solve whatever problems they had. Barber is president of PerfTestPlus, a software testing services firm, and co-author of both &lt;a href=&quot;http://www.amazon.com/gp/product/0735625700?ie=UTF8&amp;amp;tag=perftestplus-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0735625700&quot; jquery1309451713542=&quot;268&quot; target=&quot;blank&quot;&gt;&lt;em&gt;Performance Testing Guidance for Web Application.&lt;/em&gt;&lt;/a&gt; and &lt;a href=&quot;http://oreilly.com/catalog/9780596159825&quot; jquery1309451713542=&quot;269&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;Beautiful Testing&lt;/em&gt;&lt;/a&gt;.&lt;br /&gt;
On various development projects, York has seen first-hand results of too much Agile too quickly. “No one at the top really knew in any depth what Agile is,” he said.&amp;nbsp; Barber adds that non-development executives often don’t understand all the implications of a methodology change. They require the switch, but say: “Do whatever you want, just don’t make things hard on us.”&lt;br /&gt;
Many of the pro Agile articles have been written by early adopters who have had success in Agile or Agile consultants promoting it as the answer to all problems, Barber said. “No one thing can be the answer to all problems.”&lt;br /&gt;
Too little analysis is being done of Agile’s appropriateness to the projects’ or organizations’ people, culture, management structure, sales cycle, business needs, development processes and tools and other key aspects, sources said. “Failures and problems with Agile can simply be because that it’s the wrong decision for that organization,” said Barber. “Is that because Agile is broken? Not fundamentally.”&lt;br /&gt;
&lt;b&gt;Too strict with &amp;nbsp;Agile principles?&lt;/b&gt;&lt;br /&gt;
Leaders and organizations who insist that teams adhere too strictly to perceived Agile principles can create problems.&lt;br /&gt;
York has worked on Agile projects for more than one strictly Agile company. “Everything’s about the process and it’s not about the process being helpful. It’s about fitting into the process. That’s just backwards,” he said.&lt;br /&gt;
Development consultant Dave Whalen saw this same thing happen so often that he wrote the widely-read and controversial article, &lt;a href=&quot;http://www.testmagazine.co.uk/2010/01/i-hate-agile/&quot; jquery1309451713542=&quot;270&quot;&gt;I Hate Agile&lt;/a&gt;.&lt;br /&gt;
Knowing the principles of Agile isn’t the whole ballgame, Whalen told SearchSoftwareQuality.com. Understanding the philosophy, which is still developing, is a must. Anyone who believes that all Agile practices must be done as written is missing the point. “Every environment is not best served by a completely Agile notion,” he said. “Probably only a few are.”&lt;br /&gt;
Mike Dwyer, a 30-year IT and development veteran, sees “a conservatism in some of the Scrum and Agile community that you have to do it a certain way, and if you’re not doing it that way, you’re not Agile.” Dwyer is principal Agile coach for BigVisible Solutions in Boston and a significant contributor to the Scrum, Agile, and Lean software community.&lt;br /&gt;
The Agile philosophy is about flexibility and using what works for particular projects, not implementing the exact same practices even when the project isn’t a fit for them, Whalen said.&lt;br /&gt;
&lt;b&gt;Yearning for the silver bullet&lt;/b&gt;&lt;br /&gt;
Done well, Agile can help organizations streamline development, cut costs, improve software quality and more; but it’s not a shortcut or a universal panacea to all that ails Agile.&lt;br /&gt;
“People want the Agile Manifesto and the 12 principles to be more than just a bunch of principles,” Dwyer said. “They don’t understand in the simplicity of Agile. There’s a need for discipline, and they’re looking for something to take the place of discipline.”&lt;br /&gt;
Reading about Agile for the first time could be a “Eureka!” moment, but making Agile work well calls for leaders to do more than make top-down ultimatums for Agile adoption, these experts and developers said. Without discipline every step of the way, Agile can be yoke on the development teams’ neck and fuel the rebellion against it.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/1605600845940206018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/06/agile-development-whats-behind-backlash.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/1605600845940206018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/1605600845940206018'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/06/agile-development-whats-behind-backlash.html' title='Agile development: What’s behind the backlash against Agile?'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-701536982590130330</id><published>2011-06-28T09:31:00.000-07:00</published><updated>2011-06-28T09:31:44.714-07:00</updated><title type='text'>Nine Things Successful People Do Differently</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div id=&quot;pageFeature&quot;&gt;&lt;h1&gt;Nine Things Successful People Do Differently&lt;/h1&gt;&lt;div class=&quot;byline&quot;&gt;8:58 AM Friday February 25, 2011 &lt;br /&gt;
by Heidi Grant Halvorson&amp;nbsp;|&amp;nbsp;&lt;script src=&quot;http://disqus.com/forums/hbrproduction/get_num_replies_for_entry.js?url=http://blogs.hbr.org/cs/2011/02/nine_things_successful_people.html&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt; &lt;noscript&gt;&lt;/noscript&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- pageFeature end --&gt;&lt;!-- pageRightSubColumn begin --&gt;&lt;div id=&quot;pageRightSubColumn&quot;&gt;&lt;!-- relatedProducts begin --&gt;&lt;div class=&quot;widget&quot; id=&quot;relatedProducts&quot;&gt;&lt;div class=&quot;vertical BlogArticle&quot; id=&quot;bnDivFeaturedProducts&quot;&gt;&lt;div class=&quot;bn_g_container&quot; id=&quot;bn_guidecontainerbnDivFeaturedProducts&quot;&gt;&lt;div class=&quot;bn_g_area&quot; id=&quot;bn_guideareabnDivFeaturedProducts&quot;&gt;&lt;div class=&quot;bn_g_welcome&quot; id=&quot;bn_guidewelcomebnDivFeaturedProducts&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- shareWidgetTop --&gt;&lt;script src=&quot;http://s7.addthis.com/js/250/addthis_widget.js#pub=harvardbusiness&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;!-- articleBody begin --&gt;&lt;div id=&quot;articleBody&quot;&gt;Why have you been so successful in reaching some of your goals, but not others? If you aren&#39;t sure, you are far from alone in your confusion. It turns out that even brilliant, highly accomplished people are pretty lousy when it comes to understanding why they succeed or fail. The intuitive answer — that you are born predisposed to certain talents and lacking in others — is really just one small piece of the puzzle. In fact, decades of research on achievement suggests that successful people &lt;a cmimpressionsent=&quot;1&quot; href=&quot;http://books.google.com/books?id=kSxc2HEudrsC&amp;amp;printsec=frontcover&amp;amp;dq=the+psychology+of+goals&amp;amp;hl=en&amp;amp;src=bmrr&amp;amp;ei=DbtmTcj6D8L-8AaJzcjdCw&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CCsQ6AEwAA#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;reach their goals&lt;/a&gt; not simply because of who they are, but more often because of &lt;a cmimpressionsent=&quot;1&quot; href=&quot;http://blogs.hbr.org/schwartz/2010/08/six-keys-to-being-excellent-at.html&quot;&gt;what they do&lt;/a&gt;. &lt;br /&gt;
&lt;strong&gt;1. &lt;a cmimpressionsent=&quot;1&quot; href=&quot;http://blogs.hbr.org/cs/2011/02/get_your_goals_back_on_track.html&quot;&gt;Get specific&lt;/a&gt;. &lt;/strong&gt;When you set yourself a goal, try to be as specific as possible. &quot;Lose 5 pounds&quot; is a better goal than &quot;lose some weight,&quot; because it gives you a clear idea of what success looks like. Knowing exactly what you want to achieve keeps you motivated until you get there. Also, think about the specific actions that need to be taken to reach your goal. Just promising you&#39;ll &quot;eat less&quot; or &quot;sleep more&quot; is too vague — be clear and precise. &quot;I&#39;ll be in bed by 10pm on weeknights&quot; leaves no room for doubt about what you need to do, and whether or not you&#39;ve actually done it.&lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
2. Seize the moment to act on your goals.&lt;/strong&gt; Given how busy most of us are, and how many goals we are juggling at once, it&#39;s not surprising that we routinely miss opportunities to act on a goal because we simply fail to notice them. Did you really have no time to work out today? No chance at any point to return that phone call? Achieving your goal means grabbing hold of these opportunities before they slip through your fingers. &lt;br /&gt;
To seize the moment, &lt;a cmimpressionsent=&quot;1&quot; href=&quot;http://blogs.hbr.org/bregman/2011/02/a-better-way-to-manage-your-to.html&quot;&gt;decide when and where you will take each action you want to take&lt;/a&gt;, in advance. Again, be as specific as possible (e.g., &quot;If it&#39;s Monday, Wednesday, or Friday, I&#39;ll work out for 30 minutes before work.&quot;) Studies show that this kind of planning will help your brain to detect and seize the opportunity when it arises, increasing your chances of success by roughly 300%.&lt;br /&gt;
&lt;strong&gt;3. Know exactly how far you have left to go.&lt;/strong&gt; Achieving any goal also requires honest and regular monitoring of your progress — if not by others, then by you yourself. If you don&#39;t know how well you are doing, you can&#39;t adjust your behavior or your strategies accordingly. Check your progress frequently — weekly, or even daily, depending on the goal.&lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
4. Be a realistic optimist.&lt;/strong&gt; When you are setting a goal, by all means engage in lots of positive thinking about how likely you are to achieve it. Believing in your ability to succeed is enormously helpful for creating and sustaining your motivation. But whatever you do, don&#39;t underestimate how difficult it will be to reach your goal. Most goals worth achieving require time, planning, effort, and persistence. Studies show that thinking things will come to you easily and effortlessly leaves you ill-prepared for the journey ahead, and significantly increases the odds of failure. &lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
5. Focus on getting better, rather than being good.&lt;/strong&gt; Believing you have the ability to reach your goals is important, but so is believing you can &lt;em&gt;get &lt;/em&gt;the ability. Many of us believe that our intelligence, our personality, and our physical aptitudes are fixed — that no matter what we do, we won&#39;t improve. As a result, we focus on goals that are all about proving ourselves, rather than developing and acquiring new skills.&lt;br /&gt;
Fortunately, decades of research suggest that the belief in fixed ability is completely wrong — abilities of all kinds are profoundly malleable. Embracing the fact that you can change will allow you to make better choices, and reach your fullest potential. People whose goals are about getting better, rather than being good, take difficulty in stride, and appreciate the journey as much as the destination.&lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
6. Have grit.&lt;/strong&gt; Grit is a willingness to commit to long-term goals, and to persist in the face of difficulty. Studies show that gritty people obtain more education in their lifetime, and earn higher college GPAs. Grit predicts which cadets will stick out their first grueling year at West Point. In fact, grit even predicts which round contestants will make it to at the Scripps National Spelling Bee.&lt;br /&gt;
The good news is, if you aren&#39;t particularly gritty now, there is something you can do about it. People who lack grit more often than not believe that they just don&#39;t have the innate abilities successful people have. If that describes your own thinking .... well, there&#39;s no way to put this nicely: you are wrong. As I mentioned earlier, effort, planning, persistence, and good strategies are what it really takes to succeed. Embracing this knowledge will not only help you see yourself and your goals more accurately, but also do wonders for your grit.&lt;br /&gt;
&lt;strong&gt;7. Build your willpower muscle.&lt;/strong&gt; Your self-control &quot;muscle&quot; is just like the other muscles in your body — when it doesn&#39;t get much exercise, it becomes weaker over time. But when you give it regular workouts by putting it to good use, it will grow stronger and stronger, and better able to help you successfully reach your goals.&lt;br /&gt;
To build willpower, take on a challenge that requires you to do something you&#39;d honestly rather not do. Give up high-fat snacks, do 100 sit-ups a day, stand up straight when you catch yourself slouching, try to learn a new skill. When you find yourself wanting to give in, give up, or just not bother — don&#39;t. Start with just one activity, and make a plan for how you will deal with troubles when they occur (&quot;If I have a craving for a snack, I will eat one piece of fresh or three pieces of dried fruit.&quot;) It will be hard in the beginning, but it will get easier, and that&#39;s the whole point. As your strength grows, you can take on more challenges and step-up your self-control workout.&lt;br /&gt;
&lt;strong&gt;8. Don&#39;t tempt fate.&lt;/strong&gt; No matter how strong your willpower muscle becomes, it&#39;s important to always respect the fact that it is limited, and if you overtax it you will temporarily run out of steam. Don&#39;t try to take on two challenging tasks at once, if you can help it (like quitting smoking and dieting at the same time). And don&#39;t put yourself in harm&#39;s way — many people are overly-confident in their ability to resist temptation, and as a result they put themselves in situations where temptations abound. Successful people know not to make reaching a goal harder than it already is.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;9. Focus on what you &lt;em&gt;will &lt;/em&gt;do, &lt;a cmimpressionsent=&quot;1&quot; href=&quot;http://blogs.hbr.org/bregman/2009/06/how-to-teach-yourself-restrain.html&quot;&gt;not what you &lt;em&gt;won&#39;t&lt;/em&gt; do&lt;/a&gt;.&lt;/strong&gt; Do you want to successfully lose weight, quit smoking, or put a lid on your bad temper? Then plan how you will replace bad habits with good ones, rather than focusing only on the bad habits themselves. Research on thought suppression (e.g., &quot;Don&#39;t think about white bears!&quot;) has shown that trying to avoid a thought makes it even more active in your mind. The same holds true when it comes to behavior — by trying not to engage in a bad habit, our habits get strengthened rather than broken. &lt;br /&gt;
If you want change your ways, ask yourself, What will I do instead? For example, if you are trying to gain control of your temper and stop flying off the handle, you might make a plan like &quot;If I am starting to feel angry, then I will take three deep breaths to calm down.&quot; By using deep breathing as a replacement for giving in to your anger, your bad habit will get worn away over time until it disappears completely.&lt;br /&gt;
It is my hope that, after reading about the nine things successful people do differently, you have gained some insight into all the things you have been doing right all along. Even more important, I hope are able to identify the mistakes that have derailed you, and use that knowledge to your advantage from now on. Remember, you don&#39;t need to become a different person to become a more successful one. It&#39;s never what you are, but what you do.&lt;br /&gt;
&lt;em&gt;Heidi Grant Halvorson, Ph.D. is a motivational psychologist, and author of the new book&lt;/em&gt; &lt;a cmimpressionsent=&quot;1&quot; href=&quot;http://www.amazon.com/Succeed-How-Can-Reach-Goals/dp/1594630739&quot;&gt;Succeed: How We Can Reach Our Goals&lt;/a&gt; &lt;em&gt;(Hudson Street Press, 2011). She is also an expert blogger on motivation and leadership for Fast Company and Psychology Today. Her personal blog, The Science of Success, can be found at &lt;a cmimpressionsent=&quot;1&quot; href=&quot;http://heidigranthalvorson.com/&quot;&gt;http://heidigranthalvorson.com/&lt;/a&gt;. Follow her on Twitter &lt;a cmimpressionsent=&quot;1&quot; href=&quot;http://twitter.com/#!/hghalvorson&quot;&gt;@hghalvorson&lt;/a&gt;&lt;/em&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/701536982590130330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/06/nine-things-successful-people-do.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/701536982590130330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/701536982590130330'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/06/nine-things-successful-people-do.html' title='Nine Things Successful People Do Differently'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-5086178900277589040</id><published>2011-06-28T09:08:00.000-07:00</published><updated>2011-06-28T09:08:43.168-07:00</updated><title type='text'>The secrets to getting started in your software testing career</title><content type='html'>&lt;a href=&quot;http://searchsoftwarequality.techtarget.com/tip/The-secrets-to-getting-started-in-your-software-testing-career?asrc=SS_CLA_306123&amp;amp;psrc=CLT_92&quot;&gt;The secrets to getting started in your software testing career&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/5086178900277589040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/06/secrets-to-getting-started-in-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/5086178900277589040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/5086178900277589040'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/06/secrets-to-getting-started-in-your.html' title='The secrets to getting started in your software testing career'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-7280483179639421651</id><published>2011-05-27T00:34:00.000-07:00</published><updated>2011-05-27T00:34:12.197-07:00</updated><title type='text'>Reasons to Repeat Tests</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 1;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 24pt; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-font-kerning: 18.0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Reasons to Repeat Tests&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: x-small;&quot;&gt;by &lt;/span&gt;&lt;a href=&quot;mailto:james@satisfice.com&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: x-small;&quot;&gt;James Bach&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;i&gt;(with help from colleagues Doug Hoffman, Michael Bolton, Ken Pugh, Cem Kaner, Bret Pettichord, Jim Batterson, Geoff Sutton, plus numerous students who have participated in the &quot;Minefield Debate&quot; as part of my testing class. The minefield analogy as I talk about it was inspired by Brian Marick&#39;s talk Classic Testing Mistakes.)&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Testing to find bugs is like searching a minefield for mines. If you just travel the same path through the field again and again, you won&#39;t find a lot of mines. Actually, that&#39;s a great way to avoid mines. The space represented by a modern software product is hugely more complex than a minefield, so it&#39;s even more of a problem to assume that some small number of &quot;paths&quot;, say, a hundred, thousand, or million, when endlessly repeated, will find every important bug. As many tests as a team of testers can physically perform in a few weeks or months is still not that many tests compared to all the things that can happen to a product in the field.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;The minefield analogy is really just another way of saying that testing is a sampling process, and we probably want a larger sample, rather than a tiny sample repeated over and over again. Hence the minefield heuristic is &lt;b&gt;do different tests instead of repeating the same tests&lt;/b&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;But what do I mean by &lt;i&gt;repeat the same test&lt;/i&gt;? It&#39;s easy to see that no test can be repeated &lt;i&gt;exactly&lt;/i&gt;, any more than you can exactly retrace your footsteps. You can get close, but you will always be a tiny bit off. Does repeating a test mean that the second time you run the test you have to make sure that sunlight is shining at the same angle onto your mousepad? Maybe. Don&#39;t laugh. I did experience a bug, once, that was triggered by sunlight hitting an optical sensor inside a mouse. You just can&#39;t say for sure what factors are going to affect a test. However, when you test you have a certain goal and a certain theory of the system. You may very well be able to repeat a test with respect to that goal and theory in every respect that A) you know about and B) you care about and C) isn&#39;t too expensive to repeat. Nothing is necessarily intractable about that.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Therefore, by a repeated test, I mean &lt;i&gt;a test that includes elements already known to be covered in other tests&lt;/i&gt;. To repeat a test is to repeat &lt;i&gt;some aspect&lt;/i&gt; of a previous test. The minefield heuristic is saying that it&#39;s better to try to do something you &lt;i&gt;haven&#39;t yet done&lt;/i&gt;, then to do something you already have done.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;If you disagree with this idea, or if you agree with it, please read further. Because...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;...this analysis is too simplistic! In fact, even though diversity in testing is important and powerful, and even though the argument against repetition is generally valid, I do know of ten exceptions. There are ten specific reasons why, in some particular situation, it is not unreasonable to repeat tests. It may even be &lt;i&gt;important&lt;/i&gt; to repeat some tests.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;For &lt;i&gt;technical reasons&lt;/i&gt; you might rationally repeat tests...&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol type=&quot;1&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-list: l1 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Recharge:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; if there is a substantial probability of a new problem or a recurring old problem that would be caught by a particular existing test, or if an old test is applied to a new code base. This includes re-running a test to verify a fix, or repeating a test on successively &lt;i&gt;earlier&lt;/i&gt; builds as you try to discover when a particular problem or behavior was introduced. This also includes running an old test on the same software that is running on a new O/S. In other words, a tired old test can be &quot;recharged&quot; by changes to the technology under test. Note that the recharge effect doesn&#39;t necessarily mean you &lt;i&gt;should&lt;/i&gt; run the same old tests, only that it isn&#39;t &lt;i&gt;necessarily&lt;/i&gt; irrational to do so.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-list: l1 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Intermittence:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; if you suspect that the discovery of a bug is not guaranteed by one &lt;i&gt;correct&lt;/i&gt; run of a test, perhaps due to important variables involved that you can&#39;t control in your tests. Performing a test that is, to you, exactly the same as a test you&#39;ve performed before, may result in discovery of a bug that was always there but not revealed until the uncontrolled variables line up in a certain way. This is the same reason that a gambler at a slot machine plays again after losing the first time.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-list: l1 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Retry:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; if you aren&#39;t sure that the test was run &lt;i&gt;correctly&lt;/i&gt; the other time(s) it was performed. A variant of this is having several testers follow the same instructions and check to see that they all get the same result.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-list: l1 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Mutation:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; if you are changing an important part of the test while keeping another part constant. Even though you are repeating some elements of the test, the test as a whole is new, and may reveal new behavior. I mutate a test because although I have covered something before, I haven&#39;t yet covered it &lt;i&gt;well enough&lt;/i&gt;. A common form of mutation is to operate the product the same way while using different data. The key difference between mutating a test and intermittence or retry is that with mutation the change is directly under your control. Mutation is intentional, intermittence results from incidental factors, and you retry a test because of accidental factors.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-list: l1 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Benchmark:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; if the repeated tests comprise a performance standard that gets its value by comparison with previous executions of the same exact tests. When historical test data is used as an oracle, then you must take care that the tests you perform are comparable to the historical data. Holding tests constant may not be the only way to make results comparable, but it might be the best choice available.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;For &lt;i&gt;business reasons&lt;/i&gt; you might rationally repeat tests...&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol start=&quot;6&quot; type=&quot;1&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Inexpensive:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; if they have some value and are sufficiently inexpensive compared to the cost of new and different tests. These tests may not be &lt;i&gt;enough&lt;/i&gt; to justify confidence in the product, however.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Importance:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; if a problem that could be discovered by those tests is likely to have substantially more importance than problems detectable by other tests. The distribution of the importance of product behavior is not necessarily uniform. Sometimes a particular problem may be considered intolerable just because it&#39;s already impacted an important user once (a &quot;never let it happen again&quot; situation). This doesn&#39;t necessarily mean that you must run the same &lt;i&gt;exact&lt;/i&gt; test, just something that is sufficiently similar to catch the problem (see Mutation). Be careful not to confuse the importance of a problem with the importance of a test. A test might be important for many reasons, even if the problems it detects are not critical ones. Also, don&#39;t make the mistake of spending so much effort on one test that looks for an important bug that you neglect &lt;i&gt;other&lt;/i&gt; tests that might be just as good or better at finding that kind of problem.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Enough:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; if the tests you repeat represent the &lt;i&gt;only&lt;/i&gt; tests that seem worth doing. This is the virus scanner argument: maybe a repeated virus scan is okay for an ordinary user, instead of constantly changing virus tests. However, we may introduce variation because we don&#39;t know which tests truly are worth doing, or we are unable to achieve enoughness via repeated tests.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Mandated:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; if, due to contract, management edict, or regulation, you are &lt;i&gt;forced&lt;/i&gt; to run the same exact tests. However, even in these situations, it is often not necessary that the mandated tests be the only tests you perform. You may be able to run new tests without violating the mandate.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Indifference/Avoidance:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; if the &quot;tests&quot; are being run for some reason other than finding bugs, such as for training purposes, demo purposes (such as an acceptance test that you desperately hope will pass when the customer is watching), or to put the system into a certain state. If one of your goals in running a test is to &lt;i&gt;avoid&lt;/i&gt; bugs, then the principal argument for variation disappears.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;I have collected these reasons in the course of probably a hundred hours of debate with testing students and colleagues. Many of my colleagues prefer different words or a different breakdown of reasons. There&#39;s nothing particularly sacred about my way of doing it (except that some breakdowns would lead to long lists of very similar items). The important thing is that when I hear a reason that seems not to fit within the ones I already have, I add that reason to this list. I started with two reasons, in 1997. I added the tenth one in late 2004.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 18pt; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Applying the Minefield: An Example&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Ward Cunningham wrote &quot;I believe the automation required of TDD [Test Driven Design] (and Fit) is exempt from the analogy because the searching we are doing is for the best expression of a program in the presence of tests, not the best tests.&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Here&#39;s how I think it applies:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Your units tests might pass or they might fail. You write them so that they will fail in the event that some interesting expectation is violated. So, you call them tests and they seem to be tests.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;We introduce the minefield criticism the first time you run any given test in your unit test suite. The first time you run it, it fails, right? Of course, since it wouldn&#39;t be TDD, otherwise. The questions below are inspired by the Minefield heuristic &quot;vary your tests instead of repeating them.&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Question:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; &lt;i&gt;Why run it again?&lt;/i&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Answer:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; Exception #1, &quot;recharge.&quot; You run it again because you have added code to make the test pass, therefore running the test again is not merely redundant, the value of the test has been recharged by the code changing around it.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Question: &lt;/span&gt;&lt;/b&gt;&lt;i&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;During the course of development, but after the first time the test passes, why not delete it? Why bother to run it again?&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Answer:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; Several reasons. Recharge still applies a little bit, since you may accidentally break the product during development, but it could be argued that most of those unit tests most of the time don&#39;t fail, and some of them are extremely unlikely to fail even if you change the code quite a bit. But here you have the second reason: exception #6, &quot;inexpensive.&quot; It&#39;s so cheap to create these tests and to run them and to keep them running, while at the same time they do have &lt;i&gt;some&lt;/i&gt; value, even if not a lot. And you have a third reason for some of the tests: exception #7, &quot;importance.&quot; For a good many of the unit tests, failure would indicate a very serious problem, were it to occur. If you are testing something that is particularly complex, or involves many interacting sub-systems, you may also want to epeat because of exception #2, &quot;intermittence&quot;. Perhaps something will fail after the forty-third run because of probabilistic factors in he test. Finally, there&#39;s #3, the &quot;retry&quot; exception, which reminds us that we might not have run the test correctly, before. As you once said, Ward, something might give off a bad smell only after you&#39;ve seen the test run a hundred times or so. In other words, as a result of running a test many times, you might come to an insight about the product that reveals a failure that was there all along, but never noticed.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Question:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; &lt;i&gt;Let&#39;s say that I&#39;m a really good developer and though I write good tests, they just don&#39;t fail because I just don&#39;t put bugs into my code. I have a whole lot of tests and they don&#39;t fail. What was the sense in investing in such tests?&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;Answer:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt; Two potential reasons. Exception #10, &quot;avoidance/indifference.&quot; You may create the tests as a form of documentation for future developers and you like them to be exactly the same in order to minimize the chance that they will fail (and thus be less useful as documentation). Or maybe you want to impress a customer with your great software, and they won&#39;t be as impressed if the tests don&#39;t pass. A second reason is exception #9, &quot;mandated.&quot; you may work this way because your peer group or your manager requires you to. This is a little like avoidance except that with a mandate you do, in fact, want to find bugs. You are searching for them, you just are required to use a certain technique to do so.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-fareast-language: EN-GB;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: x-small;&quot;&gt;We therefore see that the fairly simple, often repeated unit tests of TDD may indeed be exempt from the minefield-based argument in favor of varying tests, inasmuch as the reasons I cited apply. But TDD is not exempt from this kind of heuristic analysis. It is &lt;i&gt;always&lt;/i&gt; reasonable to question the value of repeated tests, and that&#39;s what the minefield invites us to do.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/7280483179639421651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/05/reasons-to-repeat-tests.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/7280483179639421651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/7280483179639421651'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/05/reasons-to-repeat-tests.html' title='Reasons to Repeat Tests'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-5749738070005871433</id><published>2011-05-26T22:19:00.000-07:00</published><updated>2011-05-26T22:19:48.483-07:00</updated><title type='text'>Estimation approaches in Agile development</title><content type='html'>&lt;a href=&quot;http://searchsoftwarequality.techtarget.com/tip/Estimation-approaches-in-Agile-development?asrc=EM_NLT_13937115&amp;amp;track=NL-778&amp;amp;ad=834589&quot;&gt;Estimation approaches in Agile development&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/5749738070005871433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/05/estimation-approaches-in-agile.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/5749738070005871433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/5749738070005871433'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/05/estimation-approaches-in-agile.html' title='Estimation approaches in Agile development'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-3662704665604469143</id><published>2011-04-29T11:42:00.000-07:00</published><updated>2011-04-29T11:42:27.234-07:00</updated><title type='text'>Managing the Testing Process</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt;&quot;&gt;&lt;span class=&quot;textnormal1&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Planning for testing on a software project is often challenging for program managers. Test progress is frequently unpredictable, and during software testing painful schedule and feature &quot;surprises&quot; typically occur. Software testing is often viewed as an obstacle—more as a problem and less as a vital step in the process. For this reason, testing is treated as a &quot;black box&quot; and addressed at the end of the schedule. While budget and time may be allocated for it, testing is not really managed in the same way as development. Typically, software development is measured in terms of overall progress in meeting functional and business goals. Software testing needs to be measured in similar terms to understand its true progress and make informed decisions. By considering testing dimensions other than cost and schedule, managers and other team members can better understand and optimize the testing process, in effect opening the black box and managing testing more effectively. In this way they can avoid costly and painful &quot;surprises&quot; late in the project. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Years ago I worked on a new &quot;next-generation&quot; project at a software company. Everything seemed to be going well until the time came to do quality testing. As the software approached the test phase, the schedule looked pretty good. There had been some slips, but the project seemed on target for the scheduled release date. That is, until it actually went into testing.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;On this project, testing had been treated as a black box. Software went into the lab, the testers did whatever it is that testers do, and bug reports came out. Since it was a black box, it was difficult for management to understand or justify time, resources, or equipment for testing. Also, nobody outside of the testing group, including project management, really understood what the process was or how to determine whether or not testing was complete. Several weeks were allocated to do a single test run, after which it was anticipated that the software would be ready to release.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Unfortunately, that was not the way the project went. Instead of a single pass through testing, ten different versions of the software required complete testing runs. The schedule was hopelessly overrun, and instead of having a new release to announce at an important show, all the company had were some &quot;closed-door&quot; demos for selected customers.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Testing does not have to happen this way. Looking beyond simple cost and schedule considerations opens up the black box, helping managers make better decisions about testing. When the testing black box is opened, and enough detail is provided to managers, it becomes much easier to understand the tradeoffs and to make informed decisions about resources and schedules needed to test a product. Managers are able to plan for and guide testing from the start, rather than ignoring it and hoping for the best. When the entire project team is kept up to date on testing, understands the approach used, and can observe the progress of testing while it is being done, it is easier for the team to function effectively as problems are found and as new versions go through the testing phases of the project. There are other advantages to opening up testing as well.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Often, there are early warning signs that testing is going to have problems. These show up in the details of the analysis and design phases of the tests themselves. They appear in the form of incomplete or deferred work due to missing information, improperly managed problems recorded against key functionality, and other &quot;small&quot; indicators accumulating over time. If these indicators are spotted far enough ahead of time by managers, developers, and the testers themselves, work can be done to head problems off while they are still small. This in turn ensures that the testing group is better prepared for the software and that the software is better prepared for testing.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Organizations can avoid last-minute quality issues by addressing testing problems earlier in the process, when they are still small. Doing this requires better insight into a project than what can be gotten from a Gantt chart. During test development, management needs to know the status of test planning and preparation to properly gauge the readiness of the test team to test the software. This knowledge comes from understanding&lt;/span&gt;&lt;br /&gt;
&lt;ul type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l9 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;the relationship between the software functionality and the testing to be done on that functionality &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l9 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;the relationship between the software design and the tests expected to verify that software &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l9 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;specific problems the tests are intended to address &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;It is not just management that needs to know this information. Software developers and testers also need to be able to see and work with this information, and to understand the parts that are relevant to their own work. With adequate information, testers are better able to plan and perform their tasks more efficiently, and to get an accurate picture of the system. For example, it is not uncommon for a set of unmeasured functional tests to repeatedly test one part of the code, while partially or completely missing other parts. In addition, feedback and questions from testers can help to prevent problems later as inconsistencies and inaccuracies are found. Likewise, the developers are able to anticipate potential problems with either the software or the tests, and work with the testers to address these before they have a significant impact.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;While testing is in progress, results should be measured in terms of software functionality tested, degree of code coverage, progress against schedule, and problems found. Usually these factors provide a much clearer picture of the status of the testing (and the overall quality of the software) than how long the testing has been running.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Compiling and communicating complete information about test activities provides a common way for everyone on the project to track test activity progress. Testing status needs to be presented to each member of the team in a way that is understandable and that lets them make the best decisions possible. The project manager needs to have a comprehensive view of the progress of test preparation and execution, understanding at a global level what tests are being designed, what tests were run against different versions of the software, what areas of functionality are affected by significant bugs, and what parts of the code will be affected by the bugs that have been found. Developers need to have information specific to their part of the software process, knowing what tests will touch on their area, what problems have been found in their area, how significant those problems are, and what testing has actually been done on their software. Testers and QA staff need to have a different, but similarly detailed view of the system. In short, each person on the project has a different role, and so each needs information that is appropriate to their function.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;To support these different needs, different levels of detail in each of the following categories must be provided to each group.&lt;/span&gt;&lt;br /&gt;
&lt;ol type=&quot;1&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l8 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Schedule: What tests will be run? When will the tests be ready? How much effort will it take? When will it be complete? &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l8 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Functionality: What requirements will be tested and where? How will tests divide up application requirements? How much of the functionality has been tested for a given version of the software? &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l8 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Code: What parts of the code are exercised by the tests? What problems have been found? How much of the code in a given version has been executed during testing? &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l8 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Problems: What problems are tested for? What problems have been found? How significant are the problems? What parts of the software are affected by the problems? What versions are affected by the problems? What requirements are impacted by these problems? What is the impact of these problems on the testing? &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;The questions posed for each of these areas must be carefully examined in order to properly understand and track the status of project test activities. In addition, having a solid understanding of the planning and preparation requirements for each testing phase is critical to making correct decisions about project schedule, status, and release.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Table 1 below summarizes commonly used testing metrics and where in the testing process they apply.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;1&quot; class=&quot;MsoNormalTable&quot; style=&quot;mso-cellspacing: .7pt; mso-padding-alt: 1.5pt 1.5pt 1.5pt 1.5pt; width: 555px;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 12pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;&lt;td style=&quot;background: aqua; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 12pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 60.75pt;&quot; valign=&quot;top&quot; width=&quot;81&quot;&gt;&lt;div style=&quot;line-height: 12pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Metric Type&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;background: aqua; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 12pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 136.5pt;&quot; valign=&quot;top&quot; width=&quot;182&quot;&gt;&lt;div style=&quot;line-height: 12pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Test Development Metrics&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;background: aqua; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 12pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 175.5pt;&quot; valign=&quot;top&quot; width=&quot;234&quot;&gt;&lt;div style=&quot;line-height: 12pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Test Execution Metrics&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 21pt; mso-yfti-irow: 1;&quot;&gt;&lt;td style=&quot;background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 21pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 60.75pt;&quot; valign=&quot;top&quot; width=&quot;81&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Functional Metric&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 21pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 136.5pt;&quot; valign=&quot;top&quot; width=&quot;182&quot;&gt;&lt;ul type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l0 level1 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Number of requirements allocated by test&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l0 level1 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;% of requirements by test development phase&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;&lt;td style=&quot;background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 21pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 175.5pt;&quot; valign=&quot;top&quot; width=&quot;234&quot;&gt;&lt;ul type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l1 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Number of requirements verified&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l1 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;% of requirements tested by version&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l1 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;% of requirements tested by major software component&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l1 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Stability of server/platform per user&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 0.75pt; mso-yfti-irow: 2;&quot;&gt;&lt;td style=&quot;background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 0.75pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 60.75pt;&quot; valign=&quot;top&quot; width=&quot;81&quot;&gt;&lt;div style=&quot;mso-line-height-alt: .75pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Code Metric&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 0.75pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 136.5pt;&quot; valign=&quot;top&quot; width=&quot;182&quot;&gt;&lt;ul type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l7 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;% of code covered per test&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-line-height-alt: .75pt; mso-list: l7 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;% of code coverage per major software component&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;&lt;td style=&quot;background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 0.75pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 175.5pt;&quot; valign=&quot;top&quot; width=&quot;234&quot;&gt;&lt;ul type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-line-height-alt: .75pt; mso-list: l4 level1 lfo6; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Code coverage of tests completed for each version under test&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 24.75pt; mso-yfti-irow: 3;&quot;&gt;&lt;td style=&quot;background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 24.75pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 60.75pt;&quot; valign=&quot;top&quot; width=&quot;81&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Problem Metrics&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 24.75pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 136.5pt;&quot; valign=&quot;top&quot; width=&quot;182&quot;&gt;&lt;ul type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l3 level1 lfo7; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Problems tested for in regression tests&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l3 level1 lfo7; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Extreme conditions tested for in functional tests&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;&lt;td style=&quot;background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 24.75pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 175.5pt;&quot; valign=&quot;top&quot; width=&quot;234&quot;&gt;&lt;ul type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l2 level1 lfo8; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Problems found per version tested&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l2 level1 lfo8; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Problems found per software component&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l2 level1 lfo8; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Number of critical/high problems found per version&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 11.25pt; mso-yfti-irow: 4; mso-yfti-lastrow: yes;&quot;&gt;&lt;td style=&quot;background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 11.25pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 60.75pt;&quot; valign=&quot;top&quot; width=&quot;81&quot;&gt;&lt;div style=&quot;line-height: 11.25pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Schedule Metrics&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 11.25pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 136.5pt;&quot; valign=&quot;top&quot; width=&quot;182&quot;&gt;&lt;ul type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l6 level1 lfo9; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;% completion of functional test requirements by testing phase&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; line-height: 11.25pt; margin: 0cm 0cm 0pt; mso-list: l6 level1 lfo9; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Weighted functional requirement completion&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;&lt;td style=&quot;background-color: transparent; border-bottom: #f0f0f0; border-left: #f0f0f0; border-right: #f0f0f0; border-top: #f0f0f0; height: 11.25pt; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 175.5pt;&quot; valign=&quot;top&quot; width=&quot;234&quot;&gt;&lt;ul type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l5 level1 lfo10; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Tests completed per version&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l5 level1 lfo10; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Estimated number of days to complete&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; margin: 0cm 0cm 0pt; mso-list: l5 level1 lfo10; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Test cycle completion time&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: black; line-height: 11.25pt; margin: 0cm 0cm 0pt; mso-list: l5 level1 lfo10; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;Time to complete testing per functional area&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 7.5pt;&quot;&gt;TABLE 1: Commonly Used Testing Metrics&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 7.5pt;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Managing a successful testing effort requires knowing all about project schedules. The process begins during test planning and involves not only understanding how long it will take to prepare tests, but also estimating how long it will take to run the tests and what resources will be required. During planning, preemptive decisions about required resources and the scope of testing can be made before testing actually begins. Tradeoffs between resources and time are possible at this stage. Also, decisions about what tests to automate and how much to automate can be made and tracked. At the same time, estimates of costs and numbers of test runs for different versions can be made and refined as test time approaches. This allows estimates of how much testing needs to be done concurrently, and how to plan for it. As testing is performed, the number of times the software needs to be tested and the amount of time each version takes to test can be factored in to decision making. However, it is not possible to make scheduling decisions without knowing the functionality, code, and problem aspects of the testing to be done.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Functionality is a critical measure of testing completeness. Decisions need to be made up front about the degree to which functionality will be tested, and which parts of the functionality will be emphasized during testing. Functionality is usually described in terms of requirements, which are divided among different functional and systems tests according to the nature of the requirements and the needs of the system. Often, for reasons of efficiency and to get a better understanding of how software will perform after release, test requirements are allocated very differently from the allocation of requirements among different components of the software. For this reason, it may be necessary to run multiple tests from several areas to completely test software components. Following this process can reveal problems in areas of the software that have been passed over in earlier tests. This is also why it is important to see testing from the code perspective.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;When considering functionality in testing, it is important to think also about how the functionality is being tested. It is common to develop a relatively &quot;quick-and-dirty&quot; set of tests that exercise the functionality of the code in a &quot;nominal&quot; way, to make sure that all of the pieces are in place and a given version of the software is worth the added effort of doing a complete set of tests on. The complete testing suite should be targeted at testing the functionality to a more exacting standard, in essence deliberately trying to push the software to its limits. This type of functional testing includes load, performance, and endurance testing where appropriate.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Understanding how tests and problems map to the code is necessary to understand how far along testing has progressed, what remains to be tested, and how complete the testing has been. A detailed knowledge of the code is not required for the entire project team. However, management does need to understand how much of the code has been tested, how much remains to be tested, and how many modules are affected by problems discovered during testing. With this information, informed decisions can be made about the consequences of fixing or leaving problems alone. Armed with such information about test coverage, it is possible to understand how thoroughly the software is being tested, and how much of the software is being exercised by the tests. Often this comes as an unpleasant but enlightening surprise the first time it is measured.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;When considering code coverage as a measure of the completeness of testing, it is often important to decide what a reasonable level of coverage is for the software being tested. There are many different ways to measure completeness of code coverage, some of which are extremely difficult to achieve for a typical piece of software. These higher levels of coverage are commonly used for software with a correspondingly high level of criticality—either software that is widely used, such as operating systems or Web servers, or software that is used in very critical functions, such as medical devices or aircraft controls. Regardless of the project, however, teams need to decide on a level of coverage that is most appropriate to the particular software under test.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Measuring the impact and consequences of problems that arise during testing is a critical step in the process. This should include how much of the software is affected by a given problem, at what point during testing a problem was found, and what kinds of problems regression tests are attempting to uncover. This information is needed to monitor the overall progress of the software through testing and to make informed decisions about software release. So by combining all of the different perspectives of schedule, functionality, code, and problem resolution, it is possible to understand and manage software testing, rather than treating it as a black box.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;The catch to this is that while these elements of information are usually present in a software project, it is often difficult to find them. Also, typically such information is presented at a level of detail and terminology understandable only by testers and developers. Recently, test management tools have been developed to collect and present this information in the different forms that are better targeted to different members of the software development team. For example, higher level progress and statistical information is presented to management in a simple graphical form, while more detailed technical information is expanded out in drill-down views for users who need that level of detail. These tools can be set up to provide a common basis for discussion and decision making during the testing cycle. They can also help management to avoid treating testing like a black box.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;As we have seen, treating testing as a black box at the end of the project schedule invites failure. Testing and test preparation need to be open, managed, and manageable processes that everyone on the project team can understand and work with. Having insight into all testing requirements and desired outcomes is an absolute must for effectively managing a successful testing effort.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Finally, having current information available for testing is important to prepare and manage the project for testing. Testing progress needs to be measured in terms of schedule, functionality, code coverage, and problems. While the exact way in which this information is presented will vary according to the needs of the organization and the project, these four measures of progress need to be available in a form that allows each member of the team to understand the current status of testing, what needs to be done, and how that will affect their part of the project. Using that knowledge, the team can ensure the success of testing and remove one of the major stumbling blocks to a successful project and a successful product.&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/3662704665604469143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/04/managing-testing-process.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/3662704665604469143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/3662704665604469143'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/04/managing-testing-process.html' title='Managing the Testing Process'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8495615183577355000.post-3508494546943391467</id><published>2011-04-29T11:35:00.001-07:00</published><updated>2011-04-29T11:35:28.682-07:00</updated><title type='text'>Bug Board</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Rather than managing our &quot;bugs&quot; in a database, where they can get lost, we&#39;ve created the &quot;Bug Board&quot; to keep them front and center.&lt;br /&gt;
&lt;img alt=&quot;&quot; src=&quot;http://media.techtarget.com/rms/misc/buildingAgiletestpractice.JPG&quot; /&gt;&lt;br /&gt;
Every bug that is discovered by us, our clients, or the users, is written on a story card just as a new feature would be. The title and the story number are then written on a colored sticky note. The color of the sticky notes represents clusters of defects, with the brightest color representing the worst thing we could do to the user. For example, on the Accuri Cytometer project, we use fuchsia colored sticky notes for bugs related to loss of data. Each week we ask our client to take the sticky notes and place them on the &quot;Bug Board&quot; according to their likelihood of occurrence and their impact on the user. This creates four quadrants that can then be used to prioritize bugs during the planning game. It also provides a high-level picture of how buggy the app is.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://readytohelpfortesting.blogspot.com/feeds/3508494546943391467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/04/bug-board.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/3508494546943391467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8495615183577355000/posts/default/3508494546943391467'/><link rel='alternate' type='text/html' href='http://readytohelpfortesting.blogspot.com/2011/04/bug-board.html' title='Bug Board'/><author><name>Kumar, Sanjay</name><uri>http://www.blogger.com/profile/17434805861627453110</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseWukD686wT4_mKAmT2-Zfnc0XrW-fIfh1evkBqwswfB4nDDvq37r_RY6DmlprAr3wLAv1k1Om5Z83SEgWS3-0Q2OMM3DgoIWeWhBgY9gH6_Jc-5YF9YJV_nM-qoEl2M/s220/DSC00640.JPG'/></author><thr:total>0</thr:total></entry></feed>