<?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>Our Blog &#187; Quality Control</title>
	<atom:link href="http://blog.mindblazetech.com/category/qm/quality-control/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mindblazetech.com</link>
	<description>Just another Mindblaze Technologies weblog</description>
	<lastBuildDate>Tue, 20 Jul 2010 07:28:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SoapUI vs SoapSonar</title>
		<link>http://blog.mindblazetech.com/2009/07/18/soapui-vs-soapsonar/</link>
		<comments>http://blog.mindblazetech.com/2009/07/18/soapui-vs-soapsonar/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 17:41:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Quality Control]]></category>
		<category><![CDATA[Quality Management]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[Testing Types]]></category>

		<guid isPermaLink="false">http://blog.mindblazetech.com/?p=93</guid>
		<description><![CDATA[Soap UI is clunky and hard to use and lack web services features that are required  for serious web services testing. SoapUI requires significant coding for building/maintaining test cases and suites. SoapSonar on other hand is code free, far more feature rich and cover web services ,SOAP and XML testing and WS-* standards extensively. I [...]]]></description>
			<content:encoded><![CDATA[<p>Soap UI is clunky and hard to use and lack web services features that are required  for serious web services testing. SoapUI requires significant coding for building/maintaining test cases and suites. SoapSonar on other hand is code free, far more feature rich and cover web services ,SOAP and XML testing and WS-* standards extensively. I have seen that SOAPUI is generally 1-1.5 years behind in standards support compared to SOAPSonar. The UI for SOAPSnar is more professional and simpler to use. And they are far more widely deployed  in web services testing community for Enterprise/Professional use. A couple of advantages that SOAPUI had over SOAPSonar .If we use WADL for REST testing, then go for SoapUI. They seem to be better at REST rather than SOAP.</p>
<p>I would recommend downloading both products and make sure that your WSDL load up properly first. Most products choke on sophisticated WSDLs so trying that out should be your first step. Next see how easy is it to build simple test cases. Subsequently you should try more complex standards such as WS-Security, SAML,WS-Policy, etc and see which product meet your needs.Also keep all aspects of testing functional, regression, security</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mindblazetech.com/2009/07/18/soapui-vs-soapsonar/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Web Services Testing</title>
		<link>http://blog.mindblazetech.com/2009/07/18/web-services-testing/</link>
		<comments>http://blog.mindblazetech.com/2009/07/18/web-services-testing/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 19:37:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Quality Control]]></category>
		<category><![CDATA[Quality Management]]></category>
		<category><![CDATA[Software Development Lifecycle]]></category>

		<guid isPermaLink="false">http://blog.mindblazetech.com/?p=75</guid>
		<description><![CDATA[Background
DCOM and CORBA traditionally achieved what web services are now offering but with an exception to interoperability which they later provide in true sense.In addition ,COM+,DCOM (Distributed component object model) implementation from Microsoft were resource intensive and were native to specific Microsoft OS flavor.In other words,consumer and provider were mandated to be on the same [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Background</strong></p>
<p>DCOM and CORBA traditionally achieved what web services are now offering but with an exception to interoperability which they later provide in true sense.In addition ,COM+,DCOM (Distributed component object model) implementation from Microsoft were resource intensive and were native to specific Microsoft OS flavor.In other words,consumer and provider were mandated to be on the same version of OS.</p>
<p><strong>Testing Methodology</strong></p>
<p>At very basic level, one need to consider how the remote calls take place via SOAP, how the data is passed, how to test the transparent layer,discovery methods,response data,scalability,performance,integrity. Test Case execution shall be top down and bottom up respectively. Documenting test cases for the individual services can be tedious task and subject matter experts can take part in unit testing the individual service so that they are error free in down stream process. This approach facilitates meeting the high level business requirements and can also be used to create data contents for the exchange message. This will avoid the major pitfall of delivering a technically acceptable solution which fails to deliver business value. Once this is done, the data must be formatted to messages (XML) that express service service request and replies from consumer and provider respectively.</p>
<p><strong>Test the Transport Layer </strong></p>
<p>Due to problems introduced by latency and unreliability of the underlying transport, testing the transport layer (HTTP/HTTPS/MQ/JMS) &#8211; protocols which form the back bone  in shipping the messages around . This testing can be done in isolation initially wherein the transport is tested  with the messages sent over the transport as data files instead of actual data and consequently integrate with either side once the application is complete.</p>
<p><strong>Test in isolation</strong></p>
<p>Isolation can be achieved by storing message in data files . For instance , a message received  by a consumer can be saved to data file or a file. The emphasizes should be more on test the web service as an independent entity regardless  of its dependency on other web services The messages must be based on specific standard and some of the industries have already started  these activities, namely Association for Corporate Operation Research and Development, regulatory standards such as health insurance Portability and accountability Act (HIPPA) for health care related transections. Interoperability can be verified using tools available such as WSS (web service studio) for a MS.NET Implementation. The new web services studio can be used to automatically generate a compile SOAP proxy classes</p>
<p><strong>Verify Complex Undo Activity</strong></p>
<p>Testing the fragility  of distributed systems if incompatible updates are introduced to any participant may involve validating a two phase commit if transaction has not been completed using the entire web services involved in unit of work.XLANG verifies two phases of commit for distributed transactions wherein if transaction is incomplete, express it explicitly . Additional benefits are not limited to:</p>
<ul>
<li>Sequential and parallel control flow constructs</li>
<li>Long running transactions with compensation.</li>
<li>custom correlation of  messages.</li>
<li>Flexible handling of internal and external exceptions.</li>
</ul>
<p><strong>Functional Integration/Testing Tool Selection</strong></p>
<p>Verify the flow of application where the remote method call to the SOAP server(s), is followed in a specific order as per business rule which additionally involve verifying the nested functionality from WSDL. This may include testing for interoperability as sanity tests which validate the agreed upon semantics between the services.We &#8216;ve experienced that all good web services test tools share the certain features <strong>(1)</strong>Scan WSDL (file or URL) to create request and response structure. <strong>(2)</strong> Contain user interfaces to XML for request and response editing. (2.1) Response is stored as checkpoint.(2.2) Regression test compares check points to run time value.<strong>(3)</strong> Allow parametrized values for request and correspondence response (data driven) After determining the requirements of functional testing it is necessary  to examine some of readily available testing tools. we are having good expertise of using SOAPSonar for testing web services. There are following SoapSonar Setup Steps</p>
<ul>
<li>Download SoapSonar.</li>
<li>Load x.509 &amp; WSDL.</li>
<li>Setup SOAP Authentication.</li>
<li>Call EC2 Soap API</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.mindblazetech.com/2009/07/18/web-services-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Project Management</title>
		<link>http://blog.mindblazetech.com/2009/07/17/agile-project-management/</link>
		<comments>http://blog.mindblazetech.com/2009/07/17/agile-project-management/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 11:35:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Quality Control]]></category>
		<category><![CDATA[Quality Management]]></category>
		<category><![CDATA[Software Development Lifecycle]]></category>

		<guid isPermaLink="false">http://blog.mindblazetech.com/?p=66</guid>
		<description><![CDATA[Agile project management takes the ideas from Agile software development and applies them to project management. Agile methodologies generally promote a project management process that encourages stakeholder involvement, feedback, objective metrics and effective controls. Mindblaze Technologies emphasized on Agile Project Management Principles.
 
Picking a Project Management Methodology:
A short study from Vertebrae on choosing between an [...]]]></description>
			<content:encoded><![CDATA[<p>Agile project management takes the ideas from Agile software development and applies them to project management. Agile methodologies generally promote a project management process that encourages stakeholder involvement, feedback, objective metrics and effective controls. Mindblaze Technologies emphasized on Agile Project Management Principles.</p>
<p><strong> </strong></p>
<h3><strong>P</strong>icking a Project Management Methodology:</h3>
<p><span style="font-weight: normal">A short study from Vertebrae on choosing between an agile or waterfall approach for their latest software development project. We were having an internal meeting to pick a project management methodology for a web project we are working on for a new clients. As developers of commercial software, our instinct was to lean towards an agile based approach.</span></p>
<h3><strong>Metrics that Matter in Agile Projects</strong></h3>
<p><strong> </strong>Agile methods need only the most important metrics: the ones that tell the whole story about the project. Metrics measure the health of a project and are by far the most objective ways by which a project manager enables all project sponsors and delivery teams to see where resources are needed or spent, or which areas of a project need more focus. So how do Agile teams determine the most important metrics?Like we &#8216;re collecting different metrics on different stages of our SDLC.<br />
<strong></strong></p>
<h3><strong>Agile Through the Waterfall</strong></h3>
<p><strong></strong>Many organizations have adopted Agile practices into their development methodologies and they have proved to be successful for the organization as a whole. There also are many organizations that have pockets of people who wish to be Agile, but can&#8217;t get traction within to make it a widely accepted practice throughout the enterprise. I recently had an opportunity to participate in an Open Space session where we explored how organizations that are mainly guided by Waterfall methodologies, unwittingly also employed Agile practices.<br />
<strong></strong></p>
<h3><strong>CMMI and Agile: Opposites Attract</strong></h3>
<p><strong></strong>The myths surrounding the compatibility of CMMI and Agile have recently been debunked by SEI. Learn how these seemingly opposing strategies can be paired to foster dramatic improvements in business performance! Despite the perception that CMMI best practices and Agile development methods are at odds with each other, new research suggests just the opposite train of thought. In fact, CMMI and Agile champions can benefit from using both methods within organizations, with the potential to dramatically improve business performance.<br />
<strong></strong></p>
<h3><strong>What Agile Methods Mean to Your Process, People and Products</strong></h3>
<p><strong></strong>Studies show that most successful projects were those that followed agile principles, proving that model-driven methods are not always the best when it came to managing changes, fastpaced project implementation, or even meeting market demands. The concept of agile development is not new. However, many technologists still stick to the age-old notion that software development can be easily designed and the outputs predicted without giving much<br />
thought to the more dynamic factors of projects, such as communication lines, people, and change.<br />
<strong></strong></p>
<h3><strong>Which Life Cycle Is Best for Your Project?</strong></h3>
<p><strong></strong>When choosing a development life cycle, don&#8217;t just trust your feelings. Decide based on factors that really matter. Which life cycle will work best for your project? This is an important strategic question because making the wrong choice could lead to disastrous results of catastrophic proportions. Think about delayed deliveries, unhappy clients, project overruns, and cancelled projects.</p>
<h3><strong>Can We Combine Agile and Waterfall Development Strategies?</strong></h3>
<p><strong></strong>While there are likely as many unique Project Management approaches as there are Project Managers, there are two well-know production cycle methodologies that have been the topic of much discussion in PM circles &#8211; agile and waterfall methodologies. As I evolve in my own area of expertise, I am constantly reinventing small aspects of what I consider best practice. Most recently, to address the incredibly complex requirements of a large client imitative, I<br />
challenged myself to come up with a &#8220;super&#8221; Project Management process that would not only improve the way in which we deliver, but what we deliver at the end of the engagement.  I determined there was a way to combine the best features of waterfall development disciplines with agile principles for superior results.<br />
<strong></strong></p>
<h3><strong>The Blending of Traditional and Agile Project Management</strong></h3>
<p><strong></strong>Traditional project management involves very disciplined and deliberate planning and control methods. With this approach, distinct project life cycle phases are easily recognizable. Tasks are completed one after another in an orderly sequence, requiring a significant part of the project to be planned up front. For example, in a construction project, the team needs to determine requirements, design and plan for the entire building, and not just incremental<br />
components, in order to understand the full scope of the effort.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mindblazetech.com/2009/07/17/agile-project-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Testing Life Cycle</title>
		<link>http://blog.mindblazetech.com/2009/07/17/software-testing-life-cycle/</link>
		<comments>http://blog.mindblazetech.com/2009/07/17/software-testing-life-cycle/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 11:17:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Quality Control]]></category>
		<category><![CDATA[Quality Management]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[cycle]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://blog.mindblazetech.com/?p=60</guid>
		<description><![CDATA[The Software Testing Life Cycle is an integral component of the Software development Life Cycle (SDLC) practiced at Mindblaze Technologies.No software is released to the customer without comprehensive testing during the entire course of the project based on agile software development methodology. Our testing culture is based on the following principles and practices:
• Conversational Test [...]]]></description>
			<content:encoded><![CDATA[<p><strong>The Software Testing Life Cycle </strong>is an integral component of the Software development Life Cycle (SDLC) practiced at Mindblaze Technologies.No software is released to the customer without comprehensive testing during the entire course of the project based on agile software development methodology. Our testing culture is based on the following principles and practices:<br />
<strong>• Conversational Test Creation.</strong><br />
Our quality assurance team writes the test cases and encourages all stakeholders including our customers as well as developers to participate in the entire test creation process.<br />
<strong>• Coaching Tests.</strong><br />
Our acceptance tests are written in a way so as to provide a means of instant feedback and progress measurement during the course of the project. We aim to write these tests in a clear, concise and non-technical manner so that any stakeholder including customers can understand them.<br />
<strong>• Test Interfaces.</strong><br />
Our development team is responsible for the fixtures needed to create automated acceptance tests.<br />
<strong>• Exploratory Learning.</strong></p>
<p>As the project takes shape our testing team aims to explore and learn more about it. At the end of each iteration we look for bugs, missing features and also suggest improvements to our clients. We believe that a piece of software cannot be properly understood by us until we have thoroughly used it.During the course of the entire project our software testing cycle goes through the following steps:<br />
<strong></strong></p>
<p><strong>Step 1</strong><br />
This includes a formal and informal inspection of all the documents required for software development and entails the following activities:<br />
• All documents related to the customer’s requirements and business rules for software design and development are handed over to QA.<br />
• QA reviews these documents to locate any discrepancy and raises it in review meetings with the developers, designers and the customer.<br />
• Once the document is finalized QA prepares a Test Plan and shares with the relevant stakeholders.<br />
• QA also writes test cases based on the requirements specified in the documents and then generates test data.<br />
• The QA team Lead prepares traceability matrices and verifies test cases with actual requirements using these matrices.<br />
• The team then prepares acceptance tests and shares with the developers, designers and the customer.<br />
<strong>Step 2</strong><br />
At Mindblaze Technologies we emphasize test driven development. Our development team writes unit test cases first and then starts the actual programming. The QA team assures that all development protocols are followed and code is properly commented.<br />
<strong>Step 3</strong><br />
If automated unit tests are successfully passed the development team then deploys the source code on the test servers for QA members. The development team clearly explains the testing environment to QA. This usually includes the following information:<br />
• Tools that will be used to benchmark the testing server.<br />
• How to take updates and install the latest builds on the test server.<br />
QA then starts requirements mapping on the actual application by using traceability matrices, test scenario and work flows documents. The test duration is usually decided by the customer, QA Manager and the Project Manager based on scope of work.<br />
<strong>Step 4</strong><br />
Depending on the needs of the project the Quality Assurance team may perform all or a certain subset<br />
of the tests given below:</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>• Acceptance Testing.</td>
<td>• Acceptance Testing.</td>
<td>• Black Box Testing.</td>
</tr>
<tr>
<td>• White Box Testing.</td>
<td>• Ad hoc Testing.</td>
<td>• Accessibility Testing.</td>
</tr>
<tr>
<td>• Binary Portability Testing.</td>
<td>• Integration Testing.</td>
<td>• Ramp Testing.</td>
</tr>
<tr>
<td>• sanityTesting.</td>
<td>• scalability Testing.</td>
<td>• Boundary Testing.</td>
</tr>
<tr>
<td>• Breadth Testing.</td>
<td>• Compatibility Testing.</td>
<td>• Component Testing.</td>
</tr>
<tr>
<td>• concurrency Testing.</td>
<td>• conformance Testing.</td>
<td>• Context driven testing.</td>
</tr>
<tr>
<td>• Conversion Testing.</td>
<td>• Data Driven Testing.</td>
<td>• verification &amp; validation Testing.</td>
</tr>
<tr>
<td>• workflow Testing.</td>
<td>• Security Testing.</td>
<td>• Dependency Testing.</td>
</tr>
<tr>
<td>• Dynamic Testing.</td>
<td>• End to End Testing.</td>
<td>• Exhaustive Testing.</td>
</tr>
<tr>
<td>• Gorilla Testing.</td>
<td>• GrayBox Testing.</td>
<td>• Localization Testing.</td>
</tr>
<tr>
<td>• Loop Testing.</td>
<td>• Performance Testing.</td>
<td>• Unit Testing.</td>
</tr>
</tbody>
</table>
<p><strong>Step 5</strong><br />
A comprehensive Bugs Report is prepared by the Testers and review/verification is performed by the QA team lead before handing over this report to Development Team. In case any clarification is required on the bugs submitted, the QA Team lead discusses the bugs with the assigned developers.The development team responds by providing time estimates for fixing the bugs and apprises the QAteam of any changes that will be made in the software during the course of these fixes.The testing team then retests or verifies the bugs fixed by the development team and also performs a ripple analysis and runs planned regression cycles for assurance. During this entire process test reports<br />
are submitted to the QA Manager and Development Manager. The criterion for ending the regression cycles is defined by the relevant stakeholders including the customer and the QA team lead.<br />
<strong>Step 6</strong><br />
Once the software has stabilized and the customer is happy with its performance QA prepares an application stability report and shares it with everyone in the team. At this point the entire team also carries out a lessons learned exercise to understand any problems faced during the project and how to improve the entire process to better serve our customers.</p>
<p><img src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/moz-screenshot-2.jpg" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mindblazetech.com/2009/07/17/software-testing-life-cycle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WhiteBox Testing</title>
		<link>http://blog.mindblazetech.com/2009/07/17/whitebox-testing/</link>
		<comments>http://blog.mindblazetech.com/2009/07/17/whitebox-testing/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 10:37:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Quality Control]]></category>
		<category><![CDATA[Quality Management]]></category>
		<category><![CDATA[advantages]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[branch coverage]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[code coverage]]></category>
		<category><![CDATA[disadvantages]]></category>
		<category><![CDATA[dynamic testing]]></category>
		<category><![CDATA[internal logic]]></category>
		<category><![CDATA[mutation testing]]></category>
		<category><![CDATA[statement coverage]]></category>
		<category><![CDATA[static testing]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[white box testing]]></category>

		<guid isPermaLink="false">http://blog.mindblazetech.com/?p=51</guid>
		<description><![CDATA[What is a White Box Testing Strategy?
White box testing strategy deals with the internal logic and structure of the code. White box
testing is also called as glass, structural, open box or clear box testing. The tests written
based on the white box testing strategy incorporate coverage of the code written, branches,
paths, statements and internal logic of [...]]]></description>
			<content:encoded><![CDATA[<p><strong>What is a White Box Testing Strategy?</strong><br />
White box testing strategy deals with the internal logic and structure of the code. White box<br />
testing is also called as glass, structural, open box or clear box testing. The tests written<br />
based on the white box testing strategy incorporate coverage of the code written, branches,<br />
paths, statements and internal logic of the code etc.<br />
In order to implement white box testing, the tester has to deal with the code and hence is<br />
needed to possess knowledge of coding and logic i.e. internal working of the code. White box<br />
test also needs the tester to look into the code and find out which unit/statement/chunk of the<br />
code is malfunctioning.<br />
<strong>Advantages of White box testing are:</strong><br />
i) As the knowledge of internal coding structure is prerequisite, it becomes very easy to find<br />
out which type of input/data can help in testing the application effectively.<br />
ii) The other advantage of white box testing is that it helps in optimizing the code<br />
iii) It helps in removing the extra lines of code, which can bring in hidden defects.<br />
<strong>Disadvantages of white box testing are:</strong><br />
i) As knowledge of code and internal structure is a prerequisite, a skilled tester is needed to<br />
carry out this type of testing, which increases the cost.<br />
ii) And it is nearly impossible to look into every bit of code to find out hidden errors, which may<br />
create problems, resulting in failure of the application.<br />
<strong>Types of testing under White/Glass Box Testing Strategy:</strong><br />
<strong>Unit Testing:</strong><br />
The developer carries out unit testing in order to check if the particular module or unit of code<br />
is working fine. The Unit Testing comes at the very basic level as it is carried out as and when<br />
the unit of the code is developed or a particular functionality is built.<br />
<strong>Static and dynamic Analysis:</strong><br />
Static analysis involves going through the code in order to find out any possible defect in the<br />
code. Dynamic analysis involves executing the code and analyzing the output.<br />
<strong>Statement Coverage:</strong><br />
In this type of testing the code is executed in such a manner that every statement of the<br />
application is executed at least once. It helps in assuring that all the statements execute<br />
without any side effect.<br />
<strong>Branch Coverage:</strong><br />
No software application can be written in a continuous mode of coding, at some point we<br />
need to branch out the code in order to perform a particular functionality. Branch coverage<br />
testing helps in validating of all the branches in the code and making sure that no branching<br />
leads to abnormal behavior of the application.<br />
<strong>Security Testing:</strong><br />
Security Testing is carried out in order to find out how well the system can protect itself from<br />
unauthorized access, hacking – cracking, any code damage etc. which deals with the code of<br />
application. This type of testing needs sophisticated testing techniques.<br />
<strong>Mutation Testing:</strong><br />
A kind of testing in which, the application is tested for the code that was modified after fixing a<br />
particular bug/defect. It also helps in finding out which code and which strategy of coding can<br />
help in developing the functionality effectively.<br />
Besides all the testing types given above, there are some more types which fall under both<br />
Black box and White box testing strategies such as: Functional testing (which deals with the<br />
code in order to check its functional performance), Incremental integration testing (which<br />
deals with the testing of newly added code in the application), Performance and Load testing<br />
(which helps in finding out how the particular code manages resources and give performance<br />
etc.) etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mindblazetech.com/2009/07/17/whitebox-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Check List For Test Case Creation</title>
		<link>http://blog.mindblazetech.com/2009/07/17/check-list-for-test-case-creation/</link>
		<comments>http://blog.mindblazetech.com/2009/07/17/check-list-for-test-case-creation/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 10:26:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Quality Control]]></category>
		<category><![CDATA[Quality Management]]></category>
		<category><![CDATA[abnormal actions]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[check]]></category>
		<category><![CDATA[check list]]></category>
		<category><![CDATA[conditions]]></category>
		<category><![CDATA[data inputs]]></category>
		<category><![CDATA[Error path]]></category>
		<category><![CDATA[file inputs]]></category>
		<category><![CDATA[grouping]]></category>
		<category><![CDATA[identified]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[logical]]></category>
		<category><![CDATA[performane testing]]></category>
		<category><![CDATA[system inputs]]></category>
		<category><![CDATA[test case]]></category>
		<category><![CDATA[testing boundaries]]></category>
		<category><![CDATA[verify]]></category>

		<guid isPermaLink="false">http://blog.mindblazetech.com/?p=46</guid>
		<description><![CDATA[Introduction
The following is a quick checklist to verify that all possible test cases are identified during test
plan/test case preparation.
The objective of this checklist is to provide a guideline in preparing test cases
Item for identifying more test cases
1. For each input to the system identify valid values
● Identify file inputs
● Identify user data inputs.
● Identify system [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
The following is a quick checklist to verify that all possible test cases are identified during test<br />
plan/test case preparation.<br />
The objective of this checklist is to provide a guideline in preparing test cases<br />
Item for identifying more test cases<br />
1. For each input to the system identify valid values<br />
● Identify file inputs<br />
● Identify user data inputs.<br />
● Identify system inputs<br />
2. For each input to the system identify invalid values.<br />
3. For each input to the system identify boundary values to be tests.<br />
4. Get list of error messages that system will give from development team. Each error<br />
message should have at least one test case.· This keeps growing. If possible trace the error number with test cases.<br />
5. For each output define expected outcome – each output condition becomes a test case·<br />
● Identify various file outputs user will notice<br />
● Success and Error Path outputs.<br />
● Database outputs if any<br />
6. Check for duplicate values for all inputs.<br />
7. Check for deletion conditions of objects created during tests and related effects on the system.<br />
8. Check for update conditions and related effects on the system.<br />
9. User Interface related bugs (aesthetics/logical grouping of inputs, typos etc)<br />
10.If file based system: small file, large files, corrupt files, invalid files as input.<br />
11.What condition can cause runaway or loop, overflow situations?<br />
12.Perform abnormal actions or sequence of actions.<br />
13.Test with default values of the system.<br />
14.Change all default values used by system one by one and test changing behavior.<br />
15.Write User Scenario cases: Administrator tasks, Designer tasks, Operator Tasks and<br />
what each user expects.<br />
16.Combination of integration systems (third party version with which product integrates).<br />
17.Combination of database or file systems used (helps identify certification matrix).</p>
<p>18.Combination of supported development environments (like Java version).</p>
<p>19.OS specific cases.<br />
20.Test with multiple user accounts and login as different users at different times.<br />
21.Concurrent usage scenarios if applicable.<br />
22.Performance boundaries -&gt; Which variable effect performance of the product.<br />
23.How can we verify accuracy or consistency of the system? (Is client and server<br />
compatible, is repository data consistent etc.).<br />
24.Are there explicit date conditions? Current date, future date, invalid dates, range of dates, expiry Dates.<br />
25.What can cause corrupt inputs and how does system respond</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mindblazetech.com/2009/07/17/check-list-for-test-case-creation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quality Control</title>
		<link>http://blog.mindblazetech.com/2009/06/02/quality-control/</link>
		<comments>http://blog.mindblazetech.com/2009/06/02/quality-control/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 12:01:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quality Control]]></category>
		<category><![CDATA[Quality Management]]></category>
		<category><![CDATA[Software Development Lifecycle]]></category>

		<guid isPermaLink="false">http://blog.mindblazetech.com/?p=33</guid>
		<description><![CDATA[Testing involves operation of a system or application under controlled conditions and evaluating the results. The controlled conditions should include both normal and abnormal conditions. Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldn&#8217;t or things don&#8217;t happen when they should. It is oriented detective action.
Highlights of [...]]]></description>
			<content:encoded><![CDATA[<p>Testing involves operation of a system or application under controlled conditions and evaluating the results. The controlled conditions should include both normal and abnormal conditions. Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldn&#8217;t or things don&#8217;t happen when they should. It is oriented detective action.</p>
<h3><strong>Highlights of the QC Role during the Testing Phase:</strong></h3>
<p>1.    Executes testing strategy described in the test plan.<br />
2.    Executes end to end testing cycles known as regressions.<br />
3.    Performs acceptance testing.<br />
4.    Performs black box, white box, integration and system testing.<br />
5.    Performs load and stress testing.<br />
6.    Performs usability testing.<br />
7.    Performs concurrency testing.<br />
8.    Performs security testing.<br />
9.    Performs Alpha and Beta Testing.<br />
10.    Performs Ad Hoc testing.<br />
11.    Performs scalability testing.<br />
12.    Performs usability testing.<br />
13.    Performs sanity and smoke testing.<br />
14.    Performs browser compatibility testing for web applications.<br />
15.    Creates and presents test log reports and test incident reports.<br />
16.    Logs defects in bug tracking tools.<br />
17.    Assign bugs to relevant stakeholders.<br />
18.    Performs regression testing.<br />
19.    Maintains bug reports and categorizes them into in various ways. Category examples include:</p>
<ul>
<li>logic level issue</li>
<li>GUI issue</li>
<li>Database level issue.</li>
</ul>
<p>20.    Performs ripple analysis when changes are incorporated into the code.<br />
21.    Prepares ripple analysis report.<br />
22.    Calculates DRE (Defect Removal Efficiency).<br />
23.    Prepares bug sheet.</p>
<h3><strong>Highlights of QA/QC Role in Deployment Phase:</strong></h3>
<p>1.    QA prepares CRF (Change request form) template.<br />
2.    Prepares installation/deployment guide.</p>
<h4><strong>Alpha Release</strong></h4>
<p><strong><span style="font-weight: normal;">The first semi-functional version of the application is available for testing, mostly done at the unit level by engineers. Additional QA Resources are acquired to help with the testing cycles and the application is deployed in a separate QA environment for testing.</span></strong></p>
<h4><strong>Beta Release</strong></h4>
<p><strong><span style="font-weight: normal;">Software is considered beta quality when the features identified in its scope are complete and it has stabilized. At this point, development is exclusively targeted at fixing defects. Fixed bugs should outnumber new and open bugs. Defects continue to be found &amp; reported and fixes are verified or rejected.</span></strong></p>
<h4><strong>GMC (Golden Master Candidate)</strong></h4>
<p><strong><span style="font-weight: normal;">This is usually the final build candidate and all severity level one and two defects are retested and verified. Severity level three and four defects are also tested to make sure the extent of the problem is known.</span></strong></p>
<h4><strong>GM (Golden Master)</strong></h4>
<p><strong></strong>This is the final build where all severity level one and two defects have been fixed and all severity level three and level four defects are understood. QA signs off on the product and confirms that it meets all performance and functionality requirements.<br />
<strong></strong></p>
<h3><strong>A Tester’s role on Agile Projects:</strong></h3>
<p><strong></strong>First let’s take a look at testers in the traditional software development life cycle. Some examples of what we usually find are:</p>
<ol>
<li>A separate QA group.</li>
<li>The tests are derived from detailed requirements and specifications.</li>
<li>QA may or may not participate in planning sessions, but is not usually privy to design considerations until after they have been finalized</li>
</ol>
<p>Now, if we observe a tester in an agile project, we find that the tester:</p>
<ol>
<li>is part of the team and attends all team sessions.</li>
<li>is an integral part of the planning game.</li>
<li>practices pair testing, i.e. collaborates with the developers to get good tests</li>
</ol>
<h4><strong>Agile Testing Values</strong></h4>
<p><strong></strong>The four values that are part of the XP philosophy can be applied to testing as well. We will discuss what this means, and how they are applied to the tester role.</p>
<ul>
<li>Communication</li>
<li>Simplicity</li>
<li>Feed Back</li>
<li>Courage</li>
</ul>
<h4><strong>Understanding the tools</strong></h4>
<p><strong></strong>What tools does an agile tester need? Many of them are the same that a traditional tester would use, but applied differently. Some of the questions are listed below. I can explain them in comprehensive and precise way based on the demand of the customer:<br />
1.    Can the same skills be applied that were learned in the traditional QA role?<br />
2.    What is the difference between unit tests and acceptance tests?<br />
3.    What is testing Life Cycle.<br />
4.    What are different stages of testing cycle.<br />
5.    How QA pro actively participate in requirements gathering phase?.<br />
6.    How do you write an automated acceptance test?<br />
7.    When would you do manual testing?<br />
8.    Why use a risk-based approach to testing?<br />
9.    What do we mean by Context Driven testing?</p>
<h3><strong>The Role of QA in Agile Projects</strong></h3>
<p>An interesting question in Agile Development is “how do you incorporate QA?” I guess this depends on what you see as the role of QA. For instance, if you have your QA people involved from start to finish, then you really wouldn&#8217;t have to change a thing. For instance, a QA person can:<br />
•    Help to determine if your stories are well defined<br />
•    Suggest adding stories related to testability<br />
•    Make sure that people are creating good unit tests and/or write unit tests<br />
•    Increase your code coverage by adding more automated tests<br />
•    Write tests for stories for test first development.<br />
•    Organize usability testing<br />
•    Add stories for improving usability<br />
•    Do exploratory testing on early builds<br />
•    Verify the completion of stories as they are completed</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mindblazetech.com/2009/06/02/quality-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Foundation: A step towards Agile</title>
		<link>http://blog.mindblazetech.com/2009/05/25/foundation-a-step-towards-agile/</link>
		<comments>http://blog.mindblazetech.com/2009/05/25/foundation-a-step-towards-agile/#comments</comments>
		<pubDate>Mon, 25 May 2009 11:58:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Quality Control]]></category>
		<category><![CDATA[Quality Management]]></category>
		<category><![CDATA[Software Development Lifecycle]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[lifecycle]]></category>
		<category><![CDATA[practices]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://blog.mindblazetech.com/?p=11</guid>
		<description><![CDATA[Since our inception we have been analyzing and experimenting with various agile practices that make the biggest difference in overall productivity for teams and organizations. We have isolated three, that we feel produce the highest return on your investment in terms of time, effort and cost.
All three practices are part of agile methods such as [...]]]></description>
			<content:encoded><![CDATA[<p>Since our inception we have been analyzing and experimenting with various agile practices that make the biggest difference in overall productivity for teams and organizations. We have isolated three, that we feel produce the highest return on your investment in terms of time, effort and cost.</p>
<p>All three practices are part of agile methods such as Scrum and Extreme Programming, but you don’t need to be doing these methods to take advantage of these practices. All of them are relatively inexpensive, and the return on investment for these practices is HUGE!</p>
<p>Without further ado these three practices are:<br />
1.    A proper Team Room.<br />
2.    Short Iterations.<br />
3.    Test Driven Development.</p>
<p><strong>A proper Team Room:</strong></p>
<p>This is astonishing: you can expect a 60% boost in team productivity from this single practice! The cost of re-stacking your cubes or office space is trivial compared to the benefits. At MindBlaze Technologies we have created nice, open-concept layout with lots of windows etc. A single team has a low wall separating them from each other. Because of poor layout that would block communication paths, their new setup would actually be worse than their old setup! Some research has shown that you can expect as much as a doubling of productivity. It’s one practice you don’t want to let your competitors pick up before you do! We have some tips on agile team room setup.<br />
1.    Light, Air, Nature<br />
An appropriate amount of natural light, air circulation and live plants are excellent ways to make a space suitable for human occupation. The lack of these things can subtly but surely slow down and demoralize a team.<br />
2.    Layout<br />
People need to be able to face each other and work beside each other. They also need a semi-private space to have discussions or make phone calls. The walls of the space need to have large areas that can be used for white boards.<br />
3.    Ergonomics<br />
It is just not worth it to have a high-performance team hampered by a poor workstation setup. Good chairs, tables at an appropriate height, and the flexibility to allow individual ergonomic needs to be accommodated.<br />
4.    Privacy<br />
Every member of the team needs to be able to get away for short amounts of time. Some organizations provide separate mini conference rooms. Others allow staff to keep a private cubicle away from the team room.<br />
5.    Personalization<br />
The area of space that a person occupies needs to be flexible and personalized. People need pictures, toys, plants, and other incidentals to help them make a space of their own.<br />
6.    Visibility to Outsiders<br />
Other people in the organization need to be able to walk by to see and hear what is going on with the Agile Work team. Open doors, windows, formation of cubicles all allow this.<br />
7.    Convenience<br />
The space must be located so that washrooms, coffee, printers and other common services are easily accessible. It should not be set off and isolated far away from everything else.<br />
8.    Noise<br />
The team will be noisy. Make sure that other people outside the team room are far enough away or isolated in some way from the noise. It can be hard to balance this with convenience and visibility.</p>
<p><strong>Short Iterations:</strong></p>
<p>Once you have set up your team room, it is critical for your team to have something to do! The fastest way to get your team doing something is to start using short cycles of work (iterations, sprints) to deliver valuable results such as working software. Many software development projects use iterations that are two weeks long or even a month long. We strongly recommend iterations that are only one week long. Again, the benefits are incredible: your team will move through the stages of team development (forming, storming, norming and performing &#8211; much more quickly than with longer iterations or no iterations), thus leading to high productivity much sooner. The value here is in the time gained. This chart demonstrates how this works:</p>
<p><strong>Test Driven Development:</strong></p>
<p>The short iterations provide a certain type of pressure that forces team and project crisis to happen quickly. However, because iterations deliver working, valuable results, the pressure is not demoralizing, instead it motivates teams to get through the crisis and reach the norming and performing stages of development quickly. Again, to make this work, there are some critical success factors including methods of allowing team commitment, self-organizing and obstacle removal.<br />
There is a myth that speed and quality are mutually exclusive. This comes from the idea that you need to slow down to make stuff high quality or that you need to sacrifice quality in order to go fast. It is true that initially you might get gains through these approaches. The really amazing thing happens when you try, deliberately and systematically, to do both high speed and high quality work. In software development this is best done through test driven development. In informal polling that I’ve done with teams I’ve worked with, test driven development produces a noticeable long-term productivity gain as well as a simultaneous increase in developer and end user satisfaction due to a substantial reduction in defects discovered after the code leaves the developers. I have seen teams doing this that reduce defect rates to 5% (or less!) of what they once were prior to test driven development… while at the same time delivering projects faster than expected. Since substantial expense is squandered on defect management (tools, support teams, user training, lost productivity, etc.) and since staff turnover is also high in IT and high-tech, the results of test driven development on the bottom line are substantial.</p>
<p><strong>Benefits of All three steps:</strong></p>
<p>If a team and an organization adopt these practices and get through the initial cost of learning them, then I would like to suggest that your teams can easily double their productivity if not more. For a team of 5 people working on a 100 day project this amounts to shortening the project to 50 days (save $200,000) or get twice as much work done. Clearly, an organization that adopted these practices and perfected them would save huge amounts of money and would be able to crush any competitors who are not doing this.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mindblazetech.com/2009/05/25/foundation-a-step-towards-agile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
