<?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>popkha.com</title>
	<atom:link href="http://popkha.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://popkha.com</link>
	<description>Just Another Resource Weblog</description>
	<lastBuildDate>Thu, 08 Mar 2012 16:59:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Testing Web Applications</title>
		<link>http://popkha.com/2012/03/08/testing-web-applications/</link>
		<comments>http://popkha.com/2012/03/08/testing-web-applications/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 16:49:27 +0000</pubDate>
		<dc:creator>p</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://popkha.com/?p=1791</guid>
		<description><![CDATA[I have learned most of the things by experience and research, which I would like to share. In this post, I will summarize key points for testing Web Based applications. Please feel free to put in your own 2 cents. Here is the checklist: Functionality Testing Usability testing UI testing Compatibility testing Performance testing Security [...]]]></description>
			<content:encoded><![CDATA[
<!-- wp-jquery-lightbox, a WordPress plugin by ulfben --> 
<p>I have learned most of the things by experience and research, which I would like to share. In this post, I will summarize key points for testing Web Based applications. Please feel free to put in your own 2 cents.</p>
<p><strong>Here is the checklist:</strong><br />
Functionality Testing<br />
Usability testing<br />
UI testing<br />
Compatibility testing<br />
Performance testing<br />
Security testing<br />
Accessibility/Section 508 &#8211; to be continued<br />
SEO- to be continued<br />
<strong>1) Functionality Testing:</strong></p>
<p>Test for – all the links in web pages, database connection, forms used in the web pages for submitting or getting information from user, Cookie testing.</p>
<p><strong>Check all the links:</strong></p>
<ul>
<li>Test the outgoing links from all the      pages from specific domain under test.</li>
<li>Test all internal links.</li>
<li>Test links jumping on the same pages.</li>
<li>Test links used to send the email to      admin or other users from web pages.</li>
<li>Test to check if there are any orphan      pages.</li>
<li>Lastly in link checking, check for      broken links in all above-mentioned links.</li>
</ul>
<p><strong>Test forms in all pages:</strong><br />
Forms are the integral part of any web site. Forms are used to get information from users and to keep interaction with them. So what should be checked on these forms?</p>
<ul>
<li>First check all the validations on each      field.</li>
<li>Check for the default values of fields.</li>
<li>Wrong inputs to the fields in the forms.</li>
<li>Options to create forms if any, form      delete, view or modify the forms.</li>
</ul>
<p>Let’s take example of the search engine project currently I am working on, In this project we have advertiser and affiliate signup steps. Each sign up step is different but dependent on other steps. So sign up flow should get executed correctly. There are different field validations like email Ids, User financial info validations. All these validations should get checked in manual or automated web testing.</p>
<p><strong>Cookies testing:</strong><br />
Cookies are small files stored on user machine. These are basically used to maintain the session mainly login sessions. Test the application by enabling or disabling the cookies in your browser options. Test if the cookies are encrypted before writing to user machine. If you are testing the session cookies (i.e. cookies expire after the sessions ends) check for login sessions and user stats after session end. Check effect on application security by deleting the cookies. (I will soon write separate article on cookie testing)</p>
<p><strong>Validate your HTML/CSS:</strong><br />
If you are optimizing your site for Search engines then HTML/CSS validation is very important. Mainly validate the site for HTML syntax errors. Check if site is crawlable to different search engines.</p>
<p><strong>Database testing:</strong><br />
Data consistency is very important in web application. Check for data integrity and errors while you edit, delete, modify the forms or do any DB related functionality.<br />
Check if all the database queries are executing correctly, data is retrieved correctly and also updated correctly. More on database testing could be load on DB, we will address this in web load or performance testing below.</p>
<p><strong>2) Usability Testing:</strong></p>
<p><strong>Test for navigation:</strong><br />
Navigation means how the user surfs the web pages, different controls like buttons, boxes or how user using the links on the pages to surf different pages.<br />
Usability testing includes:<br />
Web site should be easy to use. Instructions should be provided clearly. Check if the provided instructions are correct means whether they satisfy purpose.<br />
Main menu should be provided on each page. It should be consistent.</p>
<p><strong>Content checking: </strong><br />
Content should be logical and easy to understand. Check for spelling errors. Use of dark colors annoys users and should not be used in site theme. You can follow some standards that are used for web page and content building. These are common accepted standards like as I mentioned above about annoying colors, fonts, frames etc.<br />
Content should be meaningful. All the anchor text links should be working properly. Images should be placed properly with proper sizes.<br />
These are some basic standards that should be followed in web development. Your task is to validate all for UI testing</p>
<p><strong>Other user information for user help:</strong><br />
Like search option, sitemap, help files etc. Sitemap should be present with all the links in web sites with proper tree view of navigation. Check for all links on the sitemap.<br />
“Search in the site” option will help users to find content pages they are looking for easily and quickly. These are all optional items and if present should be validated.</p>
<p><strong>3) Interface Testing:</strong><br />
The main interfaces are:<br />
<span style="text-decoration: underline;">Web server</span> and application server interface<br />
Application server and Database server interface.</p>
<p>Check if all the interactions between these servers are executed properly. Errors are handled properly. If database or web server returns any error message for any query by application server then application server should catch and display these error messages appropriately to users. Check what happens if user interrupts any transaction in-between? Check what happens if connection to web server is reset in between?</p>
<p><strong>4) Compatibility Testing:</strong><br />
Compatibility of your web site is very important testing aspect. See which compatibility test to be executed:</p>
<ul>
<li>Browser compatibility</li>
<li>Operating system compatibility</li>
<li>Mobile browsing</li>
<li>Printing options</li>
</ul>
<p><strong>Browser compatibility:</strong><br />
In my web-testing career I have experienced this as most influencing part on web site testing.<br />
Some applications are very dependent on browsers. Different browsers have different configurations and settings that your web page should be compatible with. Your web site coding should be cross browser platform compatible. If you are using java scripts or AJAX calls for UI functionality, performing security checks or validations then give more stress on browser compatibility testing of your web application.<br />
Test web application on different browsers like Internet explorer, Firefox, Netscape navigator, AOL, Safari, Opera browsers with different versions.</p>
<p><strong>OS compatibility:</strong><br />
Some functionality in your web application is may not be compatible with all operating systems. All new technologies used in web development like graphics designs, interface calls like different API’s may not be available in all Operating Systems.<br />
Test your web application on different operating systems like Windows, Unix, MAC, Linux, Solaris with different OS flavors.</p>
<p><strong>Mobile browsing:</strong><br />
This is new technology age. So in future Mobile browsing will rock. Test your web pages on mobile browsers. Compatibility issues may be there on mobile.</p>
<p><strong>Printing options:</strong><br />
If you are giving page-printing options then make sure fonts, page alignment, page graphics getting printed properly. Pages should be fit to paper size or as per the size mentioned in printing option.</p>
<p><strong>5) Performance testing:</strong><br />
Web application should sustain to heavy load. Web performance testing should include:<br />
Web Load Testing<br />
Web Stress Testing</p>
<p>Test application performance on different internet connection speed.<br />
In <strong>web load testing</strong> test if many users are accessing or requesting the same page. Can system sustain in peak load times? Site should handle many simultaneous user requests, large input data from users, Simultaneous connection to DB, heavy load on specific pages etc.</p>
<p><strong>Stress testing:</strong> Generally stress means stretching the system beyond its specification limits. Web stress testing is performed to break the site by giving stress and checked how system reacts to stress and how system recovers from crashes.<br />
Stress is generally given on input fields, login and sign up areas.</p>
<p>In web performance testing web site functionality on different operating systems, different hardware platforms is checked for software, hardware memory leakage errors,</p>
<p><strong>6) Security Testing:</strong></p>
<p>Following are some test cases for web security testing:</p>
<ul>
<li>Test by pasting internal url directly      into browser address bar without login. Internal pages should not open.</li>
<li>If you are logged in using username and      password and browsing internal pages then try changing url options      directly. I.e. If you are checking some publisher site statistics with      publisher site ID= 123. Try directly changing the url site ID parameter to      different site ID which is not related to logged in user. Access should      denied for this user to view others stats.</li>
<li>Try some invalid inputs in input fields      like login username, password, input text boxes. Check the system reaction      on all invalid inputs.</li>
<li>Web directories or files should not be      accessible directly unless given download option.</li>
<li>Test the CAPTCHA for automates scripts      logins.</li>
<li>Test if SSL is used for security      measures. If used proper message should get displayed when user switch      from non-secure http:// pages to secure https:// pages and vice versa.</li>
<li>All transactions, error messages,      security breach attempts should get logged in log files somewhere on web      server.</li>
</ul>
<p><strong>I think I have addressed all major web testing methods.</strong> I have worked for around 2 years out of my testing career on web testing. There are some experts who have spent their whole career life on web testing. If I missed out addressing some important web testing aspect then let me know in comments below. I will keep on updating the article for latest testing information.</p>
<p><strong>Points to be considered while testing a Web site:</strong></p>
<p>Web sites are essentially <strong>client/server applications </strong>-<br />
with web servers and ‘browser’ clients.</p>
<p>Consideration should be given to the interactions between <strong>html pages, TCP/IP communications, Internet connections, firewalls, applications that run in web pages </strong>(such as applets, javascript, plug-in applications), and applications that run on the server side (such as cgi scripts, database interfaces, logging applications, dynamic page generators, asp, etc.).</p>
<p>Additionally, there are a wide variety of servers and browsers, various versions of each, small but sometimes significant differences between them, variations in connection speeds, rapidly changing technologies, and multiple standards and protocols. The end result is that testing for web sites can become a major ongoing effort.</p>
<p><strong>Other considerations might include:</strong></p>
<p>What are the expected loads on the server (e.g., number of hits per unit time?), and what kind of performance is required under such loads (such as web server response time, database query response times). What kinds of tools will be needed for performance testing (such as web load testing tools, other tools already in house that can be adapted, web robot downloading tools, etc.)?</p>
<p>Who is the target audience? What kind of browsers will they be using? What kind of connection speeds will they by using? Are they intra- organization (thus with likely high connection speeds and similar browsers) or Internet-wide (thus with a wide variety of connection speeds and browser types)?</p>
<p>What kind of performance is expected on the client side (e.g., how fast should pages appear, how fast should animations, applets, etc. load and run)?</p>
<p>Will down time for server and content maintenance/upgrades be allowed? how much?</p>
<p>What kinds of security (firewalls, encryptions, passwords, etc.) will be required and what is it expected to do? How can it be tested?</p>
<p>How reliable are the site’s Internet connections required to be? And how does that affect backup system or redundant connection requirements and testing?</p>
<p>What processes will be required to manage updates to the web site’s content, and</p>
<p>what are the requirements for maintaining, tracking, and controlling page content, graphics, links, etc.?</p>
<p>Which HTML specification will be adhered to? How strictly? What variations will be allowed for targeted browsers?</p>
<p>Will there be any standards or requirements for page appearance and/or graphics throughout a site or parts of a site??</p>
<p>How will internal and external links be validated and updated? How often?<br />
Can testing be done on the production system, or will a separate test system be required? How are browser caching, variations in browser option settings, dial-up connection variability’s, and real-world internet ‘traffic congestion’ problems to be accounted for in testing?</p>
<p>How extensive or customized are the server logging and reporting requirements; are they considered an integral part of the system and do they require testing?</p>
<p>How are cgi programs, applets, javascripts, ActiveX components, etc. to be maintained, tracked, controlled, and tested?<br />
Pages should be 3-5 screens max unless content is tightly focused on a single topic. If larger, provide internal links within the page.</p>
<p>The page layouts and design elements should be consistent throughout a site, so that it’s clear to the user that they’re still within a site.</p>
<p>Pages should be as browser-independent as possible, or pages should be provided or generated based on the browser-type.</p>
<p>All pages should have links external to the page; there should be no dead-end pages.<br />
The page owner, revision date, and a link to a contact person or organization should be included on each page.</p>
<p>Related Posts:</p>
<p><a href="http://wp.me/p14I69-tk" target="_self">Testing Web Application Essentials</a></p>
<div class="shr-publisher-1791"></div>]]></content:encoded>
			<wfw:commentRss>http://popkha.com/2012/03/08/testing-web-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scrum Methodology</title>
		<link>http://popkha.com/2012/03/08/scrum-methodology/</link>
		<comments>http://popkha.com/2012/03/08/scrum-methodology/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 16:44:19 +0000</pubDate>
		<dc:creator>p</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://popkha.com/?p=1835</guid>
		<description><![CDATA[Scrum is a lightweight process framework for agile development, and the most widely-used one. A &#8220;process framework&#8221; is a particular set of practices that must be followed in order for a process to be consistent with the framework. (For example, the Scrum process framework requires the use of development cycles called Sprints, the XP framework [...]]]></description>
			<content:encoded><![CDATA[
<!-- wp-jquery-lightbox, a WordPress plugin by ulfben --> 
<p>Scrum is a lightweight process framework for agile development, and the most widely-used one.</p>
<ul>
<li>A &#8220;process framework&#8221; is a particular set of practices that must be followed in order for a process to be consistent with the framework. (For example, the Scrum process framework requires the use of development cycles called Sprints, the XP framework requires pair programming, and so forth.)</li>
<li>&#8220;Lightweight&#8221; means that the overhead of the process is kept as small as possible, to maximize the amount of productive time available for getting useful work done.</li>
</ul>
<p><object style="height: 360px; width: 600px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/WxiuE-1ujCM?version=3&amp;feature=player_detailpage" /><param name="allowfullscreen" value="true" /><embed style="height: 360px; width: 600px;" type="application/x-shockwave-flash" width="100" height="100" src="http://www.youtube.com/v/WxiuE-1ujCM?version=3&amp;feature=player_detailpage" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>If you want to read more about Scrum and Agile, refer to my other post <a href="http://popkha.com/2011/01/18/agile-software-development/" target="_self">HERE</a>.</p>
<div class="shr-publisher-1835"></div>]]></content:encoded>
			<wfw:commentRss>http://popkha.com/2012/03/08/scrum-methodology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test Strategy</title>
		<link>http://popkha.com/2012/03/06/test-strategy/</link>
		<comments>http://popkha.com/2012/03/06/test-strategy/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 02:08:47 +0000</pubDate>
		<dc:creator>p</dc:creator>
				<category><![CDATA[Testing]]></category>
		<category><![CDATA[Test Strategy]]></category>

		<guid isPermaLink="false">http://popkha.com/2012/03/06/test-strategy/</guid>
		<description><![CDATA[Test Strategy is the plan for how you are going to approachWhy do a Test Strategy? The testing. It is like a project charter that tells the world how you are going to approach the project. You may have it all in your head, and if you are the only person doing the work it [...]]]></description>
			<content:encoded><![CDATA[
<!-- wp-jquery-lightbox, a WordPress plugin by ulfben --> 
<p>Test Strategy is the plan for how you are going to approachWhy do a Test Strategy? The testing. It is like a project charter that tells the world how you are going to approach the project. You may have it all in your head, and if you are the only person doing the work it might be OK. If however you do not have it all in your head, or if others will be involved, you need to map out the ground rules.</p>
<p>Here are some of the things that need to be covered in a Test Strategy. You could use this as a template for your own strategy.</p>
<p>A test strategy is an outline that describes the testing portion of the software development cycle. It is created to inform project managers, testers, and developers about some key issues of the testing process. This includes the testing objective, methods of testing new functions, total time and resources required for the project, and the testing environment.</p>
<p>The test strategy describes how the product risks of the stakeholders are mitigated at the test-level, which types of test are to be performed, and which entry and exit criteria apply. (source: Wikipedia)</p>
<p>The test strategy is created based on development design documents.. It is written by the Test Manager or Lead.</p>
<p>The following are some of the components that the Test Strategy includes:</p>
<p>1 Test Levels.  2 Roles and Responsibilities.  3 Environment Requirements.  4 Testing Tools. 5 Risks and Mitigation. 6 Test Schedule. 7 Regression Test Approach.  8 Test Groups. 9 Test Priorities. 10 Test Status Collections and Reporting. 11 Test Records Maintenance. 12 Requirements traceability matrix. 13 Test Summary</p>
<div class="shr-publisher-1840"></div>]]></content:encoded>
			<wfw:commentRss>http://popkha.com/2012/03/06/test-strategy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>White Box Testing</title>
		<link>http://popkha.com/2012/02/21/white-box-testing/</link>
		<comments>http://popkha.com/2012/02/21/white-box-testing/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 20:39:33 +0000</pubDate>
		<dc:creator>p</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Interview]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://popkha.com/?p=1825</guid>
		<description><![CDATA[So, What is a White Box Testing? White Box Testing is the testing of a software solution&#8217;s internal coding and infrastructure. It focuses primarily on strengthening security, the flow of inputs and outputs through the application, design and usability. White box testing is also known as clear, open, structural, and glass box testing. It is [...]]]></description>
			<content:encoded><![CDATA[
<!-- wp-jquery-lightbox, a WordPress plugin by ulfben --> 
<h2><strong>So, What is a White Box Testing?</strong></h2>
<p><strong> </strong></p>
<p>White Box Testing is the testing of a software solution&#8217;s internal  coding and infrastructure.</p>
<p>It focuses primarily on strengthening security, the flow of  inputs and outputs through the application, design and usability.</p>
<p>White box testing is also known as <strong>clear, open, structural,  and glass box testing</strong>.</p>
<p>It is one of two parts of the <strong>&#8220;box testing&#8221; approach</strong> of  software testing. Its counter-part, blackbox testing, involves testing  from an external or end-user type perspective. On the other hand,  Whitebox testing is based on the inner workings of an application and  revolves around internal testing. The term &#8220;whitebox&#8221; was used because  of the see-through box concept. The clear box or whitebox name  symbolizes the ability to see through the software&#8217;s outer shell (or  &#8220;box&#8221;) into its inner workings. Likewise, the &#8220;black box&#8221; in &#8220;black box  testing&#8221; symbolizes not being able to see the inner workings of the  software so that only the end-user experience can be tested</p>
<h2>What do you verify in White Box Testing ?</h2>
<p>White box testing involves the testing of the software code for the  following:</p>
<ul>
<li>Internal security holes</li>
<li>Broken or poorly structured paths in the coding processes</li>
<li>The flow of specific inputs through the coding infrastructure</li>
<li>Expected output</li>
<li>The functionality of conditional loops</li>
<li>Testing of each statement, object and function on an individual  basis</li>
</ul>
<p>The testing can be done at system, integration and unit levels of  software development. One of the basic goals of whitebox testing is to  verify a working flow for an application. It involves testing a series  of predefined inputs against expected or desired outputs so that when a  specific input does not result in the expected output, you have  encountered a bug.</p>
<h2>How do you perform White Box Testing?</h2>
<p>To give you a simplified explanation of white box testing, we have  divided it into <strong>two basic steps</strong>. This is what testers  do when testing an application using the white box testing technique:</p>
<p><strong>STEP 1) UNDERSTAND  THE SOURCE CODE</strong></p>
<p>The first thing a tester will often do is learn and understand the  source code of the application. Since white box testing involves the  testing of the inner workings of an application, the tester must be very  knowledgeable in the programming languages used in the applications  they are testing. Also, the testing person must be highly aware of  secure coding practices. Security is often one of the primary objectives  of testing software. The tester should be able to find security issues  and prevent attacks from hackers and naive users who might inject  malicious code into the application either knowingly or unknowingly.</p>
<p><strong>Step 2) CREATE TEST  CASES AND EXECUTE</strong></p>
<p>The second basic step to white box testing involves testing the  application’s source code for proper flow and structure. One way is by  writing more code to test the application’s source code. The tester will  develop little tests for each process or series of processes in the  application. This  method requires that the tester must have intimate  knowledge of the code and is often done by the developer. Other methods  include manual testing, trial and error testing and the use of testing  tools as we will explain further on in this article.</p>
<h1>White Box Testing Techniques</h1>
<p>A major White box testing technique is <strong>Code Coverage analysis</strong>.  Code Coverage analysis, eliminates gaps in a test case suite.It  identifies areas of a program that are not exercised by a set of test  cases.Once gaps are identified, you create test cases to verify untested  parts of code, thereby increase the quality of the software product</p>
<p>There are automated tools available to perform Code coverage  analysis. Below are a few coverage analysis techniques</p>
<p><strong>Statement Coverage</strong> This technique requires <strong>every  possible statement in the code to be tested at least once</strong> during the testing process. Tools: An example of a tool that handles  statement coverage for C++ applications is Cantata++</p>
<p><strong>Branch Coverage – </strong>This technique <strong>checks  every possible path</strong> (if-else and other conditional loops) of a  software application. Tools: An example of a tool that handles branch  coverage testing for C, C++ and Java applications is TCAT-PATH</p>
<p>Apart from above, there are <strong>numerous coverage types such as  Condition Coverage, Multiple Condition Coverage, Path Coverage, Function  Coverag</strong>e etc.Each technique has its own merits and attempts to  test (cover) all parts of software code.</p>
<p>Using <strong>Statement and Branch coverage you generally attain  80-90% code coverage</strong> which is sufficient.</p>
<h1>Types of White Box Testing</h1>
<p><em>White box testing </em>encompasses several testing types used to  evaluate the usability of an application, block of code or specific  software package. There are listed below &#8211;</p>
<p><strong>Unit Testing  : </strong>It is often the first type of testing done on an application.  Unit testing is performed on each unit or block of code as it is  developed.</p>
<p>Unit testing is essentially done by the programmer. As a software  developer, you develop a few lines of code, a single function or an  object and test it to make sure it works before continuing</p>
<p>Unit testing helps identify majority of bugs, early in the software  development lifecycle. Bugs identified in this stage are cheaper and  easy to fix.</p>
<p><strong>Testing for Memory  Leaks</strong> : Memory leaks are leading causes of slower  running applications. A QA specialist who is experienced at detecting  memory leaks is essential in cases where you have a slow running  software application.</p>
<p>There are many tools available to assist developers/testers with  memory leak testing , example , Rational  Purify  for windows application</p>
<p>Apart from above a few testing types are part of both black box and  white box testing. They are listed as below –</p>
<p><strong>White Box Penetration  Testing:</strong> In this testing, the tester/developer has full  information of the application’s source code, detailed network  information, IP addresses involved and all server information the  application runs on.  The aim is to attack the code from several angles  to expose security threats</p>
<p><strong>White Box Mutation  Testing</strong>: Mutation testing is often used to discover the  best coding techniques to use for expanding a software solution .</p>
<p><strong>Ending Notes:</strong></p>
<ul>
<li>White box testing can be quite complex. The complexity involved has a  lot to do with the application being tested. A small application that  performs a single simple operation could be white box tested in minutes,  while larger programming applications take days, weeks and even longer  to fully test.</li>
<li>White box testing should be done on a software application as it is  being developed, after it is written and again after each modification</li>
</ul>
<div class="shr-publisher-1825"></div>]]></content:encoded>
			<wfw:commentRss>http://popkha.com/2012/02/21/white-box-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Whats Test Case</title>
		<link>http://popkha.com/2012/02/20/whats-test-case/</link>
		<comments>http://popkha.com/2012/02/20/whats-test-case/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 03:19:49 +0000</pubDate>
		<dc:creator>p</dc:creator>
				<category><![CDATA[Interview]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Test Case]]></category>

		<guid isPermaLink="false">http://popkha.com/2012/02/20/whats-test-case/</guid>
		<description><![CDATA[A test case describes an input, action, or event and an expected response, to determine if a feature of a software application is working correctly. A test case may contain particulars such as test case identifier, test case name, objective, test conditions/setup, input data requirements, steps, and expected results. The level of detail may vary [...]]]></description>
			<content:encoded><![CDATA[
<!-- wp-jquery-lightbox, a WordPress plugin by ulfben --> 
<p>A test case describes an input, action, or event and an expected response, to determine if a feature of a software application is working correctly. A test case may contain particulars such as test case identifier, test case name, objective, test conditions/setup, input data requirements, steps, and expected results. The level of detail may vary significantly depending on the organization and project context.</p>
<p>Note that the process of developing test cases can help find problems in the requirements or design of an application, since it requires completely thinking through the operation of the application. For this reason, it&#8217;s useful to prepare test cases early in the development cycle if possible.</p>
<div class="shr-publisher-1821"></div>]]></content:encoded>
			<wfw:commentRss>http://popkha.com/2012/02/20/whats-test-case/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Testing Techniques</title>
		<link>http://popkha.com/2012/02/20/software-testing-techniques/</link>
		<comments>http://popkha.com/2012/02/20/software-testing-techniques/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 03:19:30 +0000</pubDate>
		<dc:creator>p</dc:creator>
				<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://popkha.com/2012/02/20/software-testing-techniques/</guid>
		<description><![CDATA[Black box testing &#8211; not based on any knowledge of internal design or code. Tests are based on requirements and functionality. White box testing &#8211; based on knowledge of the internal logic of an application&#8217;s code. Tests are based on coverage of code statements, branches, paths, conditions. unit testing &#8211; the most &#8216;micro&#8217; scale of [...]]]></description>
			<content:encoded><![CDATA[
<!-- wp-jquery-lightbox, a WordPress plugin by ulfben --> 
<p><strong>Black box testing</strong> &#8211; not based on any knowledge of internal design or code. Tests are based on requirements and functionality.<br />
White box testing &#8211; based on knowledge of the internal logic of an application&#8217;s code. Tests are based on coverage of code statements, branches, paths, conditions.<br />
<strong>unit testing</strong> &#8211; the most &#8216;micro&#8217; scale of testing; to test particular functions or code modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. Not always easily done unless the application has a well-designed architecture with tight code; may require developing test driver modules or test harnesses.<br />
incremental integration testing &#8211; continuous testing of an application as new functionality is added; requires that various aspects of an application&#8217;s functionality be independent enough to work separately before all parts of the program are completed, or that test drivers be developed as needed; done by programmers or by testers.<br />
<strong>integration testing</strong> &#8211; testing of combined parts of an application to determine if they function together correctly. The &#8216;parts&#8217; can be code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems.<br />
<strong>functional testing</strong> &#8211; black-box type testing geared to functional requirements of an application; this type of testing should be done by testers. This doesn&#8217;t mean that the programmers shouldn&#8217;t check that their code works before releasing it (which of course applies to any stage of testing.)<br />
<strong>system testing</strong> &#8211; black-box type testing that is based on overall requirements specifications; covers all combined parts of a system.<br />
<strong>end-to-end testing</strong> &#8211; similar to system testing; the &#8216;macro&#8217; end of the test scale; 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.<br />
<strong>sanity testing or smoke testing</strong> &#8211; typically an initial testing effort to determine if a new software version is performing well enough to accept it for a major testing effort. For example, if the new software is crashing systems every 5 minutes, bogging down systems to a crawl, or corrupting databases, the software may not be in a &#8216;sane&#8217; enough condition to warrant further testing in its current state.<br />
<strong>regression testing</strong> &#8211; re-testing after fixes or modifications of the software or its environment. It can be difficult to determine how much re-testing is needed, especially near the end of the development cycle. Automated testing approaches can be especially useful for this type of testing.<br />
<strong>acceptance testing</strong> &#8211; final testing based on specifications of the end-user or customer, or based on use by end-users/customers over some limited period of time.<br />
<strong>load testing</strong> &#8211; testing an application under heavy loads, such as testing of a web site under a range of loads to determine at what point the system&#8217;s response time degrades or fails.<br />
stress testing &#8211; term often used interchangeably with &#8216;load&#8217; and &#8216;performance&#8217; testing. Also used to describe such tests as system functional testing while under unusually heavy loads, heavy repetition of certain actions or inputs, input of large numerical values, large complex queries to a database system, etc.<br />
<strong>performance testing</strong> &#8211; term often used interchangeably with &#8216;stress&#8217; and &#8216;load&#8217; testing. Ideally &#8216;performance&#8217; testing (and any other &#8216;type&#8217; of testing) is defined in requirements documentation or QA or Test Plans.<br />
<strong>usability testing</strong> &#8211; testing for &#8216;user-friendliness&#8217;. Clearly this is subjective, and will depend on the targeted end-user or customer. User interviews, surveys, video recording of user sessions, and other techniques can be used. Programmers and testers are usually not appropriate as usability testers.<br />
<strong>install/uninstall testing</strong> &#8211; testing of full, partial, or upgrade install/uninstall processes.<br />
<strong>recovery testing</strong> &#8211; testing how well a system recovers from crashes, hardware failures, or other catastrophic problems.<br />
<strong>failover testing</strong> &#8211; typically used interchangeably with &#8216;recovery testing&#8217;<br />
<strong>security testing</strong> &#8211; testing how well the system protects against unauthorized internal or external access, willful damage, etc; may require sophisticated testing techniques.<br />
<strong>compatibility testing</strong> &#8211; testing how well software performs in a particular hardware/software/operating system/network/etc. environment.<br />
<strong>exploratory testing</strong> &#8211; often taken to mean a creative, informal software test that is not based on formal test plans or test cases; testers may be learning the software as they test it.<br />
<strong>ad-hoc testing</strong> &#8211; similar to exploratory testing, but often taken to mean that the testers have significant understanding of the software before testing it.<br />
<strong>context-driven testing</strong> &#8211; testing driven by an understanding of the environment, culture, and intended use of software. For example, the testing approach for life-critical medical equipment software would be completely different than that for a low-cost computer game.<br />
<strong>user acceptance testing</strong> &#8211; determining if software is satisfactory to an end-user or customer.<br />
<strong>comparison testing</strong> &#8211; comparing software weaknesses and strengths to competing products.<br />
<strong>alpha testing</strong> &#8211; testing of an application when development is nearing completion; minor design changes may still be made as a result of such testing. Typically done by end-users or others, not by programmers or testers.<br />
<strong>beta testing</strong> &#8211; testing when development and testing are essentially completed and final bugs and problems need to be found before final release. Typically done by end-users or others, not by programmers or testers.<br />
<strong>mutation testing</strong> &#8211; a method for determining if a set of test data or test cases is useful, by deliberately introducing various code changes (&#8216;bugs&#8217;) and retesting with the original test data/cases to determine if the &#8216;bugs&#8217; are detected. Proper implementation requires large computational resources.</p>
<div class="shr-publisher-1820"></div>]]></content:encoded>
			<wfw:commentRss>http://popkha.com/2012/02/20/software-testing-techniques/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is SEI, CMM, CMMI, ISO, IEEE, ANSI?</title>
		<link>http://popkha.com/2012/02/20/what-is-sei-cmm-cmmi-iso-ieee-ansi/</link>
		<comments>http://popkha.com/2012/02/20/what-is-sei-cmm-cmmi-iso-ieee-ansi/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 03:12:11 +0000</pubDate>
		<dc:creator>p</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Interview]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[ANSI]]></category>
		<category><![CDATA[CMM]]></category>
		<category><![CDATA[CMMI]]></category>
		<category><![CDATA[IEEE]]></category>
		<category><![CDATA[ISO]]></category>
		<category><![CDATA[SEI]]></category>

		<guid isPermaLink="false">http://popkha.com/2012/02/20/what-is-sei-cmm-cmmi-iso-ieee-ansi/</guid>
		<description><![CDATA[SEI = &#8216;Software Engineering Institute&#8217; at Carnegie-Mellon University; initiated by the U.S. Defense Department to help improve software development processes. CMM = &#8216;Capability Maturity Model&#8217;, now called the CMMI (&#8216;Capability Maturity Model Integration&#8217;), developed by the SEI. It&#8217;s a model of 5 levels of process &#8216;maturity&#8217; that determine effectiveness in delivering quality software. It is [...]]]></description>
			<content:encoded><![CDATA[
<!-- wp-jquery-lightbox, a WordPress plugin by ulfben --> 
<p>SEI = &#8216;Software Engineering Institute&#8217; at Carnegie-Mellon University; initiated by the U.S. Defense Department to help improve software development processes.<br />
CMM = &#8216;Capability Maturity Model&#8217;, now called the CMMI (&#8216;Capability Maturity Model Integration&#8217;), developed by the SEI. It&#8217;s a model of 5 levels of process &#8216;maturity&#8217; that determine effectiveness in delivering quality software. It is geared to large organizations such as large U.S. Defense Department contractors. However, many of the QA processes involved are appropriate to any organization, and if reasonably applied can be helpful. Organizations can receive CMMI ratings by undergoing assessments by qualified auditors.<br />
       Level 1 &#8211; characterized by chaos, periodic panics, and heroic<br />
                 efforts required by individuals to successfully<br />
                 complete projects.  Few if any processes in place;<br />
                 successes may not be repeatable.</p>
<p>       Level 2 &#8211; software project tracking, requirements management,<br />
                 realistic planning, and configuration management<br />
                 processes are in place; successful practices can<br />
                 be repeated.</p>
<p>       Level 3 &#8211; standard software development and maintenance processes<br />
                 are integrated throughout an organization; a Software<br />
                 Engineering Process Group is in place to oversee<br />
                 software processes, and training programs are used to<br />
                 ensure understanding and compliance.</p>
<p>       Level 4 &#8211; metrics are used to track productivity, processes,<br />
                 and products.  Project performance is predictable,<br />
                 and quality is consistently high.</p>
<p>       Level 5 &#8211; the focus is on continuous process improvement. The<br />
                 impact of new processes and technologies can be<br />
                 predicted and effectively implemented when required.</p>
<p>      Perspective on CMM ratings:  During 1997-2001, 1018 organizations<br />
      were assessed.  Of those, 27% were rated at Level 1, 39% at 2,<br />
      23% at 3, 6% at 4, and  5% at 5.  (For ratings during the period<br />
      1992-96, 62% were at Level 1, 23% at 2, 13% at 3, 2% at 4, and<br />
      0.4% at 5.)  The median size of organizations was 100 software<br />
      engineering/maintenance personnel; 32% of organizations were<br />
      U.S. federal contractors or agencies.  For those rated at<br />
      Level 1, the most problematical key process area was in<br />
      Software Quality Assurance.</p>
<p>ISO = &#8216;International Organisation for Standardization&#8217; &#8211; The ISO 9001:2008 standard (which provides some clarifications of the previous standard 9001:2000) concerns quality systems that are assessed by outside auditors, and it applies to many kinds of production and manufacturing organizations, not just software. It covers documentation, design, development, production, testing, installation, servicing, and other processes. The full set of standards consists of: (a)Q9001-2008 &#8211; Quality Management Systems: Requirements; (b)Q9000-2005 &#8211; Quality Management Systems: Fundamentals and Vocabulary; (c)Q9004-2009 &#8211; Quality Management Systems: Guidelines for Performance Improvements. To be ISO 9001 certified, a third-party auditor assesses an organization, and certification is typically good for about 3 years, after which a complete reassessment is required. Note that ISO certification does not necessarily indicate quality products &#8211; it indicates only that documented processes are followed. There are also other software-related ISO standards such as ISO/IEC 25010:2011 which includes a &#8216;quality in use model&#8217; composed of five characteristics and a &#8216;product quality model&#8217; that covers eight main characteristics of software. Also see http://www.iso.org/ for the latest information. In the U.S. the standards can be purchased via the ASQ web site at http://asq.org/quality-press/<br />
ISO 9126 is a standard for the evaluation of software quality and defines six high level quality characteristics that can be used in software evaluation. It includes functionality, reliability, usability, efficiency, maintainability, and portability.<br />
IEEE = &#8216;Institute of Electrical and Electronics Engineers&#8217; &#8211; among other things, creates standards such as &#8216;IEEE Standard for Software Test Documentation&#8217; (IEEE/ANSI Standard 829), &#8216;IEEE Standard of Software Unit Testing (IEEE/ANSI Standard 1008), &#8216;IEEE Standard for Software Quality Assurance Plans&#8217; (IEEE/ANSI Standard 730), and others.<br />
ANSI = &#8216;American National Standards Institute&#8217;, the primary industrial standards body in the U.S.; publishes some software-related standards in conjunction with the IEEE and ASQ (American Society for Quality).<br />
Other software development/IT management process assessment methods besides CMMI and ISO 9000 include SPICE, Trillium, TickIT, Bootstrap, ITIL, MOF, and CobiT.<br />
See the Softwareqatest.com &#8216;Other Resources&#8217; section for further information available on the web.<br />
Return to top of this page&#8217;s FAQ list</p>
<div class="shr-publisher-1819"></div>]]></content:encoded>
			<wfw:commentRss>http://popkha.com/2012/02/20/what-is-sei-cmm-cmmi-iso-ieee-ansi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing Web Application Essentials</title>
		<link>http://popkha.com/2012/02/20/testing-web-application-essentials/</link>
		<comments>http://popkha.com/2012/02/20/testing-web-application-essentials/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 03:01:49 +0000</pubDate>
		<dc:creator>p</dc:creator>
				<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://popkha.com/2012/02/20/testing-web-application-essentials/</guid>
		<description><![CDATA[Web sites are essentially client/server applications – with web servers and ‘browser’ clients. Consideration should be given to the interactions between html pages, TCP/IP communications, Internet connections, firewalls, applications that run in web pages (such as applets, javascript, plug-in applications), and applications that run on the server side (such as cgi scripts, database interfaces, logging [...]]]></description>
			<content:encoded><![CDATA[
<!-- wp-jquery-lightbox, a WordPress plugin by ulfben --> 
<p>Web sites are essentially client/server applications – with web servers and ‘browser’ clients. Consideration should be given to the interactions between html pages, TCP/IP communications, Internet connections, firewalls, applications that run in web pages (such as applets, javascript, plug-in applications), and applications that run on the server side (such as cgi scripts, database interfaces, logging applications, dynamic page generators, asp, etc.). Additionally, there are a wide variety of servers and browsers, various versions of each, small but sometimes significant differences between them, variations in connection speeds, rapidly changing technologies, and multiple standards and protocols. The end result is that testing for web sites can become a major ongoing effort.</p>
<p>Other considerations might include:<br />
• What are the expected loads on the server (e.g., number of hits per unit time?), and what kind of performance is required under such loads (such as web server response time, database query response times). What kinds of tools will be needed for performance testing (such as web load testing tools, other tools already in house that can be adapted, web robot downloading tools, etc.)?<br />
• Who is the target audience? What kind of browsers will they be using? What kind of connection speeds will they by using? Are they intra- organization (thus with likely high connection speeds and similar browsers) or Internet-wide (thus with a wide variety of connection speeds and browser types)?<br />
• What kind of performance is expected on the client side (e.g., how fast should pages appear, how fast should animations, applets, etc. load and run)?<br />
• Will down time for server and content maintenance/upgrades be allowed? how much?<br />
• What kinds of security (firewalls, encryptions, passwords, etc.) will be required and what is it expected to do? How can it be tested?<br />
• How reliable are the site’s Internet connections required to be? And how does that affect backup system or redundant connection requirements and testing?<br />
• What processes will be required to manage updates to the web site’s content, and what are the requirements for maintaining, tracking, and controlling page content, graphics, links, etc.?<br />
• Which HTML specification will be adhered to? How strictly? What variations will be allowed for targeted browsers?<br />
• Will there be any standards or requirements for page appearance and/or graphics throughout a site or parts of a site??<br />
• How will internal and external links be validated and updated? how often?<br />
• Can testing be done on the production system, or will a separate test system be required? How are browser caching, variations in browser option settings, dial-up connection variabilities, and real-world internet ‘traffic congestion’ problems to be accounted for in testing?<br />
• How extensive or customized are the server logging and reporting requirements; are they considered an integral part of the system and do they require testing?<br />
• How are cgi programs, applets, javascripts, ActiveX components, etc. to be maintained, tracked, controlled, and tested?<br />
Some sources of site security information include the Usenet newsgroup ‘comp.security.announce’ and links concerning web site security in the ‘Other Resources’ section.<br />
Some usability guidelines to consider – these are subjective and may or may not apply to a given situation<br />
• Pages should be 3-5 screens max unless content is tightly focused on a single topic. If larger, provide internal links within the page.<br />
• The page layouts and design elements should be consistent throughout a site, so that it’s clear to the user that they’re still within a site.<br />
• Pages should be as browser-independent as possible, or pages should be provided or generated based on the browser-type.<br />
• All pages should have links external to the page; there should be no dead-end pages.<br />
• The page owner, revision date, and a link to a contact person or organization should be included on each page.<br />
Many new web site test tools have appeared in the recent years and more than 280 of them are listed in the ‘Web Test Tools’ section.</p>
<p>Related Posts:</p>
<p><a href="http://wp.me/p14I69-sT">Testing Web Applications</a></p>
<div class="shr-publisher-1818"></div>]]></content:encoded>
			<wfw:commentRss>http://popkha.com/2012/02/20/testing-web-application-essentials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QA Test Plan</title>
		<link>http://popkha.com/2012/02/20/qa-test-plan/</link>
		<comments>http://popkha.com/2012/02/20/qa-test-plan/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 02:53:34 +0000</pubDate>
		<dc:creator>p</dc:creator>
				<category><![CDATA[Interview]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Test Plan]]></category>

		<guid isPermaLink="false">http://popkha.com/2012/02/20/qa-test-plan/</guid>
		<description><![CDATA[A software project test plan is a document that describes the objectives, scope, approach, and focus of a software testing effort. The process of preparing a test plan is a useful way to think through the efforts needed to validate the acceptability of a software product. The completed document will help people outside the test [...]]]></description>
			<content:encoded><![CDATA[
<!-- wp-jquery-lightbox, a WordPress plugin by ulfben --> 
<p>A software project test plan is a document that describes the objectives, scope, approach, and focus of a software testing effort. The process of preparing a test plan is a useful way to think through the efforts needed to validate the acceptability of a software product. The completed document will help people outside the test group understand the ‘why’ and ‘how’ of product validation. It should be thorough enough to be useful but not so thorough that no one outside the test group will read it. The following are some of the items that might be included in a test plan, depending on the particular project:</p>
<p>• Title<br />
• Identification of software including version/release numbers<br />
• Revision history of document including authors, dates, approvals<br />
• Table of Contents<br />
• Purpose of document, intended audience<br />
• Objective of testing effort<br />
• Software product overview<br />
• Relevant related document list, such as requirements, design documents, other test plans, etc.<br />
• Relevant standards or legal requirements<br />
• Traceability requirements<br />
• Relevant naming conventions and identifier conventions<br />
• Overall software project organization and personnel/contact-info/responsibilities<br />
• Test organization and personnel/contact-info/responsibilities<br />
• Assumptions and dependencies<br />
• Project risk analysis<br />
• Testing priorities and focus<br />
• Scope and limitations of testing<br />
• Test outline – a decomposition of the test approach by test type, feature, functionality, process, system, module, etc. as applicable<br />
• Outline of data input equivalence classes, boundary value analysis, error classes<br />
• Test environment – hardware, operating systems, other required software, data configurations, interfaces to other systems<br />
• Test environment validity analysis – differences between the test and production systems and their impact on test validity.<br />
• Test environment setup and configuration issues<br />
• Software migration processes<br />
• Software CM processes<br />
• Test data setup requirements<br />
• Database setup requirements<br />
• Outline of system-logging/error-logging/other capabilities, and tools such as screen capture software, that will be used to help describe and report bugs<br />
• Discussion of any specialized software or hardware tools that will be used by testers to help track the cause or source of bugs<br />
• Test automation – justification and overview<br />
• Test tools to be used, including versions, patches, etc.<br />
• Test script/test code maintenance processes and version control<br />
• Problem tracking and resolution – tools and processes<br />
• Project test metrics to be used<br />
• Reporting requirements and testing deliverables<br />
• Software entry and exit criteria<br />
• Initial sanity testing period and criteria<br />
• Test suspension and restart criteria<br />
• Personnel allocation<br />
• Personnel pre-training needs<br />
• Test site/location<br />
• Outside test organizations to be utilized and their purpose, responsibilties, deliverables, contact persons, and coordination issues<br />
• Relevant proprietary, classified, security, and licensing issues.<br />
• Open issues<br />
• Appendix – glossary, acronyms, etc.</p>
<div class="shr-publisher-1817"></div>]]></content:encoded>
			<wfw:commentRss>http://popkha.com/2012/02/20/qa-test-plan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quality Assurance, Quality Control, or Testing?</title>
		<link>http://popkha.com/2012/02/20/quality-assurance-quality-control-or-testing/</link>
		<comments>http://popkha.com/2012/02/20/quality-assurance-quality-control-or-testing/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 02:13:26 +0000</pubDate>
		<dc:creator>p</dc:creator>
				<category><![CDATA[Testing]]></category>
		<category><![CDATA[QA]]></category>

		<guid isPermaLink="false">http://popkha.com/2012/02/20/quality-assurance-quality-control-or-testing/</guid>
		<description><![CDATA[Many people and organizations are confused about the difference between quality assurance (QA), quality control (QC), and testing. They are closely related, but they are different concepts. But all these three are useful to manage risks of developing and managing software. Quality Assurance: A set of activities designed to ensure that the development and/or maintenance [...]]]></description>
			<content:encoded><![CDATA[
<!-- wp-jquery-lightbox, a WordPress plugin by ulfben --> 
<p>Many people and organizations are confused about the difference between quality assurance (QA), quality control (QC), and testing. They are closely related, but they are different concepts. </p>
<p>But all these three are useful to manage risks of developing and managing software. </p>
<p>Quality Assurance: A set of activities designed to ensure that the development and/or maintenance process is adequate to ensure a system will meet its objectives.</p>
<p>Quality Control: A set of activities designed to evaluate a developed work product.</p>
<p>Testing: The process of executing a system with the intent of finding defects. (Note that the &#8220;process of executing a system&#8221; includes test planning prior to the execution of the test cases.)</p>
<p>QA activities ensure that the process is defined and appropriate. Methodology and standards development are examples of QA activities. A QA review would focus on the process elements of a project &#8211; e.g., are requirements being defined at the proper level of detail.</p>
<p>QC activities focus on finding defects in specific deliverables &#8211; e.g., are the defined requirements the right requirements</p>
<p>Testing is one example of a QC activity, but there are others such as inspections</p>
<p>The difference is that QA is process oriented and QC is product oriented.</p>
<p>Testing therefore is product oriented and thus is in the QC domain. Testing for quality isn&#8217;t assuring quality, it&#8217;s controlling it.</p>
<p>Quality Assurance makes sure you are doing the right things, the right way.<br />
Quality Control makes sure the results of what you&#8217;ve done are what you expected.</p>
<div class="shr-publisher-1816"></div>]]></content:encoded>
			<wfw:commentRss>http://popkha.com/2012/02/20/quality-assurance-quality-control-or-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

