tag:blogger.com,1999:blog-83782397473190860892015-07-19T11:26:42.327-07:00Dorothy Graham BlogDot Graham, software testing consultant,
www.DorothyGraham.co.ukDot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-8378239747319086089.post-53507373255794330552014-04-08T08:10:00.000-07:002014-04-08T08:10:25.189-07:00Testers should learn to code?It seems to be the "perceived wisdom" these days that if testers want to have a job in the future, they should learn to write code. Organisations are recruiting "developers in test" rather than testers. Using test automation tools (directly) requires programming skills, so the testers should acquire them, right?<br /><br />I don't agree, and I think this is a dangerous attitude for testing in general.<br /><br />Here's a story of two testers:<br /><br /><ul><li><span style="font-family: Cambria; font-size: 12pt;">Les has degree in Computer Science, started out in a traditional test team, and now works in a multi-disciplinary agile team. Les is a person who likes to turn a hand to whatever needs doing, and enjoys a technical challenge. Les is very happy to write code, and has recently starting coding for a recently acquired test automation tool, making sure that good programming practices are applied to the testware and test code. Les is very happy as a developer-tester.</span></li><li><span style="font-family: Cambria; font-size: 12pt;">Fran came into testing through the business. Started out being a user who was more interested in any new release from IT than the other users, so became the “first user”. Got drawn into the user acceptance test group and enjoyed testing – found things that the technical people missed, due to a good business background. With training in testing techniques, Fran became a really good tester, providing great value to the organization. Probably saved them hundreds of thousand pounds a year by advising on new development and testing from a user perspective. Fran never wanted anything to do with code.</span></li></ul><br /><span lang="EN-US" style="font-family: Cambria; font-size: 12.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &quot;Times New Roman&quot;; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Cambria; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"><span lang="EN-US" style="font-size: 12pt;"> <!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Template>Normal.dotm</o:Template> <o:Revision>0</o:Revision> <o:TotalTime>0</o:TotalTime> <o:Pages>1</o:Pages> <o:Words>43</o:Words> <o:Characters>247</o:Characters> <o:Company>Dorothy Graham</o:Company> <o:Lines>2</o:Lines> <o:Paragraphs>1</o:Paragraphs> <o:CharactersWithSpaces>303</o:CharactersWithSpaces> <o:Version>12.0</o:Version> </o:DocumentProperties> <o:OfficeDocumentSettings> <o:AllowPNG/> </o:OfficeDocumentSettings></xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:Zoom>0</w:Zoom> <w:TrackMoves>false</w:TrackMoves> <w:TrackFormatting/> <w:PunctuationKerning/> <w:DrawingGridHorizontalSpacing>18 pt</w:DrawingGridHorizontalSpacing> <w:DrawingGridVerticalSpacing>18 pt</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables/> <w:DontGrowAutofit/> <w:DontAutofitConstrainedTables/> <w:DontVertAlignInTxbx/> </w:Compatibility> </w:WordDocument></xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="276"> </w:LatentStyles></xml><![endif]--> <!--[if gte mso 10]><style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin; mso-ansi-language:EN-US;} </style><![endif]--> <!--StartFragment--> <!--EndFragment--></span></span><br /><div class="MsoNormal"><span lang="EN-US">What will happen when the CEO hears: “Testers should learn to code”? Les’s job is secure, but what about Fran? I suspect that Fran is already feeling less valued by the organisation and is worried about job security, in spite of having provided a great service for years as an excellent software tester.</span></div><div class="MsoNormal"><span lang="EN-US"><br /></span></div><div class="MsoNormal"><br /></div><div class="MsoNormal">So what’s wrong with testers who write code?</div><div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"></div><ul><li><span lang="EN-US" style="text-indent: -18pt;">-<span style="font-family: 'Times New Roman'; font-size: 7pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="text-indent: -18pt;">absolutely nothing</span></li><li><span lang="EN-US" style="text-indent: -18pt;">-<span style="font-family: 'Times New Roman'; font-size: 7pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="text-indent: -18pt;">for testers who want to code, who enjoy it, who are good at it</span></li><li><span lang="EN-US" style="text-indent: -18pt;">-<span style="font-family: 'Times New Roman'; font-size: 7pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="text-indent: -18pt;">for testers in agile teams</span></li></ul><!--[if !supportLists]--><br /><div class="MsoNormal"><br /></div><div class="MsoNormal">Why is this a dangerous attitude for testing in general?</div><div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"></div><ul><li><span lang="EN-US" style="text-indent: -18pt;">-<span style="font-family: 'Times New Roman'; font-size: 7pt;">&nbsp; &nbsp; &nbsp; &nbsp;</span></span><span lang="EN-US" style="text-indent: -18pt;">it reads as “<u>all</u> testers should write code” and is taken as that by managers who are looking to get rid of people</span></li><li><span lang="EN-US" style="text-indent: -18pt;">-<span style="font-family: 'Times New Roman'; font-size: 7pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="text-indent: -18pt;">not all testers will be good at it or want to become developers (maybe that's why they went into testing)</span></li><li><span lang="EN-US" style="text-indent: -18pt;">-<span style="font-family: 'Times New Roman'; font-size: 7pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="text-indent: -18pt;">it implies that “the only good tester is one who can write code”</span></li><li><span lang="EN-US" style="text-indent: -18pt;">-<span style="font-family: 'Times New Roman'; font-size: 7pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="text-indent: -18pt;">it devalues testing skills (now want coders, not [good] testers. In fact, if coders can test, why do we need specialist testers anyway?)</span></li><li><span lang="EN-US" style="text-indent: -18pt;"><span lang="EN-US" style="text-indent: -18pt;">-<span style="font-family: 'Times New Roman'; font-size: 7pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span lang="EN-US" style="text-indent: -18pt;">tester-developers may "go native" and be pushed into development, so we lose more testing skills</span></span></li><li><span lang="EN-US" style="text-indent: -18pt;">-<span style="font-family: 'Times New Roman'; font-size: 7pt;">&nbsp; &nbsp; &nbsp; &nbsp;</span></span><span lang="EN-US" style="text-indent: -18pt;">it's not right to force good testers out of our industry</span></li></ul><div style="text-indent: -24px;"><div style="text-indent: 0px;">So I say, let's stand up for testing skills, and for non-developer testers!</div><div><br /></div></div><br />Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com5tag:blogger.com,1999:blog-8378239747319086089.post-81727392506485659852012-06-21T10:57:00.003-07:002012-06-21T10:57:37.325-07:00Is it dangerous to measure ROI for test automation?<br /><div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"><span class="Apple-style-span" style="font-family: Georgia; font-size: 21px;">I have been a fan of trying to show ROI for automation in a way that is simple enough to understand easily, and provides a way of showing the benefit of automation compared to its cost.</span></div><div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"><br /></div><div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"><span lang="EN-US" style="font-family: Georgia; font-size: 16pt;">I have been developing a spreadsheet with sample calculations (sparked off initially by Molly Mahai, including an example from Mohacsi &amp; Beer's chapter in the new book, and some other people have also been influential - thanks). I have sent this spreadsheet out to around 300 people, including most who have attended my automation tutorials.<o:p></o:p></span></div><div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"><br /></div><div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"><span lang="EN-US" style="font-family: Georgia; font-size: 16pt;">The problem with showing ROI is that it's hard to quantify some of the important factors, so I have focused on showing ROI using what is the most straight-forward to quantify - people's effort and/or time. This can be converted into money, using some kind of salary cost, if desired, and either effort or money can then be plugged into the ROI calculation = (benefit - cost) / cost.<o:p></o:p></span></div><div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"><br /></div><div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"><span lang="EN-US" style="font-family: Georgia; font-size: 16pt;">So basically, this is showing how a set of tests requires less human effort when those tests are automated than would be required if those same tests were run manually.<o:p></o:p></span></div><div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"><br /></div><div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"><span lang="EN-US" style="font-family: Georgia; font-size: 16pt;">This is great, right? We have a clear business case showing savings from automation than are greater than the cost of developing the automation, so our managers should be happy.<o:p></o:p></span></div><div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"><br /></div><div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"><span lang="EN-US" style="font-family: Georgia; font-size: 16pt;">Recently, however, I have been wondering whether this approach can be dangerous.<o:p></o:p></span></div><div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"><br /></div><div class="MsoNormal"><span lang="EN-US" style="font-family: Georgia; font-size: 16pt;">If we justify automation ONLY in terms of reduced human effort, we run the risk of implying that the tools can replace the people, and this is definitely not true! Automation supports testing, it does not replace testers. Automation should free the testers to be able to do better testing, designing better tests, having time to do exploratory testing, etc.<o:p></o:p></span></div><div class="MsoNormal"><br /></div><div class="MsoNormal"><span lang="EN-US" style="font-family: Georgia; font-size: 16pt;">So should we abandon ROI for automation? I don’t think that’s a good idea – we should be gaining business benefit from automation, and we should be able to show this.<o:p></o:p></span></div><div class="MsoNormal"><br /></div><div class="MsoNormal"><span lang="EN-US" style="font-family: Georgia; font-size: 16pt;">Scott Barber told me about Social ROI – a way of quantifying some of the intangible benefits – I like this but haven’t yet seen how to incorporate it into my spreadsheet.<o:p></o:p></span></div><div class="MsoNormal"><br /></div><div class="MsoNormal"><span lang="EN-US" style="font-family: Georgia; font-size: 16pt;">In our book, there are many success stories of automation where ROI was not specifically calculated, so maybe ROI isn’t as critical as it may have seemed.<o:p></o:p></span></div><div class="MsoNormal"><br /></div><div class="MsoNormal"><span lang="EN-US" style="font-family: Georgia; font-size: 16pt;">I don’t know the answer here – these are just my current thoughts!<o:p></o:p></span></div><div class="MsoNormal"><br /></div>Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com7tag:blogger.com,1999:blog-8378239747319086089.post-54307820357703763522012-01-25T07:53:00.000-08:002012-01-25T08:38:34.655-08:00How long does it take to write a book?<a href="http://4.bp.blogspot.com/-R3JfD1J_KTU/TyAoVe1sqDI/AAAAAAAAACU/pDdFpsnZdP8/s1600/book%2Bhours.tiff" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 133px;" src="http://4.bp.blogspot.com/-R3JfD1J_KTU/TyAoVe1sqDI/AAAAAAAAACU/pDdFpsnZdP8/s320/book%2Bhours.tiff" border="0" alt="" id="BLOGGER_PHOTO_ID_5701601477771700274" /></a><p class="MsoNormal" style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:0cm"><span lang="EN-US">A number of people have asked me this, since our new <a href="http://www.dorothygraham.co.uk/automationExperiences/index.html">book</a> is now out.</span></p><p class="MsoNormal" style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:0cm">This book took us 2 and a half years. This doesn’t include the effort put in by the case study authors and other contributors, so this book represents a lot of work! What exactly had we been doing all that time? I wondered that too, so here is where the time went.</p> <p class="MsoNormal" style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:0cm"><span lang="EN-US">In August 2009, I have my first note of our plan to solicit contributions for a new book on automation experience. We sent emails, put a call for contributions on my web site, and talked to people at conferences, and began gathering potential contributions.</span></p> <p class="MsoNormal" style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:0cm"><span lang="EN-US">I started keeping track of the hours we spent from December 2009. We had a big initial “push” (the first peak on the graph) and produced a “protobook” – 4 chapters with an introduction. We were sure this would be snapped up by a publisher! </span></p> <p class="MsoNormal" style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:0cm"><span lang="EN-US">We submitted to the publisher of our previous book in mid-February, but initially they weren’t very keen! This was a blow, as we were convinced this would be a great book! I tried several other publishers over the next few months, and got rejected; I continued to try and convince Pearson/Addison Wesley that they should publish our book. </span></p> <p class="MsoNormal" style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:0cm"><span lang="EN-US">They eventually relented in July and we signed a contract. We worked steadily on the book over the rest of that year, a total of around 400 hours between us. The complete draft manuscript, ready for independent review was <span class="Apple-style-span" style="font-size:100%;">due</span> on the 15<sup>th</sup> April, and the final manuscript on the 15<sup>th</sup> October. “No problem”, we thought.</span></p><p class="MsoNormal" style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:0cm"><span lang="EN-US">However, we found that we did need to work at a more intense level - we spent another 300 hours to the end of April (the double peak with some time out in February), and another 300 hours to the end of 2011. The final peak was editing the final page proofs and doing the index, more work that we had anticipated at that stage. The total for us comes to just under 1000 hours. We don't know how much time the contributors spent, but it their time was equivalent to ours, the collaboration represents around 2000 hours of time - that's more than one working year.</span></p><div><span lang="EN-US" style="font-family:Cambria;mso-fareast-font-family: Cambria;mso-bidi-Times New Roman&quot;;mso-ansi-language:EN-US; mso-fareast-language:EN-USfont-family:&quot;;"><span class="Apple-style-span" style="font-size:100%;"> <!--[if gte mso 9]><xml> <o:documentproperties> <o:template>Normal.dotm</o:Template> <o:revision>0</o:Revision> <o:totaltime>0</o:TotalTime> <o:pages>1</o:Pages> <o:words>22</o:Words> <o:characters>129</o:Characters> <o:company>Dorothy Graham</o:Company> <o:lines>1</o:Lines> <o:paragraphs>1</o:Paragraphs> <o:characterswithspaces>158</o:CharactersWithSpaces> <o:version>12.0</o:Version> </o:DocumentProperties> <o:officedocumentsettings> <o:allowpng/> </o:OfficeDocumentSettings> </xml><![endif]--><!--[if gte mso 9]><xml> <w:worddocument> <w:zoom>0</w:Zoom> <w:trackmoves>false</w:TrackMoves> <w:trackformatting/> <w:punctuationkerning/> <w:drawinggridhorizontalspacing>18 pt</w:DrawingGridHorizontalSpacing> <w:drawinggridverticalspacing>18 pt</w:DrawingGridVerticalSpacing> <w:displayhorizontaldrawinggridevery>0</w:DisplayHorizontalDrawingGridEvery> <w:displayverticaldrawinggridevery>0</w:DisplayVerticalDrawingGridEvery> <w:validateagainstschemas/> <w:saveifxmlinvalid>false</w:SaveIfXMLInvalid> <w:ignoremixedcontent>false</w:IgnoreMixedContent> <w:alwaysshowplaceholdertext>false</w:AlwaysShowPlaceholderText> <w:compatibility> <w:breakwrappedtables/> <w:dontgrowautofit/> <w:dontautofitconstrainedtables/> <w:dontvertalignintxbx/> </w:Compatibility> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:latentstyles deflockedstate="false" latentstylecount="276"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-ansi-language:EN-US;} </style> <![endif]--> <!--StartFragment--> </span><p class="MsoNormal" style="margin-top: 6pt; margin-right: 0cm; margin-bottom: 6pt; margin-left: 0cm; "><span class="Apple-style-span" style="font-size:100%;">We enjoyed working on this book and reading all the stories as they came in. There are many useful lessons, some heartfelt pain, and many gratifying successes among the stories.</span></p><p class="MsoNormal" style="margin-top: 6pt; margin-right: 0cm; margin-bottom: 6pt; margin-left: 0cm; "><span class="Apple-style-span" style="font-size:100%;">You can follow the book on Twitter on @AutExpBook. The book tweets tips and good points every few days!</span></p><p class="MsoNormal" style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:0cm">Thanks to all the book contributors, and to co-author <a href="http://www.grove.co.uk">Mark Fewster</a>.</p> <!--EndFragment--></span></div>Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com2tag:blogger.com,1999:blog-8378239747319086089.post-36983930493605616942011-02-05T04:48:00.001-08:002011-02-05T05:03:43.774-08:00Part 3. Certification schemes do not assess tester skill?(Continuing from Parts 1 and 2, certification is evil? and some history about ISTQB)<div><!--StartFragment--> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">Now I would like to say something about the criticism that the current schemes do not assess tester skill. I am thinking mainly of the Foundation level, as </span><span class="Apple-style-span" style=" ;font-family:Times;font-size:21px;">this seems to be where the criticism is mainly directed, and </span><span class="Apple-style-span" style=" ;font-family:Times;font-size:21px;">I am more familiar with that than the Advanced Levels.</span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">In the main, I agree. There is a modicum of skill needed in testing techniques to be able to answer multiple-choice questions about them, but that is not the same as being able to test well in practice. And I also agree that the current ISTQB Foundation level is based more on learning facts than on practicing the craft. Why is that? Because the current scheme was designed to meet a different need, a basic ignorance about testing in general; it was not designed to assess testing skill.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">I feel it is unfair for people to criticize a scheme because it doesn’t conform to what they think assessment of testers should be today, when the scheme was never meant to be that kind of assessment. It’s a bit like criticizing a bicycle for not powering you up a hill by itself – it’s not intended to do that.</span><span lang="EN-US" style=" font-family:Georgia;mso-bidi-font-family:Georgia;font-size:16.0pt;"><o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">When we were developing the original Foundation Syllabus with ISEB, I remember many discussions about what was possible and practical, including ways of assessing tester skills beyond basic concepts and vocabulary: <o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;text-indent:36.0pt;mso-pagination: none;mso-layout-grid-align:none;text-autospace:none"><span lang="EN-US" style="font-family:Times;mso-bidi-font-family:Times;font-size:16.0pt;">- interviews? <o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;text-indent:36.0pt;mso-pagination: none;mso-layout-grid-align:none;text-autospace:none"><span lang="EN-US" style="font-family:Times;mso-bidi-font-family:Times;font-size:16.0pt;">- looking at projects submitted from their workplace?<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;text-indent:36.0pt;mso-pagination: none;mso-layout-grid-align:none;text-autospace:none"><span lang="EN-US" style="font-family:Times;mso-bidi-font-family:Times;font-size:16.0pt;">- observing them at work? <o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;text-indent:36.0pt;mso-pagination: none;mso-layout-grid-align:none;text-autospace:none"><span lang="EN-US" style="font-family:Times;mso-bidi-font-family:Times;font-size:16.0pt;">- substantial pieces of testing work to be done in a supervised exam-like setting or as a project to be given in within a time frame?<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">All of these have significant challenges. For example, how to ensure fairness if different people interview in different ways, ensuring that the work being assessed was actually done by the person submitting it, time commitment, scope and fair comparison of observation at work, designing a testing task that would be applicable to people from different industries. <o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">We decided that the place to start was with something very basic that could be built on later, something that would try to cover common ground that all testers should know and build on - hence it was called "Foundation".<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">Criticism is good – we all learn by having our ideas challenged. But current qualification schemes are not “evil”, even if there are aspects of their current implementation that are not as they should be. So let’s take the context of the certification schemes into account, and remember that what may be ideal for today was not possible 12 or 13 years ago.<o:p></o:p></span></p> <!--EndFragment--> </div>Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com15tag:blogger.com,1999:blog-8378239747319086089.post-6406143807597436842011-02-05T04:44:00.000-08:002011-02-05T04:59:22.869-08:00Part 2. A bit of history about ISTQB certification<!--StartFragment--> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">(Continuing from Part 1 where I was surprised at reactions to certification as "evil")</span></p><p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">In the early 1990s, software testing was not a respected profession; in fact many thought of testing at best as a “necessary evil” (if they thought of testing at all!). There were few people who specialized in testing, and it was seen as a “second-class” activity. There was a general perception that testing was easy, that anyone could do it, and that you were rather strange if you liked it. </span></p><p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">It was then that I decided to specialize in testing, seeing great scope for improvement in testing activities in industry, not only in imparting fundamental knowledge about testing (basic principles and techniques), but also in improving the view testers had of themselves, and the perceptions of testers in their companies. I developed training courses in testing, and began Grove Consultants, named after my house in Macclesfield. One of my most popular talks at the time was called “Test is a four-letter word”, reflecting the prevailing culture about testing. The UK’s Specialist Interest Group in Software Testing (SIGIST) was started by Geoff Quentin in 1989, and was the only gathering of testers in the UK.</span><span lang="EN-US" style="font-family:Georgia;mso-bidi-font-family:Georgia;font-size:16.0pt;"><o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">It was into this context that the initiative to create a qualification for testers was born. Although I was not the initiator, I was involved from the first meeting (called by Paul Gerrard at a STARWest conference in 1997) and the earliest working groups that developed the first Foundation Syllabus, donating many hours of time to help progress this effort. This work was carried out with support from ISEB (Information Systems Examination Board) of the British Computer Society (meeting rooms, travel expenses and admin help). The testing qualification was modeled on ISEB’s qualifications in Project Management and Information Systems Infrastructure, which were perceived as useful and valuable in their respective sectors. One of the aims was to give people a common vocabulary to talk about testing, since at the time people seemed to be using many different terms for the same thing.</span><span lang="EN-US" style="font-family:Georgia;mso-bidi-font-family:Georgia;font-size:16.0pt;"><o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">The first course based on the ISEB Foundation Syllabus was given in October 1998 and the first Foundation Certificates in Software Testing were awarded at that time. But an important aspect of the scheme was that it was not necessary to take a training course in order to get the qualification; you could just take the exam. (Some other schemes were based on attendance at courses which seemed too training-provider profit-oriented to us.)</span><span lang="EN-US" style="font-family:Georgia; mso-bidi-font-family:Georgia;font-size:16.0pt;"><o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">The success of the Foundation qualification took everyone by surprise – there seemed to be a hunger for something that gave testers more respect, both for themselves and from their employers. It also gave testers a common vocabulary and more confidence in their work. The Foundation qualification was meeting its main objective of “removing the bottom layer of ignorance” about software testing.</span><span lang="EN-US" style="font-family:Georgia;mso-bidi-font-family:Georgia;font-size:16.0pt;"><o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">Work then began on extending the ISEB qualification to a more advanced level (which became the ISEB Practitioner qualification) and also to extending it to other countries, as news of the qualification spread in the international community. I was a facilitator at the meeting that formed ISTQB in 2001 in Sollentuna, Sweden.</span><span lang="EN-US" style="font-family:Georgia;mso-bidi-font-family:Georgia;font-size:16.0pt;"><o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">I became a member of the working party that produced the first ISTQB Foundation Syllabus in 2005, and I am amazed at how ISTQB has grown; it has certainly changed over the past six years. While working on the update to the Foundation book, I was rather surprised and disappointed at the apparent lack of review the before release of the 2010 Syllabus.<o:p></o:p></span></p><p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">In Part 3 I return to the criticism that current certification schemes do not address tester skill.</span></p> <!--EndFragment-->Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com4tag:blogger.com,1999:blog-8378239747319086089.post-79470513151950507832011-02-05T04:40:00.000-08:002011-02-05T04:47:59.633-08:00Part 1. Certification is evil?<!--StartFragment--> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><b style="mso-bidi-font-weight:normal"><span lang="EN-US" style="font-family:Times;mso-bidi-font-family:Times;font-size:16.0pt;">Certification is evil?<o:p></o:p></span></b></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">This is a 3-part blog (because it ended up rather longer than I anticipated when I started).<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">1: My reaction to “certification is evil”<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">2: A bit of history about ISTQB certification<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">3: The criticism that current schemes do not assess tester skill<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">I enjoyed reading the Software Testing Club's publication "A Tester is for Life, not just for Christmas" (http://blog.softwaretestingclub.com/2010/11/a-tester-is-for-life-not-just-for-christmas/) which consists of interviews with a number of people, all of whom answered the same questions.</span><span lang="EN-US" style="font-family: Georgia;mso-bidi-font-family:Georgia;font-size:16.0pt;"><o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">But I was quite shocked at the strength of feeling shown by quite a few against certification. The question asked was "What are your views on Testing Certification Schemes?" Although there are a few older testing qualifications from the US, it seems that most people assumed the ISTQB qualifications were being asked about.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">A couple of people called the ISTQB scheme a "scam", one person said it was "downright dangerous", and someone said it was "the devil in disguise" and talked about the "evil axis" of certification institutes, training providers and HR departments. Some mentioned "profit" and "money-making". Several criticized any exam based on memorizing, saying that current exams are too easy, even "trivial"; one said the exam "has no value". <o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">The basis of this criticism (if there is a rational basis) seems to be that current schemes do not assess tester skills, i.e. how well you can actually do testing. (I will return to this point at the end of this blog.)</span><span lang="EN-US" style="font-family: Georgia;mso-bidi-font-family:Georgia;font-size:16.0pt;"><o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">(On the other hand, many said that the current schemes were a good starting point for people new to testing, that it gave knowledge of basic terminology, helped them get their first job, and can demonstrate that you are serious enough about testing to take an exam.)</span><span lang="EN-US" style="font-family:Georgia;mso-bidi-font-family:Georgia;font-size:16.0pt;"><o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:16.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">I was not surprised to find people who didn't like the ISTQB certification schemes - I have been to conferences over the past few years where this has become clear. But some of the "opposition" to certification is, I believe, based on a false premise about what it was intended to be, and this I feel is somewhat unfair.</span><span lang="EN-US" style="font-family:Georgia;mso-bidi-font-family:Georgia;font-size:16.0pt;"><o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:12.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">Just to state my own position: I am not involved in any certification scheme at the moment. I no longer provide accredited ISTQB training courses in software testing. However, I was involved in writing the initial Foundation Syllabus, and I am currently in the process of updating our book that supports the ISTQB Foundation Syllabus.</span><span lang="EN-US" style="font-family:Georgia;mso-bidi-font-family:Georgia;font-size:16.0pt;"><o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:12.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">It seems to me that people have lost sight of (or perhaps were never aware of) the origins and purpose of the current certification scheme, at least the ISTQB Foundation (which is the one I am most familiar with).</span><span lang="EN-US" style="font-family: Georgia;mso-bidi-font-family:Georgia;font-size:16.0pt;"><o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:12.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">I have been involved in software testing all my working life, for over 40 years. The situation before the current ISTQB certification began was very different to what testing is like today!<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom:12.0pt;mso-pagination:none;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-family: Times;mso-bidi-font-family:Times;font-size:16.0pt;">See my next entry for a bit of history about ISTQB.</span></p> <!--EndFragment-->Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com3tag:blogger.com,1999:blog-8378239747319086089.post-25964298342404814892010-10-07T05:03:00.000-07:002010-10-13T03:03:42.762-07:00Automation benefit measured by EMTE - good or bad?<div><b><span class="Apple-style-span" style="font-weight: normal; ">Being able to run tests that we would not have had time to run manually <b>is</b> one of the benefits of automated testing; we should be able to measure this benefit in some way.</span></b></div><div><b><br /></b></div><div><b>What is EMTE?</b></div><div>EMTE stands for "Equivalent Manual Test Effort" and is a way of measuring the benefit of running automated tests.</div><div><br /></div><div>If an automated test (A) would have taken 4 hours to run manually, then its EMTE is 4 hours; another test (B) that would have taken 7.5 hours to run manually has an EMTE of 7.5 hrs.</div><div><br /></div><div>In a test cycle, if Test A is run five times, and Test B is run twice, then the EMTE for that cycle is 5*4 hrs + 2*7.5 hrs = 20 + 15 = 35 hours EMTE.</div><div><br /></div><div><b>What is EMTE used for?</b></div><div>EMTE can be used as a way to measure a benefit of test automation (automated running of functional tests). </div><div><br /></div><div>When tests are automated, they can be run in much less time than they could be run manually. Our tests A and B may be able to run in 5 and 10 minutes respectively, for example. So we can achieve "4 hours' worth" of manual testing in 5 minutes of automated testing. Whenever we run Test A, we can "clock up" 4 hours of EMTE.</div><div><br /></div><div><b>Is EMTE a good thing?</b></div><div>Yes, because it is a way to show the benefit of automation. </div><div><br /></div><div>Costs (of automation as well as other things) tend to become visible by themselves - managers see that people are spending time on the automation. But what is the benefit of this automation? If you don't make benefits visible to managers, there is a risk that they will not see the benefits, and may eventually conclude that there are no benefits. EMTE is one way to make an automation benefit visible.</div><div><br /></div><div><b>So how could it be a bad thing?</b></div><div>I have had discussions with a couple of people recently (thanks Julian and Wade) about abusing EMTE, and yes, it can be abused (as any metric can). Here is how it could be mis-used:</div><div><br /></div><div><blockquote>"Test A takes 5 minutes, so let's run it 12 times every hour for 2 hours. This gives 24*4 hours of EMTE = 96 hours. This will make us look really great!"</blockquote></div><div><br /></div><div>The problem is that after the first run, the other 23 runs are being done just for the sake of looking good, not for a valuable benefit in terms of running that test. This is an abuse of EMTE, and is a bad thing.</div><div><br /></div><div><b>What to do about it?</b></div><div>Use EMTE (and other measures of the benefit of test automation) sensibly. </div><div><br /></div><div>Perhaps only "count" EMTE once a day, however many times a test is run? (e.g. in continuous integration testing)</div><div><br /></div><div>In what other ways can the benefit of automation be shown? (e.g. more coverage, freeing testers to find more bugs, number of times tests are run, more variety of data used?)</div><div><br /></div><div>Have you encountered the abuse of this (or other automation) measures? How have you solved the problem? (Please comment, thanks!)</div><div><br /></div><div>Dot Graham</div><div><br /></div><div><br /></div>Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com8tag:blogger.com,1999:blog-8378239747319086089.post-5351667889423521872010-05-27T05:13:00.000-07:002010-05-27T05:54:39.199-07:00Automated tests should find bugs? No!I have recently been having what seems like the same discussion with a number of different people. <div><br /></div><div>"Automated tests should find bugs" or "find more bugs" is a very common misconception. Basically this says that finding bugs is a valid objective for automation. I don't agree - I think this is generally a very poor objective for test automation. The reasons are to do with the nature of testing and of automation.</div><div><br /></div><div>Testing is an indirect activity, not a direct one. We don't just "do testing", we "test something". (Testing is like a transitive verb which requires an object to be grammatically correct.) This is why the quality of the software we test has a large impact on testing: if a project is delayed because testing finds lots of bugs, we shouldn't blame the testing! (I hope that most people realize this by now, but do have my doubts at times!) Testing is not responsible for the bugs inserted into software any more than the sun is responsible for creating dust in the air. Testing is a way of assessing the software, whatever the quality of that software is.</div><div><br /></div><div>Test automation is doubly indirect. We don't "do automation", we "automate tests that test something".</div><div><br /></div><div>Automation is a mechanism for executing tests, whatever the quality of those tests are (that assess the software, whatever the quality of that software is).</div><div><br /></div><div>Bugs are found by <b>tests</b>, not by automation. </div><div><br /></div><div>It is just as unfair to hold automation responsible for the quality of the test, as it is to hold the testing responsible for the quality of the software.</div><div><br /></div><div>This is why "finding bugs" is not a good objective for test automation. But there are a couple more points to make.</div><div><br /></div><div>Most people automate regression tests. Regression tests by their nature are tests that have been run before and are run many times. The most likely time a test will find a bug is the first time it is run, so regression tests are less likely to find bugs than say exploratory tests. In addition the same test run for a second time (and more) is even less likely to find a bug. Hence the main purpose of regression tests (whether automated or not) is to give confidence that what worked before is still working (to the extent that the tests cover the application).</div><div><br /></div><div>Of course, this is complicated by the fact that because automated tests can be run more often, they do sometimes find bugs that wouldn't have been found otherwise. But even this is not because those tests are <b>automated</b>, it is because they were <b>run</b>. If the tests that are automated <span class="Apple-style-span" style="font-weight: bold; ">had <span class="Apple-style-span" style="font-weight: normal; ">been run manually, then those manual tests would have found the bugs. So even this bug-finding is a characteristic of the tests, not of the automation.</span></span></div><div><br /></div><div>So should your goal for automation be to find bugs? No! At least not if you are planning to automate your existing regression tests.</div><div><br /></div><div>I have been wondering if there may be two exceptions: Model-Based Testing (where tests are generated from a model), and mature Keyword-driven automation, i.e. using a Domain Specific Test Language. In both cases, the first time a test is run is in its automated form. </div><div><br /></div><div>But hang on, this means that again it is the <span class="Apple-style-span" style="font-weight: bold; ">tests <span class="Apple-style-span" style="font-weight: normal; ">that are finding the bugs, not the fact that those tests are automated!</span></span></div><div><br /></div><div>"Finding bugs" is a great objective for testing - but it is not a good objective for automation.</div>Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com11tag:blogger.com,1999:blog-8378239747319086089.post-60995690959992690062010-01-14T02:00:00.000-08:002010-01-14T02:33:20.057-08:00Finding 40% of your own mistakesI used to be fond of quoting a statistic that says you can only find around 40% of your own mistakes.<br /><br />Michael Stahl emailed me to ask where this number came from. Interesting question - first thought - I don't remember! I'm sure I must have read it somewhere at some time, but where, by whom and was it based in a study?<br /><br />I checked with Mark Fewster, one of my former colleagues, and he thinks it might have come from a study done by the Open University in the UK.<br /><br />I checked with Tom Gilb, as he uses an estimate of around a third (33%) for the effectiveness of an initial inspection - which is probably more effective than an individual anyway! Tom has demonstrated an effectiveness of 33% repeatedly by experimentation with early Inspections; he said it also agrees with Capers Jones' data.<br /><br />I think we used the figure of 40% only because people found it more believable than 33%.<br /><br />The frightening consequence is that if you don't have anyone else review your work, you are guaranteed to leave in two thirds of your own mistakes!Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com8tag:blogger.com,1999:blog-8378239747319086089.post-42454940597117707782010-01-02T03:09:00.000-08:002010-01-02T03:30:47.792-08:00DDP Discussions and challengesSeveral people have asked about benchmarks for DDP. I have actually blogged about this, but my comments are "buried" in the comments to the post about "Starting with DDP". Please have a look at <a href= "https://www.blogger.com/comment.g?blogID=8378239747319086089&amp;postID=140185916164272907"> the comments for that post</a>, which include:<div><br /></div><div>- benchmarking DDP with other organisations (raised by Bernhard Burger)</div><div><br /></div><div>- Paul Herzlich's challenges about the seriousness of defects, getting data, DDP being hard to use and code-based metrics (all of which I have replied to in my following comment)</div><div><br /></div><div>- using DDP to improve development (raised by Ann-Charlotte)</div><div><br /></div><div>- Michael Bolton's challenges: </div><div><span class="Apple-tab-span" style="white-space:pre"> </span>5 examples to show when it doesn't work (which I reply to in my first comment following his) (including some Dilbert Elbonian testers ;-)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>7 "problems" - some of which I agree with, some I don't understand, and some I think illustrate the benefit of DDP rather than being problems with it (replied to in my second comment after his)</div><div><br /></div><div>Thanks to Michael B's comments, I also formulated 3 Rules for when to use DDP:</div><div><span class="Apple-style-span" style=" color: rgb(51, 51, 51); line-height: 18px; font-family:'Trebuchet MS', Verdana, Arial, sans-serif;font-size:small;">DDP is appropriate to use when:<br />1) you keep track of defects found during testing<br />2) you keep track of defects found afterwards<br />3) there are a reasonable number of defects – for both 1) and 2)</span></div><div><br /></div><div>These are not the whole story (as illustrated by Michael's examples) but I think are a pre-requisite to sensible use of DDP.</div><div><br /></div>Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com0tag:blogger.com,1999:blog-8378239747319086089.post-46060067037072026672009-12-18T01:57:00.000-08:002009-12-18T04:17:00.035-08:00Can Agile be Context-Driven?"They say they are doing Agile, but they're not doing all of the practices, so they aren't really Agile." <div><br /></div><div>This seems to be a popular view, implying that Agile needs to be done "properly". A search on "agile best practice" brings up many entries. Is there such a thing as Agile Best Practice?<div><br /></div><div>The Context-driven principles (www.context-driven-testing.com) include:</div><div>1. The value of any practice depends on its context.</div><div>2. There are good practices in context, but there are <b>no best practices</b>. (emphasis mine)</div><div><br /></div><div>So if you adapt agile practices to suit your context, as was described by Gitte Ottosen at EuroSTAR, isn't that context-driven agile? And isn't that the best way to practice it?</div><div><br /></div><div><br /></div><div><br /></div></div>Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com2tag:blogger.com,1999:blog-8378239747319086089.post-54509266564267178572009-06-19T08:34:00.000-07:002009-06-19T08:43:25.338-07:00ROI from automationHow do you measure Return on Investment from automation? <div><br /></div><div>According to <span class="Apple-style-span" style=" ;font-family:Helvetica, -webkit-fantasy;font-size:medium;">http://www.investopedia.com/terms/r/returnoninvestment.asp, <span class="Apple-style-span" style=" ;font-family:Georgia, fantasy;font-size:16px;">return on investment is (Gain - Cost) / Cost.</span></span></div><div><span class="Apple-style-span" style="font-family:Georgia, -webkit-fantasy;"><br /></span></div><div><span class="Apple-style-span" style="font-family:Georgia, -webkit-fantasy;">So if we have a set of automated tests that save 5 hours of manual testing, then if those tests took one hour to build and run, our ROI would be (5 - 1) / 1 = 4 (if my arithmetic is correct). So that would be a four-fold ROI for those automated tests.</span></div><div><span class="Apple-style-span" style="font-family:Georgia, -webkit-fantasy;"><br /></span></div><div><span class="Apple-style-span" style="font-family:Georgia, -webkit-fantasy;">Of course in the initial stages of automation, before our automation regime is mature, it might take us 10 hours to build and run those same tests. This would give an ROI of (5 - 10) / 10, i.e. a negative return on investment of -0.5.</span></div><div><span class="Apple-style-span" style="font-family:Georgia, -webkit-fantasy;"><br /></span></div><div><span class="Apple-style-span" style="font-family:Georgia, -webkit-fantasy;">Negative ROI is not generally a good idea, as it means you are losing money. But you may have negative ROI in the early stages of automation, but a very good positive ROI long-term. It might also make more sense to look at ROI over a larger sample, say all of the automation build and run in a month, and monitor that month by month.</span></div><div><span class="Apple-style-span" style="font-family:Georgia, -webkit-fantasy;"><br /></span></div><div><span class="Apple-style-span" style="font-family:Georgia, -webkit-fantasy;">How do you measure ROI for automation?</span></div><div><span class="Apple-style-span" style=" ;font-family:Helvetica;font-size:medium;"><div><br /></div></span></div>Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com7tag:blogger.com,1999:blog-8378239747319086089.post-73990601905014567832009-03-16T02:47:00.000-07:002009-03-16T02:59:50.661-07:00Make testing fun?<span class="Apple-style-span" style="font-style: italic;">On the LinkedIn group "Software Testing Club", the question was asked: "How can we make testing more fun?" They are running 1300 scripts over 4 months.</span><div><span class="Apple-style-span" style="font-style: italic;"><br /></span></div><div><span class="Apple-style-span" style="font-style: italic;">There were some interesting answers about holding weekly competitions, creating visibility with management, and having a movie in work time. There were also a couple of mentions about automation also. Here is my response to the thread:</span></div><div><br /></div><div>--------------------</div><div><br /></div><div>Draw a graph of the "boringness" of the testing - on a scale of 1 to 10 - of different things the testers are doing. The more boring the activity, the more ripe it is for automation. But don't think of automation as all-or-nothing. Pick out the most boring things for people to do and automate them. You can get real benefit by automating only 2% of the scripts, for example.</div><div><br /></div><div>You don't need to purchase expensive tools to automate either. Use what you already have or look into open source tools (see the FreeTest Conference link from my web site).</div><div><br /></div><div>However, do be warned that a free tool is not free! In order to be successful in automation, you must plan and prepare how you will do it.</div><div><br /></div><div>In fact there is so much to say about how to go about automation that I have written a book about it with Mark Fewster (see link on my web site). Although the case studies are now getting a little "long in the tooth", the main body of the book covers the principles of automation - whatever tool you use - that will help you creat a long-lasting "regime".</div><div><br /></div><div>Manual testing is not fun if you are just following a script; but manual testing is tremendous fun if you are doing exploratory testing, for example. Get the computers (tools) to do what they are good at, and free the people to do what they are good at.</div><div><br /></div><div><br /></div><div><br /></div><div><br /></div>Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com0tag:blogger.com,1999:blog-8378239747319086089.post-25970083293679915592009-02-23T21:17:00.000-08:002010-01-02T03:08:09.090-08:00Don't blame the bread-making machine - thoughts on test automationIf you have a bread-making machine, it may or may not make good bread.<div><br /></div><div>If it doesn't, the reason might be the ingredients you put into the machine. If you put in too much salt (or no salt at all), the bread won't be edible. Is that the fault of the bread-making machine?</div><div><br /></div><div>Some people blame the test automation for things which are actually the responsibility of the testing. For example, if you mistakenly think that finding lots of bugs is the main aim of your regression test automation, you are setting yourself up for disappointment, if not failure of your automation effort. Finding bugs is what testing (and testers) do - it is not the job of automation - the job of automation is to run tests.</div><div><br /></div><div>The tests are the ingredients that determine whether the testing is effective or not. The effectiveness of the tests is the same whether those tests are run manually or using an automation tool. </div><div><br /></div><div>The tool is no more responsible for the quality of the testing than the bread-making machine is responsible for the taste of the bread.</div>Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com4tag:blogger.com,1999:blog-8378239747319086089.post-1401859161642729072008-12-29T10:21:00.000-08:002010-01-02T03:07:39.871-08:00DDP<div><b>Getting started with DDP </b></div><div>You probably already have the information you need to calculate your own DDP - the number of defects found in testing, and the number that were found later (e.g. a later stage of testing or reported to Support).</div><div><br /></div><div>For example, if system testing (ST) found 50 bugs, and user acceptance testing (UAT) found 25, the DDP of ST was 67% (50 / 75). </div><div><br /></div><div>Take a project that finished 3 to 6 months ago and calculate what the DDP was for that. Now you have a starting point to see how your testing is changing over time.</div><div><br /></div>Not all bugs are created equal! When you start measuring DDP, you might want to use only the highest one or two severity ratings. Or you could have one DDP for high severity, and one for all bugs.<div><br /></div><div>If you have any questions about DDP please ask!</div>Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com9tag:blogger.com,1999:blog-8378239747319086089.post-65095166315104876812008-12-28T00:00:00.000-08:002008-12-28T14:17:51.035-08:00<div>DDP is my favourite metric. It is very easy to measure, easy to understand, and gives you an idea of the quality of the testing, in terms of defects found. Many people have found it very useful. If you are one of those people, please respond to this blog and tell me about your experiences!<br /></div><div><br /></div><div><b>What is DDP?</b></div><div>DDP is Defect Detection Percentage. It is a measure of the effectiveness of testing (or reviewing) at finding defects. The calculation is very simple: The number of defects (bugs) found in testing* divided by the number of defects found in total so far**.</div><div><br /></div><div>*DDP can be calculated for different iterations, different testing stages (e.g. integration and system test) or testing by a defined set of testers.</div><div><br /></div><div>**You can choose any point in time to calculate DDP - for example, one month after an iteration is released (or when the next iteration is released).</div><div><br /></div><div>There are lots of variations on DDP - if you have any questions, please ask!</div><div><br /></div><div>Dot</div>Dot Grahamhttp://www.blogger.com/profile/07991717205107510005noreply@blogger.com4