<?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 Assurance</title>
	<atom:link href="http://blog.mindblazetech.com/category/qm/quality-assurance/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>Testing Amazon Web Services</title>
		<link>http://blog.mindblazetech.com/2009/07/05/testing-amazon-web-services/</link>
		<comments>http://blog.mindblazetech.com/2009/07/05/testing-amazon-web-services/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 06:38:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[EC3]]></category>
		<category><![CDATA[S3]]></category>
		<category><![CDATA[Soap Sonar]]></category>
		<category><![CDATA[WSDL]]></category>

		<guid isPermaLink="false">http://blog.mindblazetech.com/?p=38</guid>
		<description><![CDATA[Almost all software components expose their interfaces through web services for SOAP &#38; XML matching. As an example the Amazon Elastic cloud (EC2) extends the web services interface notion beyond software components to provisioning Linux hardware instances on demand. The Amazon EC2 provides a simple web services interface that permits users to configure Linux servers [...]]]></description>
			<content:encoded><![CDATA[<p>Almost all software components expose their interfaces through web services for SOAP &amp; XML matching. As an example the Amazon Elastic cloud (EC2) extends the web services interface notion beyond software components to provisioning Linux hardware instances on demand. The Amazon EC2 provides a simple web services interface that permits users to configure Linux servers to adjust to your growing capacity needs. As you build a robust, secure and interoperable service oriented architecture with Amazon EC2 as a core capacity and scaling component, the need for using products like SOAP Sonar for establishing quality and repeatability of your IT assets will become crucial.</p>
<p>Using Amazon EC2 and S3 WSDL interface is easy. We ‘re impressed with the interoperability displayed between a web services client tool, Soap Sonar and Linux based products such as Amazon EC2 and S3. The interoperability is evident across a couple of aspects.</p>
<p>1: Class platform WSDL generation and consumption</p>
<p>2: WS-Security x.509 profile generation by .NET and consumption by the Amazon Platform.<br />
The WSDL based interfaces provided by both EC2 and S3 are powerful for quick integration within existing web services aware management and provision products. We would like to see these APIs aggressively enhanced to include performance related operation calls, listing multiple instances much like the command line interface, and better authentication characteristics. At a minimum, the WSDL based API should be always kept par with command line interface.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mindblazetech.com/2009/07/05/testing-amazon-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quality Assurance</title>
		<link>http://blog.mindblazetech.com/2009/06/02/quality-assurance/</link>
		<comments>http://blog.mindblazetech.com/2009/06/02/quality-assurance/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 11:58:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quality Assurance]]></category>

		<guid isPermaLink="false">http://blog.mindblazetech.com/?p=30</guid>
		<description><![CDATA[Software QA involves the entire software development PROCESS &#8211; monitoring and improving the process, making sure that any agreed-upon standards and procedures are followed, and ensuring that problems are found and dealt with. It is oriented towards &#8216;prevention&#8217;.
Highlights of QA Role in Requirements Analysis Phase:
1.	Pro actively participate with Business Analyst in requirements gathering.
2.	Help the Business [...]]]></description>
			<content:encoded><![CDATA[<p>Software QA involves the entire software development PROCESS &#8211; monitoring and improving the process, making sure that any agreed-upon standards and procedures are followed, and ensuring that problems are found and dealt with. It is oriented towards &#8216;prevention&#8217;.</p>
<p><strong>Highlights of QA Role in Requirements Analysis Phase:</strong><br />
1.	Pro actively participate with Business Analyst in requirements gathering.<br />
2.	Help the Business Analyst in preparing requirements specification document.<br />
3.	Help the Business Analyst in preparing Functional specification document.<br />
4.	Plan and organize requirements document and conduct formal and informal reviews.<br />
5.	Pinpoint ambiguous statements in the requirements document and discuss them with relevant stakeholders.<br />
6.	Help the Business Analyst in documenting Business Rules.<br />
7.	Plan and organize the formal and informal reviews of the Business Rules document.<br />
8.	Plan and organize the inspections of all requirements documents.<br />
9.	Prepare minutes of the meeting of every formal review and assign action items to relevant stakeholders.<br />
10.	Plan and organize formal walk through of all the requirements documents.<br />
11.	Separate functional and non functional requirements.<br />
12.	Plan and organize database architecture walk through on white board and write minutes of meetings.<br />
13.	Help the Business Analyst to prepare UML diagrams such as use case diagrams.<br />
14.	Discuss assumptions for non functional requirements with all relevant stake holders.<br />
15.	Make sure that all preventive measures are taken.<br />
16.	Prepare test strategies and test plans when requirements have matured.<br />
17.	QA scope identification and scheduling coordinated by the development manager. QA’s timelines are added in the master project schedule.<br />
18.	QA team plans internal audits.<br />
19.	Plan the number of testing cycles required.<br />
20.	Prepare application acceptance criteria.<br />
21.	Test Case preparation.<br />
22.	Test Scenario identification.<br />
23.	Test Data Preparation.<br />
24.	Test Bed preparation.<br />
25.	Prepare test data scripts.<br />
26.	Ensure test first development in Agile projects.<br />
27.	Prepare testing life cycle.</p>
<p><strong>QA Role in Requirements Analysis Phase for Agile Projects</strong><br />
i.	Help to communicate if user stories are not well defined.<br />
ii.	Suggest adding stories related to testability.<br />
iii.	make sure that people are creating good unit tests and/or write unit tests<br />
iv.	write tests for stories for test first development.<br />
v.	add stories for improving usability.<br />
vi.	verify the completion of stories as they are completed.<br />
vii.	Actively Participate in life cycle of AMDD(Agile Model Driven Development).<br />
viii.	Give suggestions to Business Analyst for improvements in Requirement Engineering protocols and practices.</p>
<p><strong>QA Envisioning in the Analysis Phase:</strong><br />
1.	What will be built?<br />
2.	When it should be built?<br />
3.	In what order should we build it?</p>
<p><strong>Highlights of the QA Role in the Design Phase:</strong><br />
1.	Plans and organizes design review meetings<br />
i.	Primary design review<br />
ii.	Critical design review.<br />
2.	Makes sure that process and protocols are followed.<br />
3.	For web applications, ensures that the design is w3c compliant and works fine in all web browsers.<br />
4.	Discuss application flows with Design Architect and Business Analyst and suggest them user friendly flows.<br />
5.	If issues are found in design review meetings, QA logs those defects in a bug tracking tool.<br />
6.	Assigns action items to relevant stakeholders and follows up with them.<br />
7.	Identifies possible concurrency issues for web applications.<br />
8.	Identifies possible deadlocks for web applications.<br />
9.	Updates design defects statuses and minutes of meetings.<br />
10.	Adds or updates test scenarios.<br />
11.	Assists design architects in design web applications with respect to web 2.0 standards.<br />
12.	Helps development teams to write/update unit test cases.<br />
13.	Plans and organizes unit test review meetings by coordinating with the development team lead.<br />
14.	Ensures company processes and protocols are being followed in every level of the Software Development Life Cycle.<br />
15.	Documents all the work being done by the developers in the form of data flow diagrams.<br />
16.	Helps in preparing the Design Specification document.<br />
17.	Makes sure that all preventive measures are taken.<br />
18.	Plans and organizes inspection of design document.<br />
19.	Prepares minutes of the meeting and logs them into the organization’s bug tracking tool.<br />
20.	Assigns action items to relevant stakeholders and follow up with them.<br />
21.	Make sure that all corrective actions are taken on design level issues before hand over to development team.</p>
<p><strong>Highlights of QA Role in Coding Phase:</strong><br />
1.	Prepares checklists for developers that contain standards and guidelines for them.<br />
2.	Ensures test driven development protocols are being followed and suggests unit tests to write.<br />
3.	Prepares documents containing coding practices and standards for the development team lead.<br />
4.	Ensures that defined coding standards, procedures and protocols are followed.<br />
5.	Ensures that code is properly commented.<br />
6.	Prepares conventions document for variable declaration, file names, file type, database table names and database field names.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mindblazetech.com/2009/06/02/quality-assurance/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>
