<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Sandeep Vashisht&#039;s Blog</title>
	<atom:link href="http://vashishts.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://vashishts.wordpress.com</link>
	<description></description>
	<lastBuildDate>Mon, 30 Nov 2009 15:32:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='vashishts.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Sandeep Vashisht&#039;s Blog</title>
		<link>http://vashishts.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://vashishts.wordpress.com/osd.xml" title="Sandeep Vashisht&#039;s Blog" />
	<atom:link rel='hub' href='http://vashishts.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Five steps to fostering better software tester and QA results</title>
		<link>http://vashishts.wordpress.com/2009/11/30/five-steps-to-fostering-better-software-tester-and-qa-results/</link>
		<comments>http://vashishts.wordpress.com/2009/11/30/five-steps-to-fostering-better-software-tester-and-qa-results/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 15:32:33 +0000</pubDate>
		<dc:creator>Sandeep Vashisht</dc:creator>
				<category><![CDATA[Software Testing Posts]]></category>

		<guid isPermaLink="false">http://vashishts.wordpress.com/?p=11</guid>
		<description><![CDATA[Software quality assurance analysts and software quality testers both play an integral role in the software testing process. Software quality analysts must concentrate on delivering consistent quality across the software development life cycle (SDLC) of the company, while managing procedures, process, standards and policies; whereas a software quality tester is responsible for ensuring the overall [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vashishts.wordpress.com&amp;blog=10740288&amp;post=11&amp;subd=vashishts&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Software quality assurance analysts and software quality testers both play an integral role in the software testing process. Software quality analysts must concentrate on delivering consistent quality across the software development life cycle (SDLC) of the company, while managing procedures, process, standards and policies; whereas a software quality tester is responsible for ensuring the overall quality of the software products. </p>
<p> In a perfect world, the requirements would always be clearly defined prior to any software quality testing or software quality assurance-related activity. But in reality software quality assurance analysts and software quality testers are often given minimal direction by project management, software developers and business analysts. They are also allotted little time in which to complete a software project. The reason for this has partly to do with the organizational structure of many software technology companies.
</p>
<p>Software quality <i>assurance</i> and software quality <i>testing</i> are two distinctly separate functions that should be able to work together at some level, but should never be rolled into a single entity. At some companies, software QA and testing are both couched under the same name or same department; often lumped together as QA. </p>
<p>Some organizations may not have software quality assurance analysts at all, and testers have the unofficial duty of outlining process methodologies for the Software Development Life Cycle (SDLC), project management workflows and/or software templates. The tester&#8217;s resources are stretched, because he is expected to conduct testing and do the work of a software quality assurance analyst. </p>
<p>In software development , the goal is to support the needs of the business, customer and software systems. Surprisingly, project managers and business analysts often don&#8217;t understand this goal and are focused on the overall scope of the project, its timeframe and cost. Sure, those factors are critical indications of projects&#8217; success, but without quality the projects fail whatever their scope, length of development or cost. </p>
<p>In my view, software quality analysts and software quality testers should be free from the reins of any other department, thus forming their own distinct groups. The term, silo effect, usually has a negative connotation when describing business practices, but software quality assurance and software quality testing are two areas where the silo may actually be the most effective way to work. In fact, IT quality is at its best when the individuals responsible for it are removed from the influence of other departments. </p>
<p>Being separated from other departments eliminates the risk of having project managers or business analysts changing the software testing process and department to suit their cost, deadline and other requirements. Separation also lessens the software testers&#8217; chance of conducting testing that is biased toward any one department, and it reduces the number of distractions that could hinder communication between the software quality assurance analysts and software testers. </p>
<p>In order to create outstanding products, these two entities must be able to work together while still maintaining a certain amount of exclusivity. Software quality analysts must concentrate on delivering consistent quality across the company, managing procedures, process, standards and policies; whereas software quality testers are responsible for ensuring the overall quality of the software products in terms of their functionality, security, infrastructure and performance. </p>
<p>Creating a governance group that monitors how software quality analysts manage and performing enterprise-wide quality assurance activities can help ensure that software quality activities are compliant with internal regulations. If compliance issues occur during the start of the process, they will only snowball as the software development lifecycle continues. Governance ensures that QA activities remain fluid throughout the SDLC from department to department. Software quality can be considered successful if software QA analysis and testing are completed without any bias infiltrating the process. </p>
<p>The following points depict how software QA and testing activities should be organized:  </p>
<p><b>Start with process.</b></p>
<ul>
<li>Create an SDLC that the whole company is expected to follow. </li>
<li>Decide how the software quality assurance and software quality testing activities will be managed.</li>
</ul>
<p><b>Group acceptance and agreement</b></p>
<ul>
<li>Every key member of the SDLC should agree, must participate, and needs to acknowledge the process that was set in the above step.</li>
<p><b>Formalize documentation</b></p>
<ul>
<li>Dedicate a specific location where all documentation will be stored. </li>
<li>Communicate this location and the process of creating documentation to all who will need to access/perform it.</li>
</ul>
<p><b>Establish metrics</b></p>
<ul>
<li>Software quality assurance analysts should be in charge of creating audits and reports. </li>
<li>Software quality analysts should be responsible only for testing reports and projections.</li>
</ul>
<p><b>Review and re-establish process</b></p>
<ul>
<li>Review all software quality assurance and testing activities and put together a list of &#8220;lessons learned&#8221; to be reviewed against the SDLC.</li>
</ul>
<p>Following these five steps keeps the responsibilities of software QA analysts and testers linear, formalized and easily managed. Remember also that although silos may help software QA and testers stay productive, the silo effect should be kept to a minimum on the enterprise-wide scale. </p>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vashishts.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vashishts.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vashishts.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vashishts.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vashishts.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vashishts.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vashishts.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vashishts.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vashishts.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vashishts.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vashishts.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vashishts.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vashishts.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vashishts.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vashishts.wordpress.com&amp;blog=10740288&amp;post=11&amp;subd=vashishts&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vashishts.wordpress.com/2009/11/30/five-steps-to-fostering-better-software-tester-and-qa-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/19658feff270733eaa7b8205b4093db9?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Sandeep Vashisht</media:title>
		</media:content>
	</item>
		<item>
		<title>Manual or Automated?</title>
		<link>http://vashishts.wordpress.com/2009/11/30/manual-or-automated/</link>
		<comments>http://vashishts.wordpress.com/2009/11/30/manual-or-automated/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 15:22:44 +0000</pubDate>
		<dc:creator>Sandeep Vashisht</dc:creator>
				<category><![CDATA[Software Testing Posts]]></category>

		<guid isPermaLink="false">http://vashishts.wordpress.com/?p=8</guid>
		<description><![CDATA[Summary:Automated test tools are powerful aids to improving the return on the testing investment when used wisely. Some tests inherently require an automated approach to be effective, but others must be manual. In addition, automated testing projects that fail are expensive and politically dangerous. How can we recognize whether to automate a test or run [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vashishts.wordpress.com&amp;blog=10740288&amp;post=8&amp;subd=vashishts&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="font-weight:bold;">Summary:</span>Automated test tools are powerful aids to improving the return on the testing investment when used wisely. Some tests inherently require an automated approach to be effective, but others must be manual. In addition, automated testing projects that fail are expensive and politically dangerous. How can we recognize whether to automate a test or run it manually, and how much money should we spend on a test?</p>
<p><span style="font-weight:bold;">When Test Automation Makes Sense</span></p>
<p>Let’s start with the tests that ideally are automated. These include:</p>
<p>* Regression and confirmation. Rerunning a test against a new release to ensure that behavior remains unbroken—or to confirm that a bug fix did indeed fix the underlying problem—is a perfect fit for automated testing.</p>
<p>* Monkey (or random). Tests that fire large amounts or long sequences of data, transactions, or other inputs at a system in a random search for errors are easily and profitably automated</p>
<p>* Load, volume, and capacity. Sometimes, systems must support tremendous loads. On one project, we had to test how the system would respond to 50,000 simultaneous users, which ruled out manual testing! Two Linux systems running custom load-generating programs filled the bill.</p>
<p>* Performance and reliability. With the rise of Web-based systems, more and more automated testing is aimed at looking for slow or flaky behavior on Web systems.</p>
<p>* Structural, especially API-based unit, component, and integration. Most structural testing involves harnesses of some sort, which brings you most of the way into automation.</p>
<p>Other tests that are well-suited for automation exist, such as the static testing of complexity and code standards compliance. In general, automated tests have higher upfront costs—tools, test development, environments, and so forth—and lower costs to repeat the test.</p>
<p><span style="font-weight:bold;">When to Focus on Manual Testing</span></p>
<p>* High per-test or maintenance costs are one indicator that a test should be done manually. Another is the need for human judgment to assess the correctness of the result or extensive, ongoing human intervention to keep the test running. For these reasons, the following tests are a good fit for manual testing:</p>
<p>* Installation, setup, operations, and maintenance. In many cases, these tests involve loading CD-ROMs and tapes, changing hardware, and other ongoing hand-holding by the tester.</p>
<p>* Configuration and compatibility. Like operations and maintenance testing, these tests require reconfiguring systems and networks, installing software and hardware, and so forth, all requiring human intervention.</p>
<p>* Error handling and recovery. Again, the need to force errors—by powering off a server, for example—means that people must stay engaged during test execution.</p>
<p>* Localization. Only a human tester with appropriate skills can decide whether a translation makes no sense, is culturally offensive, or is otherwise inappropriate. (Currency, date, and time testing can be automated, but the need to rerun these tests for regression is limited.)</p>
<p>* Usability. As with localization, human judgment is needed to check for problems with the facility, simplicity, and elegance of the user interface and workflows.</p>
<p>* Documentation and help. Like usability and localization, checking documentation requires human judgment.</p>
<p><span style="font-weight:bold;">Wildcards</span></p>
<p>In some cases, tests can be done manually, be automated, or both.</p>
<p>* Functional. Functionality testing can often be automated, and automated functional testing is often part of an effort to create a regression test suite or smoke test. However, it makes sense to get the testing process under control manually before trying to automate functional testing. In addition, you’ll want to keep some of the testing manual.</p>
<p>* Use cases (user scenarios). By stringing together functional tests into workflows, you can create realistic user scenarios, whether manual or automated. The trick here is to avoid automation if many workflows involve human intervention.</p>
<p>* User interface. Basic testing of the user interface can be automated, but beware of frequent or extensive changes to the user interface that can incur high maintenance costs for your automated suite.</p>
<p>* Date and time handling. If the test system can reset the computer’s clocks automatically, then you can automate these tests.</p>
<p>Higher per-test costs and needs for human skills, judgment, and interaction push towards manual testing. A need to repeat tests many times or reduce the cycle time for test execution pushes towards automated testing.</p>
<p><span style="font-weight:bold;">Reasons to Be Careful with Automation</span></p>
<p>Automated testing is a huge investment, one of the biggest that organizations make in testing. Tool licenses can easily hit six or seven figures. Neophytes can’t use most of these tools—regardless of what any glossy test tool brochure says—so training, consulting, and expert contractors can cost more than the tools themselves. Then there’s maintenance of the test scripts, which generally is more difficult and time consuming than maintaining manual test cases.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vashishts.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vashishts.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vashishts.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vashishts.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vashishts.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vashishts.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vashishts.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vashishts.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vashishts.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vashishts.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vashishts.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vashishts.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vashishts.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vashishts.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vashishts.wordpress.com&amp;blog=10740288&amp;post=8&amp;subd=vashishts&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vashishts.wordpress.com/2009/11/30/manual-or-automated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/19658feff270733eaa7b8205b4093db9?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Sandeep Vashisht</media:title>
		</media:content>
	</item>
		<item>
		<title>Testing Principles</title>
		<link>http://vashishts.wordpress.com/2009/11/30/testing-principles/</link>
		<comments>http://vashishts.wordpress.com/2009/11/30/testing-principles/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 14:55:45 +0000</pubDate>
		<dc:creator>Sandeep Vashisht</dc:creator>
				<category><![CDATA[Software Testing Posts]]></category>

		<guid isPermaLink="false">http://vashishts.wordpress.com/?p=4</guid>
		<description><![CDATA[Principle 1: Testing shows presence of defects Testing can show that defects are present, but cannot prove that there are no defects. Testing reduces the probability of undiscovered defects remaining in the software but, even if no defects are found, it is not a proof of correctness. Principle 2: Exhaustive testing is impossible Testing everything [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vashishts.wordpress.com&amp;blog=10740288&amp;post=4&amp;subd=vashishts&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Principle 1: <strong>Testing shows presence of defects</strong><br />
Testing can show that defects are present, but cannot prove that there are no defects. Testing reduces the probability of undiscovered defects remaining in the software but, even if no defects are found, it is not a proof of correctness.</p>
<p>Principle 2: <strong>Exhaustive testing is impossible</strong><br />
Testing everything (all combinations of inputs and preconditions) is not feasible except for trivial cases. Instead of exhaustive testing, we use risks and priorities to focus testing efforts.</p>
<p>Principle 3: <strong>Early Testing</strong><br />
Testing activities should start as early as possible in the software or system development life cycle and should be focused on defined objectives.</p>
<p>Principle 4: <strong>Defect clustering</strong><br />
A small number of modules contain most of the defects discovered during pre-release testing or show the most operational failures.</p>
<p>Principle 5: <strong>Pesticide paradox</strong><br />
If the same tests are repeated over and over again, eventually the same set of test cases will no longer find any new bugs. To overcome this &#8216;pesticide paradox&#8217;, the test cases need to be regularly reviewed and revised, and new and different tests need to be written to exercise different parts of the software or system to potentially find more defects.</p>
<p>Principle 6: <strong>Testing is context dependent</strong><br />
Testing is done differently in different contexts. For example, safety-critical software is tested differently from an e-commerce site.</p>
<p>Principle 7: <strong>Absence-of-errors fallacy</strong><br />
Finding and fixing defects does not help if the system built is unusable and does not fulfill the users&#8217; needs and expectations.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vashishts.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vashishts.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vashishts.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vashishts.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vashishts.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vashishts.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vashishts.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vashishts.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vashishts.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vashishts.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vashishts.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vashishts.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vashishts.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vashishts.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vashishts.wordpress.com&amp;blog=10740288&amp;post=4&amp;subd=vashishts&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vashishts.wordpress.com/2009/11/30/testing-principles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/19658feff270733eaa7b8205b4093db9?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Sandeep Vashisht</media:title>
		</media:content>
	</item>
	</channel>
</rss>
