<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>QA Intelligence - a QABlog</title>
	
	<link>http://qablog.practitest.com</link>
	<description>Testing &amp; QA Management blog</description>
	<lastBuildDate>Fri, 24 Feb 2012 06:30:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/QA-Intelligence-a-QABlog" /><feedburner:info uri="qa-intelligence-a-qablog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Don’t waste time on a Team/Company Quality Agenda!</title>
		<link>http://feedproxy.google.com/~r/QA-Intelligence-a-QABlog/~3/5BO7h6-cR7g/</link>
		<comments>http://qablog.practitest.com/2012/02/dont-waste-time-on-a-teamcompany-quality-agenda/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 13:40:10 +0000</pubDate>
		<dc:creator>Joel Montvelisky</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Metrics & Statistics]]></category>
		<category><![CDATA[On-Going Improvement]]></category>
		<category><![CDATA[Development Kaizen]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[Workplace Politics]]></category>

		<guid isPermaLink="false">http://qablog.practitest.com/?p=2257</guid>
		<description><![CDATA[What is a Quality Agenda, how to create a good one, and maybe most importantly: "should you be wasting time creating and pushing one in your company???"  We try to answer these and some additional questions on this QA Intelligence post]]></description>
			<content:encoded><![CDATA[<p><a href="http://qablog.practitest.com/wp-content/uploads/2012/01/41575euzd9k4cyd.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2012/01/41575euzd9k4cyd-300x300.jpg" alt="Wasting time and money" title="41575euzd9k4cyd" width="180" height="180" class="alignright size-medium wp-image-2271" /></a>Do you like wasting time on <strong>useless tasks</strong>?</p>
<p>Is your schedule so &#8220;Free &#038; Open&#8221; that you are considering embarking on one or two <strong>hopeless adventures</strong> that will not add any value to you, your team or your company?</p>
<p>I am guessing (<em>even hoping</em>) your answer to both these questions is NO.</p>
<p>So think hard before you answer this next question:</p>
<p style="text-align:center"<blockquote>
<strong>Should you define and promote a <u>Quality Agenda</u><br />
for your development and testing teams?</strong>
</p></blockquote>
<p>There are 2 quick answers, the &#8220;automatic&#8221; and the &#8220;pessimistic&#8221;.</p>
<p>The <strong>automatic</strong> answer &#8211;<br />
<a href="http://qablog.practitest.com/wp-content/uploads/2012/01/57519z26co3ske6.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2012/01/57519z26co3ske6-150x150.jpg" alt="" title="57519z26co3ske6" width="120" height="120" class="alignleft size-thumbnail wp-image-2280" /></a>&#8220;<strong>DEFINITELY YES!!!</strong><br />
I am in charge of Quality, and as part of this role I need to have an agenda and push it with all my strength.<br />
I will fight for it and improve the way my company works!<br />
No matter how much people want to cut corners or make risky decisions I will make sure we work <u>only</u> by the rules!&#8221;</p>
<p>Then we have the <strong>pessimistic</strong> one -<br />
<a href="http://qablog.practitest.com/wp-content/uploads/2012/01/57520j8oipdygv0.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2012/01/57520j8oipdygv0-150x150.jpg" alt="" title="57520j8oipdygv0" width="120" height="120" class="alignleft size-thumbnail wp-image-2279" /></a>&#8220;<strong>WHY BOTHER???</strong><br />
In the end, no matter what we all say right now, the product will be released when Marketing wants to release it.<br />
No one will care if we have 3 or 7 or 17 showstoppers open in the system. Regardless of what I think or say about Quality we will keep working in the same way we do today.<br />
So I better concentrate my efforts and those of my team on testing the product.<br />
Let&#8217;s stop wasting time on useless battles&#8230;&#8221;</p>
<p><H3>What is a Quality Agenda?</H3></p>
<p>Simply put a Quality Agenda is composed of 2 main parts:<br />
1. How your company (or your team) defines Quality in your product or service.<br />
and<br />
2. The actions or approaches you will take to increase the quality level of this work.</p>
<p>In the &#8220;Corporate World&#8221; this agenda is sometimes stated as a 2 or 3 line paragraph that hangs on a hallways of your building, or is shown as part of a presentation given by the CEO at the beginning of the year.  Some times it is also handed out as small plastic cards that employees quickly place in their drawers (together with all sorts of company vision and mission statements from previous years).</p>
<p>If you will be writing an agenda that will be stuffed in a drawer or forgotten the minute after your CEO moves to the next slide, then I suggest you think of better ways to spend your time.</p>
<p><H3>An effective Quality Agenda should be S.M.A.R.T.</H3></p>
<p>(I think I wrote about this acronym in the past, but I find it so useful that I will repeat it&#8217;s meaning once again.)</p>
<p>A good Quality Agenda, one that people will find useful and that will have a (positive) impact should be SMART:<br />
<a href="http://qablog.practitest.com/wp-content/uploads/2012/02/51408vlfe3ehwou.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2012/02/51408vlfe3ehwou-300x300.jpg" alt="" title="smart" width="300" height="300" class="alignright size-medium wp-image-2310" /></a><strong>SIMPLE</strong>- Something that explains in clear words what you want to achieve.<br />
<strong>MEASURABLE</strong> &#8211; You can clearly see if you are on the right track and making progress or going backwards.<br />
<strong>ACTIONABLE</strong> &#8211; Everyone should understand what to do and what not to do to advance the quality goals of the company.<br />
<strong>REPEATABLE</strong>- When talking about the progress metrics, they need to be clear and repeatable. Everyone who looks at them will be able to understand them and reach the same conclusions.<br />
<strong>TIMELY</strong>- The actions, objectives and goals should be based on the current status of the company, and need to be revised or changed based on the changing reality of the company and the competitive environment.</p>
<p><H3>Is this really your task?</H3></p>
<p>Now you understand what is a (good) Quality Agenda.  This means that is time to start thinking whether this is something you should be leading within your company, or maybe stop from taking part on battles that are not yours to fight&#8230;</p>
<p>In my mind, when we talk about a Quality Agenda and we define it as the goals, plans and tasks aimed at improving the quality of your product and process, then <strong>this actually is your task!</strong>.  </p>
<p>It is true that you are not responsible for the direct quality of your entire product, after all this task needs to be shared by all the team.  But for me, the Quality Agenda is the responsibility of the QA Manager, since he/she should lead the process to achieve a better way to work and deliver higher quality products or services.</p>
<p><H3>Defining the Agenda is only the start, the secret is to make this an on-going task</H3></p>
<p>Defining the agenda is only the first part of your job.  Once this is done you need to provide visibility and guidance to achieve the goals you set.</p>
<p>I said that good goals should be Measurable and Actionable, so it also your responsibility to make sure people are performing the right actions and that you are measuring the desired change in the system.</p>
<p>The best way to do this is to set up a recurrent event, it can be a meeting or even a monthly email, where you will give visibility into the progress achieved (or not!).  I personally like the approach of setting up a <a href="http://qablog.practitest.com/2008/02/using-your-kitchen-as-a-communication-channel/" target="_blank">kitchen monitor</a> with this information.</p>
<p>You want to achieve a healthy competition between your teams that will push your quality forward.  </p>
<p>In the past I&#8217;ve worked with monthly trophies to the team who made the biggest improvement and even with prices such as dinners and gadgets to the individuals who had the biggest effect on improving the quality of the whole company or process.</p>
<p><H3>When should you NOT WASTE YOUR TIME on a Quality Agenda?</H3></p>
<p>For me, this is a simple question.</p>
<p>If I feel that my management doesn&#8217;t stand behind me and that they will choose to compromise quality in order to fulfill other business goals, or if I see that the goals we want to set as a company are not serious enough or not achievable by any means, then I will choose to make better use of my time.</p>
<p><H3>Quality Agenda != Quality</H3></p>
<p>Remember that you can have quality without having a Quality Agenda.  The agenda should only help you to focus all the company employes, making sure we are all on the same page.</p>
<p>If your company chooses not to invest in the quality of your product and process, no Agenda or any other gimmick will help you to push this forward.</p>
<p><H3>What&#8217;s your take on this?</H3></p>
<p>Do you have any success (or horror) stories related to the Quality Agenda in your company?  Share them with the rest of us, go ahead and post them as comments!</p>
<p>Images by digitalart, farconville, Master isolated images</p>
<img src="http://feeds.feedburner.com/~r/QA-Intelligence-a-QABlog/~4/5BO7h6-cR7g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://qablog.practitest.com/2012/02/dont-waste-time-on-a-teamcompany-quality-agenda/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://qablog.practitest.com/2012/02/dont-waste-time-on-a-teamcompany-quality-agenda/</feedburner:origLink></item>
		<item>
		<title>Stop being a NON-Technical Tester!</title>
		<link>http://feedproxy.google.com/~r/QA-Intelligence-a-QABlog/~3/-KBnldc-6Gk/</link>
		<comments>http://qablog.practitest.com/2011/12/stop-being-a-non-technical-tester/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 09:07:29 +0000</pubDate>
		<dc:creator>Joel Montvelisky</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[On-Going Improvement]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[Future of Testing]]></category>
		<category><![CDATA[Testing Skills]]></category>

		<guid isPermaLink="false">http://qablog.practitest.com/?p=2170</guid>
		<description><![CDATA[There is an on-going discussion in the World of Testing around whether a tester should be more or less technical in his work... (and this is without even asking if we should call someone technical or not!)

The truth is that I believe testers SHOULD be technical, and that there is a marked added value for a tester that is technical over one that is not.   

This doesn't mean we should be only technical and stop concentrating on understanding our users, or that we should strive to be more technical than our programming peers.  But there are many ways in which we should start getting rid Non-Technical tester each of us carries inside of us.]]></description>
			<content:encoded><![CDATA[<p>A short while ago I posted an open question on twitter:</p>
<p style="text-align: center;"><a href="http://qablog.practitest.com/wp-content/uploads/2011/12/twitter.png"><img src="http://qablog.practitest.com/wp-content/uploads/2011/12/twitter.png" alt="" title="twitter" width="200" height="37" class="aligncenter size-full wp-image-2217" /></a><em><strong>&#8220;Do tester need to be as technical as programmer<br />
to be successful at their jobs?&#8221;</strong></em></p>
<p>I got plenty of answers, so I will only post some of them representing the main opinions threads:</p>
<p><strong>@TestAndAnalysis </strong>- Testing is a technical discipline that is different to programming and testers add a lot of value to projects<br />
<strong>@huibschoots</strong> &#8211; No! It depends on the context they work in. But in general they need to have some basic technical skills (or the will to learn)<br />
<strong>@datoon83</strong> &#8211; I&#8217;d say that all people involved in the delivery need to talk 1 language &#8211; that of the domain and customers!<br />
<strong>@klyr</strong> &#8211; Technical and non-technical testers have a different approach to testing, and will find different bugs.<br />
<strong>@sgershon</strong> &#8211; Certainly do. Not sure about &#8220;more/less technical&#8221; as programmers, possibly they have to be &#8220;differently technical&#8221; than them.<br />
<strong>@halperinko</strong> &#8211; @sgershon @joelmonte I normally look at it as in depth knowledge for devs, vs. System-wise knowledge for testers. (Some don&#8217;t follow rules)</p>
<p>There were also a couple of tweeps who replied with blog posts of their own sharing their opinion on the subject. <br />
<strong>@diamontip</strong> &#8211; my answer &#8211; do tester need to be as technical as programmers to be successful at their jobs? <a href="http://t.co/QkG1FqBe" target="_blank">bit.ly/v5vcX<br />
</a>and<br />
<strong>@adampknight</strong> &#8211; I personally dislike calling testers &#8220;technical&#8221; wrote about it here <a href="http://t.co/bTTxxfE2" target="_blank">bit.ly/tVHDOB</a></p>
<p>To all the tweeps above and those I missed, thanks for the great feedback!  </p>
<p>But as you surely guessed I have my own opinion on the subject and I want to share it with you, so here it goes&#8230;</p>
<h3>My definition of Technical</h3>
<p><a href="http://qablog.practitest.com/wp-content/uploads/2011/12/38157utp8vb6saw.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2011/12/38157utp8vb6saw-300x199.jpg" alt="" title="Technical" width="300" height="199" class="alignright size-medium wp-image-2221" /></a>Specially after reading Adam&#8217;s post I feel the need to explain what do I mean by technical, or better yet how do I differentiate a Technical Tester from a Non-Technical Tester.  (If you read my previous blogs on &#8220;<a href="http://qablog.practitest.com/2011/11/10-reasons-why-you-are-not-a-professional-tester-part-1/" target="_blank">Why are some tester not really Professional Testers</a>&#8221; then you should already have an idea&#8230;)</p>
<p>A <strong>Technical Tester</strong> is not afraid of doing most of the following stuff on a regular basis as part of his job (without any specific order):</p>
<p><strong>- Understand the architecture of the product he is testing</strong>,<br />
including the pros &#038; cons of the specific design, as well as the risks linked to each of the components and interfaces in the product.  </p>
<p>He then uses this information to plan his testing strategy, to execute his tests and find the hidden issues, and also to provide visibility to his team regarding the risks involved in developing a specific feature or making a given change to the system.</p>
<p><strong>- Review the code he needs to test</strong>.<br />
He can do this on a number of levels, starting from going only over the names of the files that were changed, and all the way to reviewing the code itself.  This information will provide valuable inputs to help decide what needs to be tested and how, as well as to find things about the changes that might have been missed by the developer or the documentation.</p>
<p>BTW, by code I mean SQL queries, scripts, configuration files, etc.</p>
<p><strong>- Work with scripts &#038; tools to help his work</strong>.<br />
A technical tester should be able to create (or at least &#8220;play&#8221;) with scripts to help him run repetitive tests such as sanity or smoke, and tasks such as configurations, installation, setups, etc.  </p>
<p>He should also be able to work with free automation tools such as Selenium or WATIR (or any of the paid ones like QTP, SeeTest, TestComplete, etc) to create and run test scripts that will increase the stability of the product in development, and over time save time&#8230;</p>
<p><strong>- Be up to date with the technical aspects of his infrastructure</strong><br />
(e.g. browsers, databases, languages, etc)<br />
He should read the latest updates on all aspects of his infrastructure that may have an effect on his work.  For example new updates to his O/S matrix, known issues with the browsers supported by his product, updates to external products they integrate, etc.</p>
<p>With the help of <a href="http://www.google.com/alerts" target="_blank">Google alerts</a> and by subscribing to a couple of newsletters anyone can do this by reading 5 to 10 email 2 or 3 times a week.  The value gained from becoming an independent source of knowledge greatly exceeds the time invested in the efforts.</p>
<p><strong>- Is able to troubleshoot issues from Logs or other System Feeds</strong>.<br />
He is aware of all the logs and feeds available in his system, and uses them to investigate more about any issue or strange behavior.</p>
<p>This information is helpful during testing to provide more information than simply writing &#8220;there is a bug with functionality X&#8221;.  And it will be critical if he is called to work on a customer bug, where he needs to understand complex issues quickly and without access to all the information.</p>
<p>In addition to the above, a technical tester should also be able to:<br />
- Provide feedback and run the <strong>unit tests</strong> created by his programmer peers.<br />
- Run <strong>SQL Queries</strong> on the DB directly to help verify his testing results.<br />
- <strong>Install and configure</strong> the system he is testing.<br />
etc.</p>
<h3>Sounds like Superman or MacGyver?</h3>
<p><a href="http://qablog.practitest.com/wp-content/uploads/2011/12/44927ecn5q7jauo.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2011/12/44927ecn5q7jauo-199x300.jpg" alt="" title="Flying Man" width="199" height="300" class="alignright size-medium wp-image-2224" /></a>It may sound like this, but actually it&#8217;s not!</p>
<p>As testers we work on projects that revolve around Software, Hardware, and/or Embedded products.  The only way to do a good job in testing them is to have a deep understanding of <u>both</u> angles: technical and functional.</p>
<p>This doesn&#8217;t mean that you need replace or have the same technical dept as your developers, or surpass your Product Marketing&#8217;s knowledge of your users.  </p>
<p>You need to achieve a balance, where you have &#8220;enough&#8221; knowledge and understanding of both these areas in order to do your job as a tester, or rephrasing the tweet from @halperinko &#8211; as testers we should achieve system-wide knowledge, as opposed to the in-dept knowledge required from the developers or the product marketing guys.</p>
<h3>Is it black and white?</h3>
<p>This time quoting &#8220;Cokolwiek&#8221; who commented on one of my latest posts, &#8220;Not everything is black and white&#8221;.  Meaning there is no standard to define how technical should a tester be on every project and product.</p>
<p>Like in many other situations, the best answer to how technical do you need to be is: &#8220;It Depends&#8230;&#8221;</p>
<p>You should be at least technical enough to do your job effectively and to talk the same language with the rest of your programming and testing peers.</p>
<p>What do I mean by that?<br />
If you work on a software development firm then you should understand enough of the languages used by your developers to be able to read the code and understand their changes.  If you work on a heavily DB-related project then you need to understand enough of SQL and database management.  If you work on a Website development firm then you should know enough CSS, HTML and JS, and so it goes&#8230;</p>
<h3>So if I am not Technical enough, should I quit testing???</h3>
<p><strong>Definitely not!</strong><br />
If you like testing and you are good at it, why should you quit?  On the other hand, this is a great opportunity to improve your work and (as @diamontip wrote on his blog) increase your market value as a tester <img src='http://qablog.practitest.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://qablog.practitest.com/wp-content/uploads/2011/12/47636dlfe04ts37.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2011/12/47636dlfe04ts37-182x300.jpg" alt="" title="Raise your hand" width="182" height="300" class="alignleft size-medium wp-image-2227" /></a> And the best part of it is&#8230; it&#8217;s not very hard to become a more technical tester!  Just start by asking questions, searching the web, reading books, etc.  </p>
<p>I&#8217;m also confident that if you show the potential to increase the value of your current work to your manager, he won&#8217;t mind you investing sometime during your day to learn these new trades (as long as you manage to explain why this is also good for him!).</p>
<p>So, stop making excuses for not been technical enough.  Just make a decision (or a New Year&#8217;s resolution&#8230;) to start working on improving your technical skills!</p>
<p>Go ahead and <strong>get rid of the NON-Technical Tester in you!</strong>  </p>
<p>It will be worth your time and make your job more interesting and satisfying.</p>
<h3>What do you think?</h3>
<p>- Are there any negative sides to being a more technical tester?<br />
- Maybe there are advantages for testers who used to be developers in the past?</p>
<p>Come and share your opinion or experience on this subject!</p>
<div style="font-size:8pt;text-align:right;">
(*Images by Twitter, Pixomar, digitalart and Teerapun)
</div>
<img src="http://feeds.feedburner.com/~r/QA-Intelligence-a-QABlog/~4/-KBnldc-6Gk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://qablog.practitest.com/2011/12/stop-being-a-non-technical-tester/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		<feedburner:origLink>http://qablog.practitest.com/2011/12/stop-being-a-non-technical-tester/</feedburner:origLink></item>
		<item>
		<title>10 reasons why You are NOT a Professional Tester!  — Part 2</title>
		<link>http://feedproxy.google.com/~r/QA-Intelligence-a-QABlog/~3/JlGotPiBljY/</link>
		<comments>http://qablog.practitest.com/2011/12/10-reasons-why-you-are-not-a-professional-tester-part-2/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 08:05:29 +0000</pubDate>
		<dc:creator>Joel Montvelisky</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[On-Going Improvement]]></category>
		<category><![CDATA[Testing Intelligence]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[Testing Skills]]></category>
		<category><![CDATA[Testing Tips]]></category>

		<guid isPermaLink="false">http://qablog.practitest.com/?p=2098</guid>
		<description><![CDATA[This is part 2 of the article I published last week with the 10 Reasons why You are NOT a Professional Testers.  As I started on the first part of this series, I think the bulk of the blame is on us, the testers, for not looking at our jobs as a profession.

Without going into the specific reasons, for that you can read inside, I think we need to improve the way we look at our tasks, how we communicate with our teammates, and how we look at the future of our profession.

I am looking for your feedback, so please feel free to let me know what you think!]]></description>
			<content:encoded><![CDATA[<p>Last week I published <a href="http://qablog.practitest.com/2011/11/10-reasons-why-you-are-not-a-professional-tester-part-1/" target="_blank">Part 1</a> of this series about why do I think testers are not treated professionally in some organizations.  </p>
<p>My take is simple and I put the bulk of the blame on us The Testers, because many times we bring this upon ourselves by not taking our jobs seriously enough and not behaving professionally in our work.</p>
<p>It was nice to get some encouraging comments from testers I respect, but what I&#8217;m after is additional inputs on the subject.  Even if you don&#8217;t agree with me, I want to hear your feedback in order to learn from it and improve our work!</p>
<p><H3><strong>A look back at the first 5 reasons</strong></H3></p>
<p>I will not go over each of the reasons I already talked about, but it is good to list them here for reference and completeness.  </p>
<p>I believe that at least part of the reasons why You are NOT treated as a Professional Tester in your company are:</p>
<p>1. You think testing is not a technical profession, and so you don&#8217;t even try to understand the code behind your product!</p>
<p>2. You are not involved in the process until you are hit in the head with a build by development and told to &#8220;go and test it&#8221;.</p>
<p>3. Your only interaction with a Customers is when your Support Team asks you to reproduce a bug from the field.</p>
<p>4. Risk management is something you practice only in the context of Life Insurance.</p>
<p>and</p>
<p>5. You don&#8217;t have a plan to improve the value of your testing.</p>
<p><H3>Now a look at the next 5 reasons<br />
<strong>Why You are NOT a Professional Tester!</strong></H3></p>
<p><span style="font-weight:600;color:#222222">6. You think your job is mainly about writing and running<br />
predefined Test Case Scenarios</span></p>
<p><a href="http://qablog.practitest.com/wp-content/uploads/2011/12/30513u9yws3uavc.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2011/12/30513u9yws3uavc-199x300.jpg" alt="" title="30513u9yws3uavc" width="199" height="300" class="alignright size-medium wp-image-2156" /></a>There is <u>so much more</u> than only running scripted tests:<br />
-  Providing feedback on the design of your application.<br />
-  Analyzing the Risks of your current development plan and project.<br />
-  Providing informal feedback during the development stages.<br />
-  Developing an automation framework that will help your developers maintain the stability of the product while they work on it.<br />
-  Running tests, but definitely not only those you scripted before hand.<br />
-  Analyzing the results of your tests and the rest of the information available to you, to provide  insights into the status of your product.<br />
-  Providing feedback on the process.<br />
And I could go on &#038; on&#8230;</p>
<p>In short, the value of your job goes way beyond executing test-steps and setting them to pass or fail!</p>
<p><span style="font-weight:600;color:#222222">7. Automation (and scripting) is an <em>Advanced Science</em>, and a project you will work in the future &#8211; in your spare time.</span></p>
<p>STOP coming up with excuses why not to work on automation!!<br />
This is another side of the technical shortcomings of some testers but from a different perspective.  </p>
<p>Automation is not a magic pill or the cure to all the problems faced by testers, this is only a sales-pitch-lie from many tool vendors.  But still, there are times when using scripts or tools to do part of your dirty-work will make it more efficient and save you time.  </p>
<p>The problem is that, again here, <em>some testers</em> feel they are not technical enough to do this, and so they choose not to use automation or scripting to improve their testing.  In a sense it is like striking stones or rubbing sticks to light a fire, and refusing to use a lighter while saying that for you it is easier this way&#8230;</p>
<p><span style="font-weight:600;color:#222222">8. You do most of your testing while standing high on top of you Ego</span></p>
<p>A good tester is a <u>humble tester</u>!  We need to know how to provide feedback, and even more importantly how to receive feedback from teammates and peers.</p>
<p>Many testers get frustrated when team members (specially programmers) give them unrequested feedback on their testing, or when they are queried on a bug that was not found or a test that was not run.  Many times there are good reasons for all these &#8220;misses&#8221; and we only need to keep calm and share this information, but lot&#8217;s of testers take these questions as personal attacks on their professional integrity and reply with loud tones or harsh words.</p>
<p>In the same way as you need to know how to report your bugs and provide negative feedback to your project team, you need to know how to receive constructive criticism from your peers.  </p>
<p>No one expects you to be perfect, but they expect you to be professional about your mistakes and to learn from them as well as from the feedback you get from the team.</p>
<p><span style="font-weight:600;color:#222222">9. You don&#8217;t keep track of your professional skill set and the areas where you need to improve next</span><br />
One of my best managers in the past used to talk about our personal &#8220;Virtual Toolbox&#8221; as the set of skills each of us carries with him and uses when needed.  </p>
<p><a href="http://qablog.practitest.com/wp-content/uploads/2011/12/366005i556dwl8f.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2011/12/366005i556dwl8f-300x198.jpg" alt="" title="tools" width="300" height="198" class="alignleft size-medium wp-image-2159" /></a>- Do you know what tools you carry in your toolbox?</p>
<p>- What tools are in need of improvements or updating?</p>
<p>- Which are the tools that you keep needing, and that you may want to acquire next in order to improve the quality of your work?</p>
<p>Testing is without a doubt a craftsmanship, and without the proper tools (virtual and actual) you will not be able to create the required product.</p>
<p><span style="font-weight:600;color:#222222">10. The only idea you have about a career path involves becoming a manager or moving on to another career</span></p>
<p>Some people get into testing because they think it is a good path into programing.  Others do because they don&#8217;t know what testing is about and it sounds cool to &#8220;play&#8221; with applications all day long.  After all, how hard can it be, right?</p>
<p>Part of them can end up been good testers (at least I hope that I did!).  But most of them will end up frustrated, counting the days until they can stop testing and start doing the work they really wanted to do.  While others don&#8217;t appreciate the real challenges of testing, and think the only way to move forward is to start managing people. </p>
<p>It is true there are challenges and rewards to managing a testing team, but there are also countless disciplines to conquer that are not related to management and that may give you even more challenges and bigger rewards (and definitely a lot less headaches!)</p>
<p>My point is that, if all the time you are looking to do something else and not focusing on how to test better, there is no way you can do it more professionally.  So think if you are in the right place, or if maybe you should simply be looking for something else&#8230;?</p>
<p><H3><strong>Want to be professional?  Start by looking at testing as a profession!</strong></H3></p>
<p>Looking at these ten points from 20,000 feet I think the line connecting them is the call to change our general approach to testing.  </p>
<p>The first step is to start considering testing as <u>OUR Profession</u>.</p>
<p>Once we absorb this first step, the second one is to look at what we are missing in order to become better testers.  What areas should we develop?  How do we need to approach our work and the relationships with our customers and teammates? And what can we do NOW in order to increase the value of our work?</p>
<p>The third and last step (at least for this short approach) is to plan ahead how to improve, and to realize that as a profession we have much to learn before considering ourselves gurus or experts (if there is such a thing&#8230;)</p>
<p>The important thing is to realize that the change needs to come from within, and not from some God-given decree or from the title next to the name in our email&#8217;s signatures.</p>
<div style="font-size:8pt;text-align:right;">
(*Images by Sura Nualpradid, Arvind Balaraman)
</div>
<img src="http://feeds.feedburner.com/~r/QA-Intelligence-a-QABlog/~4/JlGotPiBljY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://qablog.practitest.com/2011/12/10-reasons-why-you-are-not-a-professional-tester-part-2/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		<feedburner:origLink>http://qablog.practitest.com/2011/12/10-reasons-why-you-are-not-a-professional-tester-part-2/</feedburner:origLink></item>
		<item>
		<title>10 reasons why You are NOT a Professional Tester!  —  Part 1</title>
		<link>http://feedproxy.google.com/~r/QA-Intelligence-a-QABlog/~3/8bFIXdMjM3g/</link>
		<comments>http://qablog.practitest.com/2011/11/10-reasons-why-you-are-not-a-professional-tester-part-1/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 07:24:52 +0000</pubDate>
		<dc:creator>Joel Montvelisky</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[On-Going Improvement]]></category>
		<category><![CDATA[Testing Intelligence]]></category>
		<category><![CDATA[Self-criticism]]></category>
		<category><![CDATA[Test Methodologies]]></category>
		<category><![CDATA[Testing Skills]]></category>

		<guid isPermaLink="false">http://qablog.practitest.com/?p=1980</guid>
		<description><![CDATA[There are many places where testers are not treated as professionals, in the same level as other members of the development team.  We can blame the rest of the world for this, but the truth is that most of the fault falls on us and on how we approach our work.

Look for testers who approach their job professionally and invest time on aligning the value of their work with the needs of the Organizations, and you will see places where the testers are appreciated and treated with professional respect!

What are the reasons many testers are not considered professionals?  Some of the answers to this question are inside this post, and the ways to solve these issues are relatively simple and straight-forward!

(This is the first part of this article, I didn't want to make a post that was too long to read.  The second part will follow shortly...)]]></description>
			<content:encoded><![CDATA[<p><span style="color:Red; font-size: 1.2em">Are you a <strong>Professional Tester?</strong></span><br />
<a href="http://qablog.practitest.com/wp-content/uploads/2011/11/61266cfdzkpiv5g.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2011/11/61266cfdzkpiv5g-300x199.jpg" alt="" title="Professional" width="300" height="199" class="aligncenter size-medium wp-image-2086" /></a>Chances are that if you are reading this post you are&#8230;  </p>
<p>And I don&#8217;t mean this because I wrote this post  &#8211; there are countless other testers who have better stuff to share than I do!  </p>
<p>I mean in general, if you are reading a QA-related article in your free time in order to improve your testing skills, you fall into the small (&#038; hopefully growing) number of engineers determined to be <em>Professional Testers</em>.</p>
<p><H3><strong>In search of the <em>Perfect Excuse</em></strong></H3></p>
<p>Last week I saw another discussion in LinkedIn asking <em>&#8220;<strong>Why is testing not considered a profession?</strong>&#8220;</em> by many people in the Industry.</p>
<p>There were answers ranging from &#8220;<em>because testing is not formally taught in Universities</em>&#8221; and all the way to &#8220;<em>because testing is new and people are still learning how to do it professionally</em>&#8220;.  </p>
<p>I searched in vane for someone to come and throw the blame back at us, the testers, saying the reason we are not considered a profession is because many of us are not professionals in the way we do our work.  </p>
<p>But I guess people were too busy been self-pitying and unjustly-victimized in order to notice that most of the blame resided on us.</p>
<p><H3><strong>Looking for the answers in the mirror</strong></H3></p>
<p>Let&#8217;s be honest, wherever we are not treated as (testing) professionals it is because we have not made it a priority to behave like professional testers.  </p>
<p>Based on my limited experience, everywhere I&#8217;ve seen testers taking their work seriously and striving to improve intelligently, I&#8217;ve also seen how they were treated with respect and how their work was appreciated thanks to the value it provided to the Organization.</p>
<p><H3>So to the point:<br />
<strong>What are the 10 main reasons<br />
you are not a Professional Tester?</strong></H3></p>
<p><span style="font-weight:600;color:#222222">1. You think testing is <u>not a technical profession</u>, and so you don&#8217;t even try to understand the code behind your product!</span></p>
<p><a href="http://qablog.practitest.com/wp-content/uploads/2011/11/64687epsjwgg6re.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2011/11/64687epsjwgg6re-300x199.jpg" alt="" title="Coding" width="300" height="199" class="alignright size-medium wp-image-2088" /></a>If you work on Software Development you should understand at least a little about software engineering.  </p>
<p>As a tester, you need to be able to read code in order to analyze your product and understand how changes and fixes can affect it and cause additional bugs.  The days of hiding behind &#8220;black box&#8221; vs. &#8220;white box&#8221; testing are over.</p>
<p>You can still get away without writing any code if you don&#8217;t want to, but as long as you refrain from reading the code you will be missing a very important input to your overall testing process.</p>
<p><span style="font-weight:600;color:#222222">2. You are not involved in the process until you are hit in the head with a build by development and told to &#8220;go and test it&#8221;</span></p>
<p>Answer yourself truthfully: When do you start getting involved in the development process? </p>
<p>In theory we&#8217;d like to start during the requirements gathering and analysis phase, together with the rest of the team.  But in practice we hardly provide any inputs before we are &#8220;hit in the head&#8221; by the first build from our developers looking for feedback on their features.</p>
<p>Why does this keep happening?  Most testers will say that it is because of the &#8220;viscous-circle&#8221; of been the last link in the development chain; we are always extremely busy testing when &#8220;the others&#8221; start planning.  </p>
<p>But in truth, if you cannot spare 2 hours a day to take part of a feature design meeting it means you are a lousy time manager.  It also means that the only reason you are not part of the development process earlier is because you don&#8217;t make it a priority; or in other words because you don&#8217;t want to!</p>
<p><span style="font-weight:600;color:#222222">3. Your only interaction with a Customers is when your Support Team asks you to reproduce a bug from the field.</span></p>
<p>Part of your job description is to test your product based on the way it will be used on the field and to catch the bugs that will be important to your users once the product is released. </p>
<p>In fact, your job is to be your customer&#8217;s advocate within the development team.  To plan your tests and set up your environments based on their working behavior.  You are also expected to provide functional feedback based on their needs and constraints.</p>
<p>If this is the case, then how can you simulate field work and represent your users if you don&#8217;t know them?  When was the last time you visited a user to understand how he or she uses your product?  Can you really relate to the work they do with your system and with the constraints of their working environment?<br />
I guess the answer is <strong>NO</strong>.</p>
<p>Go and visit some of your customers! Until you know and understand your users, you will keep doing a lousy job as a tester.</p>
<p><span style="font-weight:600;color:#222222">4. Risk management is something you practice only in the context of<br />
Life Insurance.</span></p>
<p><a href="http://qablog.practitest.com/wp-content/uploads/2011/11/30263n57a8ccgt6.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2011/11/30263n57a8ccgt6-300x225.jpg" alt="" title="Risk Management" width="300" height="225" class="alignleft size-medium wp-image-2092" /></a>There are a small number of simple truths in testing; maybe the most trivial of them is that <em>&#8220;no tester will ever have enough time to test everything&#8221;</em>.  This is where <em>Basic Risk Management</em> comes into play, helping us prioritize our work in order to know what needs to be tested (and tested first) and what can be assumed to work based on the results of other tests.</p>
<p>But as I said, this is only the basic side of Risk Management&#8230;  The more advanced side of it, and one that provides no less value to your team is the one that is not directly related to testing at all!</p>
<p>Every testers knows there are areas of his product that are <strong>more risky</strong>; areas where there are <u>always more bugs</u> and where the work of the team is <u>always delayed</u> due to unscheduled and unplanned circumstances.</p>
<p>It is part of our job as testers to be aware of these areas and remind the team about them during all stages of our projects.  This way we can choose whether to develop the features using different areas of the product, or if necessary schedule more time to stabilize the system, accounting for these &#8220;unplanned issues&#8221; that will always present themselves.</p>
<p>You should strive to shed light on the issues, whether existing or potential, affecting your product.  Helping the team to set realistic objectives and reach your goals on time and on budget.</p>
<p><span style="font-weight:600;color:#222222">5. You don&#8217;t have a plan to improve the value of your testing.</span></p>
<p>The Testing Profession is in many ways uncharted territory.   There are many paths that will take you into testing, and as many ways to improve professionally once you are part of the Testing World.  </p>
<p>Most of these &#8220;testing improvements paths&#8221; are individual, and will be a mix of the individual capacities of the tester, together with the needs and constraints of his current workplace, and the information sources available to him at the present time.</p>
<p>In short, there is no ONE WAY to develop yourself professionally as a tester, and these improvements will not be easy or come quickly.  So, unless you decide you want to seriously invest in your development process, and only after you understand how to achieve this goal, will you be able to really improve your testing skills and the value you provide to your organization.</p>
<p>How do you achieve this?<br />
Start by mapping your strengths and weaknesses as a tester, then decide what areas do you want to develop (that will also be valuable to your Organization), and finally look for the means available to you to develop these skills.</p>
<p>One thing is certain, it will be completely impossible to improve if you leave it to chance, or to another tester to tow you along during his personal development process.</p>
<p><H3><strong>To be continued in the next post&#8230;</strong></H3></p>
<p>I made myself a promise not to write posts that are too long.  So I will cut this one here and write a follow-up post later this week (or at the beginning of the next week) with the additional 5 reasons why you are not a Testing Professional.</p>
<p>Since I don&#8217;t want to leave you hanging, the next 5 reasons are around your career path as a tester, working mainly with scripted testing, not using automation as a tool, and general skill-set management.</p>
<p>Feel free to provide your feedback on these reason, or even provide additional reasons why you think we are not treated as Professional Testers by our peers.  I am sure each of us has something good and insightful to contribute on this subject!</p>
<div style="font-size:8pt;text-align:right;">
(*Images by ddpavumba, Nutdanai Apikhomboonwaroot, and screationzs)
</div>
<img src="http://feeds.feedburner.com/~r/QA-Intelligence-a-QABlog/~4/8bFIXdMjM3g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://qablog.practitest.com/2011/11/10-reasons-why-you-are-not-a-professional-tester-part-1/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		<feedburner:origLink>http://qablog.practitest.com/2011/11/10-reasons-why-you-are-not-a-professional-tester-part-1/</feedburner:origLink></item>
		<item>
		<title>One metric = One Big Mistake</title>
		<link>http://feedproxy.google.com/~r/QA-Intelligence-a-QABlog/~3/xrRlv7XsmxE/</link>
		<comments>http://qablog.practitest.com/2011/11/one-metric-one-big-mistake/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 08:05:25 +0000</pubDate>
		<dc:creator>Joel Montvelisky</dc:creator>
				<category><![CDATA[Communication]]></category>
		<category><![CDATA[Metrics & Statistics]]></category>
		<category><![CDATA[Testing Intelligence]]></category>
		<category><![CDATA[Development Kaizen]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[Workplace Politics]]></category>

		<guid isPermaLink="false">http://qablog.practitest.com/?p=1932</guid>
		<description><![CDATA[Sometimes measuring only one thing can be worst than not measuring anything at all.

Whenever you work with metrics you need to remember that it is not as easy as waving a number and having everyone agreeing with you on the conclusion of your observation.  You need to take into account that some people, specially those who have something to loose with your findings, will try to show why you are wrong (and they are right!)

Here are some quick pointers on how to succeed with your metrics based observations in your (political) workplace.]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>Sometimes measuring only one thing<br />
can be worst than not measuring anything at all.<br />
</strong></p></blockquote>
<p>A QA colleague forwarded me a report he sent to his management where he pointed at the fact that the whole R&#038;D Organization was not delivering products at the pace they used to do it in the past.</p>
<p>He was airing out a &#8220;known&#8221; general concern shared by many testers and developers, and to do this he searched for some &#8220;hard data&#8221; that would prove this point.</p>
<p>The report was very simple, and it compared the number of releases by all the teams for the last period vs. the period immediately before this one; and it showed that in the last period all the teams together had only delivered about 40% of the releases they did previously.</p>
<p>Simple, right? &#8211; <strong>WRONG!</strong></p>
<h3><b>What happened with the report?</b></h3>
<p>Immediately after he sent the report, the Team Leads of two of the development teams answered with short emails &#8220;explaining&#8221; that in the last period they had also had a number of holidays, and attributing everything to this fact.</p>
<p><a href="http://qablog.practitest.com/wp-content/uploads/2011/11/39600fh3l3qjiju.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2011/11/39600fh3l3qjiju-300x300.jpg" alt="" title="waste" width="200" height="200" class="alignright size-medium wp-image-1943" /></a> With this <em>excuse</em> the value the report went down and the subject was erased from Management&#8217;s mind and agenda&#8230; </p>
<p>The &#8220;funny thing&#8221; is that my friend had also seen this point, but he thought everyone would see the difference was too large in order to be caused solely because of the holidays!</p>
<h3><b>What can we learn?</b></h3>
<p>There are some basic lessons we can learn from this issue that apply to most organizations</p>
<p><b>1.  Don&#8217;t use <u>only</u> one number in order to draw a complete picture</b></p>
<p>A basic mistake made by many testers and QA Managers is to base all their conclusions on only one number or metric.  Basing everything in one measurement is like reaching your conclusions based on only one side of the story instead of collecting information from all possible sides. </p>
<p>So what do you need to do?  Look for more than one angle in order to draw a complete picture. </p>
<p>In the case above, the manager could have looked for information about the number of issues detected during the process, or amount of rejections from the field, or at least start by &#8220;normalizing&#8221; the number of deliveries based on the total number of working days in both periods.</p>
<p><b>2.  Take into account your workplace politics</b></p>
<p>It is naive to thing that you will send a report pointing at a serious problem and whoever is responsible for it will simply step forward and happily take the responsibility.  V<em>ictories have thousands of parents, while defeats are usually orphans</em>.</p>
<p>This means that whenever you point to an issue in the system you need to make sure to cover all your angles and to provide information that is, as much as possible, irrefutable. </p>
<p>An important (&#038; ethical) thing to do is to contact the person who may be responsible for the issue and make sure you communicate your findings to him ahead of time, before sending out the report to everyone else.  This will give him a chance to come up with ideas on what caused this and even provide as some solutions that you can include in your report.</p>
<p><b>3.  Metrics should include comparable historical information</b></p>
<p>In the case above, what could have taken down the argument about the holidays?<br />
To compare the number of deliverables not to the period before, but to the same period last year!</p>
<p>Not all metrics are trivial by themselves, and so you may need to compare information in order to see the real differences (or similarities) between them.</p>
<p>In the case of time-based measurements, you need to think about seasonality factors such as:<br />
- Season or time of year<br />
- Part of the quarter<br />
- Time of day<br />
etc. </p>
<p><b>4.  Take into account external factors</b></p>
<p>As much as you want to be able to measure everything with raw numbers there will always be things you cannot measure that affect your process.  You need to research these factors and take them into account in your report.</p>
<p>In the case above, it would have been as simple as stating that in the last period there were also some out of the ordinary holidays, and then add a note saying that even if you factor them into account they would not lower the productivity bellow 80% of the regular level, leaving another 40% decrease in productivity unaccounted for.</p>
<p>External factors will vary all the time, they are the out-of-the-ordinary things that will be trivially visible for people who are living the process.  Some examples can be:<br />
- Extraordinary team growth or reduction<br />
- Extreme product shifts or market disruptions<br />
- Things like prolonged strikes<br />
- And even in some cases, as I saw not too long ago in a company, unusual number of births in a team (5 out of 8 team members received a child in a period of 3 months)</p>
<h3><b>Bottom line</b></h3>
<p>One of the main difference between a credible story and plain gossip is that a story has more than angle to it.  Your metric&#8217;s-based-report is basically a way to tell a story of what is happening in your product/process/team.</p>
<p>So, in your next report or fact-based email make sure you take into account:<br />
<a href="http://qablog.practitest.com/wp-content/uploads/2011/11/43491omkss2bj2p.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2011/11/43491omkss2bj2p-300x300.jpg" alt="" title="checklist" width="120" height="120" class="alignleft size-medium wp-image-1960" /></a>1. To have more than one metric or angle measured<br />
2. Company politics<br />
3. Historical information<br />
and<br />
4. Extraordinary factors</p>
<div style="font-size:8pt;text-align:right;">
(*picture by <a href="http://www.freedigitalphotos.net/images/view_photog.php?photogid=2280" target="_blank">digitalart</a>)
</div>
<img src="http://feeds.feedburner.com/~r/QA-Intelligence-a-QABlog/~4/xrRlv7XsmxE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://qablog.practitest.com/2011/11/one-metric-one-big-mistake/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://qablog.practitest.com/2011/11/one-metric-one-big-mistake/</feedburner:origLink></item>
		<item>
		<title>Short post – plan your tests, even when you don’t have time to plan them</title>
		<link>http://feedproxy.google.com/~r/QA-Intelligence-a-QABlog/~3/X6Kj-JLe5i0/</link>
		<comments>http://qablog.practitest.com/2011/10/short-post-plan-your-tests-even-when-you-dont-have-time-to-plan-them/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 18:49:48 +0000</pubDate>
		<dc:creator>Joel Montvelisky</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[On-Going Improvement]]></category>
		<category><![CDATA[Test Process]]></category>
		<category><![CDATA[rules of thumb]]></category>
		<category><![CDATA[Short-Post]]></category>
		<category><![CDATA[Testing Tips]]></category>

		<guid isPermaLink="false">http://qablog.practitest.com/?p=1917</guid>
		<description><![CDATA[How many times have you told yourself you don&#8217;t have enough time to plan your tests, so you might as well just get testing&#8230; If you are anything like me, then this happens to you 2 or 3 times a week. Classic examples are: - When you run a short test on a piece of [...]]]></description>
			<content:encoded><![CDATA[<p>How many times have you told yourself you don&#8217;t have enough time to plan your tests, so you might as well just get testing&#8230;<br />
If you are anything like me, then this happens to you 2 or 3 times a week.</p>
<p><strong>Classic examples are:</strong><br />
- When you run a short test on a piece of code that is &#8220;under development&#8221;, and the programmer just asked you for feedback.<br />
- When you are running the sanity suite for the 900th time on the same system before or after it has been deployed to production.<br />
- When you are checking your own code, just to make sure it didn&#8217;t break anything you didn&#8217;t intend to break in the first place.<br />
And there are thousands of other occasions when we just say &#8220;the heck with it, I can just run a quick test without planning it&#8221;.</p>
<p>Well, if you are also like me, as soon as you catch yourself saying this nonsense you take out a piece of paper and write down the 5 or 6 things you want to test&#8230;</p>
<p><a href="http://qablog.practitest.com/wp-content/uploads/2011/10/checklist.gif"><img class="size-full wp-image-1920 alignright" title="checklist" src="http://qablog.practitest.com/wp-content/uploads/2011/10/checklist.gif" alt="" width="166" height="161" /></a></p>
<p><strong>Why?</strong><br />
- Because when you are testing something you have never tested before you want to make sure you talk to the programmer and understand what the feature should do (and what it shouldn&#8217;t)!<br />
- Because specially when you are running the same test over and over again in auto-pilot, you will get distracted and miss something that may be important in your sanity before or after release<br />
- Because when you are checking yourself you are blinded by your own mistakes, and writing down your testing charter is a good technique to get some perspective and catch some of your own bugs.</p>
<p>But maybe most importantly, because you are a <strong>professional tester</strong>, and even if you are running a short testing session it is important to define your testing scope, and to be able to assess whether your are really done with your tests or if there are other things you should be testing.</p>
<p><strong><br />
<blockquote>If you want to be treated like a professional tester,<br />
the first step is to treat your testing professionally.</p></blockquote>
<p></strong><br />
&nbsp;</p>
<img src="http://feeds.feedburner.com/~r/QA-Intelligence-a-QABlog/~4/X6Kj-JLe5i0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://qablog.practitest.com/2011/10/short-post-plan-your-tests-even-when-you-dont-have-time-to-plan-them/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://qablog.practitest.com/2011/10/short-post-plan-your-tests-even-when-you-dont-have-time-to-plan-them/</feedburner:origLink></item>
		<item>
		<title>Switching to Agile Testing, not as simple as changing your t-shirt</title>
		<link>http://feedproxy.google.com/~r/QA-Intelligence-a-QABlog/~3/EE43TpKPmL4/</link>
		<comments>http://qablog.practitest.com/2011/09/switching-to-agile-testing-not-as-simple-as-changing-your-t-shirt/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 08:23:29 +0000</pubDate>
		<dc:creator>Joel Montvelisky</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Test Process]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Testing Skills]]></category>

		<guid isPermaLink="false">http://qablog.practitest.com/?p=1782</guid>
		<description><![CDATA[In addition to all my other tasks in PractiTest, I am a tester working and consulting on a number of Agile projects.  In total I&#8217;ve been in testing for over 15 years and doing agile testing for close to 5 years. Here&#8217;s a fact some people tend to overlook, just like any other profession, to become [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://qablog.practitest.com/wp-content/uploads/2011/09/superman_shirt_rip.jpg"><img src="http://qablog.practitest.com/wp-content/uploads/2011/09/superman_shirt_rip.jpg" alt="" title="superman_shirt_rip" width="250" height="233" class="aligncenter size-full wp-image-1889" /></a></p>
<p>In addition to all my other tasks in PractiTest, I am a tester working and consulting on a number of Agile projects.  In total I&#8217;ve been in testing for over 15 years and doing agile testing for close to 5 years.</p>
<p>Here&#8217;s a fact some people tend to overlook, just like any other profession, to become an expert on a specific field of testing you need to work hard and develop the skills required for that specific type of testing.  And so I know some very impressive testers that are experts in the field of Load Testing, I also have a number of colleagues who I define as Automation Experts (having the strange ability of been good testers and good developers at the same time), I also know some pretty impressive Exploratory Testers, as well as a number of Security Testers, Usability Testers, etc.  Each one of these sub-especializations comes with their own challenges, added value, tasks, etc.</p>
<p>Agile Testing is also a sub-especialization of testing, that comes with some pretty singular challenges, and requires specific skills that a tester needs to develop in order to succeed in his job.  Without underestimating non-agile testing, I find that testing on agile projects can be a lot more challenging and demanding than been part of, let&#8217;s say, a Waterfall testing team.</p>
<p>In fact so demanding, that lately I have seen a number of testers that were very valuable and effective working on non-agile projects walking-out or been laied-off from teams working on agile organizations, because they just didn&#8217;t have the skills required to make the transition into Agile Testing.</p>
<h3>What&#8217;s so demanding about Agile Testing?</h3>
<p>There are a number of things that make agile testing challenging. I think the main ones  (or at least the ones I see more people stumbling and failing) are: becoming an organic part of a development team, finding yourself as the &#8220;lone tester&#8221; in charge, the &#8220;crazy&#8221; pace of Agile development, and the need to work with a slim process &#038; documentation and the risks involved with this.</p>
<p><strong>1. Becoming an organic part of a development team</strong> is demanding because of the intrinsic rivalry that usually surounds the relationship between developers and testers in non-agile teams.  Even if we all have the same objective and target, each of us approaches their jobs in a different (and sometimes opposing) angles.  </p>
<p>Agile testers and developers need to learn how to work together in one team.  When you are part of the same organic team it&#8217;s not enough to have the same goals and objectives on the &#8220;MACRO level&#8221;, and we need to find the way coordinate our tasks and jobs in the &#8220;MICRO level&#8221; as well.</p>
<p>This can be frustrating for both developers and testers, and somehow (maybe because of the cultural baggage that we are still carrying from pre-agile times) testers always feel they will need to concede to developers even when they don&#8217;t agree with it.</p>
<p><strong>2. Finding yourself as the &#8220;lone tester&#8221; in charge</strong> is challenging because all of a sudden you need to work alone, calling the shots and taking the risks in front of your programming peers.</p>
<p>It may sound strange, but there is a big advantage that comes from working within the &#8220;protection and support&#8221; of a group of testers that, when push comes to shove, will stand next to you and defend your &#8220;testing-based&#8221; approach.  For someone who has not been in a leadership position (as a team lead or manager) this can be very intimidating.</p>
<p>This issue is specially acute if the Agile Team Lead and the Scrum Master also lack the experience and understanding to know that they need to provide backing and support to their testers&#8230;</p>
<p><strong>3. The crazy pace of agile development</strong> is hard to all the team, but it is specially challenging for testers that continue doing a big part of their testing tasks towards the end of the process (even if we work on short sprints).</p>
<p>This issue becomes even more acute because when you work on an agile team, towards the end of the sprint you are supposed not only to run your most critical tests but also to &#8220;employ&#8221; your fellow developers in order to get some help in the testing tasks, and we all know that managing developers to do testing tasks is not easy (not even in the remote possibility that they <u>really want</u> to help&#8230;)</p>
<p><strong>4. Working with a slim process &#038; documentation and the risks involved</strong> is the fourth challenge for testers transitioning into Agile.  </p>
<p>Whether we like to accept it or not, many of us use process as a way of controlling our projects.  When the project is under control we have a better chance of discovering and managing most of its risks.  </p>
<p>The same goes for documentation, when people need to document their work (and when they do it correctly!) they tend to find more issues and discover more risks earlier in the process.</p>
<p>Because agile projects work with slimmer processes and very limited documentation, then the responsibility of the tester to find and manage the risks of the project becomes more important but at the same time more challenging, since he needs to find alternative mechanisms to detected these risks and control them with the rest of the team.</p>
<h3>What can you do about it?  Should you stay away from Agile Testing?</h3>
<p>Definitely NOT!<br />
Many people, including myself, find agile testing to be extremely fun and gratifying.  It provides us with challenges that expand over the methodological, process and technical realms; and allow us to influence the development process even more than working in more traditional &#8220;V-Model&#8221; processes.</p>
<p>The best thing to do if you want to transition into an Agile team is to make sure you understand what you are getting into.  Talk to agile testers and if possible go and see how they work.  Make sure you can see yourself working and enjoying the &#8220;organized chaos&#8221; that comes with agile projects.</p>
<p>Once you decide Agile Testing is what you want to do, work on developing your agile testing skill.  How?  You can &#8220;jump into the water&#8221; and start working on agile projects, but take it one step at a time.</p>
<p>Another thing you can do is study.  Start by reading some good books, like <a href="http://www.google.com/products/catalog?q=agile+testing+book&#038;hl=en&#038;safe=off&#038;client=safari&#038;rls=en&#038;prmd=imvns&#038;bav=on.2,or.r_gc.r_pw.&#038;biw=1288&#038;bih=822&#038;um=1&#038;ie=UTF-8&#038;tbm=shop&#038;cid=7071164296560019607&#038;sa=X&#038;ei=Hc2CTtPXEIzbsgam89GiDg&#038;ved=0CF0Q8wIwAA#ps-sellers" target="_blank">Agile Testing</a> (by Lisa Crisping and Janet Gregory) where they explain how agile testing projects work, and how a tester can succeed on them.</p>
<p><a href="http://qablog.practitest.com/wp-content/uploads/2011/09/agile-testing-book.jpeg"><img src="http://qablog.practitest.com/wp-content/uploads/2011/09/agile-testing-book.jpeg" alt="" title="agile testing book" width="147" height="192" class="alignright size-full wp-image-1891" /></a>I specially like their 10 principles for agile testers:<br />
- Provide continuous feedback.<br />
- Deliver value to the customer.<br />
- Enable face to face communication.<br />
- Have courage.<br />
- Keep it simple.<br />
- Practice continuous improvement.<br />
- Respond to change.<br />
- Self-organize.<br />
- Focus on people.<br />
- Enjoy <img src='http://qablog.practitest.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You can also find countless blogs and articles on the subject by simply googling &#8220;Agile Testing&#8221;.</p>
<h3>What say you?</h3>
<p>Do you have something to share from your transition into agile?<br />
Please come and share it!</p>
<p>Is your experience of transitioning into agile different?<br />
What tips do you have?</p>
<img src="http://feeds.feedburner.com/~r/QA-Intelligence-a-QABlog/~4/EE43TpKPmL4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://qablog.practitest.com/2011/09/switching-to-agile-testing-not-as-simple-as-changing-your-t-shirt/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://qablog.practitest.com/2011/09/switching-to-agile-testing-not-as-simple-as-changing-your-t-shirt/</feedburner:origLink></item>
		<item>
		<title>What do you do when a ShowStopper escapes into production?</title>
		<link>http://feedproxy.google.com/~r/QA-Intelligence-a-QABlog/~3/drByzsrZZSE/</link>
		<comments>http://qablog.practitest.com/2011/08/what-do-you-do-when-a-showstopper-escapes-into-production/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 09:34:35 +0000</pubDate>
		<dc:creator>Joel Montvelisky</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[On-Going Improvement]]></category>
		<category><![CDATA[Communication]]></category>
		<category><![CDATA[Development Kaizen]]></category>
		<category><![CDATA[Test Methodologies]]></category>

		<guid isPermaLink="false">http://qablog.practitest.com/?p=1670</guid>
		<description><![CDATA[When you are a true professional, you see failure as an opportunity to become a better professional. Here&#8217;s a real life scenario, let&#8217;s see how many of you can relate to it: It is the middle of the day on a regular Tuesday afternoon.  You are the QA Manager of a company developing an Enterprise [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/08/Success-Failure.jpg"><img class="aligncenter size-medium wp-image-1693" title="Success-Failure" src="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/08/Success-Failure-300x225.jpg" alt="" width="300" height="225" /></a></p>
<blockquote>
<p style="text-align: left;">When you are a true professional, you see failure<br />
as an opportunity to become a better professional.</p>
</blockquote>
<p><strong>Here&#8217;s a real life scenario, let&#8217;s see how many of you can relate to it:</strong></p>
<p><em>It is the middle of the day on a regular Tuesday afternoon.  You are the QA Manager of a company developing an Enterprise Application, and last week your team released a minor version that included the fixes from all the patches of the last two months plus four minor features that were requested by product marketing in order to &#8220;close some pretty important deals&#8221;.  </em></p>
<p><em>All of a sudden the phone rings and it is your R&amp;D director &#8220;inviting&#8221; you to an urgent meeting in his room.</em></p>
<p><em>You arrive to find there the R&amp;D director, together with his development team managers, the product marketing manager, and the support team leader in charge of your product who is standing next to the whiteboard&#8230;  </em></p>
<p><em>As you sit down the support team leader tells all of you about an urgent showstopper that was released in last week&#8217;s version and that is expected to affect about a third of the companies who install this upgrade.</em></p>
<p>I want to stop this scenario (that happened to me about 7 years ago) to ask you a simple question:</p>
<p style="text-align: center;"><strong>What would you and your team do in this situation?</strong></p>
<p style="text-align: left;">I believe that no two teams would react in the same way, and I don&#8217;t want to come up with best &amp; worst case scenarios; but here are two contradictory approaches to serve as points in the possible behavioral continuum.</p>
<h4 style="text-align: left;">Scenario No. 1 &#8211; Blame &amp; Panic</h4>
<p><span style="text-decoration: underline;">Step 1</span><br />
The meeting turns into a witch-hunt where development blames testing for not finding the bug, then testing blames development for not documenting all the changes made in the system, then development and testing blame product marketing for pushing the teams to release even though not all the tests had been completed, etc&#8230;</p>
<p><span style="text-decoration: underline;">Step2</span><br />
After the meeting dissolves without any clear action items, support starts telling customers not to install the new release, the programmers start working on a solution without fully understanding the problem, and you are left on the side wondering how did you miss this bug and trying to find the person who should be responsible for it.</p>
<p><span style="text-decoration: underline;">Step 3</span><br />
Since the developers think this is absolutely urgent they decide to send the fix directly to support, and only in parallel they send it to your team for validation and verification.<br />
They do this at 8:30 PM when no one is left in the office and you can only start testing it at 8:30 AM the next day.  About 30 minutes in to your testing cycle you start finding bugs in their new version.<br />
The problem is that your support team already started delivering this solution to the initial set of customer who already complained about the bug.</p>
<p><span style="text-decoration: underline;">Step 4<br />
</span>By mid day your team finished the tests on the system, they found that the initial fix only works on about half the supported configurations, and more important it also causes a regression bug on an area not directly related with the fix.<br />
Within 30 minutes you get a new version that is verified and released to the support team by 4:00 PM.</p>
<p><span style="text-decoration: underline;">Step 5<br />
</span>Customer support wants to kill both your testing team as well as the developers because now they need to find every company that downloaded the first fix and call to ask them not to install it, or even worst to install yet another fix on top of it.<br />
Product Marketing is also mad at you since they already started getting calls from customers, account managers, and even some of your company&#8217;s top executives, all complaining about the mess and bad publicity this fiasco is already creating in the field.  They let you know that as a result of it your company will need to offer large discounts to all customers that complaint, and they think this issue may cause a number of important deals to be delayed or lost&#8230;</p>
<p><span style="text-decoration: underline;">Step 6</span></p>
<p>(Step into your time-machine and fast-forward 3-4 months ahead)</p>
<p>Everything is still the same, no one was fired by the fiasco but the atmosphere was tense for about one week afterwards; after that it became water under the bridge.</p>
<p>Your team is about to release another minor version including all the patches of the last months, plus another three features needed for important deals.<br />
As always product marketing is pushing for the release to go out on schedule even though your team got the final built a week late and you learned only yesterday that they included another feature that you were not even aware off&#8230;</p>
<p style="text-align: left; padding-left: 120px;"><strong>As they say&#8230;</strong></p>
<p style="text-align: center;"><a href="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/08/nothing-changes.jpg"><img class="aligncenter size-medium wp-image-1698" title="nothing changes" src="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/08/nothing-changes-300x300.jpg" alt="" width="180" height="180" /></a></p>
<p>&nbsp;</p>
<h4>Scenario No. 2 &#8211; Solve, Learn &amp; Improve</h4>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"> <a href="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/08/dont-panic.jpg"><img class="size-medium wp-image-1702 alignright" title="don't panic" src="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/08/dont-panic-292x300.jpg" alt="" width="175" height="180" /></a></span><span style="text-decoration: underline;">Step 0</span> - Don&#8217;t Panic!</p>
<p>The last thing you want to do is start looking for someone to blame.  Chances are that more than one person is &#8220;to blame&#8221; for making mistakes that lead to the issue been released, It is almost certain no one did this on purpose, and most importantly it will not help you to solve the issue!</p>
<p>So try stoping your<strong> basic instinct</strong> to blame someone else for the issue.</p>
<p>If another member of the team starts the blaming game, immediately ask him how is this contributing to solving the issue any faster?  You can also state that there will be enough time, after the issue is solved, to understand what went wrong and why.</p>
<p><span style="text-decoration: underline;">Step 1</span> &#8211; Fix &amp; Test<br />
OK, so there is a bug out there and you better fix it quickly!<br />
Put together the best team you can that will (1) analyze the issue, (2) define the quickest, safest and most effective fix, (3) create this fix, and finally (4) recommend how to test it.<br />
What testing approach to take is not a simple decision either, depending on the bug and the product you are working you may choose to deliver the fix directly without doing any tests and verify only after the issue has been solved (for example if your application is web-based and the servers are down, it is better to get them back up and test once they are up).  On other occasions you may choose to run some or all possible tests in-house before releasing the fix, this is usually the case if the bug is not really critical and the fix may cause bigger bugs such as data-loss or business disruption.</p>
<p>In short, the first step is to create the best solution and find the most appropriate approach to get it to your customers.</p>
<p><span style="text-decoration: underline;">Step 2</span> &#8211; Analyze<br />
Once the critical part is over and the issue has been solved, but before people &#8220;move on&#8221; with their lives and tasks, its better to make sure you understand what went wrong.<br />
The analysis process should never be a witch-hunt, it should be an opportunity where everybody feels safe to collaborate and bring forward all the factors that contributed to the problem happening in the first place (both internal as well as external factors).<br />
This activity is fairly common and it is called a <a href="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//2008/07/good-project-retrospectives/" target="_blank">retrospective or post-mortem</a>.</p>
<p><span style="text-decoration: underline;">Step 3</span> &#8211; Corrective actions<br />
Once the factors and issues have been identified as part of the post-mortem, the next step is to define corrective actions to prevent this from happening again.<br />
Make sure these actions are clearly defined and actionable (duh!).<br />
Many times we see stuff like &#8220;make sure communication is better&#8221; but this is not actionable at all, and it will not help anybody to change the way they have communicated up to now.<br />
So as dumb as it may sound, make sure your corrective actions are actionable and they will lead to a change in the way things were been done in your company up to now.</p>
<h4>Strong team share their failures while weak teams sweep them under the rug</h4>
<p>I remember coming up with a phrase a couple of years ago as part of an presentation I did for a group of testers: &#8220;<em><strong>When you are a true professional, you see failure as an oportunity to become a better professiona</strong>l</em>&#8220;.</p>
<p>I have seen many development teams where they perform retrospectives but then they are affraid or ashamed to share their results with the rest of the Company.  Would you blame the team for been self-centered and egoists?  I would actually blame their companies for not making sure their work atmosphere encourages teams to take risks and learn from their failures&#8230;</p>
<p>You need to make sure your team, and preferably your Company, encourages the sharing of retrospectives and corrective actions.  It is one of the best sources of free advice available.</p>
<p><img class="size-full wp-image-1711 alignleft" title="COOL_Smiley" src="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/08/COOL_Smiley.jpg" alt="" width="62" height="58" /></p>
<p style="text-align: left;">Also, if you look closely, teams with the confidence and maturity required to openly share their risks and failures are also the most fun and challenging teams to work in.</p>
<p style="text-align: left;">And if all this was not enough to convince you, just go a head and read the <a href="http://dilbert.com/strips/comic/2011-08-08/" target="_blank">Dilbert Comic Strip</a> published earlier this week on the subject.  Thinks that make you hmmmm.</p>
<h4 style="text-align: left;">How would your team react?</h4>
<p style="text-align: left;">Any war stories or insights into good or bad reactions?</p>
<img src="http://feeds.feedburner.com/~r/QA-Intelligence-a-QABlog/~4/drByzsrZZSE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://qablog.practitest.com/2011/08/what-do-you-do-when-a-showstopper-escapes-into-production/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://qablog.practitest.com/2011/08/what-do-you-do-when-a-showstopper-escapes-into-production/</feedburner:origLink></item>
		<item>
		<title>When your job is NOT TO TEST</title>
		<link>http://feedproxy.google.com/~r/QA-Intelligence-a-QABlog/~3/zA96z33TZo0/</link>
		<comments>http://qablog.practitest.com/2011/07/when-your-job-is-not-to-test/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 08:08:59 +0000</pubDate>
		<dc:creator>Joel Montvelisky</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[On-Going Improvement]]></category>
		<category><![CDATA[Test Process]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Risk Management]]></category>
		<category><![CDATA[SaaS Testing]]></category>

		<guid isPermaLink="false">http://qablog.practitest.com/?p=1596</guid>
		<description><![CDATA[Ever wondered if you can actually test less and perform other operations that will help your product achieve higher levels of quality in production?

Maybe this is what we should aim for when we define our job as QA (Quality Assurance) Engineers and not as Testers...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/confused-guy.jpg"><img class="aligncenter size-medium wp-image-1610" title="confused-guy" src="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/confused-guy-179x300.jpg" alt="" width="128" height="216" /></a></p>
<p><em><strong>The following is based on a true story <img src='http://qablog.practitest.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong></em></p>
<p>Imagine you are hired to work as a software tester (or test lead) for a company that develops a web-based product .</p>
<p>When you get to the place you notice that these guys are really sharp and work with the latest technology and methodologies available; but very quickly you also notice a very strange behavior in the company: <span style="text-decoration: underline;">they run only a small number of tests before rolling new features out into production!</span></p>
<p>So you think to yourself: &#8220;<em>EUREKA! I found the first thing to change in the company: release better products by <span style="text-decoration: underline;">running more tests</span> before rolling stuff out!</em>&#8221;</p>
<p>But when you take a closer look at the process and its numbers you realize two things:</p>
<p>1.  Even though some bugs are been released into production, <strong>their numbers are not a lot higher than in other places you&#8217;ve worked</strong>.  And what&#8217;s even more interesting is that whenever these bugs are released they are handled very quickly (in a matter of minutes) and with next-to-none effect on the users.</p>
<p>and</p>
<p>2.  If you were to introduce more testing into the system (even automation!) it would<strong> dramatically increase the cost and extend the development cycle</strong> delaying time to market to levels far from what the company is willing to accept.</p>
<p>So what can you do?</p>
<p>Well&#8230; apparently you should not go out and automatically dictate that more tests should be run!  Maybe you should start by understanding what they are doing and why?!</p>
<h4>Sometimes exhaustive testing is not the best solution</h4>
<p>It is pretty cool when you are working in ways that may seem unconventional and all-of-a-sudden someone shows you that other people are doing just about the same and writing about it in their blogs <img src='http://qablog.practitest.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I wanted to thank <a href="http://twitter.com/wonitta" target="_blank">wonitta</a> who last week pointed me to a post by <a href="http://gojko.net/2011/03/03/simulating-your-way-out-of-regression-testing/" target="blank">Gojko Adzic</a> where he wrote about companies that manage to reduce their exhaustive regression testing by using alternative approaches.  I won&#8217;t repeat what Gojko wrote, but I definitely recommend you read the article.</p>
<p>What I can do is explain how the company that I wrote about above successfully (IMHO) handles its development and testing process. They work with a number of principles that help them achieve their goal of very-fast-time-to-market while maintaining high levels of product quality.</p>
<h4>No magic spells, only common sense and discipline</h4>
<p><a href="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/casting_magic_love_spells.jpg"><img class="aligncenter size-medium wp-image-1622" title="casting_magic_love_spells" src="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/casting_magic_love_spells-300x204.jpg" alt="" width="300" height="204" /></a></p>
<p>I don&#8217;t think these guys are singular, nor do they use any technique or technology that is out of reach to most development teams today.  They simply have evolved their process while trying to adapt to their highly competitive business environment, while looking for non-trivial ways of achieving their goals.</p>
<p>The process is not hard, but it does require discipline and the cooperation of all the team (developers, testers, product, etc).</p>
<p>Here are the principles I was able to identify from their process:</p>
<p><strong>1.</strong><strong></strong><span style="text-decoration: underline;"><strong> Short iterations &amp; small incremental changes</strong></span> - by working on small agile cycles and making sure they break down large features into smaller iterations they are able to lower the complexity and the underlying risk of each release.</p>
<p><strong>2. <span style="text-decoration: underline;">Good designs &amp; risk analysis from the start</span></strong> - it is incredible how people always say that it is better to catch bugs in the design phase, but we still never do anything about it!  Right <img src='http://qablog.practitest.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Well, when you don&#8217;t have time to make mistakes it is better you work right from the start, and the best way to do this is by reviewing your assumptions and the design of your feature before you write your code.<br />
By doing this these guys are able to make a good product (features, GUI, UX, integrations, etc) from the start; and by identifying and analyzing the high risk areas up-front they are able to design and write the feature in ways that lower these risks significantly.<br />
The math is really simple:  <em><strong>LOWER RISK = LESS BUGS.</strong></em></p>
<p><strong>3. <span style="text-decoration: underline;">A</span><span style="text-decoration: underline;">ll the team tests</span></strong> - one thing about good developers is that they are not snobs!<br />
In order to achieve high quality products this company has a whole-team-tests policy and this means that even though it is assumed that testers can perform tests better than programmers this doesn&#8217;t mean that the later should not run their own tests.<br />
Testers help programmers define their tests and in the most risky features they also perform a large number of the test themselves, but there are also features where testers will not run a single test and all these tasks will fall upon the shoulders of the programmers themselves.<img class="size-full wp-image-1626 alignright" title="tightrope-walker-300x183" src="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/tightrope-walker-300x183.jpg" alt="" width="270" height="165" /></p>
<p>I think that this policy serves 2 main purposes, (1) it relieves  testers from being the bottlenecks in the process, and (2) it gives developers a higher sense of responsibility towards their programming standards (<em>you take more careful steps on the tight-rope when you are your own safety net!</em>).</p>
<p><strong>4. <span style="text-decoration: underline;">Continuous integration</span></strong> - if you don&#8217;t know what this means then go and read more about it <a href="http://en.wikipedia.org/wiki/Continuous_integration" target="_blank">here</a>.<br />
The best thing about CI is that it allows the team to work on a continuously stable product, to find trivial regression bugs fast and to fix them even faster.</p>
<p><strong>5. <span style="text-decoration: underline;">Organized pushes to production</span></strong> - releases and changes to production need to be controlled, performed gradually, and scheduled in advanced to make sure there are no conflicting pushes been done simultaneously.<br />
Multiple changes to the same components, specially when done by different internal teams, automatically increase the risk of having bugs in production.</p>
<p><strong>6. <span style="text-decoration: underline;">Gradual deployments</span></strong> &#8211; that allow you to deploy your code while keeping under control the effect they may have in your system.<br />
By using techniques like <a href="http://en.wikipedia.org/wiki/A/B_testing" target="_blank">A/B testing</a> with limited percentages, or allowing only a subset of your users to access a specific change you are able to contain the effect of the changes to a small number of your users and thus limit the risk to your business.<br />
These &#8220;production tests&#8221; are similar to Beta programs and provide the same type of information but a lot quicker!</p>
<p><strong>7. <span style="text-decoration: underline;">Extensive monitoring</span></strong> - because when you have a bug in production you want to be the first to know about it and to get all the information up-front.<br />
There are a number of different monitoring tools available, but putting them in place is only half the work.  You also need to develop your product in a way that it will integrate with the monitoring tools you use, and provide them with the information that will allow the team to understand the issue and fix for it right away.<br />
In a sense is like having good-old <a href="http://en.wikipedia.org/wiki/Dr._Watson_(debugger)" target="_blank">Dr. Watson</a>, but been able to solve the issues reported by your users RIGHT AWAY (instead of in the next version of Windows).</p>
<p><strong>8. <span style="text-decoration: underline;">Pred</span><span style="text-decoration: underline;">efined rollback and patching process</span><span class="Apple-style-span" style="font-weight: normal;"> &#8211; when you want to do something quickly and correctly under pressure you better define in advance what you want to do.  There is a saying in Hebrew that goes: &#8220;Work hard in practice, so that it comes easily during battle&#8221;.</span><span class="Apple-style-span" style="font-weight: normal;"><br />
</span><span class="Apple-style-span" style="font-weight: normal;"> The team should have a step-by-step rollback procedure with the scripts to run, the files to modify and all the rest of the operations required in order to quickly return the system to its last known good state (how it was before the release).  Since this operations may change from release to release it is necessary to create this procedure for each push (or at least to review the generic process and make the needed changes).<br />
Remember also that rollbacks should not be the only option,  there should also be a defined procedure that defines what bugs can be &#8220;fixed in production&#8221; and how this should be done and tested.</span></strong></p>
<p><strong>9. <span style="text-decoration: underline;">Continuous learning and retrospective culture</span><span class="Apple-style-span" style="font-weight: normal;"> &#8211; because mistakes will be made, but you should learn from them in order not to commit them again.<br />
The team has in place a process where each problem detected in production (bug, configuration issue, etc) is reviewed in a (semi) formal retrospective session, with lessons learned and action items to ensure the same issue won&#8217;t happen again.</span></strong></p>
<h4><a href="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/warning.png"><img class="alignleft size-thumbnail wp-image-1632" title="warning" src="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/warning-150x150.png" alt="" width="90" height="90" /></a>WARNING:<br />
Not all companies are created equally!</h4>
<p>An important fact to understand is that no two companies are the same; and this is sometime true also for two groups or products within the same company.  Technology, company culture, and most importantly your users and the way they interact with your product, will define the way you develop and deploy your apps and the degrees of freedom you have as part of this process.</p>
<p>There are some industries where the price to pay for a mistake is really high, for example if you work on a life-sciences project where any bug can mean life-or-dead for a patient, or on the banking industry where a mistake can mean thousands or millions of dollars been mis-handled, or in aviation where bugs can mean a plane going down, then you should do exhaustive testing.</p>
<p>Still, the vast majority of companies working with web-based products don&#8217;t fall within the group above, and they have an intrinsic advantage that gives them a higher degree of freedom not available to firms that sell software that is installed in-house.</p>
<p>It is very easy to come up with many reasons why you cannot implement the process these guys use in your company, and you are probably right on most of them.  But you also need to take into account the business reality you work in, and realize that 95% of the companies world-wide can allow to have a bug or two in production once in a while, and balance this with the advantages of been able to release higher quality products and with shorter release cycles.</p>
<h4>A final thought:</h4>
<p><a href="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/thought-bubble.png"><img class="size-medium wp-image-1654 alignleft" title="thought-bubble" src="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/thought-bubble-300x252.png" alt="" width="103" height="88" /></a>Maybe this is what we should aim for when we define our jobs as QA (Quality Assurance) Engineers and not as Testers?</p>
<p>After all there is no such thing as perfect &amp; bug-free software, and most of us really want to make the best we can for the companies we work for&#8230;</p>
<img src="http://feeds.feedburner.com/~r/QA-Intelligence-a-QABlog/~4/zA96z33TZo0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://qablog.practitest.com/2011/07/when-your-job-is-not-to-test/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://qablog.practitest.com/2011/07/when-your-job-is-not-to-test/</feedburner:origLink></item>
		<item>
		<title>You must choose correctly what NOT to measure!</title>
		<link>http://feedproxy.google.com/~r/QA-Intelligence-a-QABlog/~3/4M5nyNkIGWA/</link>
		<comments>http://qablog.practitest.com/2011/07/you-must-choose-correctly-what-not-to-measure/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 10:28:14 +0000</pubDate>
		<dc:creator>Joel Montvelisky</dc:creator>
				<category><![CDATA[Metrics & Statistics]]></category>
		<category><![CDATA[On-Going Improvement]]></category>
		<category><![CDATA[Testing Intelligence]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[rules of thumb]]></category>

		<guid isPermaLink="false">http://qablog.practitest.com/?p=1543</guid>
		<description><![CDATA["It's not only about what you have in your metrics, it's also about what you leave outside of them."  This is the principle I tried to communicate to an organization I was working with lately. 

A short post about the importance of defining your metrics correctly and communicating what you want to achieve and what you are willing to pay for it, up-front and clearly.]]></description>
			<content:encoded><![CDATA[<p><a href="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/choices.jpg"><img class="aligncenter size-medium wp-image-1548" title="choices" src="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/choices-300x239.jpg" alt="" width="300" height="239" /></a></p>
<blockquote>
<p style="text-align: center;"><em><strong>It&#8217;s not only about what you have in your metrics,</strong></em><br />
<em><strong> it&#8217;s also about what you leave outside of them.</strong></em></p>
</blockquote>
<p>This story begins one day, just like any other day&#8230;</p>
<p>The whole R&amp;D department of company XYZ Ltd. is sitting in the Open Space area, listening to an interesting presentation about <a href="http://www.kanban101.com/">Kanban</a> by one of the Team Leads.  He is explaining how this process is helping his team to achieve faster deliveries and how it provides better visibility and control over the end-to-end process.</p>
<p>The idea of the Company is that starting from the next sprint (Agile sprint, just in case), all the teams will switch from working under Scrum to some sort of Scramban (Scrum + Kanban) that will allow them to focus on a limited number of tasks, in order to develop their product faster and with more visibility to all the company stakeholders.</p>
<p>The last slide of the presentation is about the 5 things that are &#8220;very important&#8221; to <strong>measure</strong>, to ensure the team is working under the principle of <a href="http://en.wikipedia.org/wiki/Kaizen" target="_blank"><em>Kaizen</em></a> or continuous improvement:</p>
<ol>
<li>WIP (Work in Progress)</li>
<li>Lead Time</li>
<li>Waste (efficiency)</li>
<li>Throughput</li>
<li>Quality</li>
</ol>
<p>And here is where the session turned interesting.  When someone in the crowd (someone, for example Me) asked the Team Lead how do they measure Quality in his team?  And then all hell broke loose&#8230;</p>
<p>&nbsp;</p>
<h4>Tell me who I am and I will tell you where to find me</h4>
<p>The question may sound simple at first &#8211; <em>how do you measure quality?</em> -  but if you ask 10 persons from different teams in your organization to define Quality, you will find between 7 and 15 different definitions (some people will not be able to provide you only &#8220;one&#8221; answer&#8230;).  So, who&#8217;s Quality will you choose to measure?</p>
<p>Let&#8217;s move further down this road, when I asked the forum of Development Team Leaders, once the session was over and we got together to review this point in more detail, we were able to reach the conclusion that we wanted to measure Quality by taking a look at the bugs (bugs are not the only indication to measure quality, but it is usually the simplest and fastest way to start measuring!).</p>
<p>But then we immediately started arguing about what bugs to measure?  Bugs reported &#8220;as part of the development&#8221;, bugs detected &#8220;once the product was released&#8221;, or bugs &#8220;detected AND corrected once the product was released&#8221;&#8230;</p>
<p>In short, everybody has an opinion and all of them are valid in one way or another.</p>
<p>&nbsp;</p>
<h4>What you measure may improve,<br />
what you don&#8217;t measure will <span style="text-decoration: underline;">always</span> fall behind</h4>
<p><a href="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/up_and_down.jpg"><img class="size-medium wp-image-1556 alignright" title="up_and_down" src="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/up_and_down-233x300.jpg" alt="" width="163" height="210" /></a>The biggest problem with metrics is the psychological effect it has on the people being evaluated.</p>
<p>Start measuring something and you will see how it improves:</p>
<ul>
<li>How far or fast you run.</li>
<li>How much food you eat.</li>
<li>How many hours a week you spend with your wife and family.</li>
<li>How many bugs you find or tests you run.</li>
<li>etc.</li>
</ul>
<p>But since your resources and your capacity are limited, then for every thing you improve there will need to be something else that &#8220;pays the price&#8221; for it:</p>
<ul>
<li>You will be able run farther or faster because you train a lot, but your grades at school may come down because you don&#8217;t have enough time to study for your tests.</li>
<li>You will eat less, but you will also smoke more because you are always hungry.</li>
<li>You will spend more hours a week with your wife and family (and you will still work the same amount of hours because you don&#8217;t want to get fired!), but you will have less friends since you don&#8217;t have time to spend with them anymore.</li>
<li>You will find more bugs, but more of your bugs will be rejected as &#8220;not clear enough&#8221;, as &#8220;unable to reproduce&#8221; or as &#8220;duplicates&#8221; because you spend less time writing them and reviewing them.</li>
<li>You will run more tests, but since you don&#8217;t have more time to run them they will be less complex and won&#8217;t represent the user&#8217;s scenarios good enough, so in the end you end up releasing more bugs to the field.</li>
</ul>
<p>&nbsp;</p>
<h4>What&#8217;s the solution?  Is it to stop measuring?<br />
Definitely NO!</h4>
<p>The solution is not to stop measuring, as I said before measurements are one of the most effective ways or tools you have to improve things.  But you need to be SMART and take into account that it&#8217;s not only about what you have in your metrics, it&#8217;s also about what you leave outside of them.</p>
<p>For example, if you will start measuring the speed with which you develop each of your features make sure you also measure the quality of your deliverables.  Take also into account that if you develop each feature faster and don&#8217;t harm the level of quality, then you will most probably need to develop less features overall &#8211; at least at the beginning of the process.</p>
<p>The same goes for every other measure you can think of!  There&#8217;s no free lunch, someone or something will always need to eventually pay the bill (or wash the dishes&#8230;)</p>
<p><a href="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/dirty-dishes.jpg"><img class="aligncenter size-medium wp-image-1566" title="dirty-dishes" src="http://qablog.practitest.com.php5-20.dfw1-1.websitetestlink.com//wp-content/uploads/2011/07/dirty-dishes-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>&nbsp;</p>
<h4>Define an acceptable price you are willing to pay up-front</h4>
<p>A good way to go around when you define a &#8220;Set of Measurements&#8221; for your team is to take into account the following 3 principles:</p>
<ol>
<li>Keep your metrics <strong>simple</strong>, easy to <strong>calculate</strong>, and logical to <strong>understand</strong>.</li>
<li><strong>Don&#8217;t use a single metric</strong>.  Define a set of measurements with the intention of covering your process and your needs from 4 or 5 different and complementary angles.  On the other hand don&#8217;t set more than 4 or 5 metrics at a single time!</li>
<li>Provide <strong>guidance</strong> to your team, either by stating this in writing or by making this common knowledge, about <strong>the price you are willing to pay</strong> in order to improve your measurements.  In plain English: what other aspects of your operation will you be willing to harm in order to achieve improvements on the measured areas.</li>
</ol>
<p>By doing this you are making sure that all your team is in sync and this will increase your chances of really improving your process, and maybe more importantly of getting the correct feedback needed in order to modify your process (and your measurements) quickly in case they are harmful or counter-productive.</p>
<p>&nbsp;</p>
<h3>Got any experiences to share?  Feel free!</h3>
<p>Maybe you have some interesting stories to share about metrics, please feel free to add them as comments!</p>
<p>From my experience, many of us have &#8220;lived through&#8221; metrics-abuse-catastrophes in one or more occasions, so I&#8217;ll be happy if for a change some of you have been part of experiences or have insights about situations when metrics were used smartly (maybe also in an unconventional way!) and were able to really make a difference&#8230;</p>
<img src="http://feeds.feedburner.com/~r/QA-Intelligence-a-QABlog/~4/4M5nyNkIGWA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://qablog.practitest.com/2011/07/you-must-choose-correctly-what-not-to-measure/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://qablog.practitest.com/2011/07/you-must-choose-correctly-what-not-to-measure/</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: qablog.practitest.com @ 2012-02-24 08:31:20 -->

