<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>Carnegie Quality &#187; Software Testing</title>
	<atom:link href="http://www.carnegiequality.com/category/software-testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.carnegiequality.com</link>
	<description>Tools, Tips, and Templates for Quality Software</description>
	<lastBuildDate>Thu, 22 Dec 2011 16:31:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
		<item>
		<title>Checkout Test Plan Template Posted</title>
		<link>http://www.carnegiequality.com/2010/12/28/checkout-test-plan-template-posted/</link>
		<comments>http://www.carnegiequality.com/2010/12/28/checkout-test-plan-template-posted/#comments</comments>
		<pubDate>Tue, 28 Dec 2010 21:46:39 +0000</pubDate>
		<dc:creator>Brad Kuhn</dc:creator>
				<category><![CDATA[Software Testing]]></category>
		<category><![CDATA[Test Templates]]></category>
		<category><![CDATA[checkout]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://www.carnegiequality.com/?p=89</guid>
		<description><![CDATA[I&#8217;ve posted a checkout test plan template at this link. Checkout Testing Defined Checkout testing has a very specific purpose &#8211; that is, to verify that a deployment (usually to a Production environment) was successful.  Checkout testing is concerned with making sure that the deployed system is complete, stable, and in working order.  Checkout testing [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve posted a checkout test plan template at this <a title="link" href="http://www.carnegiequality.com/testing/checkout/" target="_blank">link</a>.</p>
<h2>Checkout Testing Defined</h2>
<p>Checkout testing has a very specific purpose &#8211; that is, to verify that a deployment (usually to a Production environment) was successful.  Checkout testing is concerned with making sure that the deployed system is complete, stable, and in working order.  Checkout testing is <strong>not</strong> concerned with finding defects within the developed code &#8211; hopefully the code went through numerous testing phases (e.g. unit, system, UAT) that identified all of the issues already.</p>
<p>Think about the typical weekend deployment &#8211; the technical team does all of the code migration activities, then usually one or two people are responsible for making sure things work.  The last thing you want after a long deployment weekend is to get a call at 8:00am Monday morning from a user complaining that the system doesn&#8217;t work, right?  Making sure that doesn&#8217;t happen is the purpose behind checkout testing.</p>
<h2>Why Document a Test Plan for Checkout Testing?</h2>
<p>If you take a look at my <a title="template" href="http://www.carnegiequality.com/testing/checkout/" target="_blank">template</a>, you&#8217;ll see that it is not a large document &#8211; so it shouldn&#8217;t take a lot of time to produce the document.  Why do it?  Two main reasons:</p>
<ol>
<li>Rather than let your checkout testers just wing it, if you put some time into planning the checkout test you&#8217;ll stand a better chance of making sure you don&#8217;t miss something.</li>
<li>Having a documented checkout test plan will save you time and effort across deployments.  You&#8217;ll be able to pull out the previous deployment&#8217;s plan when the next release comes.  You can also improve the plan by making sure you perform lessons learned checkpoints at the end of your project (e.g. was something missed during checkout testing?  If so, document it so it gets into the next version of the plan).</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.carnegiequality.com/2010/12/28/checkout-test-plan-template-posted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Seven Traits of Successful Test Managers</title>
		<link>http://www.carnegiequality.com/2007/07/03/seven-traits-of-successful-test-managers/</link>
		<comments>http://www.carnegiequality.com/2007/07/03/seven-traits-of-successful-test-managers/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 19:48:41 +0000</pubDate>
		<dc:creator>Brad Kuhn</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Managing Testing]]></category>
		<category><![CDATA[Software Testing]]></category>

		<guid isPermaLink="false">http://www.carnegiequality.com/2007/07/03/seven-traits-of-successful-test-managers/</guid>
		<description><![CDATA[I recently read Michael Shrivathsan&#8217;s post on 7 Traits of a Successful Product Manager (well worth a read, IMO). I thought I&#8217;d take a crack at a list for Test Managers. So here&#8217;s my list of 7 Successful Traits of Successful Test Managers. Communication As a test manager, you communicate &#8211; a lot. You need [...]]]></description>
			<content:encoded><![CDATA[<p>I recently read Michael Shrivathsan&#8217;s post on <a href="http://michael.hightechproductmanagement.com/2006/12/seven_traits_of_successful_pro.html">7 Traits of a Successful Product Manager</a> (well worth a read, IMO).  I thought I&#8217;d take a crack at a list for Test Managers.  So here&#8217;s my list of 7 Successful Traits of Successful Test Managers.</p>
<h3>Communication</h3>
<p>As a test manager, you communicate &#8211; a lot.  You need to be aware of the different consumers of your information (such as business stakeholders, developers, project managers, etc&#8230;) and their different needs.  You need to be able to produce both written and verbal communication at different levels.  For example, a status report needs to have some sort of executive summary so the readers can quickly understand the testing status, but also have sufficient detail included for those who need it.  During status meetings, you&#8217;ll be asked to briefly summarize testing activities, but you&#8217;ll also need to be prepared to drill down on specifics.  One of the key pieces of value the test manager brings to the project is data &#8211; and people will quickly assess your ability to provide that data in the form that they need.<br />
<span id="more-38"></span></p>
<h3>Political Agility (Leading Without Authority)</h3>
<p>I almost placed this one at the top of the list &#8211; it&#8217;s that important.  Imagine you just got the first release of code from Development and it sucks &#8211; completely.  Or you&#8217;re need the end of a planned test phase but due to quality problems you&#8217;re only 50% complete and you run into the key business stakeholder and they ask you how testing is going.  Or you tell the project manager that you need an additional week to complete regression testing and they tell you that you can&#8217;t have it.  As test managers, you don&#8217;t produce the code, you don&#8217;t write the requirements, you don&#8217;t control the schedule &#8211; but you rely on others to do these things so you can get your job done.<br />
Your ability to respond to and influence others in a politically astute manner is key to being an effective test manager.  For example, simply telling the Development Manager that his/her team&#8217;s code sucks and wasn&#8217;t unit tested is not going to win you any friends.  The manner in which you deliver these kind of messages is important &#8211; you need to be tactful, unemotional, and stick to facts.  To affect change in other groups without true authority can be a difficult skill to master.  I&#8217;d recommend reading <a href="http://www.amazon.com/exec/obidos/ASIN/0671027034/ref=nosim/carnegiequali-20">Dale Carnegie&#8217;s How to Win Friends and Influence Others</a>.</p>
<p><script type="text/javascript"><!-- google_ad_client = "pub-0339096110407295"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text_image"; google_ad_channel = ""; google_color_border = "336699"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; //--> </script></p>
<h3>Time Management</h3>
<p>This is an obvious one, but true nonetheless &#8211; especially during test execution.  You must be able to use your time wisely enough so you can effectively respond to the critical test system failure, last minute modification to the test iteration plan, the emergency staffing issue, and the weekly status report (all happening simultaneously).  Basic time management skills (like delegation, prioritizing, developing processes to deal with routine tasks, etc&#8230;) are really essential over the long run.  Testing is one of those things that is always stressful, pressed for time, and hectic &#8211; and if you can&#8217;t manage this over the long run, you&#8217;re headed for burn-out.</p>
<h3>Technical Ability</h3>
<p>A lot of experienced testers came up through the programming ranks and like to dissect code and write testing stubs.  Personally, I didn&#8217;t start as a programmer &#8211; but much of my testing experience has been with packaged software, so extensive programming skills were not really a requirement.  Whatever your background, an effective test manager needs enough technical ability to be credible with the test engineers and developers.</p>
<h3>Attention to Detail</h3>
<p>You can&#8217;t be a &#8220;big-picture&#8221; person and be a great test manager, IMO.  Good test managers are expected to know the overall status of testing, details around why planned test cases haven&#8217;t been executed, the exact status of major defects, and be able to drill down on any given defect and talk about it.  You also need to know enough detail about the requirements and test cases to have confidence that your test team will have the proper test coverage.</p>
<h3>Analytical Ability</h3>
<p>I&#8217;ve written about <a href="http://www.carnegiequality.com/2005/12/02/10-tips-for-test-statistics/">test metrics</a> before.  You know the old saying &#8211; you can make a set of statistics look like anything you want it to.  Well, to an extent that&#8217;s true.  You have to be able to dig and really understand what&#8217;s driving your numbers.  For example, if the open defect count is going down &#8211; that&#8217;s good, right?  Well, maybe &#8211; but what if that is combined without a corresponding increase in passed test cases?  A possible explanation for that scenario might be the Development team clearing a lot of lower priority defects while leaving high priority/blocking defects open.  You&#8217;d want to examine the priority level of recently closed defects and the reason test cases are not getting passed.<br />
The ability to truly understand what the numbers are telling, and be able to educate others on the team is a must.</p>
<h3>Testing Discipline</h3>
<p>The last trait for successful test managers is testing ability.  In order to effectively manage and lead your team, you must be intimately familiar with the testing discipline.  This includes how to develop a test strategy/plan, how to plan and write test cases, how to use testing tools effectively, how to conduct exploratory testing, and many more &#8211; and be able to train your staff.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.carnegiequality.com/2007/07/03/seven-traits-of-successful-test-managers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Problem Solving Techniques</title>
		<link>http://www.carnegiequality.com/2007/06/28/problem-solving-techniques/</link>
		<comments>http://www.carnegiequality.com/2007/06/28/problem-solving-techniques/#comments</comments>
		<pubDate>Thu, 28 Jun 2007 19:52:08 +0000</pubDate>
		<dc:creator>Brad Kuhn</dc:creator>
				<category><![CDATA[Managing Testing]]></category>
		<category><![CDATA[Problem Solving]]></category>
		<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Software Testing]]></category>

		<guid isPermaLink="false">http://www.carnegiequality.com/2007/06/28/problem-solving-techniques/</guid>
		<description><![CDATA[As testing professionals, we face problems nearly every day. A key testing resource becomes unavailable. The delivery date to test slips by 2 days, but the test dates remain frozen. Project management needs an assessment on project quality a day after the code reaches test. I could go on &#8211; but you get the picture. [...]]]></description>
			<content:encoded><![CDATA[<p>As testing professionals, we face problems nearly every day.  A key testing resource becomes unavailable.  The delivery date to test slips by 2 days, but the test dates remain frozen.  Project management needs an assessment on project quality a day after the code reaches test.  I could go on &#8211; but you get the picture.</p>
<p>In this post, I&#8217;ll discuss some common techniques for analyzing and identifying solutions &#8211; and also provide some links to additional information.</p>
<p><span id="more-36"></span></p>
<h3>Assumption Analysis</h3>
<p>List out all of your assumptions about the problem, and then analyze each of them.  Are they all necessary?  If it were possible to change one or more assumptions, would a solution to the problem exist?  Check out <a href="http://www.virtualsalt.com/crebook4.htm">Virtual Salt</a> for more details on this approach.</p>
<p><script type="text/javascript"><!-- google_ad_client = "pub-0339096110407295"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text_image"; google_ad_channel = ""; google_color_border = "336699"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; //--> </script></p>
<h3>Cause and Effect Diagrams</h3>
<p>Cause and effect diagrams &#8211; also called Ishikawa diagrams (after Kaoru Ishikawa) or fishbone diagrams (due to their appearance) &#8211; allow you to analyze the causes of a particular problem.  You begin by drawing a horizontal line that represents the problem.  Then you draw a &#8220;spine&#8221;, or diagonal line to the left off from the main problem line, that represent factors of the problem.  These factors might be systems, people, processes, policies, materials, etc&#8230;  Then for each identified factor, drill down and draw a vertical line for each possible cause of that factor.  Asking &#8220;why&#8221; is a great technique to uncover possible causes.  You can then use additional techniques, like a Pareto chart, to get additional insight into the problem.  There&#8217;s a good explanation and example at <a href="http://www.mindtools.com/pages/article/newTMC_03.htm">MindTools</a>.</p>
<h3>SWOT</h3>
<p>SWOT analysis is a strategic analysis approach that analyzes strengths, weaknesses, opportunities, and threats.  First &#8211; a business objective/desired end state is defined.  Then, key strengths (assets/characteristics that can help meet the objective), weaknesses (attributes of the situation that hurt the objective), opportunities (external conditions that can help meet the objective), and threats (external conditions that can hurt the objective) are identified.  These are usually visually represented in four quadrants on a single page.  The key to using SWOT analysis effectively is to start with a business objective, and then make sure you properly segment out internal conditions (strengths and weaknesses) from external ones (opportunities and threats).<br />
From a testing perspective, SWOT analysis can assist when making strategic decisions, such as whether or not to outsource a portion of the testing effort.  There&#8217;s a very good article at <a href="http://en.wikipedia.org/wiki/Swot_analysis">Wikipedia</a> and some templates over at <a href="http://www.businessballs.com/swotanalysisfreetemplate.htm">Businessballs.com</a>.</p>
<h3>Affinity Diagrams</h3>
<p>Affinity diagrams were developed by Jiro Kawakita and are also known by the KJ method.  Affinity diagrams are a good method for organizing the problem space.  This method is also good for driving consensus.  The process involves writing down ideas on sticky notes during a brainstorming session.  Then, without anyone talking, the group organizes all of the notes into related areas.  After that, the group can talk again and should discuss the patterns that emerged and develop headings for each collection of notes.  Essentially, affinity diagrams help you &#8220;chunk&#8221; the problem into more manageable pieces.<br />
There is a very good description at <a href="http://www.asq.org/learn-about-quality/idea-creation-tools/overview/affinity.html">ASQ</a> and an Excel add-on available (for purchase) at <a href="http://www.baran-systems.com/New/Products/Affinity_Diagram_For_Excel/B_Concept/index.htm">BaRaN Systems</a> (I haven&#8217;t tried this, but it looks interesting).</p>
<h3>Risk Analysis</h3>
<p>I&#8217;ve previously posted about <a href="http://www.carnegiequality.com/2007/06/20/risk-identification-a-testing-perspective/">risk identification</a> from a testing perspective and I also have a <a href="http://www.carnegiequality.com/quality-assurance/risk-management-plan-template/">template </a> available for developing a risk management plan.  Risk analysis is a great tool when trying to spend limited resources, since it forces you to identify, prioritize, and plan for risks.  You can use this approach in conjunction with decision trees to help, for example, predict how long a test phase might be.<br />
Check out <a href="http://www.mindtools.com/pages/article/newTMC_07.htm">MindTools</a> for more information.</p>
<h3>Brainstorming</h3>
<p>No doubt you&#8217;ve heard of brainstorming &#8211; a technique where a group generates a large number of ideas to solve a problem.  There are lots of different ways to do brainstorming, but most of the methods share four common traits:</p>
<ol>
<li>A focus on quantity</li>
<li>No criticism</li>
<li>Encouragement of &#8220;out of the box&#8221;/unusual ideas</li>
<li>Combining and improving on generated ideas</li>
</ol>
<p>I should note that many people argue that brainstorming generates lower quality ideas that a group working independently.  You can head over to the <a href="http://www.unc.edu/depts/wcweb/handouts/brainstorming.html">University of North Carolina</a> or <a href="http://en.wikipedia.org/wiki/Brainstorming">Wikipedia</a> for more reading.</p>
<h3>Decision Matrix</h3>
<p>A decision matrix can come in handy when trying to select from two or more alternative solutions.  First &#8211; come up with dimensions that you want to use to assess the solution (e.g. cost, ease of implementation, effectiveness, etc&#8230;).  Then weight each factor &#8211; it&#8217;s easier if you start off with a given total of points to use (say 100), and then allocate those across each factor based on their importance.  Next, assess each solution against each factor &#8211; use a numeric scale (such as 1-10).  Finally, produce a weighted score (solution&#8217;s score for a given factor * that factor&#8217;s weight) and sum the results.  The solution with the higher score is the better solution.  Look at this article on the <a href="http://www.asq.org/learn-about-quality/decision-making-tools/overview/decision-matrix.html">ASQ</a> website for more details.</p>
<p>There are plenty of other techniques, but hopefully this list will get you started.  Check out <a href="http://www.mindtools.com/pages/main/newMN_TMC.htm">MindTools</a> and the <a href="http://www.asq.org/learn-about-quality/quality-tools.html">American Society for Quality</a> for more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.carnegiequality.com/2007/06/28/problem-solving-techniques/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>The Definition of Testing</title>
		<link>http://www.carnegiequality.com/2007/06/21/the-definition-of-testing/</link>
		<comments>http://www.carnegiequality.com/2007/06/21/the-definition-of-testing/#comments</comments>
		<pubDate>Thu, 21 Jun 2007 17:12:36 +0000</pubDate>
		<dc:creator>Brad Kuhn</dc:creator>
				<category><![CDATA[Software Testing]]></category>

		<guid isPermaLink="false">http://www.carnegiequality.com/2007/06/21/the-definition-of-testing/</guid>
		<description><![CDATA[Interesting post over at test Obsessed on the definition of testing.]]></description>
			<content:encoded><![CDATA[<p>Interesting post over at <a href="http://www.testobsessed.com/2007/06/20/from-the-mailbox-whats-the-definition-of-testing/">test Obsessed</a> on the definition of testing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.carnegiequality.com/2007/06/21/the-definition-of-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Risk Identification &#8211; A Testing Perspective</title>
		<link>http://www.carnegiequality.com/2007/06/20/risk-identification-a-testing-perspective/</link>
		<comments>http://www.carnegiequality.com/2007/06/20/risk-identification-a-testing-perspective/#comments</comments>
		<pubDate>Wed, 20 Jun 2007 15:30:52 +0000</pubDate>
		<dc:creator>Brad Kuhn</dc:creator>
				<category><![CDATA[Managing Testing]]></category>
		<category><![CDATA[Software Testing]]></category>

		<guid isPermaLink="false">http://www.carnegiequality.com/2007/06/20/risk-identification-a-testing-perspective/</guid>
		<description><![CDATA[I recently posted a template for a risk management plan. The plan discusses, among other things, how to identify risk. I thought I would spend some space talking about identifying risk from a testing perspective. But first let me ask a question about why we do risk identification. Is it possible to release a defect-free [...]]]></description>
			<content:encoded><![CDATA[<p>I recently <a href="http://www.carnegiequality.com/quality-assurance/risk-management-plan-template/">posted</a> a template for a risk management plan.  The plan discusses, among other things, how to identify risk.  I thought I would spend some space talking about identifying risk from a testing perspective.</p>
<p>But first let me ask a question about why we do risk identification.  Is it possible to release a defect-free product?  I suppose it depends on your point of view, but speaking practically, the answer is no.  In the real-world we have constraints &#8211; limited testers, limited schedule, not enough tools, etc&#8230;  So it is with this realization &#8211; no software can be perfect &#8211; that risk identification becomes so critical.<br />
<span id="more-34"></span><br />
Identifying risks on a project lets us answer the question &#8220;where do I spend my limited test resources?&#8221;  I&#8217;d like to suggest the following as sources to use when finding risk potentials.<br />
<script type="text/javascript"><!-- google_ad_client = "pub-0339096110407295"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text_image"; google_ad_channel = ""; google_color_border = "336699"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; //--> </script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script></p>
<h3>Previous Defect Reports</h3>
<p>If you are on a project that has an associated history (e.g. a previous phase), then perhaps the best place to look is the defect history.  Which components had the largest number of defects?  Which developers had the biggest share of defects?  Is there a previous history of defect fixes causing related new defects (if so, then heavy regression testing is called for)?</p>
<h3>Extended Team Members</h3>
<p>Talk with the team and get their input.  Ask the developers (not just the lead) and get their perspective.  Talk with the requirements team, with the PM, with the stakeholders.  What are their areas of concern?</p>
<h3>Change Requests</h3>
<p>Change requests are another good source, particularly ones that occur later in the development process.</p>
<h3>Project Assumptions</h3>
<p>Project assumptions are a great source for not only identifying risks, but also for designing test scripts.  What happens when an assumption doesn&#8217;t hold true?  Does the application handle it gracefully, or just fail?</p>
<h3>Status Reports</h3>
<p>Do the status reports reveal certain areas of the application that design or development has had issues with?</p>
<h3>Requirements</h3>
<p>Requirements volatility is a measure of how frequently requirements change over time.  Sometimes, this reflects poorly stated requirements that should probably demand more attention during testing (of course, changes could also be the result of stakeholders not knowing what they want).  If your team is using a requirements management tool, then getting a report on volatility is fairly straightforward.  Even if you don&#8217;t have a tool, talk with the requirements engineers and get their input.</p>
<h3>Audits</h3>
<p>If you are part of an organization that has regular process audits, then their findings are often valuable.</p>
<h3>Lessons Learned</h3>
<p>Last, but certainly not least, are lessons learned from previous testing efforts.  Best practices calls for these to be collected and documented after each project.  If you are not doing this (you should be), you can still talk with people to get historical input.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.carnegiequality.com/2007/06/20/risk-identification-a-testing-perspective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Testing&#8217;s Role in Improving Code</title>
		<link>http://www.carnegiequality.com/2007/06/01/testings-role-in-improving-code/</link>
		<comments>http://www.carnegiequality.com/2007/06/01/testings-role-in-improving-code/#comments</comments>
		<pubDate>Fri, 01 Jun 2007 16:19:50 +0000</pubDate>
		<dc:creator>Brad Kuhn</dc:creator>
				<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Software Testing]]></category>

		<guid isPermaLink="false">http://www.carnegiequality.com/2007/06/01/testings-role-in-improving-code/</guid>
		<description><![CDATA[I stumbled across an old article that I hadn&#8217;t seen before from QualityProgramming.org called &#8220;Bug Analysis: Laying the Ground for Bug Prevention&#8221; (8/15/11 update &#8211; link appears to be broken now). It&#8217;s a very good article on how testing can enable continuous improvement. A couple of thoughts after I read this article: In my experience, it&#8217;s the [...]]]></description>
			<content:encoded><![CDATA[<p>I stumbled across an old article that I hadn&#8217;t seen before from QualityProgramming.org called &#8220;Bug Analysis: Laying the Ground for Bug Prevention&#8221; (8/15/11 update &#8211; link appears to be broken now). It&#8217;s a very good article on how testing can enable continuous improvement.</p>
<p>A couple of thoughts after I read this article:</p>
<ul>
<li>In my experience, it&#8217;s the role of the developer to assess the reason for the defect, not the tester. I would never go through someone&#8217;s code &#8211; I wouldn&#8217;t know what to look for! Though I understand that others are much more technical in nature and enjoy this.</li>
<li>While the activities that are described in the article are spot on, I think there is too much emphasis placed on the Quality Control (testing) team. The real owner of this function is Quality Assurance. QA is responsible for making sure there are lessons learned &#8211; doesn&#8217;t mean they will do all the work, but they need to be driving this.</li>
<li>I&#8217;ve had mixed experiences doing these things myself. Many times I&#8217;ve done defect analysis and root cause analysis; documented my findings with charts and graphs; and presented them to project management/development to discover not much enthusiasm. Maybe it&#8217;s me, but I hope not! What have others experienced?</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.carnegiequality.com/2007/06/01/testings-role-in-improving-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Test Plan Template Posted</title>
		<link>http://www.carnegiequality.com/2007/05/31/test-plan-template-posted/</link>
		<comments>http://www.carnegiequality.com/2007/05/31/test-plan-template-posted/#comments</comments>
		<pubDate>Thu, 31 May 2007 19:14:16 +0000</pubDate>
		<dc:creator>Brad Kuhn</dc:creator>
				<category><![CDATA[Managing Testing]]></category>
		<category><![CDATA[Software Testing]]></category>
		<category><![CDATA[Test Templates]]></category>

		<guid isPermaLink="false">http://www.carnegiequality.com/2007/05/31/test-plan-template-posted/</guid>
		<description><![CDATA[I&#8217;ve just posted a new Test Plan Template. Feedback is always appreciated, so feel free to leave a comment.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just posted a new <a href="http://www.carnegiequality.com/testing/test-plan-template/">Test Plan Template</a>.  Feedback is always appreciated, so feel free to leave a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.carnegiequality.com/2007/05/31/test-plan-template-posted/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>I&#8217;ve Just Been Assigned To Manage Testing, What Next?</title>
		<link>http://www.carnegiequality.com/2007/05/25/ive-just-been-assigned-to-manage-testing-what-next/</link>
		<comments>http://www.carnegiequality.com/2007/05/25/ive-just-been-assigned-to-manage-testing-what-next/#comments</comments>
		<pubDate>Sat, 26 May 2007 02:24:49 +0000</pubDate>
		<dc:creator>Brad Kuhn</dc:creator>
				<category><![CDATA[Managing Testing]]></category>
		<category><![CDATA[Software Testing]]></category>

		<guid isPermaLink="false">http://www.carnegiequality.com/2007/05/25/ive-just-been-assigned-to-manage-testing-what-next/</guid>
		<description><![CDATA[I recently received a question from a previous post of mine on what test documentation should be pulled together for management when you get assigned to manage a test project.  I've been asked this before, so I thought the answer warranted a post.

Not all of us have managed a test phase or team before.  I would summarize preparing and running a test project in five groups:]]></description>
			<content:encoded><![CDATA[<p>I recently received a question on a previous post of mine about what test documentation should be pulled together for management when you get assigned to manage a test project.  I&#8217;ve been asked this before, so I thought the answer warranted a post.</p>
<p>Not all of us have managed a test phase or team before.  I would summarize preparing and running a test project in five groups of activities:</p>
<ol>
<li>Define the Test Strategy</li>
<li>Document the Test Plan</li>
<li>Prepare the Test Scripts</li>
<li>Execute the Test Plan</li>
<li>Deliver Metrics and Lessons Learned</li>
</ol>
<h3>Test Strategy</h3>
<p>You should start with the test strategy.  The strategy document defines:</p>
<ul>
<li>Any applicable quality assurance guidelines to be followed</li>
<li>Overall approach to testing (e.g. use of automated test tools, need for regression testing, etc&#8230;)</li>
<li>Overall responsibilities for testing</li>
<li>The test phases that will be executed and various information about each phase (e.g. description, timing, roles and responsibilities, etc&#8230;)</li>
</ul>
<p>Some people don&#8217;t see the need for an overall test strategy and write test plans instead, but I prefer a summary level document like this one.  One advantage to this approach is that you can develop your test strategy fairly early in the project &#8211; but test plans generally require that you&#8217;re further along in the project life cycle.</p>
<h3>The Test Plan</h3>
<p>Don&#8217;t make the mistake of leaping immediately into the definition of test scripts after you&#8217;ve defined your test strategy &#8211; you need to flesh out a test plan for each test phase of the project.  This includes unit testing (Development should develop this plan).  I&#8217;ll be publishing a test plan template shortly, so I&#8217;ll provide more information in that post, but here&#8217;s the type of information the test plan should have (at a minimum):</p>
<ul>
<li>Scope (including what <strong>won&#8217;t</strong> be tested)</li>
<li>Quality risks</li>
<li>Schedule (including planned test iterations)</li>
<li>Entry, exit, and stopping criteria</li>
<li>Test configuration(s)/environment(s)</li>
<li>Roles and responsibilities</li>
<li>Defect reporting (including references to documentation on how to use the defect tracking tool)</li>
<li>Release management</li>
<li>Test case status and metrics reporting</li>
</ul>
<h3>Test Scripts</h3>
<p>Here&#8217;s a couple of posts that will help in planning and writing test scripts &#8211; the first one is on <a href="http://www.carnegiequality.com/2007/05/18/test-case-planning-and-execution-template-posted/">test case planning and execution</a>, and the second one describes a <a href="http://www.carnegiequality.com/2006/02/16/test-scenarioscript-template-posted/">test script template</a>.</p>
<h3>Test Execution</h3>
<p>If you&#8217;ve put together a good test plan and developed a thorough set of test scripts, test execution is a snap!  Well, not really &#8211; but a large amount of your total test effort should be spent in preparing for test execution.  That way you won&#8217;t be swamped when all of the unforeseen emergencies land (and they will).</p>
<h3>Test Metrics and Lessons Learned</h3>
<p>You should regularly deliver test metrics while you execute each test phase.  I&#8217;ve written a previous post on <a href="http://www.carnegiequality.com/2005/12/02/10-tips-for-test-statistics/">test statistics</a>, and I&#8217;d suggest you start there for some ideas.  Also, at the end of testing don&#8217;t forget to put together a lessons learned, which should include what went well/could be improved for the next time.  You don&#8217;t want to constantly hit the same difficulties over and over, do you?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.carnegiequality.com/2007/05/25/ive-just-been-assigned-to-manage-testing-what-next/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>The Role of Testing in the Requirements Process</title>
		<link>http://www.carnegiequality.com/2007/05/21/the-role-of-testing-in-the-requirements-process/</link>
		<comments>http://www.carnegiequality.com/2007/05/21/the-role-of-testing-in-the-requirements-process/#comments</comments>
		<pubDate>Mon, 21 May 2007 18:14:45 +0000</pubDate>
		<dc:creator>Brad Kuhn</dc:creator>
				<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Software Testing]]></category>

		<guid isPermaLink="false">http://www.carnegiequality.com/2007/05/21/the-role-of-testing-in-the-requirements-process/</guid>
		<description><![CDATA[Hopefully no one questions the need for testing to be involved in the requirements definition process. But what should that look like? In a large number of companies I&#8217;ve worked with, requirements get tossed over the wall to development and testing &#8211; perhaps with some discussion between the requirements team and the development team, but [...]]]></description>
			<content:encoded><![CDATA[<p>Hopefully no one questions the need for testing to be involved in the requirements definition process.  But what should that look like?  In a large number of companies I&#8217;ve worked with, requirements get tossed over the wall to development and testing &#8211; perhaps with some discussion between the requirements team and the development team, but not much with the testing team.  I&#8217;d like to share some suggestions on how the test team can improve requirements and increase the speed to  production.</p>
<h2>Validation</h2>
<p>Requirements validation is a process whereby various groups sign-off on the requirements and essentially state &#8211; &#8220;Yes, this is what we want/agree to build.&#8221;  Typically people think of validating requirements with the business representatives/stakeholders &#8211; but really validation should be performed with all project groups, including development and test.  The test team should examine each requirement for the following:</p>
<ul>
<li>Are the requirements testable?  Look for those &#8220;system shall be available 99.99% of the year&#8221; and other non-testable statements.</li>
<li>Are the requirements complete?  Are there obvious conditions/flows the system could reach that are not detailed?  Testers are particularly good at finding these kinds of misses.</li>
<li>Are the requirements internally consistent?  Are there requirements that conflict with each other?</li>
<li>Are the requirements traceable?  Any SRS that you receive that you can&#8217;t build a testing traceability matrix from should be sent back for re-work.</li>
</ul>
<p>Some of the better managed organizations I&#8217;ve seen have at least one person from the test team involved during the requirements gathering process itself, not just at the end.  This way, they can help steer the direction requirements take to make sure those items above get addressed properly.</p>
<p>Another item that the test team should provide feedback is on the overall testability of the requirements.  Yes, requirements should be testable &#8211; but what if a certain requirement can be verified, but testing it is beyond the current capabilities of the test team?  For example, a requirement may necessitate an automated test tool that the team does not have.  Does this mean that the requirement should be stricken?  Or raised to Project Management/PMO as an issue?  Or kept as is, but with a disclaimer?  It depends on how your organization works.  By the way, there&#8217;s an interesting discussion on <a href="http://requirements.seilevel.com/messageboard/showthread.php?t=539">Seilevel&#8217;s message board</a> on this particular topic.</p>
<h2>Education</h2>
<p>Another way that testing should be involved in requirements is on-going education.  This is a bit different than validation, which is specific to a given project.  Education deals with on-going efforts to improve the deliverables from the requirements process.  Ideas to consider include:</p>
<ul>
<li>Presentations/brown bag lunches/training on how to write testable requirements (chances are you&#8217;ll find that this is the biggest problem with the requirements deliverables).</li>
<li>Sharing information about the current test team&#8217;s capabilities (e.g. demoing any test tools that are available).  Pointing out any gaps that exist can also be helpful.</li>
<li>&#8220;Get to Know Your Test Team&#8221; activities.  Look for opportunities to build relationships &#8211; it&#8217;s much easier to negotiate with people that know rather than strangers.</li>
<li>Share problems and successes.  What kinds of repeating issues are there with requirements?  What things are going well?</li>
</ul>
<p>Hopefully this post has given you food for thought.  Remember, it&#8217;s a lot easier to fix issues with requirements than it is to deal with defects in the software, so make sure to take some time to address the items I&#8217;ve highlighted.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.carnegiequality.com/2007/05/21/the-role-of-testing-in-the-requirements-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Test Case Planning and Execution Template Posted</title>
		<link>http://www.carnegiequality.com/2007/05/18/test-case-planning-and-execution-template-posted/</link>
		<comments>http://www.carnegiequality.com/2007/05/18/test-case-planning-and-execution-template-posted/#comments</comments>
		<pubDate>Fri, 18 May 2007 18:39:35 +0000</pubDate>
		<dc:creator>Brad Kuhn</dc:creator>
				<category><![CDATA[Managing Testing]]></category>
		<category><![CDATA[Software Testing]]></category>
		<category><![CDATA[Test Templates]]></category>

		<guid isPermaLink="false">http://www.carnegiequality.com/2007/05/18/test-case-planning-and-execution-template-posted/</guid>
		<description><![CDATA[I&#8217;ve just posted a template for test case planning and execution. If you don&#8217;t have access to a testing tool, you&#8217;ll find this helpful in planning and tracking test cases.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just posted a template for <a href="http://www.carnegiequality.com/testing/test-case-plan-template/">test case planning and execution</a>.  If you don&#8217;t have access to a testing tool, you&#8217;ll find this helpful in planning and tracking test cases.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.carnegiequality.com/2007/05/18/test-case-planning-and-execution-template-posted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
	</channel>
</rss>

