<?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 Help &#187; Types of testing</title>
	<atom:link href="http://www.softwaretestinghelp.com/category/types-of-testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.softwaretestinghelp.com</link>
	<description>Software Testing Complete Guide</description>
	<lastBuildDate>Thu, 26 Jan 2012 19:41:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Application Testing – Into the Basics of Software Testing!</title>
		<link>http://www.softwaretestinghelp.com/application-testing-%e2%80%93-into-the-basics-of-software-testing/</link>
		<comments>http://www.softwaretestinghelp.com/application-testing-%e2%80%93-into-the-basics-of-software-testing/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 19:59:20 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[Basics of Software testing]]></category>
		<category><![CDATA[Testing best practices]]></category>
		<category><![CDATA[Testing Concepts]]></category>
		<category><![CDATA[Types of testing]]></category>
		<category><![CDATA[Application Testing]]></category>
		<category><![CDATA[Application Testing Tools]]></category>
		<category><![CDATA[Software Test Plan]]></category>
		<category><![CDATA[Testing Cycle]]></category>

		<guid isPermaLink="false">http://www.softwaretestinghelp.com/?p=852</guid>
		<description><![CDATA[Topics we will cover in this article: - Application Testing - Categories of Applications - Application Testing Methodologies - Application Testing Tools - Software Test Plan - Application Testing Cycles - Application Testing – Best Practices Application Testing is an activity that every software tester performs daily in his career. These two words are extremely [...]<p>---------------------<br/>
I just wanted to thank you for subscribing to SoftwareTestingHelp.com. <b>This blog is a success because of you and your support. Here's to your success!</b><br/><br/>As always, I appreciate your valuable comments. <b>Visit below link to post your comment:</b><br/><b><a href="http://www.softwaretestinghelp.com/application-testing-%e2%80%93-into-the-basics-of-software-testing/">Application Testing – Into the Basics of Software Testing!</a></b>
<br/><br/>Thank you so much!
---------------------<br/>
<b>Recommended:</b>
<a href="http://www.testlodge.com/">
<img src="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2012/01/TestLodge.jpg" alt="HTML tutorial" width="117" height="42" />
</a>
<a href="http://www.testlodge.com/"><b>TestLodge - Online test case management tool</b></a> - Web based test case management software allowing you to manage your test plans, requirements, test cases and test runs with ease.</p>
]]></description>
			<content:encoded><![CDATA[<p><strong>Topics we will cover in this article:</strong><br />
- Application Testing<br />
- Categories of Applications<br />
- Application Testing Methodologies<br />
- Application Testing Tools<br />
- Software Test Plan<br />
- Application Testing Cycles<br />
- Application Testing – Best Practices</p>
<p>Application Testing is an activity that every software tester performs daily in his career. These two words are extremely broad in practical aspect. However, only the core and most important areas will be discussed here. The purpose of this article is to touch all the primary areas so that the readers will get all the basic briefing at a single place.</p>
<h3>Categories of Applications</h3>
<p>Whether it is small calculator software with only the basic arithmetic <span id="more-852"></span>operations, or an online enterprise solution; there are two categories of applications.<br />
<strong>a. <a title="Difference between Desktop, Client server and Web testing" href="http://www.softwaretestinghelp.com/difference-between-desktop-client-server-and-web-testing/">Desktop</a></strong><br />
<strong>b. <a title="Web testing complete guide" href="http://www.softwaretestinghelp.com/web-application-testing/">Web</a></strong></p>
<p>For desktop applications, testing should take into account the UI, business logic, database, reports, roles and rights, integrity, usability and data flow. For web applications, along with all these major areas; testers should give sufficient importance to performance, load and security of the application. So AUT is either desktop software or a website.</p>
<h3><a href="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2011/08/Application-Testing.jpg"><img class="size-full wp-image-856 alignnone" title="Application Testing" src="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2011/08/Application-Testing.jpg" alt="Application Testing" width="244" height="148" /></a></h3>
<h3>Application Testing Methodologies</h3>
<p>This is a well-known and well discussed aspect; there are only 3 universally accepted methodologies;</p>
<p><strong>a. <a title="Black box testing" href="http://www.softwaretestinghelp.com/black-box-testing/">Black Box</a>:</strong> In black-box testing, the AUT is validated against its requirements considering the inputs and expected outputs, regardless of how the inputs are transformed into outputs. Testers are least concerned with internal structure or code that implements the business logic of the application. There are four primary techniques to design test cases for black box testing;</p>
<p>i. BVA (<a title="Boundary value analysis and equivalence partitioning" href="http://www.softwaretestinghelp.com/what-is-boundary-value-analysis-and-equivalence-partitioning/">Boundary value Analysis</a>)<br />
ii. EP (Equivalence Partitioning)<br />
iii. Decision Tables<br />
iv. State Transition Tables (and diagrams)</p>
<p><strong>a. <a title="White box testing" href="http://www.softwaretestinghelp.com/white-box-testing/">White Box</a>:</strong> Primary focus of this methodology is to validate, how the business logic of application is implemented by code. Internal structure of the application is tested and the techniques available to do so are;</p>
<p>i. <a title="Maximum code coverage" href="http://www.softwaretestinghelp.com/practical-approaches-to-improving-your-testing-by-maximizing-code-coverage/">Code Coverage</a><br />
ii. Path Coverage</p>
<p>Both the above listed techniques contain several other strategies that may be discussed in some other article. Some techniques are discussed in ‘<a title="Writing effective test cases" href="http://www.softwaretestinghelp.com/how-to-write-effective-test-cases-test-cases-procedures-and-definitions/">Test Case Design Techniques</a>’ topic.</p>
<p><strong>a. Grey Box: </strong>Practically speaking, this is a mixture of black box and white box. In this methodology, mainly the tester tests the application as in black box. But, for some business critical or vulnerable modules of application; testing is done as white box.</p>
<h3>Application <a title="Software testing tools" href="http://www.softwaretestinghelp.com/category/software-testing-tools/">Testing Tools</a></h3>
<p>According to the best of my knowledge, there are at least 50 testing tools available in market today. These include both paid and open source tools. Moreover, some tools are purpose specific e.g. UI testing, Functional Testing, DB Testing, Load Testing, Performance, Security Testing and Link validation testing etc. However, some tools are strong and provide the facility of testing several major aspects of an application. The general concept of &#8216;Application Testing&#8217; is its functional testing. So, our focus will be on functional testing tools.</p>
<p>Here is the list of some most important and fundamental features that are provided by almost all of the &#8216;Functional Testing&#8217; tools.</p>
<p>a. Record and Play<br />
b. Parametrize the Values<br />
c. Script Editor<br />
d. Run (the test or script, with debug and update modes)<br />
c. Report of Run session</p>
<p>Different vendors provide some specific features that make their product unique to other competitor products. But the five features listed above are the most common and can be found in almost all the functional testing tools.</p>
<p><strong>Following is the list of few widely used Functional Testing tools.</strong></p>
<p>1) HP QTP (<a title="QTP review" href="http://www.softwaretestinghelp.com/qtp-functional-testing-tool-review/">Quick Test Professional</a>)<br />
2) Selenium<br />
3) <a title="Learning Rational Robot" href="http://www.softwaretestinghelp.com/learning-basics-of-rational-robot-ibm-test-automation-tool/">IBM Rational Robot</a><br />
4) Test Complete<br />
5) Push to Test<br />
6) Telerik</p>
<h3><a title="Test Plan sample" href="http://www.softwaretestinghelp.com/test-plan-sample-softwaretesting-and-quality-assurance-templates/">Software Test Plan</a> (STP)</h3>
<p>For any activity, some planning is always required and same is true for software testing. Without proper plan there is always high risk of getting distracted during the testing. If this risk becomes a fact, the results could be horrible.</p>
<p><strong>Following are the 5 main parts of a good Test Plan:</strong><br />
<strong>a. Scope</strong><br />
i. Overview of AUT<br />
ii. Features (or areas) to be tested<br />
iii. Exclusions (features or areas not to be tested) with reason<br />
iv. Dependencies (of testing activities on each other, if any)</p>
<p><strong>b. Objectives:</strong> This section describes the goals of testing activity e.g. validation of bug fixes, new features added or revamp of AUT etc.</p>
<p><strong>c. Focus:</strong> This section describes what aspect of application will be included in the testing e.g. security, functionality, usability, reliability, performance or efficiency etc.</p>
<p><strong>d. Approach:</strong> This section describes what testing methodology will be adopted for which areas of AUT. For example, in the STP of an ERP application; the approach section may contain the information that black box testing will be approach for payroll. On the other hand, for reports the approach will be grey box testing.</p>
<p><strong>e. Schedule:</strong> This sections describes that who will be doing what and where on the AUT, when and how. Schedule section is, in fact, a &#8217;4Ws and H&#8217; of the STP. Normally it is a simple table, but every organization may have its own customized format according to their own needs. Once the test plan is ready and application is under development; testers design and document the test cases. In the &#8220;Application Testing &#8211; Methodologies&#8221; section above, I have listed the TC design techniques.</p>
<h3><a title="Testing life cycle" href="http://www.softwaretestinghelp.com/category/testing-life-cycle/">Application Testing Cycles</a></h3>
<p>Once the AUT is ready for testing, the practical phase of testing cycle starts in which testers actually execute the test cases on AUT. Keep in mind that here the testing cycle is discussed regardless of Testing Levels (Unit, Module, Integration, System and User Acceptance) and Testing Environments (Dev, QA, Client&#8217;s Replica, Live).</p>
<p><strong>a. <a title="Smoke and Sanity testing" href="http://www.softwaretestinghelp.com/smoke-testing-and-sanity-testing-difference/">Smoke Testing</a>:</strong> The very first testing cycle that is wide and shallow in approach. The purpose of smoke testing is to verify that there are no crashes in the application and it is suitable for further testing.</p>
<p><strong>b. Sanity Testing:</strong> The second testing cycle that is narrow and deep in its approach. Its purpose is to verify that a specific module is working properly and is suitable for complete testing.</p>
<p><span style="text-decoration: underline;">Tip:</span> Usually there is not ample amount of time available to run these two cycles separately. So, a mixture of both these cycles is adopted in practical.</p>
<p><strong>c. Functional Testing:</strong> The proper and full fledged testing of application is performed in this cycle. The primary focus of this activity is to verify the business logic of the application.</p>
<p><strong>d. <a title="Regression testing" href="http://www.softwaretestinghelp.com/regression-testing-tools-and-methods/">Regression Testing</a>:</strong> This is the final cycle of testing in which the bug-fixes and/or updates are verified. Moreover, regression testing also ensures that there is no malfunctioning in other areas of AUT due to fixes and changes.</p>
<p>Bugs are logged in every testing cycle. There is no distinct border line between the testing cycles. For example, in Regression the Functionality is also verified and it may also require smoke, sanity or their merger first.</p>
<h3>Application Testing – <a title="Software testing best practices" href="http://www.softwaretestinghelp.com/category/testing-best-practices/">Best Practices</a></h3>
<p>I think, hundreds of articles are available about this on internet. Every article suggests different number of best practices ranging from 7 to 30 (that I have seen so far). However, I have just 5 tips for readers.</p>
<ol>
<li>Plan <em>Properly</em></li>
<li>Test <em>Keenly</em></li>
<li><em></em>Log the bugs <em>Clearly</em></li>
<li>Do Regression Test <em>Efficiently</em></li>
<li>Improve above four skills <em>Continuously</em></li>
</ol>
<p><strong>Conclusion:</strong> Application Testing is a vast subject and the primary activity of any software tester. In this article, I have provided the overview of some most fundamental and necessary areas that fall under this topic. Application Testing involves strategies, phenomena, approaches, tools, technologies and guidelines. However, I have addressed the conceptual and practical insight of its salient concerns.</p>
<p>---------------------<br/>
I just wanted to thank you for subscribing to SoftwareTestingHelp.com. <b>This blog is a success because of you and your support. Here's to your success!</b><br/><br/>As always, I appreciate your valuable comments. <b>Visit below link to post your comment:</b><br/><b><a href="http://www.softwaretestinghelp.com/application-testing-%e2%80%93-into-the-basics-of-software-testing/">Application Testing – Into the Basics of Software Testing!</a></b>
<br/><br/>Thank you so much!
---------------------<br/>
<b>Recommended:</b>
<a href="http://www.testlodge.com/">
<img src="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2012/01/TestLodge.jpg" alt="HTML tutorial" width="117" height="42" />
</a>
<a href="http://www.testlodge.com/"><b>TestLodge - Online test case management tool</b></a> - Web based test case management software allowing you to manage your test plans, requirements, test cases and test runs with ease.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaretestinghelp.com/application-testing-%e2%80%93-into-the-basics-of-software-testing/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>Difference Between Performance Testing, Load Testing and Stress Testing – With Examples</title>
		<link>http://www.softwaretestinghelp.com/what-is-performance-testing-load-testing-stress-testing/</link>
		<comments>http://www.softwaretestinghelp.com/what-is-performance-testing-load-testing-stress-testing/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 16:03:52 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[Testing Interview questions]]></category>
		<category><![CDATA[Types of testing]]></category>
		<category><![CDATA[Load testing]]></category>
		<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[Stress testing]]></category>

		<guid isPermaLink="false">http://www.softwaretestinghelp.com/?p=833</guid>
		<description><![CDATA[Q. What is difference between Performance Testing, Load Testing and Stress Testing? 1) Performance Testing: Performance testing is the testing, which is performed, to ascertain how the components of a system are performing, given a particular situation. Resource usage, scalability and reliability of the product are also validated under this testing. This testing is the [...]<p>---------------------<br/>
I just wanted to thank you for subscribing to SoftwareTestingHelp.com. <b>This blog is a success because of you and your support. Here's to your success!</b><br/><br/>As always, I appreciate your valuable comments. <b>Visit below link to post your comment:</b><br/><b><a href="http://www.softwaretestinghelp.com/what-is-performance-testing-load-testing-stress-testing/">Difference Between Performance Testing, Load Testing and Stress Testing – With Examples</a></b>
<br/><br/>Thank you so much!
---------------------<br/>
<b>Recommended:</b>
<a href="http://www.testlodge.com/">
<img src="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2012/01/TestLodge.jpg" alt="HTML tutorial" width="117" height="42" />
</a>
<a href="http://www.testlodge.com/"><b>TestLodge - Online test case management tool</b></a> - Web based test case management software allowing you to manage your test plans, requirements, test cases and test runs with ease.</p>
]]></description>
			<content:encoded><![CDATA[<h3>Q. What is difference between Performance Testing, Load Testing and Stress Testing?</h3>
<h3><strong>1) Performance Testing</strong>:</h3>
<p>Performance testing is the testing, which is performed, to ascertain how the components of a system are performing, given a particular situation. Resource usage, scalability and reliability of the product are also validated under this testing. This testing is the subset of performance engineering, which is focused on addressing performance issues in the design and architecture of software product.</p>
<p><strong>Performance Testing Goal:</strong></p>
<p>The primary goal of performance testing includes establishing the benchmark behaviour of the <span id="more-833"></span>system. There are a number of industry-defined benchmarks, which should be met during performance testing.</p>
<p>Performance testing does not aim to find defects in the application, it address a little more critical task of testing the benchmark and standard set for the application. Accuracy and close monitoring of the performance and results of the test is the primary characteristic of performance testing.</p>
<p><strong>Example:</strong></p>
<p>For instance, you can test the application network performance on Connection Speed vs. Latency chart. Latency is the time difference between the data to reach from source to destination. Thus, a 70kb page would take not more than 15 seconds to load for a worst connection of 28.8kbps modem (latency=1000 milliseconds), while the page of same size would appear within 5 seconds, for the average connection of 256kbps DSL (latency=100 milliseconds). 1.5mbps T1 connection (latency=50 milliseconds) would have the performance benchmark set within 1 second to achieve this target.</p>
<p>For example, the time difference between the generation of request and acknowledgement of response should be in the range of x ms (milliseconds) and y ms, where x and y are standard digits. A successful performance testing should project most of the performance issues, which could be related to database, network, software, hardware etc…</p>
<p><a href="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2011/07/Performance-Load-and-stress-testing.jpg"><img class="aligncenter size-full wp-image-834" title="Performance Load and stress testing" src="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2011/07/Performance-Load-and-stress-testing.jpg" alt="Performance Load and stress testing" width="399" height="244" /></a></p>
<h3><strong>2) Load Testing:</strong></h3>
<p>Load testing is meant to test the system by constantly and steadily increasing the load on the system till the time it reaches the threshold limit. It is the simplest form of testing which employs the use of automation tools such as LoadRunner or any other good tools, which are available. Load testing is also famous by the names like <strong>volume testing</strong> and <strong>endurance testing</strong>.</p>
<p>The sole purpose of load testing is to assign the system the largest job it could possible handle to test the endurance and monitoring the results. An interesting fact is that sometimes the system is fed with empty task to determine the behaviour of system in zero-load situation.</p>
<p><strong>Load Testing Goal:</strong></p>
<p>The goals of load testing are to expose the defects in application related to buffer overflow, memory leaks and mismanagement of memory. Another target of load testing is to determine the upper limit of all the components of application like database, hardware and network etc… so that it could manage the anticipated load in future. The issues that would eventually come out as the result of load testing may include load balancing problems, bandwidth issues, capacity of the existing system etc…</p>
<p><strong>Example:</strong></p>
<p>For example, to check the email functionality of an application, it could be flooded with 1000 users at a time. Now, 1000 users can fire the email transactions (read, send, delete, forward, reply) in many different ways. If we take one transaction per user per hour, then it would be 1000 transactions per hour. By simulating 10 transactions/user, we could load test the email server by occupying it with 10000 transactions/hour.</p>
<p>&nbsp;</p>
<h3>3) Stress testing</h3>
<p>Under stress testing, various activities to overload the existing resources with excess jobs are carried out in an attempt to break the system down. <strong>Negative testing</strong>, which includes removal of the components from the system is also done as a part of stress testing. Also known as <strong>fatigue testing</strong>, this testing should capture the stability of the application by testing it beyond its bandwidth capacity.</p>
<p>The purpose behind stress testing is to ascertain the failure of system and to monitor how the system recovers back gracefully. The challenge here is to set up a controlled environment before launching the test so that you could precisely capture the behaviour of system repeatedly, under the most unpredictable scenarios.</p>
<p><strong>Stress Testing Goal:</strong></p>
<p>The goal of the stress testing is to analyse post-crash reports to define the behaviour of application after failure. The biggest issue is to ensure that the system does not compromise with the security of sensitive data after the failure. In a successful stress testing, the system will come back to normality along with all its components, after even the most terrible break down.</p>
<p><strong>Example:</strong></p>
<p>As an example, a word processor like Writer1.1.0 by OpenOffice.org is utilized in development of letters, presentations, spread sheets etc… Purpose of our stress testing is to load it with the excess of characters.</p>
<p>To do this, we will repeatedly paste a line of data, till it reaches its threshold limit of handling large volume of text. As soon as the character size reaches 65,535 characters, it would simply refuse to accept more data. The result of stress testing on Writer 1.1.0 produces the result that, it does not crash under the stress and that it handle the situation gracefully, which make sure that application is working correctly even under rigorous stress conditions.</p>
<p><em><strong>Further reading</strong></em> &#8211; <a title="Load, Performance and stress testing tool" href="http://www.softwaretestinghelp.com/web-application-load-stress-and-performance-testing-using-wapt/">Web Application Load, Stress and Performance Testing Using WAPT</a>.</p>
<p><em>Have queries on Software Testing? All you need to do is post your questions in the comment section below.</em></p>
<p>---------------------<br/>
I just wanted to thank you for subscribing to SoftwareTestingHelp.com. <b>This blog is a success because of you and your support. Here's to your success!</b><br/><br/>As always, I appreciate your valuable comments. <b>Visit below link to post your comment:</b><br/><b><a href="http://www.softwaretestinghelp.com/what-is-performance-testing-load-testing-stress-testing/">Difference Between Performance Testing, Load Testing and Stress Testing – With Examples</a></b>
<br/><br/>Thank you so much!
---------------------<br/>
<b>Recommended:</b>
<a href="http://www.testlodge.com/">
<img src="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2012/01/TestLodge.jpg" alt="HTML tutorial" width="117" height="42" />
</a>
<a href="http://www.testlodge.com/"><b>TestLodge - Online test case management tool</b></a> - Web based test case management software allowing you to manage your test plans, requirements, test cases and test runs with ease.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaretestinghelp.com/what-is-performance-testing-load-testing-stress-testing/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Software Installation/Uninstallation Testing</title>
		<link>http://www.softwaretestinghelp.com/software-installationuninstallation-testing/</link>
		<comments>http://www.softwaretestinghelp.com/software-installationuninstallation-testing/#comments</comments>
		<pubDate>Thu, 30 Aug 2007 07:25:21 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[Automation Testing]]></category>
		<category><![CDATA[Installation Testing]]></category>
		<category><![CDATA[Types of testing]]></category>

		<guid isPermaLink="false">http://www.softwaretestinghelp.com/software-installationuninstallation-testing/</guid>
		<description><![CDATA[Have you performed software installation testing? How was the experience? Well, Installation testing (Implementation Testing) is quite interesting part of software testing life cycle. Installation testing is like introducing a guest in your home. The new guest should be properly introduced to all the family members in order to feel him comfortable. Installation of new [...]<p>---------------------<br/>
I just wanted to thank you for subscribing to SoftwareTestingHelp.com. <b>This blog is a success because of you and your support. Here's to your success!</b><br/><br/>As always, I appreciate your valuable comments. <b>Visit below link to post your comment:</b><br/><b><a href="http://www.softwaretestinghelp.com/software-installationuninstallation-testing/">Software Installation/Uninstallation Testing</a></b>
<br/><br/>Thank you so much!
---------------------<br/>
<b>Recommended:</b>
<a href="http://www.testlodge.com/">
<img src="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2012/01/TestLodge.jpg" alt="HTML tutorial" width="117" height="42" />
</a>
<a href="http://www.testlodge.com/"><b>TestLodge - Online test case management tool</b></a> - Web based test case management software allowing you to manage your test plans, requirements, test cases and test runs with ease.</p>
]]></description>
			<content:encoded><![CDATA[<p>Have you performed software installation testing? How was the experience? Well, Installation testing (Implementation Testing) is quite interesting part of software testing life cycle.</p>
<p>Installation testing is like introducing a guest in your home. The new guest should be properly introduced to all the family members in order to feel him comfortable. Installation of new software is also quite like above example.</p>
<p><strong>If your installation is successful on the new system then customer will be definitely happy but what if things are completely opposite.</strong> If installation fails then our program will not work on that system not only this but can leave user&#8217;s system badly damaged. User might require to reinstall the full operating system.</p>
<p>In above case will you make any impression on user? Definitely not! Your first impression to make a loyal customer is ruined due to incomplete installation testing. <strong>What you need to do for a good first impression? Test the installer appropriately with combination of both manual and automated processes</strong> on different machines with different configuration. Major concerned of installation testing is Time! It requires lot of time to even execute a single test case. If you are going to test a big application installer then think about time required to perform such a many test cases on different configurations.</p>
<p><strong>We will see different methods to perform manual installer testing and some basic guideline for automating the installation process.</strong></p>
<p>To start installation testing first decide on how many different system configurations you want to test the installation. Prepare one basic hard disk drive. Format this HDD with most common or default file system, install most common operating system (Windows) on this HDD. Install some basic required components on this HDD. Each time create images of this base HDD and you can create other configurations on this base drive. Make one set of each configuration like Operating system and file format to be used for further testing.</p>
<p>How we can use automation in this process? Well make some systems dedicated for creating basic images (use software’s like Norton Ghost for creating exact images of operating system quickly) of base configuration. This will save your tremendous time in each test case. For example if time to install one OS with basic configuration is say 1 hour then for each test case on fresh OS you will require 1+ hour. But creating image of OS will hardly require 5 to 10 minutes and you will save approximately 40 to 50 minutes!</p>
<p>You can use one operating system with multiple attempts of installation of installer. Each time uninstalling the application and preparing the base state for next test case. Be careful here that your uninstallation program should be tested before and should be working fine.</p>
<p><strong>Installation testing tips with some broad test cases:</strong></p>
<p><strong>1)</strong> <strong>Use flow diagrams</strong> to perform installation testing. Flow diagrams simplify our task. See example flow diagram for basic installation testing test case. <img src="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2007/08/installation-testing.jpg" title="Installation testing" alt="Installation testing" align="right" height="591" width="267" /></p>
<p>Add some more test cases on this basic flow chart Such as if our application is not the first release then try to add different logical installation paths.</p>
<p><strong>2)</strong> If you have previously installed compact basic version of application then in next test case <strong>install the full application</strong> version on the same path as used for compact version.</p>
<p><strong>3)</strong> If you are using flow diagram to test different <strong>files to be written on disk</strong> while installation then use the same flow diagram in reverse order to test uninstallation of all the installed files on disk.</p>
<p><strong>4)</strong> Use flow diagrams to <strong>automate the testing efforts.</strong> It will be very easy to convert diagrams into automated scripts.</p>
<p><strong>5)</strong> Test the installer scripts used for checking the <strong>required disk space</strong>. If installer is prompting required disk space 1MB, then make sure exactly 1MB is used or whether more disk space utilized during installation. If yes flag this as error.</p>
<p><strong>6)</strong> Test disk space requirement on different file system format. Like FAT16 will require more space than efficient NTFS or FAT32 file systems.</p>
<p><strong>7)</strong> If possible set a dedicated system for only creating disk images. As said above this will save your testing time.</p>
<p><strong>8 ) </strong>Use <strong>distributed testing environment</strong> in order to carry out installation testing. Distributed environment simply save your time and you can effectively manage all the different test cases from a single machine. The good approach for this is to create a master machine, which will drive different slave machines on network. You can start installation simultaneously on different machine from the master system.</p>
<p><strong>9) </strong>Try to automate the routine to test the number of files to be written on disk. You can maintain this file list to be written on disk in and excel sheet and can give this list as a input to automated script that will check each and every path to verify the correct installation.</p>
<p><strong>10)</strong> Use software’s available freely in market to verify <strong>registry changes</strong> on successful installation. Verify the registry changes with your expected change list after installation.</p>
<p><strong>11) </strong>Forcefully <strong>break the installation process</strong> in between. See the behavior of system and whether system recovers to its original state without any issues. You can test this “break of installation” on every installation step.</p>
<p><strong>12) Disk space checking:</strong> This is the crucial checking in the installation-testing scenario. You can choose different manual and automated methods to do this checking. In manual methods you can check free disk space available on drive before installation and disk space reported by installer script to check whether installer is calculating and reporting disk space accurately. Check the disk space after the installation to verify accurate usage of installation disk space. Run various combination of disk space availability by using some tools to automatically making disk space full while installation. Check system behavior on low disk space conditions while installation.</p>
<p><strong>13) </strong>As you check installation you can <strong>test for uninstallation</strong> also. Before each new iteration of installation make sure that all the files written to disk are removed after uninstallation. Some times uninstallation routine removes files from only last upgraded installation keeping the old version files untouched. Also check for rebooting option after uninstallation manually and forcefully not to reboot.</p>
<p>I have addressed many areas of <strong>manual as well as automated installation testing procedure</strong>. Still there are many areas you need to focus on depending on the complexity of your software under installation. These not addressed important tasks includes <strong>installation over the network, online installation, patch installation, Database checking on Installation, Shared DLL installation and uninstallation</strong> etc.</p>
<p>Hope this article will be a basic guideline to those having trouble to start with software installation testing both manually or in automation.</p>
<p>If you like this article you would also like to <a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=956053" title="Subscribe to software testing help" target="_blank">subscribe to our email newsletter</a>.</p>
<p>---------------------<br/>
I just wanted to thank you for subscribing to SoftwareTestingHelp.com. <b>This blog is a success because of you and your support. Here's to your success!</b><br/><br/>As always, I appreciate your valuable comments. <b>Visit below link to post your comment:</b><br/><b><a href="http://www.softwaretestinghelp.com/software-installationuninstallation-testing/">Software Installation/Uninstallation Testing</a></b>
<br/><br/>Thank you so much!
---------------------<br/>
<b>Recommended:</b>
<a href="http://www.testlodge.com/">
<img src="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2012/01/TestLodge.jpg" alt="HTML tutorial" width="117" height="42" />
</a>
<a href="http://www.testlodge.com/"><b>TestLodge - Online test case management tool</b></a> - Web based test case management software allowing you to manage your test plans, requirements, test cases and test runs with ease.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaretestinghelp.com/software-installationuninstallation-testing/feed/</wfw:commentRss>
		<slash:comments>80</slash:comments>
		</item>
		<item>
		<title>Regression Testing with Regression Testing Tools and methods</title>
		<link>http://www.softwaretestinghelp.com/regression-testing-tools-and-methods/</link>
		<comments>http://www.softwaretestinghelp.com/regression-testing-tools-and-methods/#comments</comments>
		<pubDate>Wed, 29 Aug 2007 08:31:05 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[Automation Testing]]></category>
		<category><![CDATA[Quality assurance]]></category>
		<category><![CDATA[Testing Interview questions]]></category>
		<category><![CDATA[Testing Tips and resources]]></category>
		<category><![CDATA[Types of testing]]></category>

		<guid isPermaLink="false">http://www.softwaretestinghelp.com/regression-testing-tools-and-methods/</guid>
		<description><![CDATA[What is Regression Software Testing? Regression means retesting the unchanged parts of the application. Test cases are re-executed in order to check whether previous functionality of application is working fine and new changes have not introduced any new bugs. This is the method of verification. Verifying that the bugs are fixed and the newly added [...]<p>---------------------<br/>
I just wanted to thank you for subscribing to SoftwareTestingHelp.com. <b>This blog is a success because of you and your support. Here's to your success!</b><br/><br/>As always, I appreciate your valuable comments. <b>Visit below link to post your comment:</b><br/><b><a href="http://www.softwaretestinghelp.com/regression-testing-tools-and-methods/">Regression Testing with Regression Testing Tools and methods</a></b>
<br/><br/>Thank you so much!
---------------------<br/>
<b>Recommended:</b>
<a href="http://www.testlodge.com/">
<img src="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2012/01/TestLodge.jpg" alt="HTML tutorial" width="117" height="42" />
</a>
<a href="http://www.testlodge.com/"><b>TestLodge - Online test case management tool</b></a> - Web based test case management software allowing you to manage your test plans, requirements, test cases and test runs with ease.</p>
]]></description>
			<content:encoded><![CDATA[<p><strong>What is Regression Software Testing?</strong><br />
Regression means retesting the unchanged parts of the application. Test cases are re-executed in order to check whether previous functionality of application is working fine and new changes have not introduced any new bugs.</p>
<p>This is the <strong>method of verification</strong>. Verifying that the bugs are fixed and the newly added feature have not created in problem in previous working version of software.</p>
<p><strong>Why regression Testing?</strong><br />
Regression testing is initiated when programmer fix any bug or add new code for new functionality to the system. It is a quality measure to check that new code complies with old code and unmodified code is not getting affected.<br />
Most of the time testing team has task to check the last minute changes in the system. In such situation testing only affected application area in necessary to complete the testing process in time with covering all major system aspects.</p>
<p><strong>How much regression testing?</strong><br />
This depends on the scope of new added feature. If the scope of the fix or feature is large then the application area getting affected is quite large and testing should be thoroughly including all the application test cases. But this can be effectively decided when tester gets input from developer about the scope, nature and amount of change.</p>
<p><strong>What we do in regression testing?</strong></p>
<ul>
<li>Rerunning the previously conducted tests</li>
<li>Comparing current results with previously executed test results.</li>
</ul>
<p><strong>Regression Testing Tools:</strong><br />
Automated Regression testing is the testing area where we can automate most of the testing efforts. We run all the previously executed test cases this means we have test case set available and running these test cases manually is time consuming. We know the expected results so automating these test cases is time saving and efficient regression testing method. Extent of automation depends on the number of test cases that are going to remain applicable over the time. If test cases are varying time to time as application scope goes on increasing then automation of regression procedure will be the waste of time.</p>
<p>Most of the regression testing tools are record and playback type. Means you will record the test cases by navigating through the AUT and verify whether expected results are coming or not.<br />
<strong>Example regression testing tools are:</strong></p>
<ul>
<li><a href="http://www.mercury.com/us/products/quality-center/functional-testing/winrunner/" title="Winrunner regression testing tool" target="_blank">Winrunner</a></li>
<li><a href="http://www.mercury.com/us/products/" title="QTP regression Testing tool" target="_blank">QTP</a></li>
<li><a href="http://www.adventnet.com/products/qengine/index.html" title="QEngine Regression testing tool" target="_blank">AdventNet QEngine</a></li>
<li><a href="http://www.regressiontester.com/" title="Regression Tester" target="_blank">Regression Tester</a></li>
<li><a href="http://www.verisium.com/products/vTest/index.html" title="vTest Regression Testing Tool" target="_blank">vTest</a></li>
<li><a href="http://www.openqa.org/watir/" title="Watir Regression Testing Tool" target="_blank">Watir</a></li>
<li><a href="http://www.openqa.org/selenium/" title="Selenium Regression Testing tool" target="_blank">Selenium</a></li>
<li><a href="http://www.actiwate.com/" title="actiWate Regression Testing Tool" target="_blank">actiWate</a></li>
<li><a href="http://www.ibm.com/products/us/" title="Rational Funtional Testing tool" target="_blank">Rational Functional Tester</a></li>
<li><a href="http://www.borland.com/" title="SilkTest Testing Tool " target="_blank">SilkTest</a></li>
</ul>
<p>Most of the tools are both Functional as well as regression testing tools.</p>
<p><strong>Regression Testing Of GUI application:</strong><br />
It is difficult to perform GUI(Graphical User Interface) regression testing when GUI structure is modified. The test cases written on old GUI either becomes obsolete or need to reuse. Reusing the regression testing test cases means GUI test cases are modified according to new GUI. But this task becomes cumbersome if you have large set of GUI test cases.</p>
<p>---------------------<br/>
I just wanted to thank you for subscribing to SoftwareTestingHelp.com. <b>This blog is a success because of you and your support. Here's to your success!</b><br/><br/>As always, I appreciate your valuable comments. <b>Visit below link to post your comment:</b><br/><b><a href="http://www.softwaretestinghelp.com/regression-testing-tools-and-methods/">Regression Testing with Regression Testing Tools and methods</a></b>
<br/><br/>Thank you so much!
---------------------<br/>
<b>Recommended:</b>
<a href="http://www.testlodge.com/">
<img src="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2012/01/TestLodge.jpg" alt="HTML tutorial" width="117" height="42" />
</a>
<a href="http://www.testlodge.com/"><b>TestLodge - Online test case management tool</b></a> - Web based test case management software allowing you to manage your test plans, requirements, test cases and test runs with ease.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaretestinghelp.com/regression-testing-tools-and-methods/feed/</wfw:commentRss>
		<slash:comments>71</slash:comments>
		</item>
		<item>
		<title>Black Box Testing: Types and techniques of BBT</title>
		<link>http://www.softwaretestinghelp.com/black-box-testing/</link>
		<comments>http://www.softwaretestinghelp.com/black-box-testing/#comments</comments>
		<pubDate>Thu, 09 Aug 2007 18:17:06 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[Testing Interview questions]]></category>
		<category><![CDATA[Testing Tips and resources]]></category>
		<category><![CDATA[Types of testing]]></category>

		<guid isPermaLink="false">http://www.softwaretestinghelp.com/black-box-testing/</guid>
		<description><![CDATA[I have covered what is White box Testing in previous article. Here I will concentrate on Black box testing. BBT advantages, disadvantages and and How Black box testing is performed i.e the black box testing techniques.

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 not know the internal working of the “Black box” or application.<p>---------------------<br/>
I just wanted to thank you for subscribing to SoftwareTestingHelp.com. <b>This blog is a success because of you and your support. Here's to your success!</b><br/><br/>As always, I appreciate your valuable comments. <b>Visit below link to post your comment:</b><br/><b><a href="http://www.softwaretestinghelp.com/black-box-testing/">Black Box Testing: Types and techniques of BBT</a></b>
<br/><br/>Thank you so much!
---------------------<br/>
<b>Recommended:</b>
<a href="http://www.testlodge.com/">
<img src="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2012/01/TestLodge.jpg" alt="HTML tutorial" width="117" height="42" />
</a>
<a href="http://www.testlodge.com/"><b>TestLodge - Online test case management tool</b></a> - Web based test case management software allowing you to manage your test plans, requirements, test cases and test runs with ease.</p>
]]></description>
			<content:encoded><![CDATA[<p>I have covered what is <a href="http://www.softwaretestinghelp.com/white-box-testing/" title="white box testing">White box Testing</a> in previous article. Here I will concentrate on Black box testing. BBT advantages, disadvantages and and How Black box testing is performed i.e the black box testing techniques.</p>
<p>Black box testing treats the system as a <strong>&#8220;black-box&#8221;</strong>, so it doesn&#8217;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.</p>
<p><strong>Main focus in black box testing is on functionality of the system as a whole.</strong>  The term <strong>&#8216;behavioral testing&#8217;</strong> is also used for black box testing and white box testing is also sometimes called <strong>&#8216;structural testing&#8217;</strong>. Behavioral test design is slightly different from black-box test design because the use of internal knowledge isn&#8217;t strictly forbidden, but it&#8217;s still discouraged.</p>
<p>Each testing method has its own advantages and disadvantages. There are some bugs that cannot be found using only black box or only white box. Majority of the applicationa are tested by black box testing method. We need to cover majority of test cases so that most of the bugs will get discovered by blackbox testing.</p>
<p>Black box testing occurs throughout the software development and Testing life cycle i.e in Unit, Integration, System, Acceptance and regression testing stages.</p>
<p><strong>Tools used for Black Box testing:</strong><br />
Black box testing tools are mainly record and playback tools. These tools are used for regression testing that to check whether new build has created any bug in previous working application functionality. These record and playback tools records test cases in the form of some scripts like TSL, VB script, Java script, Perl.</p>
<p><strong>Advantages of Black Box Testing</strong><br />
- Tester can be non-technical.<br />
- Used to verify contradictions in actual system and the specifications.<br />
- Test cases can be designed as soon as the functional specifications are complete</p>
<p><strong>Disadvantages of Black Box Testing</strong><br />
- The test inputs needs to be from large sample space.<br />
- It is difficult to identify all possible inputs in limited testing time. So writing test cases is slow and difficult<br />
- Chances of having unidentified paths during this testing</p>
<p><strong>Methods of Black box Testing:</strong></p>
<p><strong>Graph Based Testing Methods:</strong><br />
Each and every application is build up of some objects. All such objects are identified and graph is prepared. From this object graph each object relationship is identified and test cases written accordingly to discover the errors.</p>
<p><strong>Error Guessing:</strong><br />
This is purely based on previous experience and judgment of tester. Error Guessing is the art of guessing where errors can be hidden. For this technique there are no specific tools, writing the test cases that cover all the application paths.</p>
<p><strong>Boundary Value Analysis:</strong><br />
Many systems have tendency to fail on boundary. So testing boundry values of application is important. Boundary Value Analysis (BVA) is a test Functional Testing technique where the extreme boundary values are chosen. Boundary values include maximum, minimum, just inside/outside boundaries, typical values, and error values.</p>
<p>Extends equivalence partitioning<br />
Test both sides of each boundary<br />
Look at output boundaries for test cases too<br />
Test min, min-1, max, max+1, typical values</p>
<p><strong>BVA techniques:</strong><br />
1. Number of variables<br />
For n variables: BVA yields 4n + 1 test cases.<br />
2. Kinds of ranges<br />
Generalizing ranges depends on the nature or type of variables<br />
Advantages of Boundary Value Analysis<br />
1. Robustness Testing &#8211; Boundary Value Analysis plus values that go beyond the limits<br />
2. Min &#8211; 1, Min, Min +1, Nom, Max -1, Max, Max +1<br />
3. Forces attention to exception handling</p>
<p><strong>Limitations of Boundary Value Analysis</strong><br />
Boundary value testing is efficient only for variables of fixed values i.e boundary.</p>
<p><strong>Equivalence Partitioning:</strong><br />
Equivalence partitioning is a black box testing method that divides the input domain of a program into classes of data from which test cases can be derived.</p>
<p><strong>How is this partitioning performed while testing:</strong><br />
1. If an input condition specifies a range, one valid and one two invalid classes are defined.<br />
2. If an input condition requires a specific value, one valid and two invalid equivalence classes are defined.<br />
3. If an input condition specifies a member of a set, one valid and one invalid equivalence class is defined.<br />
4. If an input condition is Boolean, one valid and one invalid class is defined.</p>
<p><strong>Comparison Testing:</strong><br />
Different independent versions of same software are used to compare to each other for testing in this method.</p>
<p>Reference- http://www.softrel.org/stgb.html</p>
<p>---------------------<br/>
I just wanted to thank you for subscribing to SoftwareTestingHelp.com. <b>This blog is a success because of you and your support. Here's to your success!</b><br/><br/>As always, I appreciate your valuable comments. <b>Visit below link to post your comment:</b><br/><b><a href="http://www.softwaretestinghelp.com/black-box-testing/">Black Box Testing: Types and techniques of BBT</a></b>
<br/><br/>Thank you so much!
---------------------<br/>
<b>Recommended:</b>
<a href="http://www.testlodge.com/">
<img src="http://www.softwaretestinghelp.com/wp-content/qa/uploads/2012/01/TestLodge.jpg" alt="HTML tutorial" width="117" height="42" />
</a>
<a href="http://www.testlodge.com/"><b>TestLodge - Online test case management tool</b></a> - Web based test case management software allowing you to manage your test plans, requirements, test cases and test runs with ease.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaretestinghelp.com/black-box-testing/feed/</wfw:commentRss>
		<slash:comments>108</slash:comments>
		</item>
	</channel>
</rss>

