<?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/"
	>

<channel>
	<title>Clean Software. Guaranteed.</title>
	<atom:link href="http://www.stagsoftware.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.stagsoftware.com/blog</link>
	<description></description>
	<lastBuildDate>Mon, 09 Aug 2010 14:58:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Low cost automation challenge</title>
		<link>http://www.stagsoftware.com/blog/?p=100</link>
		<comments>http://www.stagsoftware.com/blog/?p=100#comments</comments>
		<pubDate>Mon, 09 Aug 2010 14:41:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Case-studies]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Healthcare]]></category>
		<category><![CDATA[regression testing]]></category>
		<category><![CDATA[Test Automation]]></category>
		<category><![CDATA[Test Complete]]></category>
		<category><![CDATA[Test Coverage]]></category>
		<category><![CDATA[VB.Net]]></category>

		<guid isPermaLink="false">http://www.stagsoftware.com/blog/?p=100</guid>
		<description><![CDATA[A New Zealand based customer in the heath care domain embarked on a
journey of migrating their Delphi-based products to Microsoft technologies.
The products use specialized GUI controls that are not recognized by the
typically popular tools. The company was keen to embark on automation right
from the early stage of migration. And the budget to develop automation was
tight.
We [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">A New Zealand based customer in the heath care domain embarked on a</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">journey of migrating their Delphi-based products to Microsoft technologies.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The products use specialized GUI controls that are not recognized by the</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">typically popular tools. The company was keen to embark on automation right</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">from the early stage of migration. And the budget to develop automation was</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">tight.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">We conducted Proof-Of-Concept (POC) to identify the tool that would support</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">automation for both Delphi and VB.Net. We discovered that most popular tools</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">were indeed not compatible with the developed product. The POC concluded</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">that Test Complete did support both Delphi and VB.Net with a few constraints.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">It was very cost effective however but not user friendly. We convinced the</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">management of our decision. The project started off with us identifying test</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">cases which could be automated. Seven modules were automated and</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">demonstrated..</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">We developed reusable Keyword Driven Framework for the client. Both</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">individual test case execution and batch run was possible just by choosing the</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">test cases. STAG provided detailed demo of the framework to the in-house QA</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">team.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">However some of the test cases chosen for automation were not complete. We</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">validated the test cases, made the necessary changes and then initiated the</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">scripting. The automation work was divided between the STAG and customers</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">team. As we automated the test cases, we guided and trained the customer’s</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">team to automate.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The result &#8211; By automating 326 test scenarios, the testing time was cut down</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">from 80 hours to 12 hours! We saved the customer significant money spent on</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">the tool, but more by enabling them to release the product to market ahead of</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">schedule!</div>
<p>A New Zealand based customer in the heath care domain embarked on a journey of migrating their Delphi-based products to Microsoft technologies. The products use specialized GUI controls that are not recognized by the typically popular tools. The company was keen to embark on automation right from the early stage of migration. And the budget to develop automation was tight.</p>
<p>We conducted Proof-Of-Concept (POC) to identify the tool that would support automation for both Delphi and VB.Net. We discovered that most popular tools were indeed not compatible with the developed product. The POC concluded that Test Complete did support both Delphi and VB.Net with a few constraints. It was very cost effective however but not user friendly. We convinced the management of our decision. The project started off with us identifying test cases which could be automated. Seven modules were automated and demonstrated.</p>
<p>We developed reusable Keyword Driven Framework for the client. Both individual test case execution and batch run was possible just by choosing the test cases. STAG provided detailed demo of the framework to the in-house QA team.</p>
<p>However some of the test cases chosen for automation were not complete. We validated the test cases, made the necessary changes and then initiated the scripting. The automation work was divided between the STAG and customers team. As we automated the test cases, we guided and trained the customer’s team to automate.</p>
<p>The result &#8211; By automating 326 test scenarios, the testing time was cut down from 80 hours to 12 hours! We saved the customer significant money spent on the tool, but more by enabling them to release the product to market ahead of schedule!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stagsoftware.com/blog/?feed=rss2&amp;p=100</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It was more than just validation. It was ensuring nation’s pride.</title>
		<link>http://www.stagsoftware.com/blog/?p=94</link>
		<comments>http://www.stagsoftware.com/blog/?p=94#comments</comments>
		<pubDate>Mon, 09 Aug 2010 14:35:35 +0000</pubDate>
		<dc:creator>STAG</dc:creator>
				<category><![CDATA[Case-studies]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[GSM/CDMA/GPRS]]></category>
		<category><![CDATA[guarantee software]]></category>
		<category><![CDATA[LSPS]]></category>
		<category><![CDATA[multi-tool automation]]></category>
		<category><![CDATA[Telecom applications]]></category>

		<guid isPermaLink="false">http://www.stagsoftware.com/blog/?p=94</guid>
		<description><![CDATA[A large petroleum major was rolling out a specialized solution to ensure that fleet
tracking solution to ensure zero pilferage during transport. The solution consisted of a
plethora of technologies (GPS, GSM, Web, Mapping) and our role was to ensure that the
final solution is indeed risk-free for deployment.
With the launch date in the next few weeks, we [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">A large petroleum major was rolling out a specialized solution to ensure that fleet</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">tracking solution to ensure zero pilferage during transport. The solution consisted of a</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">plethora of technologies (GPS, GSM, Web, Mapping) and our role was to ensure that the</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">final solution is indeed risk-free for deployment.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">With the launch date in the next few weeks, we got cracking on applying HBT to extract</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">the cleanliness criteria from the business and technical specifications outlined in the</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">tender document.The cleanliness criteria consisted of multiple aspects- deployment</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">environment correctness, cleanliness of software, clean working of hardware/software</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">interfaces and finally the ability to support a large load, volume with real-time</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">performance.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">We identified the potential types of defects that spanned the entire spectrum of</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">hardware and software. The first step was to understand system development process</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">and identify senior consultants visited the vendor’s facility to assess the people and</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">processes used to develop the system. This provided a clear picture of what to expect</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">and the work that lay ahead of us.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Post our understanding of the development system, we developed a scientific strategy</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">and the evaluation scenarios. A variety of tests were identified &#8211; individual feature</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">validation, simulating various business use-cases, understanding load limitations and</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">performance evaluation of the system.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Now we were ready to validate the final system in the data center. The first cut of the</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">solution was used to develop a set of automated scripts for large scale load/stress/</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">performance testing. The system was populated with large data representing a real life</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">system. Vehicles were fitted with the vehicle mounted unit. We were ready to roll now.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The various vehicles were set in motion in various terrains, at various speeds and</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">mapping of the fleet on the India map was validated. We simulated large number of</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">vehicles with data arriving from the simulators at a high rate to ensure that</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">performance was indeed real-time.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">In addition the deployment environment was validated, configurations checked, legality</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">of the software verified. We also verified that the solution integrates with customer’s</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">SAP database as well.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Bugs popped up and were fixed. We recommended changes in the system capacity,</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">pushed the vendor to close all the critical, high and medium priority defects before</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">providing a qualitative feedback on the solution and the potential risks. Once satisfied</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">our customer’s investment was safe, we gave a go-ahead to rollout the solution.</div>
<p>A large petroleum major was rolling out a specialized solution to ensure that fleet tracking solution to ensure zero pilferage during transport. The solution consisted of a plethora of technologies (GPS, GSM, Web, Mapping) and our role was to ensure that the final solution is indeed risk-free for deployment.</p>
<p>With the launch date in the next few weeks, we got cracking on applying HBT to extract the cleanliness criteria from the business and technical specifications outlined in the tender document.The cleanliness criteria consisted of multiple aspects- deployment environment correctness, cleanliness of software, clean working of hardware/software interfaces and finally the ability to support a large load, volume with real-time performance.</p>
<p>We identified the potential types of defects that spanned the entire spectrum of hardware and software. The first step was to understand system development process and identify senior consultants visited the vendor’s facility to assess the people and processes used to develop the system. This provided a clear picture of what to expect and the work that lay ahead of us.</p>
<p>Post our understanding of the development system, we developed a scientific strategy and the evaluation scenarios. A variety of tests were identified &#8211; individual feature validation, simulating various business use-cases, understanding load limitations and performance evaluation of the system.</p>
<p>Now we were ready to validate the final system in the data center. The first cut of the solution was used to develop a set of automated scripts for large scale load/stress/performance testing. The system was populated with large data representing a real life system. Vehicles were fitted with the vehicle mounted unit. We were ready to roll now.</p>
<p>The various vehicles were set in motion in various terrains, at various speeds and mapping of the fleet on the India map was validated. We simulated large number of vehicles with data arriving from the simulators at a high rate to ensure that performance was indeed real-time.</p>
<p>In addition, the deployment environment was validated, configurations checked, legality of the software verified. We also verified that the solution integrates with customer’s SAP database as well.</p>
<p>Bugs popped up and were fixed. We recommended changes in the system capacity, pushed the vendor to close all the critical, high and medium priority defects before providing a qualitative feedback on the solution and the potential risks. Once satisfied our customer’s investment was safe, we gave a go-ahead to rollout the solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stagsoftware.com/blog/?feed=rss2&amp;p=94</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quality injection &#8211; Scientific validation of requirements</title>
		<link>http://www.stagsoftware.com/blog/?p=87</link>
		<comments>http://www.stagsoftware.com/blog/?p=87#comments</comments>
		<pubDate>Mon, 09 Aug 2010 14:26:44 +0000</pubDate>
		<dc:creator>STAG</dc:creator>
				<category><![CDATA[Hypothesis-based Testing]]></category>
		<category><![CDATA[STEM]]></category>
		<category><![CDATA[Boutique Testing solutions]]></category>
		<category><![CDATA[Early defect detection]]></category>
		<category><![CDATA[requirement validation]]></category>

		<guid isPermaLink="false">http://www.stagsoftware.com/blog/?p=87</guid>
		<description><![CDATA[domain knowledge. One of our Japanese customer threw a challenge &#8211; “How
can you use HBT/STEM to scientifically validate requirements without knowing
the domain deeply?” .
The core aspect of HBT is to hypothesize potential defect types that prove that
they do not exist. These are identified by keeping in mind the end users and
the technology used to construct [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">domain knowledge. One of our Japanese customer threw a challenge &#8211; “How</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">can you use HBT/STEM to scientifically validate requirements without knowing</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">the domain deeply?” .</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The core aspect of HBT is to hypothesize potential defect types that prove that</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">they do not exist. These are identified by keeping in mind the end users and</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">the technology used to construct the system. So how do you apply this to</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">validate a pre-code artifact?</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">We commenced by identifying the various stakeholders for requirement</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">document and then identified key cleanliness attributes. These cleanliness</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">attributes if met would imply that the requirements was indeed clean. We were</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">excited by this. We then moved and identified potential defect types that would</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">impede these cleanliness attributes/criteria.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Lo behold, the problem was cracked and we then identified the various types</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">and the corresponding evaluation scenarios for validating the requirements/</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">architecture document. We came up with THIRTY+ defect types that required</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">about 10+ types tests conducted over TEN quality levels with a total of SIXTY</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">FIVE major requirement evaluation scenarios to validate a requirement.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">What we came up is not yet-another-inspection-process that is dependent on</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">domain knowledge, but a simple &amp; scientific approach consisting a set of</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">requirement evaluation scenarios that could be applied with low domain skill to</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">ensure that the requirement/architecture can indeed be validated rapidly and</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">effectively. These ensure that the requirement document is useful to the various</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">stakeholders over the software lifecycle and does indeed satisfy the intended</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">application/product attributes.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">We now have a unique solution “Clean Requirements Solution” that is an</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">adaptation of HBT to validate requirements.</div>
<p>Validating early stage pre-code artifacts like requirement document is challenging. This is typically done by rigorous inspection and requires deep domain knowledge. One of our Japanese customer threw a challenge &#8211; “How can you use HBT/STEM to scientifically validate requirements without knowing the domain deeply?” .</p>
<p>The core aspect of HBT is to hypothesize potential defect types that prove that they do not exist. These are identified by keeping in mind the end users and the technology used to construct the system. So how do you apply this to validate a pre-code artifact?</p>
<p>We commenced by identifying the various stakeholders for requirement document and then identified key cleanliness attributes. These cleanliness attributes if met would imply that the requirements was indeed clean. We were excited by this. We then moved and identified potential defect types that would impede these cleanliness attributes/criteria.</p>
<p>Lo behold, the problem was cracked and we then identified the various types and the corresponding evaluation scenarios for validating the requirements/ architecture document. We came up with THIRTY+ defect types that required about 10+ types tests conducted over TEN quality levels with a total of SIXTY FIVE major requirement evaluation scenarios to validate a requirement.</p>
<p>What we came up is not yet-another-inspection-process that is dependent on domain knowledge, but a simple &amp; scientific approach consisting a set of requirement evaluation scenarios that could be applied with low domain skill to ensure that the requirement/architecture can indeed be validated rapidly and effectively. These ensure that the requirement document is useful to the various stakeholders over the software lifecycle and does indeed satisfy the intended application/product attributes.</p>
<p>We now have a unique solution <a href="http://www.stagsoftware.com/downloads/brochure/Requirements_Evaluation.pdf" target="_blank">“Clean Requirements Solution”</a> that is an adaptation of HBT to validate requirements.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stagsoftware.com/blog/?feed=rss2&amp;p=87</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We demystified the automation puzzle. Relentless validation tamed!</title>
		<link>http://www.stagsoftware.com/blog/?p=84</link>
		<comments>http://www.stagsoftware.com/blog/?p=84#comments</comments>
		<pubDate>Mon, 28 Jun 2010 18:11:52 +0000</pubDate>
		<dc:creator>STAG</dc:creator>
				<category><![CDATA[Case-studies]]></category>
		<category><![CDATA[Hypothesis-based Testing]]></category>
		<category><![CDATA[Boutique Testing solutions]]></category>
		<category><![CDATA[custom automation]]></category>
		<category><![CDATA[multi-tool automation]]></category>
		<category><![CDATA[Test Automation]]></category>

		<guid isPermaLink="false">http://www.stagsoftware.com/blog/?p=84</guid>
		<description><![CDATA[A large global provider of BI solutions has a product suite that runs on five platforms supporting thirteen languages with each platform suite requiring multiple machines to deliver the BI solution. The entire multi-platform suite is released on single CD multiple times a year.
The problem that stumped them was “how to automate the final-install validation [...]]]></description>
			<content:encoded><![CDATA[<p>A large global provider of BI solutions has a product suite that runs on five platforms supporting thirteen languages with each platform suite requiring multiple machines to deliver the BI solution. The entire multi-platform suite is released on single CD multiple times a year.</p>
<p>The problem that stumped them was “how to automate the final-install validation of multi-platform distributed product”. They had automated the testing of the individual components using SilkTest, but they were challenged with “how to unify this and run off a central console on various platforms at the same time”.</p>
<p>Considering each platform-combination took about a day, this required approximate two months of final installation build validation, and by the time they were done with this release, the next release was waiting! This was a relentless exercise, consuming significant QA bandwidth and time, and did not allow the team to do things more interesting or important.</p>
<p>The senior Management wanted single-push-button automation -identify what platform combination to schedule next, allocate machine automatically from the server farm, install and configure automatically, fire the appropriate Silk scripts and monitor progress to significantly reduce time and cost by lowering QA bandwidth involved in this effort. After deep analysis, in-house QA team decided this was a fairly complex automation puzzle and required a specialist! This is when where we were brought in.</p>
<p>After an intense deep-dive lasting about four weeks, we came up with a custom master-slave based test infrastructure architecture that allowed a central console to schedule various jobs onto the slaves, utilizing a custom developed control &amp; monitoring protocol.  The solution was built using Java-Swing, Perl, Expect and adapters to handle Silk scripts. Some parts of the solution where on Windows platform while some on UNIX.  This custom infrastructure allowed for scheduling parallel test runs, automatic allocation of machines from a server farm, installing appropriate components on appropriate machines, configuring them and finally monitoring the progress of validation through a web console.</p>
<p>This test infrastructure enabled a significant reduction of the multi-platform configuration validation. The effort reduced from eight weeks to three weeks. We enjoyed this work simply because it was indeed a boutique work fraught with quite a few challenges. We believe that this was possible because we analyzed the challenging problem from wearing a development hat and not the functional test automation hat.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stagsoftware.com/blog/?feed=rss2&amp;p=84</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Delivering peace of mind- Assessing release worthiness</title>
		<link>http://www.stagsoftware.com/blog/?p=81</link>
		<comments>http://www.stagsoftware.com/blog/?p=81#comments</comments>
		<pubDate>Mon, 28 Jun 2010 18:09:04 +0000</pubDate>
		<dc:creator>STAG</dc:creator>
				<category><![CDATA[Case-studies]]></category>
		<category><![CDATA[STAG]]></category>
		<category><![CDATA[Boutique Testing solutions]]></category>
		<category><![CDATA[Release assessment]]></category>
		<category><![CDATA[Telecom applications]]></category>

		<guid isPermaLink="false">http://www.stagsoftware.com/blog/?p=81</guid>
		<description><![CDATA[The product helps to detect different types of telecom fraud, be it in wireless or wire line networks. It also helps to detect fraud in roaming, pre-paid and post-paid environments and tailor-made for GSM/CDMA/Fixed/GPRS network. The product team comprised of strong development team ably supported by an in-house QA team. The product was developed using [...]]]></description>
			<content:encoded><![CDATA[<p>The product helps to detect different types of telecom fraud, be it in wireless or wire line networks. It also helps to detect fraud in roaming, pre-paid and post-paid environments and tailor-made for GSM/CDMA/Fixed/GPRS network. The product team comprised of strong development team ably supported by an in-house QA team. The product was developed using J2EE technologies and had undergone multiple versions of build – currently in version 6.0 &#8211; with wide installation base in Asian/US market. The company had an ambitious plan to expand the product reach and move into a new market &#8211; European market. The product went through multiple feature upgrade/modifications to meet the needs of the new market. Though the product was tested diligently by the in-house QA team, the management was skeptical about the release worthiness of the product. They preferred to have an independent third party product assessment to enhance their delivery confidence before the formal product launch.</p>
<p>STAG singularly focused to ensure the defect escapes are minimized. Hence a three-pronged approach was adopted to determine the breadth and depth of testing required -</p>
<ul>
<li>Identify what poses high business risks? What has been de-risked already? What remains as risk that is to be assessed?</li>
<li>How well has the “net” been cast to uncover defects in the lifecycle? Are the methods to uncover defects expansive/complete?</li>
<li>Are the test cases (i.e. those inputs that have the ‘power’ to detect anomalies) good?  Do the already existing test cases and therefore the tests conducted have the power to uncover high-risk business issues?</li>
</ul>
<p>Fixing the high impact defects improved the stability of the product– which otherwise could have led to USD 250K support cost in the initial months. The release worthiness certificate lowered the business risk for the customer and newly gained delivery confidence by the customer management powered their successful product launch and on time to market.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stagsoftware.com/blog/?feed=rss2&amp;p=81</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Validation Suite &#8211; An innovative way to leveraging test assets &amp; reducing cost of validation</title>
		<link>http://www.stagsoftware.com/blog/?p=78</link>
		<comments>http://www.stagsoftware.com/blog/?p=78#comments</comments>
		<pubDate>Mon, 28 Jun 2010 18:04:42 +0000</pubDate>
		<dc:creator>STAG</dc:creator>
				<category><![CDATA[Hypothesis-based Testing]]></category>
		<category><![CDATA[Boutique Testing solutions]]></category>
		<category><![CDATA[Test Coverage]]></category>
		<category><![CDATA[Validation Suite]]></category>

		<guid isPermaLink="false">http://www.stagsoftware.com/blog/?p=78</guid>
		<description><![CDATA[The test lifecycle produces rich set of assets-strategy, test scenarios/cases, defects, scripts, test data. Other than using these to validate the current release of product, how are these significantly leveraged in the future? How do these assets enable faster ramp-up, de-skilling, optimize testing? Patterns have been used as a method to extract experience and enable [...]]]></description>
			<content:encoded><![CDATA[<p>The test lifecycle produces rich set of assets-strategy, test scenarios/cases, defects, scripts, test data. Other than using these to validate the current release of product, how are these significantly leveraged in the future? How do these assets enable faster ramp-up, de-skilling, optimize testing? Patterns have been used as a method to extract experience and enable a normal person to behave like an experienced person. Sadly, patterns are not commonplace in test engineering.</p>
<p>Validation Suite is a product from STAG that is similar to patterns. Based on HBT (Hypothesis Based Testing) methodology, it enables identifying potential defect types for common features/construction-components along with a common validation strategy consisting of Quality Levels, Test Types and finally a list of common test scenarios/cases/data. The intent is to ensure that we do not start all over again, and leverage the experience typically encoded as tacit knowledge in the individuals.</p>
<p>STAG has applied this to create specific validation suites in the areas of eLearning, ERP, Bluetooth and Mobile applications. These can reduce the cost of validation by 30% and reduce ramp-up time significantly. The key business benefits are (1) Fast ramp-up (2) Readymade test strategy (3) Higher product quality (4) Faster time-to-market and (5) Lower validation cost.</p>
<p>Validation suite for your product can be created by mining your test assets by applying the HBT methodology to create a structured and rich asset base that provides significant leverage subsequently.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stagsoftware.com/blog/?feed=rss2&amp;p=78</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How many  “negative test cases” should there be?</title>
		<link>http://www.stagsoftware.com/blog/?p=74</link>
		<comments>http://www.stagsoftware.com/blog/?p=74#comments</comments>
		<pubDate>Thu, 29 Apr 2010 11:57:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HBT Series of Workshops]]></category>
		<category><![CDATA[Hypothesis-based Testing]]></category>
		<category><![CDATA[STEM]]></category>
		<category><![CDATA[Corporate Workshop]]></category>
		<category><![CDATA[Effective testing]]></category>
		<category><![CDATA[Test cases]]></category>
		<category><![CDATA[Test Coverage]]></category>

		<guid isPermaLink="false">http://www.stagsoftware.com/blog/?p=74</guid>
		<description><![CDATA[Before we answer the question let us ensure that we have common understanding of what is positive or negative test cases. In HBT, positive test cases are those whose input values are valid, while a negative test case is one with at least one of the test inputs (i.e. Test data) being incorrect (i.e. out [...]]]></description>
			<content:encoded><![CDATA[<p>Before we answer the question let us ensure that we have common understanding of what is positive or negative test cases. In HBT, positive test cases are those whose input values are valid, while a negative test case is one with at least one of the test inputs (i.e. Test data) being incorrect (i.e. out of specification).</p>
<p><span style="text-decoration: underline;"> </span></p>
<p>The objective of positive test cases is “conformance” while the objective of negative test cases is “robustness”. If a majority of test case are positive, then it implies that we are primarily interested in conformance i.e. ensuring the system handles correct inputs well. This we know is not sufficient, as accidental incorrect inputs should not result in unexpected possibly risky/dangerous behaviour. Hence we need test cases that are indeed “negative”.</p>
<p><span style="text-decoration: underline;"> </span></p>
<p>So, coming back to the question, what is a good enough distribution of positive and negative test cases? Any quick answer like 75% should not be trusted as they have no basis. So, how do we answer this question? Step back now and look at the number of inputs for a given test case, the clue is there. For example at a lower level of testing, where say we are validating a screen, the number of inputs may be many as the screen may be populated. As we go up the testing level, e.g. Testing a feature that uses a few screens, the test data is not the various individual inputs on the screen, but aggregate data (think like a record) and these may be fewer in number compared to the earlier levels.</p>
<p><span style="text-decoration: underline;"> </span></p>
<p>Having understood that the number of test data (or inputs) at lower levels is far higher than those at the higher levels, it is only logical to conclude that the number of negative test cases at lower levels. Now how much should that be?  To answer his finally without resorting to magic (!), let us illustrate with simple example. If there are 5 inputs and each input has six possible values (3 positive i.e. valid and 3 negative i.e. invalid) then using simple combinatorial math, we can see that there be (minimally) 3*5=15 negative test cases and (minimally) 5 positive test cases. In this case the 15/(15+5)= (75%) of test cases are negative.</p>
<p><span style="text-decoration: underline;"> </span></p>
<p>In closing, understanding the number of inputs and clear understanding of what an input at a testing level is (The STEM Core concept “Input granularity principle” of HBT methodology helps in understanding as what an input at a level is) it is possible to quickly estimate the minimal number of negative test cases. This is very useful in quickly ascertaining whether the test cases are conformance and robustness oriented.</p>
<p>This is covered in “<a href="http://www.stagsoftware.com/newks/htmls/HBT10.html" target="_blank"><span style="text-decoration: underline;">HBT.10: Effective review of test cases</span></a>”, a title in our HBT Series of workshops</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stagsoftware.com/blog/?feed=rss2&amp;p=74</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Requirements traceability is “Necessary but not sufficient”</title>
		<link>http://www.stagsoftware.com/blog/?p=72</link>
		<comments>http://www.stagsoftware.com/blog/?p=72#comments</comments>
		<pubDate>Thu, 29 Apr 2010 11:55:28 +0000</pubDate>
		<dc:creator>STAG</dc:creator>
				<category><![CDATA[HBT Series of Workshops]]></category>
		<category><![CDATA[Hypothesis-based Testing]]></category>
		<category><![CDATA[STEM]]></category>
		<category><![CDATA[Corporate Workshop]]></category>
		<category><![CDATA[Effective testing]]></category>
		<category><![CDATA[Test cases]]></category>
		<category><![CDATA[Test Coverage]]></category>

		<guid isPermaLink="false">http://www.stagsoftware.com/blog/?p=72</guid>
		<description><![CDATA[When asked about “how do you know that your test cases are adequate?”, the typical answer is Requirement Traceability Matrix(RTM) has been generated and that each requirement does indeed have test cases.
Is this logic strong enough? Unfortunately NO! Why? Assume that each requirement had just one test case. This implies that we have good RTM [...]]]></description>
			<content:encoded><![CDATA[<p>When asked about “how do you know that your test cases are adequate?”, the typical answer is Requirement Traceability Matrix(RTM) has been generated and that each requirement does indeed have test cases.</p>
<p>Is this logic strong enough? Unfortunately NO! Why? Assume that each requirement had just one test case. This implies that we have good RTM i.e. each requirement has been covered. What we do know is that could there additional test cases for some of the requirements? So RTM is a necessary condition but NOT a sufficient condition.</p>
<p>So, what does it take to be sufficient? If we had a clear notion of types of defects that could affect the customer experience and then mapped these to test cases, we have Fault Traceability Matrix (FTM as proposed by HBT). This allows us to be sure that our test cases can indeed detect those defects that will impact customer experience.</p>
<p>Note that in HBT potential defects types are mapped to the Cleanliness Criteria derived earlier. Cleanliness criteria are those that have to be met to ensure that customer has a good experience with the system.</p>
<p>This is covered in “<a href="http://www.stagsoftware.com/newks/htmls/HBT10.html" target="_blank"><span style="text-decoration: underline;">HBT.10 : Effective review of test cases</span></a>”, a title in our HBT Series of workshops.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stagsoftware.com/blog/?feed=rss2&amp;p=72</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Effectiveness and Efficiency of test cases</title>
		<link>http://www.stagsoftware.com/blog/?p=70</link>
		<comments>http://www.stagsoftware.com/blog/?p=70#comments</comments>
		<pubDate>Thu, 29 Apr 2010 11:53:29 +0000</pubDate>
		<dc:creator>STAG</dc:creator>
				<category><![CDATA[HBT Series of Workshops]]></category>
		<category><![CDATA[Hypothesis-based Testing]]></category>
		<category><![CDATA[STEM]]></category>
		<category><![CDATA[Corporate Workshop]]></category>
		<category><![CDATA[Test cases]]></category>
		<category><![CDATA[Test Coverage]]></category>

		<guid isPermaLink="false">http://www.stagsoftware.com/blog/?p=70</guid>
		<description><![CDATA[Given that we have set of test cases, we would like then them to be effective. What does “effective” mean? Effectiveness of test cases is the ability of the test cases to be able to detect (or uncover) the defects that can affect the customer experience.  So a clear understanding of what *types of defects* [...]]]></description>
			<content:encoded><![CDATA[<p>Given that we have set of test cases, we would like then them to be effective. What does “effective” mean? Effectiveness of test cases is the ability of the test cases to be able to detect (or uncover) the defects that can affect the customer experience.  So a clear understanding of what *types of defects* are we looking for and a mapping of the test cases to these test cases would enable a scientific way of assessing effectiveness.</p>
<p>What is efficiency? It is ensuring that we execute the test cases in as short a time as possible with optimal effort and no more.  Understanding (1) the priority or business importance of test cases, (2) knowing what test cases to execute in what part of the lifecycle (3) clear segregation of test cases by various types of tests and levels enables to optimize testing and become efficient.</p>
<p>This is covered in our HBT Series of workshop “<span style="text-decoration: underline;"><a href="http://www.stagsoftware.com/newks/htmls/HBT10.html" target="_blank">HBT.10 : Effective review of test cases</a></span>”.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stagsoftware.com/blog/?feed=rss2&amp;p=70</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ensuring testable non-functional requirements</title>
		<link>http://www.stagsoftware.com/blog/?p=68</link>
		<comments>http://www.stagsoftware.com/blog/?p=68#comments</comments>
		<pubDate>Thu, 29 Apr 2010 11:51:14 +0000</pubDate>
		<dc:creator>STAG</dc:creator>
				<category><![CDATA[HBT Series of Workshops]]></category>
		<category><![CDATA[STEM]]></category>
		<category><![CDATA[Corporate Workshop]]></category>
		<category><![CDATA[Effective testing]]></category>
		<category><![CDATA[Hypothesis-based Testing]]></category>

		<guid isPermaLink="false">http://www.stagsoftware.com/blog/?p=68</guid>
		<description><![CDATA[Non-functional requirements are notoriously non-testable! By this, we mean it is more typical that non-functional requirements are fuzzy/less-clear. In a simplistic form “The system should be robust” is non-testable i.e. It is definitely not clear as how to validate this!
Rather than identifying non-functional requirements and describing them, it is suggested that we look at each [...]]]></description>
			<content:encoded><![CDATA[<p>Non-functional requirements are notoriously non-testable! By this, we mean it is more typical that non-functional requirements are fuzzy/less-clear. In a simplistic form “The system should be robust” is non-testable i.e. It is definitely not clear as how to validate this!</p>
<p>Rather than identifying non-functional requirements and describing them, it is suggested that we look at each requirement and partition these into functional and non-functional aspects and probe into the key attributes to be satisfied for the requirement. For attribute, GQM (Goal-Question-Metric) of core concept of STEM enables deriving metric(s) to ensure that each attribute is indeed testable.  Later the various similar attributes across all the requirements can be aggregated to create the system-wide non-functional requirement.</p>
<p>In this manner non-functional requirements are clearer and testable.</p>
<p>This is covered in “<a href="http://www.stagsoftware.com/newks/htmls/HBT2.html"><span style="text-decoration: underline;">HBT.2: Rapid Understanding of customer expectations</span></a>”, a title in our HBT Series of workshops.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stagsoftware.com/blog/?feed=rss2&amp;p=68</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
