<?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>Tue, 21 Feb 2012 21:15:18 +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>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>
<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>
		<item>
		<title>Black Box Testing</title>
		<link>http://popkha.com/2012/02/16/black-box-testing/</link>
		<comments>http://popkha.com/2012/02/16/black-box-testing/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 21:52:06 +0000</pubDate>
		<dc:creator>p</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Black Box]]></category>

		<guid isPermaLink="false">http://popkha.com/?p=1800</guid>
		<description><![CDATA[So what&#8217;s Black Box Testing? Black box testing is a software testing techniques in which functionality of the software under test (SUT) is tested without looking at the internal code structure, implementation details and knowledge of internal paths of the software. This type of testing is based entirely on the software requirements and specifications. In Black Box Testing we [...]]]></description>
			<content:encoded><![CDATA[
<!-- wp-jquery-lightbox, a WordPress plugin by ulfben --> 
<h1>So what&#8217;s Black Box Testing?</h1>
<p style="text-align: left;">Black box testing is a software testing techniques in which functionality of the software under test (SUT) is tested without looking at the internal code structure, implementation details and knowledge of internal paths of the software. This type of testing is based entirely on the software requirements and specifications.</p>
<p>In Black Box Testing we just focus on inputs and output of the software system without bothering about internal knowledge of the software program.</p>
<p>The above Black Box can be any software system you want to test. For example : an operating system like Windows, a website like Google ,a database like Oracle or even your own custom application. Under Black Box Testing, you can test these applications by just focusing on the inputs and outputs without knowing their internal code implementation.</p>
<p><strong>Black box testing &#8211; Steps</strong></p>
<p>Here are the generic steps followed to carry out any type of Black Box Testing.</p>
<ul>
<li>Initially requirements and specifications of the system are examined.</li>
<li>Tester chooses valid inputs (positive test scenario) to check whether SUT processes them correctly. Also some invalid inputs (negative test scenario) are chosen to verify that the SUT is able to detect them.</li>
<li>Tester determines expected outputs for all those inputs.</li>
<li>Software tester constructs test cases with the selected inputs.</li>
<li>The test cases are executed.</li>
<li>Software tester compares the actual outputs with the expected outputs.</li>
<li>Defects if any are fixed and re-tested.</li>
</ul>
<p><strong>Types of Black Box Testing</strong></p>
<p>There are many types of Black Box Testing but following are the prominent ones -</p>
<p><strong>Functional testing</strong> – This black box testing type is related to functional requirements of a system; it is done by software testers.</p>
<p><strong>Non-functional testing</strong> – This type of black box testing is not related to testing of a specific functionality, but non-functional requirements such as performance, scalability, usability.</p>
<p><strong>Regression testing</strong> – Regression testing is done after code fixes , upgrades or any other system maintenance to check the new code has not affected the existing code.</p>
<p><strong>Tools used for Black Box Testing:</strong></p>
<p>Tools used for Black box testing largely depends on the type of black box testing your are doing.</p>
<p>For Functional/ Regression Tests you can use &#8211; <strong>QTP</strong></p>
<p>For Non-Functional Tests you can use &#8211; <strong>Loadrunner</strong></p>
<p><strong>Black box testing strategy:</strong></p>
<p>Following are the prominent test strategy amongst the many used in Black box Testing</p>
<p>Equivalence Class Testing: It is used to minimize the number of possible test cases to an optimum level while maintains reasonable test coverage.</p>
<p>Boundary Value Testing: Boundary value testing is focused on the values at boundaries. This technique determines whether a certain range of values are acceptable by the system or not.It is very useful in reducing the number of test cases. It is mostly suitable for the systems where input is within certain ranges.</p>
<p>Decision Table Testing: A decision table puts causes and their effects in a matrix. There is unique combination in each column.</p>
<p><strong>Comparison of Black Box and White Box Testing:</strong></p>
<p>While White Box Testing (Unit Testing) validates internal structure and working of your software code, the main focus of black box testing is on the validation of your functional requirements.</p>
<p>To conduct White Box Testing, knowledge of underlying programming language is essential. Current day software systems use a variety of programming languages and technologies and its not possible to know all of them. Black box testing gives abstraction from code and focuses testing effort on the software system behavior.</p>
<p>Also software systems are not developed in a single chunk but development is broken down in different modules. Black box testing facilitates testing communication amongst modules (Integration Testing) .</p>
<p>In case you push code fixes in your live software system, a complete system check (black box regression tests) becomes essential.</p>
<p>Though White box testing has its own merits and help detect many internal errors which may degrade system performance</p>
<p><strong>Black Box Testing and Software Development Life Cycle (SDLC)</strong></p>
<p>Black box testing has its own life cycle called Software Test Life Cycle (STLC) and it is relative to every stage of Software Development Life Cycle.</p>
<p>Requirement – This is the initial stage of SDLC and in this stage requirement is gathered. Software testers also take part in this stage.</p>
<p>Test Planning  &amp; Analysis – Testing Types applicable to the project are determined. A Test Plan is created which determines possible project risks and their mitigation.</p>
<p>Design – In this stage Test cases/scripts  are created on the basis of software requirement documents</p>
<p>Test Execution- In this stage Test Cases prepared are executed. Bugs if any are fixed and re-tested.</p>
<p>Hope you enjoyed it!</p>
<div class="shr-publisher-1800"></div>]]></content:encoded>
			<wfw:commentRss>http://popkha.com/2012/02/16/black-box-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTTP cookie</title>
		<link>http://popkha.com/2012/02/15/http-cookie/</link>
		<comments>http://popkha.com/2012/02/15/http-cookie/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 00:39:00 +0000</pubDate>
		<dc:creator>p</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Cookie]]></category>
		<category><![CDATA[HTTP]]></category>

		<guid isPermaLink="false">http://popkha.com/2012/02/15/http-cookie/</guid>
		<description><![CDATA[A cookie, also known as an HTTP cookie, web cookie, or browser cookie, is used for an origin website to send state information to a user&#8217;s browser and for the browser to return the state information to the origin site. The state information can be used for authentication, identification of a user session, user&#8217;s preferences, [...]]]></description>
			<content:encoded><![CDATA[
<!-- wp-jquery-lightbox, a WordPress plugin by ulfben --> 
<p>A cookie, also known as an HTTP cookie, web cookie, or browser cookie, is used for an origin website to send state information to a user&#8217;s browser and for the browser to return the state information to the origin site. The state information can be used for authentication, identification of a user session, user&#8217;s preferences, shopping cart contents, or anything else that can be accomplished through storing text data on the user&#8217;s computer.<br />
Cookies cannot be programmed, cannot carry viruses, and cannot install malware on the host computer. However, they can be used by spyware to track user&#8217;s browsing activities—a major privacy concern that prompted European and US law makers to take action. Cookie data can also be illicitly disclosed by hackers to gain access to a victim&#8217;s web account.</p>
<div class="shr-publisher-1780"></div>]]></content:encoded>
			<wfw:commentRss>http://popkha.com/2012/02/15/http-cookie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>File Transfer Protocol (FTP)</title>
		<link>http://popkha.com/2012/02/15/file-transfer-protocol-ftp/</link>
		<comments>http://popkha.com/2012/02/15/file-transfer-protocol-ftp/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 21:17:32 +0000</pubDate>
		<dc:creator>p</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[Protocol]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[TCP/IP]]></category>

		<guid isPermaLink="false">http://popkha.com/?p=1773</guid>
		<description><![CDATA[File Transfer Protocol (FTP) is a standard Internet protocol for transmitting files between computers on the Internet. Like the Hypertext Transfer Protocol (HTTP), which transfers displayable Web pages and related files, and the Simple Mail Transfer Protocol (SMTP), which transfers e-mail, FTP is an application protocol that uses the Internet&#8217;s TCP/IP protocols. FTP is commonly used to [...]]]></description>
			<content:encoded><![CDATA[
<!-- wp-jquery-lightbox, a WordPress plugin by ulfben --> 
<p>File Transfer Protocol (<strong>FTP</strong>) is a standard Internet protocol for transmitting files between computers on the Internet. Like the Hypertext Transfer Protocol <strong>(HTTP</strong>), which transfers displayable Web pages and related files, and the Simple Mail Transfer Protocol (<strong>SMTP</strong>), which transfers e-mail, FTP is an application protocol that uses the Internet&#8217;s <strong>TCP/IP</strong> protocols. FTP is commonly used to transfer Web page files from their creator to the computer that acts as their server for everyone on the Internet. It&#8217;s also commonly used to download programs and other files to your computer from other servers.</p>
<p>As a user, you can use <strong>FTP</strong> with a simple command line interface (for example, from the Windows MS-DOS Prompt window) or with a commercial program that offers a graphical user interface. Your Web browser can also make <strong>FTP</strong> requests to download programs you select from a Web page. Using FTP, you can also update (delete, rename, move, and copy) files at a server. You need to logon to an <strong>FTP</strong> server. However, publicly available files are easily accessed using anonymous <strong>FTP</strong>.</p>
<p>Basic <strong>FTP</strong> support is usually provided as part of a suite of programs that come with <strong>TCP/IP</strong>. However, any <strong>FTP</strong> client program with a graphical user interface usually must be downloaded from the company that makes it.</p>
<div class="shr-publisher-1773"></div>]]></content:encoded>
			<wfw:commentRss>http://popkha.com/2012/02/15/file-transfer-protocol-ftp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

