<?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>Software Testing Knowledge</title>
	<atom:link href="http://www.testingknowledge.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.testingknowledge.com</link>
	<description>Software Testing Discussion</description>
	<lastBuildDate>Thu, 09 Jun 2011 11:53:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>V Model</title>
		<link>http://www.testingknowledge.com/v-model</link>
		<comments>http://www.testingknowledge.com/v-model#comments</comments>
		<pubDate>Wed, 25 May 2011 17:17:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.testingknowledge.com/?p=61</guid>
		<description><![CDATA[Software testing is too important to leave to the end of the project, and the V-Model of testing incorporates testing into the entire software development life cycle. In a diagram of the V-Model, the V proceeds down and then up, &#8230; <a href="http://www.testingknowledge.com/v-model" class="more-link">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Software testing is too important to leave to the end of the project, and the V-Model of testing incorporates testing into the entire software development life cycle. In a diagram of the V-Model, the V proceeds down and then up, from left to right depicting the basic sequence of development and testing activities. The model highlights the existence of different levels of testing and depicts the way each relates to a different development phase.</p>
<p><span id="more-61"></span></p>
<p>&nbsp;</p>
<p><strong>1.Requirements analysis</strong>:</p>
<p>In this phase, the requirements of the proposed system are collected by analyzing the needs of the user(s). This phase is concerned about establishing what the ideal system has to perform. However, it does not determine how the software will be designed or built. Usually, the users are interviewed and a document called the user requirements document is generated. The user requirements document will typically describe the system’s functional, physical, interface, performance, data, security requirements etc as expected by the user. It is one which the business analysts use to communicate their understanding of the system back to the users. The users carefully review this document as this document would serve as the guideline for the system designers in the system design phase. The user acceptance tests are designed in this phase.</p>
<p><strong>2. System Design</strong>:</p>
<p>System engineers analyze and understand the business of the proposed system by studying the user requirements document. They figure out possibilities and techniques by which the user requirements can be implemented. If any of the requirements are not feasible, the user is informed of the issue. A resolution is found and the user requirement document is edited accordingly.</p>
<p>The software specification document which serves as a blueprint for the development phase is generated. This document contains the general system organization, menu structures, data structures etc. It may also hold example business scenarios, sample windows, reports for the better understanding. Other technical documentation like entity diagrams, data dictionary will also be produced in this phase. The documents for system testing is prepared in this phase.</p>
<p>&nbsp;</p>
<p><strong>3. Architecture Design</strong>:</p>
<p>This phase can also be called as high-level design. The baseline in selecting the architecture is that it should realize all which typically consists of the list of modules, brief functionality of each module, their interface relationships, dependencies, database tables, architecture diagrams, technology details etc. The integration testing design is carried out in this phase.</p>
<p>&nbsp;</p>
<p><strong>4. Module Design</strong>:</p>
<p>This phase can also be called as low-level design. The designed system is broken up in to smaller units or modules and each of them is explained so that the programmer can start coding directly. The low level design document or program specifications will contain a detailed functional logic of the module, in pseudocode &#8211; database tables, with all elements, including their type and size &#8211; all interface details with complete API references- all dependency issues- error message listings- complete input and outputs for a module. The unit test design is developed in this stage.</p>
<p>5. <strong>Unit Testing</strong>:</p>
<p>The primary goal of unit testing is to take the smallest piece of testable software in the application, isolate it from the remainder of the code, and determine whether it behaves exactly as you expect. Each unit is tested separately before integrating them into modules to test the interfaces between modules. Unit testing has proven its value in that a large percentage of defects are identified during its use.</p>
<p><strong> </strong><strong>6. Integration Testing:</strong></p>
<p>Integration testing is the phase in <a title="Software testing" href="http://en.wikipedia.org/wiki/Software_testing">software testing</a> in which individual software modules are combined and tested as a group. It occurs after <a title="Unit testing" href="http://en.wikipedia.org/wiki/Unit_testing">unit testing</a> and before <a title="System testing" href="http://en.wikipedia.org/wiki/System_testing">system testing</a>. Integration testing takes as its input <a title="Module (programming)" href="http://en.wikipedia.org/wiki/Module_%28programming%29">modules</a> that have been <a title="Unit testing" href="http://en.wikipedia.org/wiki/Unit_testing">unit tested</a>, groups them in larger aggregates, applies tests defined in an integration <a title="Test plan" href="http://en.wikipedia.org/wiki/Test_plan">test plan</a> to those aggregates, and delivers as its output the integrated system ready for <a title="System testing" href="http://en.wikipedia.org/wiki/System_testing">system testing</a>.</p>
<p><strong>7. System Testing:</strong></p>
<p><span style="text-decoration: underline;"><strong> </strong></span></p>
<p>System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system&#8217;s compliance with its specified <a title="Requirements" href="http://en.wikipedia.org/wiki/Requirements">requirements</a>. System testing falls within the scope of <a title="Black box testing" href="http://en.wikipedia.org/wiki/Black_box_testing">black box testing</a>, and as such, should require no knowledge of the inner design of the code or logic.</p>
<p>&nbsp;</p>
<p><strong>8. User Acceptance Testing:</strong></p>
<p><strong>Acceptance testing</strong> is a test conducted to determine if the requirements of a <a title="Specification" href="http://en.wikipedia.org/wiki/Specification">specification</a> or <a title="Contract" href="http://en.wikipedia.org/wiki/Contract">contract</a> are met.<strong> User Acceptance Testing</strong> (UAT) is a process to obtain confirmation that a system meets mutually agreed-upon requirements.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.testingknowledge.com/v-model/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Techniques of Testing</title>
		<link>http://www.testingknowledge.com/techniques-of-testing</link>
		<comments>http://www.testingknowledge.com/techniques-of-testing#comments</comments>
		<pubDate>Wed, 25 May 2011 17:17:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.testingknowledge.com/?p=59</guid>
		<description><![CDATA[There are two types of testing techniques: 1) Black Box Testing Black box testing treats the system as a “black-box”, so it doesn’t explicitly use Knowledge of the internal structure or code. Or in other words the Test engineer need &#8230; <a href="http://www.testingknowledge.com/techniques-of-testing" class="more-link">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><span style="color: #000000;">There are two types of testing techniques:</span></p>
<p><strong><span style="color: #000000;">1) Black Box Testing</span></strong></p>
<p><span id="more-59"></span></p>
<p><span style="color: #000000;">Black box testing treats the system as a <strong>“black-box”</strong>,  so it doesn’t explicitly use Knowledge of the internal structure or  code. Or in other words the Test engineer need not know the internal  working of the “Black box” or application.<strong>Main focus in black box testing is on functionality of the system as a whole.</strong> The term <strong>‘behavioral testing’</strong> is also used for black box testing and white box testing is also sometimes called <strong>‘structural testing’</strong>.  Behavioral test design is slightly different from black-box test design  because the use of internal knowledge isn’t strictly forbidden, but  it’s still discouraged.</span></p>
<p><span style="color: #000000;"><strong>Methods of Black box Testing:</strong></span></p>
<p style="text-align: justify;"><span style="color: #000000;"><strong>a)Boundary Value Analysis-</strong>Boundary value analysis is a </span><a title="Software testing" href="http://en.wikipedia.org/wiki/Software_testing"><span style="color: #000000;">software testing</span></a><span style="color: #000000;"> technique in which tests are designed to include representatives of  boundary values. Values on the minimum and maxiumum edges of an </span><a title="Equivalence partitioning" href="http://en.wikipedia.org/wiki/Equivalence_partitioning"><span style="color: #000000;">equivalence partition</span></a><span style="color: #000000;"> are tested. The values could be either input or output ranges of a  software component. Since these boundaries are common locations for  errors that result in software </span><a title="Fault (technology)" href="http://en.wikipedia.org/wiki/Fault_%28technology%29"><span style="color: #000000;">faults</span></a><span style="color: #000000;"> they are frequently exercised in </span><a title="Test case" href="http://en.wikipedia.org/wiki/Test_case"><span style="color: #000000;">test cases</span></a><span style="color: #000000;">.</span></p>
<p><span style="color: #000000;"><strong>b)Equivalence Value Partitioning-</strong>In this method the input domain data is divided into different equivalence data classes. This method is typically used to reduce the total number of test cases to a finite set of testable test cases, still covering maximum requirements.</span></p>
<p><span style="color: #000000;"><strong>c)Error Guessing-</strong><strong> Error guessing</strong> is a </span><a title="Test method" href="http://en.wikipedia.org/wiki/Test_method"><span style="color: #000000;">test method</span></a><span style="color: #000000;"> in which </span><a title="Test case" href="http://en.wikipedia.org/wiki/Test_case"><span style="color: #000000;">test cases</span></a><span style="color: #000000;"> used to find </span><a title="Computer bug" href="http://en.wikipedia.org/wiki/Computer_bug"><span style="color: #000000;">bugs</span></a><span style="color: #000000;"> in </span><span style="text-decoration: underline;"><a title="Computer program" href="http://en.wikipedia.org/wiki/Computer_program"><span style="color: #000000;">programs</span></a></span><span style="color: #000000;"> are established based on </span><a title="Experience" href="http://en.wikipedia.org/wiki/Experience"><span style="color: #000000;">experience</span></a><span style="color: #000000;"> in prior testing. The scope of test cases usually rely on the software tester involved, who uses past experience and </span><a title="Intuition" href="http://en.wikipedia.org/wiki/Intuition"><span style="color: #000000;">intuition</span></a><span style="color: #000000;"> to determine what situations commonly cause software failure, or may cause errors to appear.</span></p>
<p><span style="color: #000000;"><br />
</span></p>
<p><strong><span style="color: #000000;">2)White Box Testing</span></strong></p>
<p><strong>White-box testing</strong> is a method of testing  software that tests internal structures or workings of an application,  as opposed to its functionality (i.e. <a title="Black-box testing" href="http://en.wikipedia.org/wiki/Black-box_testing">black-box testing</a>).  In white-box testing an internal perspective of the system, as well as  programming skills, are required and used to design test cases. The  tester chooses inputs to exercise paths through the code and determine  the appropriate outputs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.testingknowledge.com/techniques-of-testing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Security Testing</title>
		<link>http://www.testingknowledge.com/security-testing</link>
		<comments>http://www.testingknowledge.com/security-testing#comments</comments>
		<pubDate>Tue, 24 May 2011 03:35:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.testingknowledge.com/?p=52</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.testingknowledge.com/security-testing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test Strategy &amp; Test Plan</title>
		<link>http://www.testingknowledge.com/test-strategy-test-plan</link>
		<comments>http://www.testingknowledge.com/test-strategy-test-plan#comments</comments>
		<pubDate>Tue, 24 May 2011 03:35:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.testingknowledge.com/?p=50</guid>
		<description><![CDATA[Test Plan &#160; A test plan documents the strategy that will be used to verify and ensure that a product or system meets its design specifications and other requirements. A test plan is usually prepared by or with significant input &#8230; <a href="http://www.testingknowledge.com/test-strategy-test-plan" class="more-link">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Test Plan </strong></p>
<p>&nbsp;</p>
<p>A test plan documents the strategy that will be used to verify and ensure that a product or system meets its design specifications and other requirements. A test plan is usually prepared by or with significant input from <a title="Test Engineer" href="http://en.wikipedia.org/wiki/Test_Engineer">Test Engineers</a>. The Test Plan document is derived from the Product Description, Software Requirement Specification SRS, or Use Case Documents.<br />
The Test Plan document is usually prepared by the Test Lead or Test Manager and the focus of the document is to describe what to test, how to test, when to test and who will do what test.</p>
<p><span id="more-50"></span></p>
<p>&nbsp;</p>
<p>Contents of Test Plan:-</p>
<ul>
<li>Test Plan id</li>
<li>Introduction</li>
<li>Test items</li>
<li>Features to be tested</li>
<li>Features not to be tested</li>
<li>Test techniques</li>
<li>Testing tasks</li>
<li>Suspension criteria</li>
<li>Features pass or fail      criteria</li>
<li>Test environment (Entry      criteria, Exit criteria)</li>
<li>Test deliverables</li>
<li>Staff and training needs</li>
<li>Responsibilities</li>
<li>Schedule</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>Test Strategy</strong></p>
<p><a href="http://www.blurtit.com/q951333.html">Test strategy</a> is also a document and it is the responsibility of the project manager to develop it. It contains which techniques we will use and what will be the module to test. Here technique means type of testing. As different testing techniques can be applied to <a href="http://www.blurtit.com/q951333.html">test software</a> based on our goals. For example stress and <a href="http://www.blurtit.com/q951333.html">load testing</a> is applied on web based applications. We have to decide which testing approach we will use to test a module as following testing approaches can be used.</p>
<p>(1)Black Box Testing (2) White Box Testing (3) Ad-hoc testing (4) Acceptance Testing (5) Recovery testing (6) Sanity testing (7) Smoke testing (8) Regression testing (9) End to End Testing (10) System Testing (11) Functional Testing (12) Unit Testing (13) Alpha Testing (14) Beta Testing (15) Exploratory Testing etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.testingknowledge.com/test-strategy-test-plan/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GUI Testing</title>
		<link>http://www.testingknowledge.com/gui-testing</link>
		<comments>http://www.testingknowledge.com/gui-testing#comments</comments>
		<pubDate>Tue, 24 May 2011 03:35:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.testingknowledge.com/?p=48</guid>
		<description><![CDATA[GUI Testing GUI testing is a process to test application&#8217;s user interface and to detect if application is functionally correct. GUI testing involves carrying set of tasks and comparing the result of same with the expected output and ability to &#8230; <a href="http://www.testingknowledge.com/gui-testing" class="more-link">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>GUI Testing</strong></p>
<p><strong> </strong></p>
<p>GUI testing is a process to test application&#8217;s user interface and to detect if application is functionally correct. GUI testing involves carrying set of tasks and comparing the result of same with the expected output and ability to repeat same set of tasks multiple times with different data input and same level of accuracy. GUI Testing includes how the application handles keyboard and mouse events, how different GUI components like menu bars, toolbars, dialogs, buttons, edit fields, list controls, images etc. reacts to user input and whether or not it performs in the desired manner. Implementing GUI testing for your application early in the software development cycle speeds up development improves quality and reduces risks towards the end of the cycle. GUI Testing can be performed both manually with a human tester or could be performed automatically with use of a software program.</p>
<p><span id="more-48"></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Manual testing is often error prone and there are chances of most of the test scenarios left out. Also with the project in development phase where source code changes appear every other day, manually keeping up with the pace to test each and every feature is a difficult task. More often then not the newly added features would bring regression along with them, so to accurately cover all the old test cases manually are very time consuming and error prone.</p>
<p>Automated GUI Testing is use of software program to detect if your desktop application is functionally correct. Automated GUI Testing includes automating manual testing tasks which are mostly time consuming and error prone. Automated GUI Testing is a more accurate, efficient, reliable and cost effective replacement to manual testing. Automated GUI Testing involves carrying set of tasks automatically and comparing the result of same with the expected output and ability to repeat same set of tasks multiple times with different data input and same level of accuracy. Implementing GUI Testing for your application early in the software development cycle speeds up development improves quality and reduces risks towards the end of the cycle.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.testingknowledge.com/gui-testing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Testing</title>
		<link>http://www.testingknowledge.com/web-testing</link>
		<comments>http://www.testingknowledge.com/web-testing#comments</comments>
		<pubDate>Tue, 24 May 2011 03:34:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.testingknowledge.com/?p=46</guid>
		<description><![CDATA[Web testing is the name given to software testing that focuses on web applications. Complete testing of a web-based system before going live can help address issues before the system is revealed to the public. Issues such as the security &#8230; <a href="http://www.testingknowledge.com/web-testing" class="more-link">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Web testing is the name given to <a title="Software testing" href="http://en.wikipedia.org/wiki/Software_testing">software testing</a> that focuses on <a title="Web applications" href="http://en.wikipedia.org/wiki/Web_applications">web applications</a>. Complete testing of a web-based system before going live can help address issues before the system is revealed to the public. Issues such as the security of the web application, the basic functionality of the site, its accessibility to handicapped users and fully able users, as well as readiness for expected traffic and number of users and the ability to survive a massive spike in user traffic, both of which are related to <a title="Load testing" href="http://en.wikipedia.org/wiki/Load_testing">load testing</a>.</p>
<p><span id="more-46"></span></p>
<p>&nbsp;</p>
<p>Main focus areas:-</p>
<p>1) Functionality Testing- Functional testing refers to activities that verify a specific action or function of the code. These are usually found in the code requirements documentation, although some development methodologies work from use cases or user stories. Functional tests tend to answer the question of &#8220;can the user do this&#8221; or &#8220;does this particular feature work&#8221;.<br />
<strong>2)</strong> Usability testing- Usability testing is a technique for ensuring that the</p>
<p>Intended users of a system can carry out the</p>
<p>Intended tasks efficiently, effectively and</p>
<pre>Satisfactorily.
<strong>3)</strong> Compatibility testing- Compatibility testing, part of software <a title="Non-functional tests" href="http://en.wikipedia.org/wiki/Non-functional_tests">non-functional tests</a>, is testing conducted on the application to evaluate the application's compatibility with the computing environment.
<strong>4)</strong> Performance testing- Performance testing is <a title="Software testing" href="http://en.wikipedia.org/wiki/Software_testing">testing</a> that is performed, to determine how fast some aspect of a <a title="System" href="http://en.wikipedia.org/wiki/System">system</a> performs under a particular workload. It can also serve to validate and verify other <a title="Quality" href="http://en.wikipedia.org/wiki/Quality">quality</a> <a title="Attribute" href="http://en.wikipedia.org/wiki/Attribute">attributes</a> of the system, such as <a title="Scalability" href="http://en.wikipedia.org/wiki/Scalability">scalability</a>, <a title="Reliability" href="http://en.wikipedia.org/wiki/Reliability">reliability</a> and resource usage.
<strong>5)</strong> Security testing- Security testing is a process to determine that an <a title="Information system" href="http://en.wikipedia.org/wiki/Information_system">information system</a> protects data and maintains functionality as intended.
<strong>6) </strong>Compliance Testing- Compliance testing detemines, whether we are implementing</pre>
<pre>And meeting the defined standards.</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.testingknowledge.com/web-testing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Testing</title>
		<link>http://www.testingknowledge.com/agile-testing</link>
		<comments>http://www.testingknowledge.com/agile-testing#comments</comments>
		<pubDate>Tue, 24 May 2011 03:34:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.testingknowledge.com/?p=44</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.testingknowledge.com/agile-testing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Database Testing</title>
		<link>http://www.testingknowledge.com/database-testing</link>
		<comments>http://www.testingknowledge.com/database-testing#comments</comments>
		<pubDate>Tue, 24 May 2011 03:34:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.testingknowledge.com/?p=42</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.testingknowledge.com/database-testing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing Life Cycle</title>
		<link>http://www.testingknowledge.com/testing-life-cycle</link>
		<comments>http://www.testingknowledge.com/testing-life-cycle#comments</comments>
		<pubDate>Tue, 24 May 2011 03:33:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.testingknowledge.com/?p=39</guid>
		<description><![CDATA[Software testing life cycle or STLC refers to a comprehensive group of testing related actions specifying details of every action along with the specification of the best time to perform such actions. There can not be a standardized testing process &#8230; <a href="http://www.testingknowledge.com/testing-life-cycle" class="more-link">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Software testing life cycle or STLC refers to a comprehensive group of testing related actions specifying details of every action along with the specification of the best time to perform such actions. There can not be a standardized testing process across various organizations, however every organization involved in software development business, defines &amp; follows some sort of testing life cycle.</p>
<p><span id="more-39"></span></p>
<p>Six phases of testing life cycle:-</p>
<p>1) Planning of Tests:<br />
In this phase a senior person like the project manager plans &amp; identifies all the areas where testing efforts need to be applied, while operating within the boundaries of constraints like resources &amp; budget. Unless judicious planning is done in the beginning, the result can be catastrophic with emergence of a poor quality product, dissatisfying the ultimate customer. Planning is not limited just to the initial phase, rather it is a continuous exercise extending till the end.</p>
<p>During the planning stage, the team of senior level persons comes out with an outline of Testing Plan at High Level. The High Level Test Plan comprehensively describes the following:</p>
<ul>
<li>Scope of Testing : Defining the areas to be tested,      identification of features to be covered during testing</li>
<li>Identification of Approaches for Testing: Identification of      approaches including types of testing</li>
<li>Defining Risks: Identification of different types of risks      involved with the decided plan</li>
<li>Identification of resources : Identification of resources      like man, materials &amp; machines      which need to be deployed during Testing</li>
<li>Time schedule: For performing the decided testing is aimed to      deliver the end product as per the commitment made to the customer.Involvement of software testers begins in the planning phase of the      software development life cycle. During the design phase, testers work      with developers in determining what aspects of a design are testable and      with what parameters those tests will work.</li>
</ul>
<p>2) Analysis of Tests:<br />
Based upon the High Level Test Plan Document, further nitty-gritty’s covering the following are worked out.</p>
<ul>
<li>Identification of Types of      Testing to be performed during various stages of Software Development Life      Cycle.</li>
<li>Identification of extent to      which automation needs to be done.</li>
<li>Identification of the time at      which automation is to be carried out.</li>
<li>Identification of      documentation required for automated testing</li>
</ul>
<p>The Software project can’t be successful unless there is frequent interaction among various teams involved in Coding &amp; Testing with the active involvement of the Project Managers, Business Analysts or even the customer. Any deficiencies in the decided test plans come to the surface, during such meetings of cross-functional teams. This provides an opportunity to have a rethinking &amp; refining the strategies decided for testing.</p>
<p>Based upon the customer requirements a detailed matrix for functional validation is prepared to cover the following areas:</p>
<ul>
<li>Ensure that each &amp; every      business requirement is getting covered through some test case or the      other.</li>
<li>Identification of the test      cases best suited to the automated testing</li>
</ul>
<ul>
<li>Identification of the areas      to covered for performance testing and stress testing</li>
<li>Carry out detailed review of      documentation covering areas like Customer Requirements, Product Features      &amp; Specifications and Functional Design etc.</li>
</ul>
<p>3) Designing of Tests:<br />
This phase involves the following:</p>
<ul>
<li>Further polishing of various      Test Cases, Test Plans</li>
<li>Revision &amp; finalization      of Matrix for Functional Validation.</li>
<li>Finalization of risk      assessment methodologies.</li>
<li>In case line of automation is      to be adopted, identification of test cases suitable for automation.</li>
<li>Creation of scripts for Test      cases decided for automation.</li>
<li>Preparation of test data.</li>
<li>Establishing Unit testing      Standards including defining acceptance criteria</li>
<li>Revision &amp; finalization      of testing environment.</li>
</ul>
<p>4) Construction and verification:<br />
This phase involves the following:</p>
<ul>
<li>Finalization of test plans      and test cases</li>
<li>Completion of script creation      for test cased decided for automation.</li>
<li>Completion of test plans for      Performance testing &amp; Stress testing.</li>
<li>Providing technical support      to the code developers in their effort directed towards unit testing.</li>
<li>Bug logging in bug repository      &amp; preparation of detailed bug report.</li>
<li>Performing Integration      testing followed by reporting of defects detected if any.</li>
</ul>
<p>&nbsp;</p>
<p>5) Execution of Testing Cycles:<br />
This phase involves the following:</p>
<ul>
<li>Completion of test cycles by      executing all the test cases till a predefined stage reaches or a stage of      no detection of any more errors reach.</li>
<li>This is an iterative process      involving execution of Test Cases, Detection of Bugs, Bug Reporting,      Modification of test cases if felt necessary, Fixing of bugs by the      developers &amp; finally repeating the testing cycles.</li>
</ul>
<p>6) Performance Testing, Documentation &amp; Actions after Implementation:<br />
This phase involves the following:</p>
<ul>
<li>Execution of test cases      pertaining to performance testing &amp; stress testing.</li>
<li>Revision &amp; finalization      of test documentation</li>
<li>Performing Acceptance      testing, load testing followed by recovery testing</li>
<li>Verification of the software      application by simulating conditions of actual usage.</li>
</ul>
<p>7) Actions after Implementation:<br />
This phase involves the following:</p>
<ul>
<li>Evaluation of the entire      process of testing.</li>
<li>Documentation of TGR (Things      Gone Right) &amp; TGW (Things Gone Wrong) reports. Identification of      approaches to be followed in the event of occurrence of similar defects      &amp; problems in the future.</li>
<li>Creation of comprehensive      plans with a view to refine the process of Testing.</li>
<li>Identification &amp; fixing      of newly cropped up errors on continuous basis.</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.testingknowledge.com/testing-life-cycle/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing Types</title>
		<link>http://www.testingknowledge.com/testing-types-techniques</link>
		<comments>http://www.testingknowledge.com/testing-types-techniques#comments</comments>
		<pubDate>Tue, 24 May 2011 03:33:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.testingknowledge.com/?p=37</guid>
		<description><![CDATA[Unit testing –Software verification and validation method in which a programmer tests if individual units of source code are fit for use. It is usually conducted by the development team. Integration testing – The phase in software testing in which &#8230; <a href="http://www.testingknowledge.com/testing-types-techniques" class="more-link">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Unit testing</strong> –Software verification and validation method in which a programmer tests if individual units of source code are fit for use. It is usually conducted by the development team.</p>
<p><span id="more-37"></span></p>
<p><strong>Integration testing</strong> – The phase in software testing in which individual software modules are combined and tested as a group. It is usually conducted by testing teams.</p>
<p><strong>Functional testing</strong> –Type of black box testing that bases its test cases on the specifications of the software component under test. It is performed by testing teams.</p>
<p><strong>System testing</strong> –The process of testing an integrated hardware and software system to verify that the system meets its specified requirements. It is conducted by the testing teams in both development and target environment.</p>
<p><strong>End-to-end testing</strong> – Similar to system testing, involves testing of a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate. It is performed by QA teams.</p>
<p><strong>Sanity testing </strong>- Testing technique which determines if a new software version is performing well enough to accept it for a major testing effort. It is performed by the testing teams.</p>
<p><strong>Regression testing</strong> – Type of software testing that seeks to uncover software errors after changes to the program (e.g. bug fixes or new functionality) have been made, by retesting the program. It is performed by the testing teams.</p>
<p><strong>Acceptance testing</strong> -Formal testing conducted to determine whether or not a system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system. It is usually performed by the customer.</p>
<p><strong>Load testing</strong> – Testing technique that puts demand on a system or device and measures its response. It is usually conducted by the performance engineers.</p>
<p><strong>Stress testing</strong> – System is stressed beyond its specifications to check how and when it fails. Performed under heavy load like putting large number beyond storage capacity, complex database queries, continuous input to system or database load.</p>
<p><strong>Performance testing</strong> – Functional testing conducted to evaluate the compliance of a system or component with specified performance requirements. It is usually conducted by the performance engineer.</p>
<p><strong>Usability testing</strong> – Testing technique which verifies the ease with which a user can learn to operate, prepare inputs for, and interpret outputs of a system or component. It is usually performed by end users.</p>
<p><strong>Install/uninstall testing </strong>- Quality assurance work that focuses on what customers will need to do to install and set up the new software successfully. It may involve full, partial or upgrades install/uninstall processes and is typically done by the software testing engineer in conjunction with the configuration manager.</p>
<p><strong>Recovery testing</strong> – Testing technique which evaluates how well a system recovers from crashes, hardware failures, or other catastrophic problems. It is performed by the testing teams.</p>
<p><strong>Security testing</strong> &#8211; A process to determine that an information system protects data and maintains functionality as intended. It can be performed by testing teams or by specialized security-testing companies.</p>
<p><strong>Compatibility testing</strong> – Testing technique that validates how well a software performs in a particular hardware/software/operating system/network environment. It is performed by the testing teams.</p>
<p><strong>Comparison testing</strong> – Testing technique which compares the product strengths and weaknesses with previous versions or other similar products. Can be performed by tester, developers, product managers or product owners..</p>
<p><strong>Alpha testing</strong> – Type of testing a software product or system conducted at the developer&#8217;s site. Usually it is performed by the end user.</p>
<p><strong>Beta testing</strong> – Final testing before releasing application for commercial purpose. It is typically done by end-users or others.</p>
<p><strong>Ad-hoc Testing:</strong> Testing performed without planning and documentation &#8211; the tester tries to &#8216;break&#8217; the system by randomly trying the system&#8217;s functionality. It is performed by the testing teams.</p>
<p><strong>Exploratory Testing:</strong> Black box testing technique performed without planning and documentation. It is usually performed by manual testers.</p>
<p><strong>Globalization Testing:</strong> Testing method that checks proper functionality of the product with any of the culture/locale settings using every type of international input possible. It is performed by the testing team.</p>
<p><strong>Non-functional Testing:</strong> Testing technique which focuses on testing of a software application for its non-functional requirements. Can be conducted by the performance engineers or by manual testing teams.</p>
<p><strong>Negative Testing:</strong> Also known as &#8220;test to fail&#8221; &#8211; testing method where the tests&#8217; aim is showing that a component or system does not work. It is performed by manual or automation testers.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.testingknowledge.com/testing-types-techniques/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

