<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1020744786956020830</id><updated>2012-01-26T00:40:20.017-08:00</updated><category term='Defects Bugs and Errors'/><category term='Tool Installation'/><category term='Rational Tools'/><category term='QTP | CSTE | ISEB | ISTQB Papers'/><category term='Job Openings'/><category term='General'/><category term='Test Management'/><category term='QTP'/><category term='Selenium'/><category term='Testing Types and Strategies'/><category term='Integration Testing'/><category term='Automation Concepts'/><category term='Unit and White Box Testing'/><category term='Bugzilla'/><category term='Basics'/><category term='Interview Questions'/><category term='LoadRunner'/><category term='Test Director and Quality Center'/><title type='text'>Software Testing Stuff</title><subtitle type='html'>An eXcellent web log and online resource center of Software Testing</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default?start-index=101&amp;max-results=100'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>180</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-4771193756501358417</id><published>2011-09-13T08:04:00.001-07:00</published><updated>2011-09-17T04:06:31.815-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation Concepts'/><title type='text'>Performance Testing vs Load Testing vs Stress Testing - Examples</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;strong&gt;Performance testing -&lt;/strong&gt; It is performed to evaluate the performance of components of a particular system in a specific situation. It very wide term. It includes: Load Testing, Stress Testing, capacity testing, volume testing, endurance testing, spike testing, scalability testing and reliability testing etc. This type of testing generally does not give pass or fail. It is basically done to set the benchmark &amp;amp; standard of the application against Concurrency / Throughput, Server response time, Latency, Render response time etc. In other words, you can say it is technical &amp;amp; formal evaluation for responsiveness, speed, scalability and stability characteristics.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;img alt="Performance Testing vs Load Testing vs Stress Testing - Examples" border="0" height="179px" src="http://lh4.ggpht.com/-ToWmR_55aag/Tm9w_Q_PUYI/AAAAAAAAAaU/v8te3b3VIso/image%25255B26%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin: 2px auto 5px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Performance Testing vs Load Testing vs Stress Testing - Examples" width="433px" /&gt;&lt;strong&gt;Load Testing&lt;/strong&gt; is subset of performance testing. It is done by constantly increasing the load on the application under test till the time it reaches the threshold limit. The main goal of load testing is to identify the upper limit of the system in terms of database, hardware and network etc. The common goal of doing the load testing is to set the SLAs for the application. Example of load testing can be:&lt;br /&gt;&lt;blockquote&gt;Running multiple applications on a computer simultaneously - starting with one application, then start second application, then third and so on....Now see the performance of your computer.&lt;/blockquote&gt;Endurance test is also a part of load testing which used to calculate metrics like Mean Time Between Failure and Mean Time to Failure.&lt;br /&gt;Load Testing helps to determine:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Throughput&lt;/li&gt;&lt;li&gt;Peak Production Load&lt;/li&gt;&lt;li&gt;Adequacy of H/W environment&lt;/li&gt;&lt;li&gt;Load balancing requirements&lt;/li&gt;&lt;li&gt;How many users application can handle with optimal performance results&lt;/li&gt;&lt;li&gt;How many users hardware can handle with optimal performance results&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Stress testing -&lt;/strong&gt; It is done to evaluate the application's behaviour beyond normal or peak load conditions. It is basically testing the functionality of the application under high loads. Normally these are related to synchronization issues, memory leaks or race conditions etc. Some testing experts also call it as fatigue testing. Sometimes, it becomes difficult to set up a controlled environment before running the test. Example of Stress testing is:&lt;br /&gt;&lt;blockquote&gt;A banking application can take a maximum user load of 20000 concurrent users. Increase the load to 21000 and do some transaction like deposit or withdraw. As soon as you did the transaction, banking application server database will sync with ATM database server. Now check with the user load of 21000 does this sync happened successfully. Now repeat the same test with 22000 thousand concurrent users and so on.&lt;/blockquote&gt;Spike test is also a part of stress testing which is performed when application is loaded with heavy loads repeatedly and increase beyond production operations for short duration.&lt;br /&gt;Stress Testing helps to determine:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Errors in slowness &amp;amp; at peak user loads&lt;/li&gt;&lt;li&gt;Any security loop holes with over loads&lt;/li&gt;&lt;li&gt;How the hardware reacts with over loads&lt;/li&gt;&lt;li&gt;Data corruption issues at over loads&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-4771193756501358417?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/4771193756501358417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2011/09/performance-testing-vs-load-testing-vs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4771193756501358417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4771193756501358417'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2011/09/performance-testing-vs-load-testing-vs.html' title='Performance Testing vs Load Testing vs Stress Testing - Examples'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-ToWmR_55aag/Tm9w_Q_PUYI/AAAAAAAAAaU/v8te3b3VIso/s72-c/image%25255B26%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-3775676722884205052</id><published>2011-09-12T09:42:00.001-07:00</published><updated>2011-09-12T09:44:26.760-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>SDLC vs STLC–Differences &amp; Similarities Revisited</title><content type='html'>&lt;p&gt;Few days back, I was taking some interviews. I surprised to see some candidates were not able to explain simple concepts like SDLC &amp;amp; STLC. Everybody, was giving me very standards answers. SDLC - a systematic approach to develop a software and STLC - process of testing a software in a systematic and planned way. No one explains me logical Differences &amp;amp; Similarities between these two.&lt;/p&gt;  &lt;a name='more'&gt;&lt;/a&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 2px auto 5px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SDLC vs STLC–Differences &amp;amp; Similarities Revisited" border="0" alt="SDLC vs STLC–Differences &amp;amp; Similarities Revisited" src="http://lh4.ggpht.com/-j9rtZJDnk-g/Tm42ePQNkbI/AAAAAAAAAaQ/rsUI2996fr8/image%25255B3%25255D.png?imgmax=800" width="689" height="153" /&gt;My question is very simple – How you can relate six phases Requirement, Design, Development, Testing, Deployment &amp;amp; Maintenance to Software Testing Life Cycle?&lt;/p&gt;  &lt;p&gt;Let’s see how I related these six phases with STLC&lt;/p&gt;  &lt;table style="border-collapse: collapse" border="1" cellspacing="0" cellpadding="0" width="741"&gt;&lt;colgroup&gt;&lt;col style="width: 32pt; mso-width-source: userset; mso-width-alt: 1572" width="43" /&gt;&lt;col style="width: 70pt; mso-width-source: userset; mso-width-alt: 3401" width="93" /&gt;&lt;col style="width: 236pt; mso-width-source: userset; mso-width-alt: 11483" width="314" /&gt;&lt;col style="width: 278pt; mso-width-source: userset; mso-width-alt: 13568" width="371" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;     &lt;tr style="height: 15pt" height="20"&gt;       &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; background-color: #bfbfbf; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="20" width="22" align="center"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;&lt;strong&gt;S. No.&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; background-color: #bfbfbf; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" width="76" align="center"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;&lt;strong&gt;Phase&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; background-color: #bfbfbf; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="270" align="center"&gt;&lt;span style="widows: 2; orphans: 2; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;&lt;strong&gt;SDLC - Software Development Life cycle&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; background-color: #bfbfbf; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="371" align="center"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;&lt;strong&gt;STLC - Software Test Life Cycle&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 90pt" height="120"&gt;       &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl70" height="120" width="22" align="center"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;1&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="76"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;Requirements Gathering&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="270"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;Requirements gathering is done by business analyst. Development team analyse the requirements from the design, architecture &amp;amp; coding perspective.&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="371"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;Testing team also review &amp;amp; analyse the requirements. Testing team identifies the testing requirements like what types of testing will be required and review the requirements for logical functional relationship between various features / modules, so that any gaps can be caught at an early stage.&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 45pt" height="60"&gt;       &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl70" height="60" width="22" align="center"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;2&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="76"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;Design&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="270"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;Technical architect works for the high level &amp;amp; low design of the software. Business analyst works for the UI design of the application&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="371"&gt;&lt;font face="Calibri"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 11pt"&gt;Here, test architect generally the test lead/manager, does the test planning, identify high level testing points. Basically, requirement detailing is done in this phase.&lt;/font&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font style="font-size: 11pt"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 30pt" height="40"&gt;       &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl70" height="40" width="22" align="center"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;3&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="76"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;Coding or development&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="270"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;Development team does the actual coding based on the designed architecture.&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="371"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;Testing team write the detailed test cases.&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 105pt" height="140"&gt;       &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl70" height="140" width="22" align="center"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;4&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="76"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;Testing&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="270"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;In SDLC, actual testing is carried out in this phase. It includes unit testing, integration testing &amp;amp; system testing etc..&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="371"&gt;&lt;font face="Calibri"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 11pt"&gt;Test Execution and bug reporting, manual testing, automation testing is done, defects found are reported. Re-testing and regression testing is also done in this phase. &lt;/font&gt;&lt;/font&gt;&lt;font class="font5"&gt;&lt;font style="font-size: 11pt" color="#ff0000"&gt;&lt;em&gt;But, I don't agree with this statement. So, if I want to relate the testing phase with STLC, I would say it it is testing of test cases &amp;amp; test plans i.e. is basically review of test cases, test scenarios etc..&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 90pt" height="120"&gt;       &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl70" height="120" width="22" align="center"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;5&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="76"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;Deployment&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="270"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;Application is deployed on production environment for real end users.&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="371"&gt;&lt;font face="Calibri"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 11pt"&gt;Final testing and implementation is done is this phase and final test report is prepared. &lt;/font&gt;&lt;/font&gt;&lt;font class="font5"&gt;&lt;font style="font-size: 11pt" color="#ff0000"&gt;&lt;em&gt;For this statement as well, I don't agree. For software / application deployment is basically, when it is installed for real use. So, this way, STLC, deployment would be when test when test cases getting used i.e. execution of test cases.&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 75pt" height="100"&gt;       &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl70" height="100" width="22" align="center"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;6&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="76"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;Maintenance&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="270"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 11pt" color="#000000"&gt;Basically, it includes, post production / deployment support &amp;amp; enhancements.&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;        &lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: top; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl68" width="371"&gt;&lt;font face="Calibri"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 11pt"&gt;Most of people say - Maintenance testing is carried out in this phase.&lt;/font&gt;&lt;/font&gt;&lt;font class="font5"&gt;&lt;font style="font-size: 11pt" color="#ff0000"&gt;&lt;em&gt; My definition for this is - updation &amp;amp; maintenance of test plans, test case required for the testing of support requests &amp;amp; enhancements as a part of maintenance.&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;There are two sides of this coin:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Testing within the software development (Here, the old definition of STLC may be applicable) &lt;/li&gt;    &lt;li&gt;Consider testing as a independent sub project of a software development project (Here, I believe, old definition no longer sustains) &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-3775676722884205052?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/3775676722884205052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2011/09/sdlc-vs-stlcdifferences-similarities.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3775676722884205052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3775676722884205052'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2011/09/sdlc-vs-stlcdifferences-similarities.html' title='SDLC vs STLC–Differences &amp;amp; Similarities Revisited'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-j9rtZJDnk-g/Tm42ePQNkbI/AAAAAAAAAaQ/rsUI2996fr8/s72-c/image%25255B3%25255D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-4329887610404679801</id><published>2011-09-09T02:47:00.001-07:00</published><updated>2011-09-09T02:47:56.174-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Defects Bugs and Errors'/><title type='text'>How to prioritize bugs numerically - An effective way of prioritization of bugs</title><content type='html'>&lt;p&gt;You must have seen developers &amp;amp; testers fighting with each others on priority of bugs. Testers log the bug as high priority or critical and sometimes, developers surprised to see the priority. Most of the times, both developer &amp;amp; tester will not agree on the priority set by each other. I've seen sometimes, even product manager / project manager / business analyst are not able to prioritize the defects or bugs EFFECTIVELY. Even in many process oriented organizations, it becomes a challenge.&lt;/p&gt;  &lt;a name='more'&gt;&lt;/a&gt;  &lt;p&gt;Since, these bugs are risk to the application and project delivery, so, let's apply basic principle of risk management here. i.e. Risk Value = Probability x Impact&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;In case of bugs, Priority = Severity Value x Priority Value&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 2px auto 5px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="How to prioritize bugs numerically - An effective way of prioritization of bugs" border="0" alt="How to prioritize bugs numerically - An effective way of prioritization of bugs" src="http://lh5.ggpht.com/-2ZWnkLhFW3U/TmngyhUpTdI/AAAAAAAAAaM/hGAUqGT2x0g/image%25255B12%25255D.png?imgmax=800" width="240" height="88" /&gt;&lt;/p&gt;  &lt;p&gt;Now, you can use this priority number to actually prioritize your bugs and fix them in the required order. Lets see the entire process in the below example:&lt;/p&gt;  &lt;p&gt;1. Dear Testers - Please do not set priority of the bug. Do it only if you are interacting with the customer and thoroughly understand the business flow implemented in the application. Priority should be set based on the criticality of the business / functional requirement. Also, set severity only after doing a through impact analysis. Best is if we can have bug triage meeting at this stage, so that everyone can provide their inputs to identify the correct severity level.&lt;/p&gt;  &lt;p&gt;2. Set four severity levels: High, Medium, Low, Lowest. Set their values as 4, 3, 2, 1. 4 as highest and 1 as lowest.&lt;/p&gt;  &lt;div&gt;   &lt;div align="center"&gt;     &lt;table border="1" cellspacing="0" cellpadding="0" width="679" align="center"&gt;&lt;tbody&gt;         &lt;tr&gt;           &lt;td valign="top" width="72"&gt;&lt;strong&gt;Severity&lt;/strong&gt;&lt;/td&gt;            &lt;td valign="top" width="114"&gt;&lt;strong&gt;Severity Value&lt;/strong&gt;&lt;/td&gt;            &lt;td valign="top" width="491"&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/td&gt;         &lt;/tr&gt;          &lt;tr&gt;           &lt;td valign="top" width="72"&gt;             &lt;p align="left"&gt;High&lt;/p&gt;           &lt;/td&gt;            &lt;td valign="top" width="114"&gt;             &lt;p align="center"&gt;4&lt;/p&gt;           &lt;/td&gt;            &lt;td valign="top" width="491"&gt;             &lt;p align="left"&gt;Data loss, missing feature, security violation&lt;/p&gt;           &lt;/td&gt;         &lt;/tr&gt;          &lt;tr&gt;           &lt;td valign="top" width="72"&gt;             &lt;p align="left"&gt;Medium&lt;/p&gt;           &lt;/td&gt;            &lt;td valign="top" width="114"&gt;             &lt;p align="center"&gt;3&lt;/p&gt;           &lt;/td&gt;            &lt;td valign="top" width="491"&gt;             &lt;p align="left"&gt;Feature is missing but workaround is there, if high profiles users like management will get an impact, then it would be of high severity 4&lt;/p&gt;           &lt;/td&gt;         &lt;/tr&gt;          &lt;tr&gt;           &lt;td valign="top" width="72"&gt;             &lt;p align="left"&gt;Low&lt;/p&gt;           &lt;/td&gt;            &lt;td valign="top" width="114"&gt;             &lt;p align="center"&gt;2&lt;/p&gt;           &lt;/td&gt;            &lt;td valign="top" width="491"&gt;             &lt;p align="left"&gt;It is impacting minor things, but, user is able to do the work&lt;/p&gt;           &lt;/td&gt;         &lt;/tr&gt;          &lt;tr&gt;           &lt;td valign="top" width="72"&gt;             &lt;p align="left"&gt;Lowest&lt;/p&gt;           &lt;/td&gt;            &lt;td valign="top" width="114"&gt;             &lt;p align="center"&gt;1&lt;/p&gt;           &lt;/td&gt;            &lt;td valign="top" width="491"&gt;             &lt;p align="left"&gt;A cosmetic error, spelling mistake, typo etc..&lt;/p&gt;           &lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;/div&gt; 3. Set four priority levels: Critical, High, Medium, Low. Set them values as 4, 3, 2, 1. 4 as Critical and 1 as low. Please ask the business analyst to set the priority.&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;table border="1" cellspacing="0" cellpadding="0" width="679" align="center"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="72"&gt;&lt;strong&gt;Priority &lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="111"&gt;&lt;strong&gt;Priority Value&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="494"&gt;         &lt;p align="center"&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="72"&gt;Critical&lt;/td&gt;        &lt;td valign="top" width="111"&gt;         &lt;p align="center"&gt;4&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="494"&gt;         &lt;p&gt;Application is getting started, Critical business flow got stuck, Data loss, business loss, loss of end user, a security violation, system is very unstable&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="72"&gt;High&lt;/td&gt;        &lt;td valign="top" width="111"&gt;         &lt;p align="center"&gt;3&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="494"&gt;         &lt;p&gt;Feature is missing which is not critical for only very few users that do not have much impact on business, if high profiles users like management will get an impact, then it would be of high severity 4&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="72"&gt;Medium&lt;/td&gt;        &lt;td valign="top" width="111"&gt;         &lt;p align="center"&gt;2&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="494"&gt;         &lt;p&gt;Feature is missing but workaround is there. If users from management group are getting impacted, then it can be of priority 3 or 4. It can also be some feature of the functionality is not working&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="72"&gt;Lowest&lt;/td&gt;        &lt;td valign="top" width="111"&gt;         &lt;p align="center"&gt;1&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="494"&gt;         &lt;p&gt;A cosmetic error, spelling mistake, typo. Here, one important point to note is that even a spelling mistake or typo can also be of high priority or critical. e.g. If there is a spelling mistake of name of a person from senior management, then it may have high priority.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Priority can be calculated as &lt;/p&gt;  &lt;div align="center"&gt;   &lt;table border="1" cellspacing="0" cellpadding="0" width="677" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="65"&gt;&lt;strong&gt;Bug Id&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="301"&gt;&lt;strong&gt;Bug Description&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="125"&gt;&lt;strong&gt;Severity Value&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="117"&gt;&lt;strong&gt;Priority Value&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="67"&gt;&lt;strong&gt;Priority&lt;/strong&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="65"&gt;Bug_1&lt;/td&gt;          &lt;td valign="top" width="301"&gt;Bug Description 1&lt;/td&gt;          &lt;td valign="top" width="125"&gt;2&lt;/td&gt;          &lt;td valign="top" width="117"&gt;4&lt;/td&gt;          &lt;td valign="top" width="67"&gt;8&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="65"&gt;Bug_2&lt;/td&gt;          &lt;td valign="top" width="301"&gt;Bug Description 2&lt;/td&gt;          &lt;td valign="top" width="125"&gt;3&lt;/td&gt;          &lt;td valign="top" width="117"&gt;2&lt;/td&gt;          &lt;td valign="top" width="67"&gt;6&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="65"&gt;Bug_3&lt;/td&gt;          &lt;td valign="top" width="301"&gt;Bug Description 3&lt;/td&gt;          &lt;td valign="top" width="125"&gt;1&lt;/td&gt;          &lt;td valign="top" width="117"&gt;1&lt;/td&gt;          &lt;td valign="top" width="67"&gt;1&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="65"&gt;Bug_4&lt;/td&gt;          &lt;td valign="top" width="301"&gt;Bug Description 4&lt;/td&gt;          &lt;td valign="top" width="125"&gt;4&lt;/td&gt;          &lt;td valign="top" width="117"&gt;3&lt;/td&gt;          &lt;td valign="top" width="67"&gt;12&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="65"&gt;Bug_5&lt;/td&gt;          &lt;td valign="top" width="301"&gt;Bug Description 5&lt;/td&gt;          &lt;td valign="top" width="125"&gt;2&lt;/td&gt;          &lt;td valign="top" width="117"&gt;4&lt;/td&gt;          &lt;td valign="top" width="67"&gt;8&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;Now, the bug with highest priority should be fixed first. In this case bug “Bug_4” should be fixed first. Then Bug_1 and Bug_5 should be fixed and so on. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;This way we will have a number defining the priority of the based on the two logical facts.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You do not need to follow this practice all the time. After development, initial during testing/bug fixing phase, you may skip this process. Eventually, at that time, we have to fix all the bugs. &lt;/p&gt;  &lt;p&gt;When you see there is a production release in next 2-4 days or more or less depending upon the size of release and there are lot of open bugs, you may prioritize bugs based on this approach. Best is do this exercise 5-7 days before the final release. Also, I would suggest this kind of exercise for all customer reported bugs during UAT or post production release.&lt;/p&gt;  &lt;p&gt;As a pilot, I've applied this technique to one of my project. Let's see how practical is this. Please share your views as well on this approach.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-4329887610404679801?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/4329887610404679801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2011/09/how-to-prioritize-bugs-numerically.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4329887610404679801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4329887610404679801'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2011/09/how-to-prioritize-bugs-numerically.html' title='How to prioritize bugs numerically - An effective way of prioritization of bugs'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-2ZWnkLhFW3U/TmngyhUpTdI/AAAAAAAAAaM/hGAUqGT2x0g/s72-c/image%25255B12%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-8117281383668053181</id><published>2011-09-05T08:21:00.001-07:00</published><updated>2011-09-05T08:23:25.324-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation Concepts'/><title type='text'>Cross Browser Testing Tools–Reduce Browser Compatibility Testing Effort</title><content type='html'>&lt;p&gt;Sometimes, testing on various browsers becomes a challenge for software test professionals &amp;amp; project teams. Running the test cases on all browsers makes the testing cost very high. Specially, it becomes a challenge when we do not have expert designers in the team or when we don’t have verification/validation phase at the time of screen design. This is the bad part. Now, let’s see what is good.&lt;/p&gt;  &lt;a name='more'&gt;&lt;/a&gt;  &lt;p&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 2px auto 5px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="Cross Browser Testing Tools–Reduce Browser Compatibility Testing Effort" border="0" alt="Cross Browser Testing Tools–Reduce Browser Compatibility Testing Effort" src="http://lh5.ggpht.com/-HLqxXXBy98c/TmTpFGRolxI/AAAAAAAAAaI/pXyVt_82Jp0/image%25255B4%25255D.png?imgmax=800" width="240" height="176" /&gt;The best thing is that there are many FREE as well as paid cross browser compatible testing tools available in the market. On top of it, you can do your job with most of the FREE tools. If you have very specific requirements, then you may need to have a paid cross browser compatible testing tool. Lets have quick look on some of the best tools:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. IE Tab:&lt;/strong&gt; This is one of my favourite &amp;amp; best tools available for free. This is basically an add-on of Firefox &amp;amp; Chrome. With a single mouse click from within Firefox &amp;amp; Chrome, you can see how the webpage will view in Internet Explorer. It is very light.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. Microsoft Super Preview:&lt;/strong&gt; This is a free tool offered by Microsoft. It can help you to check the webpage on various versions of Internet Explorer. you can use it to test and debug the issues in layout. You can download it for free from Microsoft website.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. Spoon Browser Sandbox&lt;/strong&gt;: You can use this testing tool to test the web application on almost all major browsers like Firefox, Chrome &amp;amp; Opera. Initially, it supports IE as well, but for the last few months, its support for IE has been reduced.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4. Browsershots&lt;/strong&gt;: Using this free browser compatibility testing tool, you can test the application on any platform &amp;amp; browser combinations. So, it is most widely used tool. Due to large combination of browsers &amp;amp; platforms, it take long time to display results.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;5. IE Tester&lt;/strong&gt;: Using this tool, you can test the web pages on various versions of IE on various Windows platforms like Windows Vista, Windows 7 &amp;amp; XP.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;6. BrowserCam&lt;/strong&gt;: This is a paid browser compatibility online testing tool. It’s trial usage allows you to test for 24 hours only with the screen limit of 200.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;7. Cross Browser Testing&lt;/strong&gt;: This is a perfect tool for testing the website for JavaScript, Ajax and Flash features on various browsers. It offers 1 week free trial. It is available @ http://crossbrowsertesting.com/&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;8. Cloud Testing&lt;/strong&gt;: If you want to test your application’s browser compatibility on various browsers like IE, Firefox, Chrome, Opera, then this tool is for you.&lt;/p&gt;  &lt;p&gt; Apart from these tools, there are few other tools like IE NetRenderer, Browsera, Adobe Browser Lab etc. By investing some time on RnD on these tools, you can save your huge effort with excellent Quality.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-8117281383668053181?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/8117281383668053181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2011/09/cross-browser-testing-toolsreduce.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/8117281383668053181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/8117281383668053181'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2011/09/cross-browser-testing-toolsreduce.html' title='Cross Browser Testing Tools–Reduce Browser Compatibility Testing Effort'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-HLqxXXBy98c/TmTpFGRolxI/AAAAAAAAAaI/pXyVt_82Jp0/s72-c/image%25255B4%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-1243528743416605287</id><published>2011-06-07T04:04:00.000-07:00</published><updated>2011-06-07T09:16:37.946-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Types and Strategies'/><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><title type='text'>Difference between Smoke &amp; Sanity Software Testing</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;Smoke Testing: &lt;/b&gt;Software Testing done to ensure that whether the build can be accepted for through software testing or not. Basically, it is done to check the stability of the build received for software testing.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;b&gt;Sanity testing:&lt;/b&gt; After receiving a build with minor changes in the code or functionality, a subset of regression test cases are executed that to check whether it rectified the software bugs or issues and no other software bug is introduced by the changes. Sometimes, when multiple cycles of regression testing are executed, sanity testing of the software can be done at later cycles after through regression test cycles. If we are moving a build from staging / testing server to production server, sanity testing of the software application can be done to check that whether the build is sane enough to move to further at production server or not.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Difference between Smoke &amp;amp; Sanity Software Testing:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Smoke testing is a wide approach where all areas of the software application are tested without getting into too deep. However, a sanity software testing is a narrow regression testing with a focus on one or a small set of areas of functionality of the software application.&lt;/li&gt;&lt;li&gt;The test cases for smoke testing of the software can be either manual or automated. However, a sanity test is generally without test scripts or test cases.&lt;/li&gt;&lt;li&gt;Smoke testing is done to ensure whether the main functions of the software application are working or not. During smoke testing of the software, we do not go into finer details. However, sanity testing is a cursory software testing type. It is done whenever a quick round of software testing can prove that the software application is functioning according to business / functional requirements.&lt;/li&gt;&lt;li&gt;Smoke testing of the software application is done to check whether the build can be accepted for through software testing. Sanity testing of the software is to ensure whether the requirements are met or not.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-1243528743416605287?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/1243528743416605287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/12/difference-between-smoke-sanity-testing.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1243528743416605287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1243528743416605287'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/12/difference-between-smoke-sanity-testing.html' title='Difference between Smoke &amp; Sanity Software Testing'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-7184668741048335201</id><published>2011-06-06T01:37:00.000-07:00</published><updated>2011-06-06T08:40:26.112-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Defects Bugs and Errors'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Director and Quality Center'/><title type='text'>HP Quality Center - Defect/Bug Tracking</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;strong&gt;Introduction:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;HP quality center is web-based test management tool&lt;/li&gt;&lt;li&gt;QC is used to manage the application testing process&lt;/li&gt;&lt;li&gt;QC is used to define releases, specifying requirements, planning tests, executing tests, tracking defects, alerting on changes, and analyzing results&lt;/li&gt;&lt;li&gt;QC also shows you how to customize your project&lt;/li&gt;&lt;li&gt;Defect: Anything that is extra or missing or wrong in application is termed as defect&lt;/li&gt;&lt;li&gt;QC helps you to add defects to application when found and track the defect repair progression.&lt;/li&gt;&lt;li&gt;QC provides a central defect tracking system that can be used by testing and development teams to resolve defects&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;QC testing process includes 5 phases:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Specifying release&lt;/li&gt;&lt;li&gt;Specifying requirements&lt;/li&gt;&lt;li&gt;Planning Tests&lt;/li&gt;&lt;li&gt;Running Tests&lt;/li&gt;&lt;li&gt;Tracking Defects&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Defect Modules:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;QC Defect module provides complete system for logging, tracking, managing, and analyzing application defects&lt;/li&gt;&lt;li&gt;QC Defect tracking tools are organized into: Defects grid, Grid filter, Description, Attachments, History&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Defect Logging: Steps to Log a defect&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;In Defect module, click New Defect&lt;/li&gt;&lt;li&gt;New defect dialog box contains data fields and multiple tabbed pages. This multiple tabbed pages are custom-defined by QC administrator for your project&lt;/li&gt;&lt;li&gt;You can also add attachments to provide more information about the defect. QC supports five types of attachments&lt;/li&gt;&lt;li&gt;Click Submit to save the defect to your project database&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Defect Organizing - Grid filter provides two ways to organize defect grid:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Use entry boxes under each field heading in grid filter to select the criteria for filtering the data in the defects grid&lt;/li&gt;&lt;li&gt;Use the Filter dialog box to set a filter condition&lt;/li&gt;&lt;li&gt;To clear filter criteria, click the Clear Filter/Sort button&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Defect Status:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;New: Default status when defect is reported&lt;/li&gt;&lt;li&gt;Open: Indicates defect is assigned to review&lt;/li&gt;&lt;li&gt;Reopen: Indicates testing team reopened the defect which was closed&lt;/li&gt;&lt;li&gt;Fixed: Indicates defect is verified&lt;/li&gt;&lt;li&gt;Closed: Defect is closed and waiting fro approval by tester&lt;/li&gt;&lt;li&gt;Rejected: Defect is rejected , rationale fore rejecting defect to be provided&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Defect association with other entities - Defects can be associated with the following entities:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Requirement&lt;/li&gt;&lt;li&gt;Test&lt;/li&gt;&lt;li&gt;Test set&lt;/li&gt;&lt;li&gt;Test instance&lt;/li&gt;&lt;li&gt;Test run&lt;/li&gt;&lt;li&gt;Test steps&lt;/li&gt;&lt;li&gt;Other Defect&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;This linkage of defects with entities enables to&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Trace your defects from perspective of QC entities&lt;/li&gt;&lt;li&gt;Search defects that are related to specific QC entities&lt;/li&gt;&lt;li&gt;Link multiple entities of same type to the same defect&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Defect Requirement:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Associating defects with test requirements will help to ensure consistency throughout the testing process&lt;/li&gt;&lt;li&gt;The defect-requirement association enables us to utilize the status of defects to determine whether requirements have been met&lt;/li&gt;&lt;li&gt;A requirement can be associated with more than one defect&lt;/li&gt;&lt;li&gt;Either a existing defect can be associated with the requirement or new defect can be added to requirement&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Defect Test:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Association of defect with test helps to ensure defect traceability throughout the testing process. A defect may be indirectly linked to a test through other entities, such as a test instance, a test run, or a test step&lt;/li&gt;&lt;li&gt;Tests from Test plan module can be associated with defects that have been logged in the Defects module&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Defect Matching:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Matching defects enables you to eliminate similar and duplicate defects in your project&lt;/li&gt;&lt;li&gt;Each time you add a new defect, Quality Center stores lists of keywords from the Summary and Description fields&lt;/li&gt;&lt;li&gt;When you search for similar defects, keywords in these fields are matched against other defects&lt;/li&gt;&lt;li&gt;Note that keywords must be more than two characters and letter case does not affect your results&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Updating the defects:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A defect can be regularly updated to record all the information about an issue.&lt;/li&gt;&lt;li&gt;A defect can be regularly updated to record decisions made as different individuals review the defect.&lt;/li&gt;&lt;li&gt;While updating the defect ,click Details to update specific data fields.&lt;/li&gt;&lt;li&gt;Click Attachments to attach files to defect.&lt;/li&gt;&lt;li&gt;Click Linked entities and then click the Defects tab to link a defect to another defect.&lt;/li&gt;&lt;li&gt;Click Others tab to link a defect to other entities such as a test or test set.&lt;/li&gt;&lt;li&gt;Click History to view the changes made to defect.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Favorite view:&lt;/strong&gt; A favorite view is a view of a Quality Center window with the settings you applied to it. Steps to create favorite view in defects grid:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Defect module should be displayed&lt;/li&gt;&lt;li&gt;Define a filter to view defects, Click the Set Filter/Sort button. The Filter dialog box opens.&lt;/li&gt;&lt;li&gt;Click the Filter Condition box, Click the browse button. The Select Filter Condition dialog box opens. Click OK to close the Select Filter Condition dialog box. Click OK to apply your chosen filter.&lt;/li&gt;&lt;li&gt;Add a favorite view. In the Favorites menu, choose Add to Favorites. The Add Favorite dialog box opens.&lt;/li&gt;&lt;img alt="HP Quality Center - Defect/Bug Tracking" border="0" height="308" src="http://lh5.ggpht.com/_ansP04Rcsso/TKrj3SdtZRI/AAAAAAAAATE/hsMFwQls0oU/image%5B5%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="HP Quality Center - Defect/Bug Tracking" width="544" /&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-7184668741048335201?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/7184668741048335201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2010/10/hp-quality-center-defectbug-tracking.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7184668741048335201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7184668741048335201'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2010/10/hp-quality-center-defectbug-tracking.html' title='HP Quality Center - Defect/Bug Tracking'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_ansP04Rcsso/TKrj3SdtZRI/AAAAAAAAATE/hsMFwQls0oU/s72-c/image%5B5%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-8770611480033535876</id><published>2011-06-05T02:33:00.000-07:00</published><updated>2011-06-06T08:43:59.640-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unit and White Box Testing'/><title type='text'>Unit Testing - Best Practices &amp; Techniques</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. The primary goal of unit testing is to take the smallest piece of testable software in the application, isolate it from the remainder of the code, and determine whether it behaves exactly as expected. Each unit is tested separately before integrating them into modules to test the interfaces between modules.By means of effective Unit testing large percentage of defects are identified. Unit testing is performed by developers.&lt;br /&gt;&lt;br /&gt;Each module that is developed by designers need to be tested individually to verify proper operation so that any faulty module can be fixed immediately rather than let it exist and then cause some major issue in the integration phase. Once all of the units in a program have been found to be working efficiently and without any bugs, larger components of the program can be evaluated by means of integration testing. Though Unit testing may be time consuming, tedious and requires thoroughness on the part of the development team, but in the long run it can avoid major pitfalls in the software.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Benefits of unit testing:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The modular approach during Unit testing eliminates the dependency on other modules during testing.&amp;nbsp;&lt;/li&gt;&lt;li&gt;We can test parts of a project with out waiting for the other parts to be available.&lt;/li&gt;&lt;li&gt;Designers can identify and fix problem immediately, as the modules are best known to them. This helps in fixing multiple problems simultaneously.&lt;/li&gt;&lt;li&gt;Cost of fixing a defect identified during the early stages is less compared to that during later stage.&lt;/li&gt;&lt;li&gt;Debugging is simplified.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Structural coverage of code is higher.&lt;/li&gt;&lt;li&gt;Unit testing is more cost effective compared to the other stages of testing&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Misconceptions about Unit Testing:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Integration Tests will Catch all the Bugs Anyway:&lt;/b&gt; This is one of the common misconceptions of designers. Complexity of the issue rises while it passes through various testing cycles and then when the bug is raised during the later stages, the resolution time will be high as the scope of the bug widens. It is better to weed off the crop before it poisons the whole farm.&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="color: black; font-family: Arial, sans-serif; font-size: 10pt;"&gt;Programmers Dilemma&lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;Most designers believe Unit testing is not actually required as it is time consuming. They feel they are too good programmers and their software doesn’t need Unit tests. But i&lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;n the real world, everyone makes mistakes. Real software systems are much more complex. Software behavior various in different environment and with different scenarios. Coding is not a one pass process. Enhancements to the code can be made only when we know the existing module is functioning as expected.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;It Consumes Too Much Time: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;Developers are often in a hurry to complete their code and integrate it. Unit Testing is most often considered a useless activity, as they feel anyways the code will be tested by QA. &lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;There is no point in having a system which works but not exactly as it is supposed to function and is &amp;nbsp;to be full of bugs. Practically, such an approach to development will often result in software which will not even run. The net result is that a lot of time will be spent tracking down relatively simple bugs which are wholly contained within particular units. Individually, such bugs may be trivial, but collectively they result in an excessive period of time integrating the software to produce a system which is unlikely to be reliable. This can also lead to failure to meet the required deadlines. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;b&gt;Unit Testing Best Practices:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;Ensure each Unit Test case is independent of each other. As the software is prone to changes during the Unit Testing due to enhancements/changes to the requirements. Hence any given behavior should be specified in one and only one test. Otherwise if you later change that behavior, you’ll have to change multiple tests.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;Test only one code at a time. It is always recommended to test each of the modules independently and not while all are chained together. Otherwise you will have lots of overlap between tests and changes to one unit may effect all other modules and cause the software to fail.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;Name your unit tests clearly and consistently. Ensure that your test cases are easily readable so that anyone picking up Unit test cases can execute them without any issues. Ensure the test case nomenclature is consistent throughout.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;Before changing a module interface or implementation, make sure that the module has test cases and that it passes its tests before changing the implementation. This way you can know that your changes didn't break anything.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;Always ensure the bug identified during Unit Testing is fixed before moving it to the next phase.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;b&gt;Unit Testing&amp;nbsp; Techniques:&lt;/b&gt; Structural, Functional &amp;amp; Error based Techniques&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;Structural &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;b&gt;Techniques:&lt;/b&gt; It is a White box testing technique that uses an internal perspective of the system to design test cases based on internal structure. It requires programming skills to identify all paths through the software. The tester chooses test case inputs to exercise paths through the code and determines the appropriate outputs. Major Structural techniques are:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;b&gt;Statement Testing:&lt;/b&gt; A test strategy in which each statement of a program is executed at least once.&lt;/span&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Branch Testing: &lt;/b&gt;Testing in which all branches in the program source code are tested at least once.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Path Testing: &lt;/b&gt;Testing in which all paths in the program source code are tested at least once.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Condition Testing:&lt;/b&gt; Condition testing allows the programmer to determine the path through a program by selectively executing code based on the comparison of a value &lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;b&gt;Expression Testing:&lt;/b&gt; Testing in which the application is tested for different values of Regular Expression.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;b&gt;Functional testing techniques:&lt;/b&gt; These are Black box testing techniques which tests the functionality of the application. Some functionality testing techniques are:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;b&gt;Input domain testing:&lt;/b&gt; This testing technique concentrates on size and type of every input object in terms of boundary value analysis and Equivalence class.&lt;/span&gt; &lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Boundary Value: &lt;/b&gt;Boundary value analysis is a&amp;nbsp; software testing design technique in which tests are designed to include representatives of boundary values.&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt; &lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;b&gt;Syntax checking:&lt;/b&gt; This is a technique which is used to check the Syntax of the application.&lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;b&gt;Equivalence Partitioning:&lt;/b&gt; This is a software testing technique that divides the input data of a software unit into partition of data from which test cases can be derived&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;b&gt;Error based Techniques:&lt;/b&gt; The best person to know the defects in his code is the person who has designed it.&lt;br /&gt;Few of the Error based techniques are:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;b&gt;Fault seeding&lt;/b&gt; techniques can be used so that known defects can be put into the code and tested until they are all found.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;b&gt;Mutation Testing:&lt;/b&gt; This is done by mutating certain statements in your source code and checking if your test code is able to find the errors. Mutation testing is very expensive to run, especially on very large applications.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;b&gt;Historical Test data:&lt;/b&gt; This technique calculates the priority of each test case using historical information from the previous executions of the test case.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;Careful approach to Unit testing helps detecting many bugs at a stage of the software development where they can be corrected economically. It is a tedious process when bugs are detected and corrected at later stages of software development as fixing the bugs is difficult, time consuming and costly. Efficiency and quality are best served by testing software as early in the life cycle. Whenever any changes are made to the software we need to ensure regression testing is performed. Testing strategies like thorough unit testing, good management of the testing process, and appropriate use of tools helps in maximizing the effectiveness of testing effort. Effective unit testing is all part of developing a very high quality software product which can benefit the organization on a whole.&lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-8770611480033535876?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/8770611480033535876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2010/09/unit-testing-best-practices-techniques.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/8770611480033535876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/8770611480033535876'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2010/09/unit-testing-best-practices-techniques.html' title='Unit Testing - Best Practices &amp; Techniques'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-7787992127990577767</id><published>2011-06-02T01:17:00.000-07:00</published><updated>2011-06-06T08:44:45.704-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Defects Bugs and Errors'/><title type='text'>Bug or Incident or Defect Communication &amp; Triage</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Test Manager/Lead has to take the responsibility of communicating the defects to the respective Dev teams and all other stake holders. The process should be defined in such a way as depending on the severity of the defect the SLA for turnaround times should exist.&lt;br /&gt;&lt;br /&gt;The bug tracking &amp;amp; management tools should trigger an e-mail to the assigned team when the defect is assigned. If no tool is used Test leads will be sending e-mail communication to the Dev teams.&lt;br /&gt;&lt;br /&gt;While communicating bugs, always remember:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Do not share the actual Defect sheets through emails. Create share location and share the location details. This will avoid different people working on different versions of sheets.&lt;/li&gt;&lt;li&gt;Make sure Dev team also have write access to the share point and allow them to add comments and change the status of the defect&lt;/li&gt;&lt;/ul&gt;Depending on the time lines and the number of defects raised, the schedule for Triage has to be defined. Ideal way is to have this meeting every end of the day.  Discuss all the defects and decide the actions.&lt;br /&gt;&lt;br /&gt;For an effective bug triage, always remember:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Set up the conference call/Meeting and invite all the intended recipients.&lt;/li&gt;&lt;li&gt;Share the list of defects and their details to the Triage participants well in advance of meeting.&lt;/li&gt;&lt;li&gt;Make sure one representation is available from all groups.&lt;/li&gt;&lt;li&gt;Prepare an MOM for the Triage and log all the actions&lt;/li&gt;&lt;li&gt;Discuss on Actions pending from previous meetings.&lt;/li&gt;&lt;li&gt;Discuss defects and create new actions and identify the responsible person for each action.&lt;/li&gt;&lt;li&gt;Share the MOM with all the stake holders.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-7787992127990577767?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/7787992127990577767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2010/09/bug-or-incident-or-defect-communication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7787992127990577767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7787992127990577767'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2010/09/bug-or-incident-or-defect-communication.html' title='Bug or Incident or Defect Communication &amp; Triage'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-2565778925746772356</id><published>2011-06-01T04:02:00.000-07:00</published><updated>2011-06-06T08:45:36.587-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Defects Bugs and Errors'/><title type='text'>Common Problems in Bug Tracking</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Working with different stake holders in a project, teams would be facing difficulty in keeping transparency on bugs because of following common problems:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Lack of process for bug logging:&lt;/strong&gt; Typical scenario like testing &amp;amp; development teams are not well educated on severities &amp;amp; priorities to be used and their importance. &lt;/li&gt;&lt;li&gt;No clear communication to testing team on required fields as part of bug logging. Testers may skip to mention required data like reproducible steps or may skip to attached screen shots. &lt;/li&gt;&lt;li&gt;Lack of a standard bug tracking / logging template. If all team members will follow their own template to describe defects, it may lead to discrepancy at a later stage. &lt;/li&gt;&lt;li&gt;Team will not have a dedicated SPOC communicate defects to all the stake holders &lt;/li&gt;&lt;li&gt;Team will follow their own communication channel to communicate defects using phone/email. Sometimes they won’t even log defect after communicating issue to Dev and getting fix on the fly. &lt;/li&gt;&lt;li&gt;Team will not maintain appropriate statuses for defects. Even after they retest and close some times defect still shows as ‘Ready for Test’. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Improper Defect Triage/Communication Process&lt;/b&gt;: Triage process allows all stake holders to gather at one place (Physically or virtually) to discuss on all open defects and decide on action items. Without this call/meeting in regular intervals it will be difficult to have a common understanding on issues/defects or reasons for blocking of test execution. &lt;/li&gt;&lt;li&gt;Test team some time will not have control on Test environments and they would not know when the fix is deployed in to test environment. Sometimes Dev team adhocly performs certain actions on test environment and fixes the issue. Not having complete control on Test Environment would cause so many issues in ensuring quality of defect retest. &lt;/li&gt;In today’s market conditions, we have so many Freeware tools available for Test/Defect management tools. Some projects also afford to have cost assigned to Defect Management tools and buy required amount of licenses. Even after having a tool in place, if the process is not defined about how to utilize the tool then we will have many challenges to be faced in handling Defects. &lt;/ul&gt;&lt;ul&gt;The below are the common blind spots identified in the poor or No process scenarios.&lt;li&gt;No Training on tool(s) to the team&lt;/li&gt;&lt;li&gt;No clear guidelines on the process to the team&lt;/li&gt;&lt;li&gt;No availability of tool till the execution starts&lt;/li&gt;&lt;li&gt;No planning about how many licenses required for the team&lt;/li&gt;&lt;li&gt;No Communication process defined&lt;/li&gt;&lt;li&gt;No Triage process defined&lt;/li&gt;All the above will lead to poor reporting of the Defect status and eventually Test Execution status.&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-2565778925746772356?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/2565778925746772356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2010/10/common-problems-in-bug-tracking.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2565778925746772356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2565778925746772356'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2010/10/common-problems-in-bug-tracking.html' title='Common Problems in Bug Tracking'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-1590546388582015533</id><published>2011-05-31T07:39:00.000-07:00</published><updated>2011-06-06T08:49:58.592-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>C Vuser Functions in LoadRunner</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In LoadRunner, you can add C Vuser functions to any Vuser script in order to enhance the script. VuGen generates only a few of the general Vuser functions while you record. If required, the remaining functions can be manually programmed into a script.&lt;br /&gt;&lt;br /&gt;As per my knowledge, below is a list of general API functions for ANSI C scripts. It includes all protocols except for Java, VB, and GUI:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Transaction Functions:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. lr_end_sub_transaction --&amp;gt; Marks the end of a sub-transaction for performance analysis.&lt;br /&gt;&lt;br /&gt;2. lr_end_transaction --&amp;gt; Marks the end of a transaction.&lt;br /&gt;&lt;br /&gt;3. lr_end_transaction_instance --&amp;gt; Marks the end of a transaction instance for performance analysis.&lt;br /&gt;&lt;br /&gt;4. lr_fail_trans_with_error --&amp;gt; Sets the status of open transactions to LR_FAIL and sends an error message.&lt;br /&gt;&lt;br /&gt;5. lr_get_trans_instance_duration --&amp;gt; Gets the duration of a transaction instance specified by its handle.&lt;br /&gt;&lt;br /&gt;6. lr_get_trans_instance_wasted_time --&amp;gt; Gets the wasted time of a transaction instance by its handle.&lt;br /&gt;&lt;br /&gt;7. lr_get_transaction_duration --&amp;gt; Gets the duration of a transaction by its name.&lt;br /&gt;&lt;br /&gt;8. lr_get_transaction_think_time --&amp;gt; Gets the think time of a transaction by its name.&lt;br /&gt;&lt;br /&gt;9. lr_get_transaction_wasted_time --&amp;gt; Gets the wasted time of a transaction by its name.&lt;br /&gt;&lt;br /&gt;10. lr_resume_transaction --&amp;gt; Resumes collecting transaction data for performance analysis.&lt;br /&gt;&lt;br /&gt;11. lr_resume_transaction_instance --&amp;gt; Resumes collecting transaction instance data for performance analysis.&lt;br /&gt;&lt;br /&gt;12. lr_set_transaction_instance_status --&amp;gt; Sets the status of a transaction instance.&lt;br /&gt;&lt;br /&gt;13. lr_set_transaction_status --&amp;gt; Sets the status of open transactions.&lt;br /&gt;&lt;br /&gt;14. lr_set_transaction_status_by_name --&amp;gt; Sets the status of a transaction.&lt;br /&gt;&lt;br /&gt;15. lr_start_sub_transaction --&amp;gt; Marks the beginning of a subtransaction.&lt;br /&gt;&lt;br /&gt;16. lr_start_transaction --&amp;gt; Marks the beginning of a transaction.&lt;br /&gt;&lt;br /&gt;17. lr_start_transaction_instance --&amp;gt; Starts a nested transaction specified by its parent’s handle.&lt;br /&gt;&lt;br /&gt;18. lr_stop_transaction --&amp;gt; Stops the collection of transaction data.&lt;br /&gt;&lt;br /&gt;19. lr_stop_transaction_instance --&amp;gt; Stops collecting data for a transaction specified by its handle.&lt;br /&gt;&lt;br /&gt;20. lr_wasted_time --&amp;gt; Removes wasted time from all open transactions.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Command Line Parsing Functions:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. lr_get_attrib_double --&amp;gt; Retrieves a double type variable used on the script command line.&lt;br /&gt;&lt;br /&gt;2. lr_get_attrib_long --&amp;gt; Retrieves a long type variable used on the script command line.&lt;br /&gt;&lt;br /&gt;3. lr_get_attrib_string --&amp;gt; Retrieves a string used on the script command line.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Informational Functions:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. lr_user_data_point --&amp;gt; Records a user-defined data sample.&lt;br /&gt;&lt;br /&gt;2. lr_whoami --&amp;gt; Returns information about a Vuser to the Vuser script. Not applicable for Application Management.&lt;br /&gt;&lt;br /&gt;3. lr_get_host_name --&amp;gt; Returns the name of the host executing the Vuser script.&lt;br /&gt;&lt;br /&gt;4. lr_get_master_host_name --&amp;gt; Returns the name of the machine running the LoadRunner Controller or Tuning Console. Not applicable for Application Management.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;String Functions:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. lr_eval_string --&amp;gt; Replaces a parameter with its current value.&lt;br /&gt;&lt;br /&gt;2. lr_save_string --&amp;gt; Saves a null-terminated string to a parameter.&lt;br /&gt;&lt;br /&gt;3. lr_save_var --&amp;gt; Saves a variable length string to a parameter.&lt;br /&gt;&lt;br /&gt;4. lr_save_datetime --&amp;gt; Saves the current date and time to a parameter.&lt;br /&gt;&lt;br /&gt;5. lr _advance_param --&amp;gt; Advances to the next available parameter.&lt;br /&gt;&lt;br /&gt;6. lr _decrypt --&amp;gt; Decrypts an encoded string.&lt;br /&gt;&lt;br /&gt;7. lr_eval_string_ext --&amp;gt; Retrieves a pointer to a buffer containing parameter data.&lt;br /&gt;&lt;br /&gt;8. lr_eval_string_ext_free --&amp;gt; Frees the pointer allocated by lr_eval_string_ext.&lt;br /&gt;&lt;br /&gt;9. lr_save_searched_string --&amp;gt; Searches for an occurrence of string in a buffer and saves a portion of the buffer, relative to the string occurrence, to a parameter.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Message Functions:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. lr_debug_message --&amp;gt; Sends a debug message to the Output window or the Business Process Monitor log files.&lt;br /&gt;&lt;br /&gt;2. lr_error_message --&amp;gt; Sends an error message to the Output window or the Business Process Monitor log files.&lt;br /&gt;&lt;br /&gt;3. lr_get_debug_message --&amp;gt; Retrieves the current message class.&lt;br /&gt;&lt;br /&gt;4. lr_log_message --&amp;gt; Sends a message to a log file.&lt;br /&gt;&lt;br /&gt;5. lr_output_message --&amp;gt; Sends a message to the Output window or the Business Process Monitor log files.&lt;br /&gt;&lt;br /&gt;6. lr_set_debug_message --&amp;gt; Sets a debug message class.&lt;br /&gt;&lt;br /&gt;7. lr_vuser_status_message --&amp;gt; Generates and prints formatted output to the Controller or Console Vuser status area. Not applicable for Application Management.&lt;br /&gt;&lt;br /&gt;8. lr_message --&amp;gt; Sends a message to the Vuser log and Output window or the Business Process Monitor log files.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Run-Time Functions&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. lr_load_dll --&amp;gt; Loads an external DLL.&lt;br /&gt;&lt;br /&gt;2. lr_peek_events --&amp;gt; Indicates where a Vuser script can be paused.&lt;br /&gt;&lt;br /&gt;3. lr_think_time --&amp;gt; Pauses script execution to emulate think time—the time a real user pauses to think between actions.&lt;br /&gt;&lt;br /&gt;4. lr_continue_on_error --&amp;gt; Specifies an error handling method.&lt;br /&gt;&lt;br /&gt;5. lr_rendezvous --&amp;gt; Sets a rendezvous point in a Vuser script. Not applicable for Application Management.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Also See:&lt;/span&gt; Other &lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="font-weight: bold;"&gt;LoadRunner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-1590546388582015533?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/1590546388582015533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/03/c-vuser-functions-in-loadrunner.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1590546388582015533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1590546388582015533'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/03/c-vuser-functions-in-loadrunner.html' title='C Vuser Functions in LoadRunner'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-5367465306226690468</id><published>2011-05-31T01:26:00.000-07:00</published><updated>2011-06-06T08:47:55.839-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Types and Strategies'/><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><title type='text'>How to do System Testing</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Testing the software system or software application as a whole is referred to as System Testing of the software. System testing of the application is done on complete application software to evaluate software's overall compliance with the business / functional / end-user requirements. The system testing comes under black box software testing. So, the knowledge of internal design or structure or code is not required for this type of software testing. &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;In system testing a software test professional aims to detect defects or bugs both within the interfaces and also within the software as a whole. However, the during integration testing of the application or software, the software test professional aims to detect the bugs / defects between the individual units that are integrated together.&lt;br /&gt;&lt;br /&gt;During system testing, the focus is on the software design, behavior and even the believed expectations of the customer. So, we can also refer the system testing phase of software testing as investigatory testing phase of the software development life cycle.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;At what stage of SDLC the System Testing comes into picture:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;After the integration of all components of the software being developed, the whole software system is rigorously tested to ensure that it meets the specified business, functional &amp;amp; non-functional requirements. System Testing is build on the unit testing and integration testing levels. Generally, a separate and dedicated team is responsible for system testing. And, system testing is performed on stagging server.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why system testing is required:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It is the first level of software testing where the software / application is tested as a whole. &lt;/li&gt;&lt;li&gt;It is done to verify and validate the technical, business, functional and non-functional requirements of the software. It also includes the verification &amp;amp; validation of software application architecture. &lt;/li&gt;&lt;li&gt;System testing is done on stagging environment that closely resembles the production environment where the final software will be deployed. &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Entry Criteria for System Testing:&lt;/b&gt;  &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Unit Testing must be completed &lt;/li&gt;&lt;li&gt;Integration Testing must be completed &lt;/li&gt;&lt;li&gt;Complete software system should be developed &lt;/li&gt;&lt;li&gt;A software testing environment that closely resembling the production environment must be available (stagging environment). &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;System Testing in seven steps: &lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Creation of System Test Plan &lt;/li&gt;&lt;li&gt;Creation of system test cases &lt;/li&gt;&lt;li&gt;Selection / creation of test data for system testing &lt;/li&gt;&lt;li&gt;Software Test Automation of execution of automated test cases (if required) &lt;/li&gt;&lt;li&gt;Execution of test cases &lt;/li&gt;&lt;li&gt;Bug fixing and regression testing &lt;/li&gt;&lt;li&gt;Repeat the software test cycle (if required on multiple environments) &lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Contents of a system test plan:&lt;/b&gt; The contents of a software system test plan may vary from organization to organization or project to project. It depends how we have created the software test strategy, project plan and master test plan of the project. However, the basic contents of a software system test plan should be:&lt;br /&gt;&lt;br /&gt;- Scope    &lt;br /&gt;- Goals &amp;amp; Objective     &lt;br /&gt;- Area of focus (Critical areas)     &lt;br /&gt;- Deliverables     &lt;br /&gt;- System testing strategy     &lt;br /&gt;- Schedule     &lt;br /&gt;- Entry and exit criteria     &lt;br /&gt;- Suspension &amp;amp; resumption criteria for software testing&lt;br /&gt;- Test Environment     &lt;br /&gt;- Assumptions     &lt;br /&gt;- Staffing and Training Plan     &lt;br /&gt;- Roles and Responsibilities     &lt;br /&gt;- Glossary&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to write system test cases: &lt;/b&gt;The system test cases are written in a similar way as we write functional test cases. However, while creating system test cases following two points needs to be kept in mind:&lt;br /&gt;&lt;br /&gt;- System test cases must cover the use cases and scenarios    &lt;br /&gt;- They must validate the all types of requirements - technical, UI, functional, non-functional, performance etc.&lt;br /&gt;&lt;br /&gt;As per Wikipedia, there are total of 24 types of testings that needs to be considered during system testing. These are:&lt;br /&gt;&lt;br /&gt;GUI software testing, Usability testing, Performance testing, Compatibility testing, Error handling testing, Load testing, Volume testing, Stress testing, User help testing, Security testing, Scalability testing, Capacity testing, Sanity testing, Smoke testing, Exploratory testing, Ad hoc testing, Regression testing, Reliability testing, Recovery testing, Installation testing, Idem potency testing, Maintenance testing, Recovery testing and failover testing, Accessibility testing&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The format of system test cases contains:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Test Case ID - a unique number &lt;/li&gt;&lt;li&gt;Test Suite Name &lt;/li&gt;&lt;li&gt;Tester - name of tester who execute of write test cases &lt;/li&gt;&lt;li&gt;Requirement - Requirement Id or brief description of the functionality / requirement &lt;/li&gt;&lt;li&gt;How to Test - Steps to follow for execution of the test case &lt;/li&gt;&lt;li&gt;Test Data - Input Data &lt;/li&gt;&lt;li&gt;Expected Result &lt;/li&gt;&lt;li&gt;Actual Result &lt;/li&gt;&lt;li&gt;Pass / Fail &lt;/li&gt;&lt;li&gt;Test Iteration &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-5367465306226690468?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/5367465306226690468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/12/how-to-do-system-testing.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5367465306226690468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5367465306226690468'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/12/how-to-do-system-testing.html' title='How to do System Testing'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-6944059017827112988</id><published>2011-05-24T10:24:00.000-07:00</published><updated>2011-06-07T09:15:36.391-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation Concepts'/><title type='text'>Keyword Driven Methodology</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;It is a Test Creation Methodology which involves selection of keywords. Keywords Indicate Operations to be Performed and Meant for Structured Test Creation. It creates Structured Tests – Easy to Update &amp;amp; Maintain.&lt;br /&gt;&lt;br /&gt;It is suitable for companies having technically expert users: For Maintaining Resource Frameworks and companies having less technically proficient users for for design &amp;amp; maintenance of automated test steps. The objective is clear division of automation tasks.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;Keywords can be come from&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Built in keywords from QTP itself &lt;/li&gt;&lt;li&gt;Our own user defined keywords &lt;/li&gt;&lt;/ul&gt;Resources and infrastructure required:&lt;br /&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;Shared object repositories &lt;/li&gt;&lt;li&gt;Function libraries &lt;/li&gt;&lt;li&gt;Recovery scenarios &lt;/li&gt;&lt;li&gt;Persons with thorough knowledge of application &lt;/li&gt;&lt;li&gt;Expertise of QTP Software &lt;/li&gt;&lt;/ul&gt;Steps to implement &lt;b&gt;keyword driven methodology in QTP&lt;/b&gt;:    &lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Analyzing the application to find out the testing needs:&lt;/b&gt; Find out the Application’s development environment like Web, Java or .NET. Load the desired &lt;b&gt;QTP&lt;/b&gt; add-ins and find out the business processes and functionality we want to test. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Setting up the object repositories:&lt;/b&gt; Decide how to divide our actions, build resources to be used by our tests, the most widely used resource is the &lt;b&gt;shared object repository.&lt;/b&gt; &lt;/li&gt;&lt;li&gt;&lt;b&gt;Creation of function libraries:&lt;/b&gt; Creation of function libraries containing functions which extend QTP functionality and use these keywords to build keyword-driven tests. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Configuration of QTP according to the testing needs:&lt;/b&gt; Setting up of preferences like &lt;b&gt;global testing preferences&lt;/b&gt;, run session preferences, any test specific preferences. Creation of recovery scenarios to instruct QTP how to proceed when a step fails and configuration of QTP window to easily access panes like the test flow pane, the resources pane and the available keywords pane. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Building of the tests:&lt;/b&gt; Construction of the tests by inserting calls to the relevant actions from the tests. Creation of one or more empty tests and addition of actions to them. Association of the object repositories with the relevant actions. Association of the function libraries and recovery scenarios with the relevant tests, so that steps can be inserted using keywords and configuration of test preferences. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Addition of Steps to the Test Actions:&lt;/b&gt; Addition of steps which use the keywords created in previous steps, enhancement  of tests by inserting checkpoints and output values – to verify that the application is behaving according to expectations and addition of programmatic statements to enhance the tests further. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Running, analyzing and troubleshooting the tests:&lt;/b&gt; When the tests are ready, run them, view the results and troubleshoot the tests, as needed. &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-6944059017827112988?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/6944059017827112988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/keyword-driven-methodology.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6944059017827112988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6944059017827112988'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/keyword-driven-methodology.html' title='Keyword Driven Methodology'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-2741744813700675349</id><published>2011-05-23T23:54:00.000-07:00</published><updated>2011-06-06T08:48:50.947-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Types and Strategies'/><title type='text'>How to do Cookies Testing</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Below is a list of major scenarios for cookies testing of a website. Multiple test cases can be generated from &lt;br /&gt;these scenarios by performing various combinations.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Check if the application is writing cookies properly or not.&lt;/li&gt;&lt;li&gt;Test to make sure that no personal or sensitive data is stored in the cookie. If it is there in cookies, it should be in encrypted format.&lt;/li&gt;&lt;li&gt;If the application under test is a public website, there should not be overuse of cookies. It may result in loss of website traffic if browser is prompting for cookies more often.&lt;/li&gt;&lt;li&gt;Close all browsers, delete all previously written cookies and disable the cookies from your browser settings. Navigate or use that part of web site which use cookies. It should display appropriate messages like "For smooth functioning of this site please enable cookies on your browser."&lt;/li&gt;&lt;li&gt;Set browser options to prompt whenever cookie is being stored / saved in your system. Navigate or use that part of web site which use cookies. It will prompt and ask if you want to accept or reject the cookie. Application under test should display an appropriate message if you reject the cookies. Also, check that if pages are getting crashed or data is getting corrupted.&lt;/li&gt;&lt;li&gt;Close all browsers windows and manually delete all cookies. Navigate various web pages and check and see if these web pages show unexpected behavior.&lt;/li&gt;&lt;li&gt;Edit few cookies manually in notepad or some other editor. Make modifications like alter the cookie content, name of the cookie, change expiry date etc. Now, test the site functionality. Corrupted cookies should not allow to read the data inside it.&lt;/li&gt;&lt;li&gt;Cookies written by one web site should not be accessible by other website.&lt;/li&gt;&lt;li&gt;If you are testing an online shopping portal, Check if reaching to your final order summary page deletes the cookie of previous page of shopping cart properly and no invalid action or purchase got executed from same logged in user.&lt;/li&gt;&lt;li&gt;Check if the application under test is writing the cookies properly on different browsers as intended and site works properly using these cookies. This test can be done on browsers like different versions of internet explorer, Mozilla Firefox, Netscape, Opera etc.&lt;/li&gt;&lt;li&gt;If the application under test is using cookies to maintain the logging state for users. Check if some id is being displayed in the address bar. Now, change the id &amp;amp; press enter. It should display an access denied message and and you should not be able to see other user's account.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-2741744813700675349?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/2741744813700675349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2010/07/how-to-do-cookies-testing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2741744813700675349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2741744813700675349'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2010/07/how-to-do-cookies-testing.html' title='How to do Cookies Testing'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-914313865323139503</id><published>2011-03-16T09:39:00.001-07:00</published><updated>2011-03-16T09:40:06.640-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Challenges in Software Testing</title><content type='html'>&lt;p&gt;All software engineering areas face lot of challenges during execution. So, I would say, as a tester, never ever get surprised when you face challenges in software testing. But, it is also a hard fact for tester community that most of the companies are not testing oriented. Management always do a good appraisal of development teams. Sometimes, appreciation goes to development teams only. &lt;/p&gt;  &lt;p&gt;Few points that I want highlight to management / project managers &amp;amp; development teams:&lt;/p&gt;  &lt;a name='more'&gt;&lt;/a&gt;  &lt;ol&gt;   &lt;li&gt;If development teams are so good / intelligent, then why you need testers to test the application.&lt;/li&gt;    &lt;li&gt;Remember - by testing a build / release, testers evaluate the Quality of work done by developers. &lt;/li&gt;    &lt;li&gt;During every regression testing, lot of bugs got re-opened (what quality of work was done by developers)&lt;/li&gt;    &lt;li&gt;Sometimes, a customer release requires 5-7 regression testing cycles. Think Why?&lt;/li&gt;    &lt;li&gt;During these 5 to 7 regression cycles, developers made so many mistakes. Testers help to prevent the defect leakage to customer. But, at the end, if even if 2-3 minor bugs goes to customer, everybody from top to bottom will catch testers. Just imagine, with one mistake of a tester, everybody will catch testers from the neck. Are testers bound to make not even a single mistake? But, developers can repeat the same mistakes multiple times.&lt;/li&gt;    &lt;li&gt;Most of the times, developers eat tester's time.&lt;/li&gt;    &lt;li&gt;I never understand why management always keep a difference between developers and testers. You might be having answer to this question, but, I'm not.&lt;/li&gt; &lt;/ol&gt; &lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 2px auto 5px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="Challenges in Software Testing" border="0" alt="Challenges in Software Testing" src="http://lh3.ggpht.com/_ansP04Rcsso/TYDnsFI6XSI/AAAAAAAAAVI/CUFy5pS_SlQ/image%5B4%5D.png?imgmax=800" width="240" height="239" /&gt;  &lt;p align="left"&gt;Delivering a Quality product is a joint responsibility of developers, testers &amp;amp; other relevant stack holders. If some bugs, goes to customer, remember:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Developers also did a unit testing&lt;/li&gt;    &lt;li&gt;An expert solution architect designed the system. &lt;/li&gt;    &lt;li&gt;Some senior developer also reviewed the code / database&lt;/li&gt;    &lt;li&gt;Customer also did a UAT - then, application goes live &amp;amp; bug appears&lt;/li&gt;    &lt;li&gt;Product managers / business analysts review test cases (and test cases are executed by testers)&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Now, apart from testing done by testers, these five steps were also performed which were not able to detect that bug. Then, why all blame came to testers.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The major root cause of all the above mentioned problems is only one challenge - &amp;quot;Lack of testing culture in the organization&amp;quot;. To build a testing culture, management need to play an important role.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Second major challenge in the testing is the lack of skilled testers. Again, the major root cause for this is &amp;quot;Wrong Management Decision&amp;quot; at the time of selection of testers. As usual management do not want to invest in testers. This results into incomplete, insufficient and ad-hoc testing throughout the project life cycle. It is also true that sometimes, testers may add complications in the testing of a project due to their unskilled way of working.&lt;/p&gt;  &lt;p&gt;There are few other challenges:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Developers did not communicate what the build is about. Wake up testers - If developers didn't communicate about what this build is about, ask them before testing.&lt;/li&gt;    &lt;li&gt;Remember, complete Testing is never possible. Testing is always done on sampling basis. Selection of test data needs good proficiency in test data selection methods. &lt;/li&gt;    &lt;li&gt;Sometimes, testers and developers fight with each other on bugs and take the things personally rather than professionally. It becomes a major challenge for project stake holders.&lt;/li&gt;    &lt;li&gt;As project keep on growing, regression testing becomes challenge. For these kind of situations, both the testing &amp;amp; development teams need to work together to do a proper impact analysis.&lt;/li&gt;    &lt;li&gt;In most of the organizations, at the time of effort estimation, testing team is not involved. Testing team is always asked to test the build in a particular time. If you are facing this challenge, raise your voice to relevant stack holders.&lt;/li&gt;    &lt;li&gt;If requirements are not properly communicated to you, ask for detailed requirements. Never ever assume anything.&lt;/li&gt;    &lt;li&gt;Management always expects high return on investment for automation. Do a proper study for &amp;quot;whether to go for test automation or not&amp;quot;. Communicate timely to all stack holders.&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-914313865323139503?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/914313865323139503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2011/03/challenges-in-software-testing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/914313865323139503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/914313865323139503'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2011/03/challenges-in-software-testing.html' title='Challenges in Software Testing'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_ansP04Rcsso/TYDnsFI6XSI/AAAAAAAAAVI/CUFy5pS_SlQ/s72-c/image%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-5667694646435241851</id><published>2011-03-07T06:56:00.001-08:00</published><updated>2011-03-07T06:57:36.922-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Management'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>How to Improve Software Testing Process / Practice</title><content type='html'>&lt;p&gt;Improving the testing process is not the responsibility of test team only. It is a joint effort of Development &amp;amp; Testing team and Management to understand the health of existing testing process and identify the necessary measures to improve it.&lt;/p&gt;  &lt;a name='more'&gt;&lt;/a&gt;  &lt;p&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 2px auto 5px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="How to Improve Software Testing Process" border="0" alt="How to Improve Software Testing Process" src="http://lh3.ggpht.com/_ansP04Rcsso/TXTyE9zfq_I/AAAAAAAAAVE/RtGehTAzyFM/image%5B11%5D.png?imgmax=800" width="240" height="73" /&gt;&lt;/p&gt;  &lt;p&gt;Points for Leads, Test Managers, Project Managers and Delivery Heads:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Identify all the platforms on which application will be run.&lt;/li&gt;    &lt;li&gt;Improve requirements management process – business &amp;amp; functional requirements should be well documented. Involve testing team in requirement gathering phase.&lt;/li&gt;    &lt;li&gt;Create a document / list of all possible scenarios before writing test cases. Include it into test planning.&lt;/li&gt;    &lt;li&gt;Measure testing effort on periodical basis – New Bug Rate, Effort Variance, Schedule Variance, Test Case Effectiveness, Residual defect density etc.&lt;/li&gt;    &lt;li&gt;Keep developers away from test environments.&lt;/li&gt;    &lt;li&gt;Post mortem meetings must be planned after every release. Both testing &amp;amp; development teams should participate in these meetings.&lt;/li&gt;    &lt;li&gt;Keep track of bug fixing time taken by development team. Keep informed about the time remaining for regression testing to relevant stack holders. Tracking of this point by relevant stack holders is very critical as it may result in low quality releases.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Points for Software Testers:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Try to understand the logic behind the screen and try to break that logic. Understand the internal workings of code from developers during lunch time or tea breaks.&lt;/li&gt;    &lt;li&gt;Analyse test results thoroughly. Try to identify root cause from functional perspective.&lt;/li&gt;    &lt;li&gt;Break the application into smaller functional modules.&lt;/li&gt;    &lt;li&gt;First write test cases for valid conditions, then cover invalid conditions.&lt;/li&gt;    &lt;li&gt;While writing test cases, refer design documents as well.&lt;/li&gt;    &lt;li&gt;As soon as you complete the test case writing, share test case with development team. It could result in time saving.&lt;/li&gt;    &lt;li&gt;During test case writing phase, group test cases using impact analysis. It will help in effective regression testing in less time.&lt;/li&gt;    &lt;li&gt;If you are new tester for a old development team, have a look on old bug reports of modules / project where development worked previously. Generally developers, repeat similar mistakes.&lt;/li&gt;    &lt;li&gt;Test the application for both implicit as well as explicit requirements.&lt;/li&gt;    &lt;li&gt;Never communicate bugs verbally. For any critical / show stopper bugs, have an immediate discussion &amp;amp; then document via mail and share it to relevant stack holders.&lt;/li&gt; &lt;/ol&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-5667694646435241851?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/5667694646435241851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2011/03/how-to-improve-software-testing-process.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5667694646435241851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5667694646435241851'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2011/03/how-to-improve-software-testing-process.html' title='How to Improve Software Testing Process / Practice'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_ansP04Rcsso/TXTyE9zfq_I/AAAAAAAAAVE/RtGehTAzyFM/s72-c/image%5B11%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-1444079585019697621</id><published>2011-03-01T08:01:00.000-08:00</published><updated>2011-06-07T09:18:22.022-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Testing Business Components using QTP and Quality Center</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Generally, business components are created and modified in Quality Centre by Subject Matter Experts. However, you can use the Business Component Keyword View to create, view, modify, and debug a business component in QTP, if required.&lt;br /&gt;&lt;br /&gt;In the Keyword View, business components are divided into steps in a modular, keyword-driven, table format. Each step is a row that comprises individual parts that you can easily modify. You create and modify steps by selecting items and operations and entering additional information, as required.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Each step in a business component is automatically documented as you complete it. This enables you to view a description of the step in understandable sentences. In addition, if you added a function library to the application area associated with the business component, when you define a step by selecting a user-defined operation (function), the documentation that you added in the function library will be displayed for the step.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Before you create or open a business component, you connect QTP to a Quality Centre project, which is where business components and application area resources and settings are stored. Connecting to your Quality Centre project enables QTP to create or open the business component. This also enables the business component to access all of the resources defined in the application area on which the component is based.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;strong&gt;Important Note: &lt;/strong&gt;Make sure you have the required Quality Centre permissions before working with business components and application areas.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;If the application area you select does not yet contain all of the required resources and settings, you can still add steps using the &lt;strong&gt;ManualStep&lt;/strong&gt; function or the &lt;strong&gt;Comment&lt;/strong&gt; option. This enables you to type in manual steps as you would in Quality Centre or in another application, such as Microsoft Excel or Microsoft Word. You can also use comments to add information about a step or to separate sections of your business component. Each manual step and comment appears as a separate row in the Keyword View.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;If you want to delete a component, you can do so only in Quality Centre, regardless of whether it was created in QTP or in Quality Centre.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Also, if needed, you can convert a business component to a scripted component.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-1444079585019697621?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/1444079585019697621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/testing-business-components-using-qtp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1444079585019697621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1444079585019697621'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/testing-business-components-using-qtp.html' title='Testing Business Components using QTP and Quality Center'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-4325929631303890680</id><published>2010-11-02T05:43:00.000-07:00</published><updated>2010-11-02T02:08:57.063-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Job Openings'/><title type='text'>Software Testing Openings in Gurgaon</title><content type='html'>&lt;b&gt;Date: &lt;/b&gt;02-Nov-10 &lt;br /&gt;There few urgent openings for software test professionals having experience from 6 months to 1 year.&lt;br /&gt;&lt;b&gt;Location:&lt;/b&gt; Gurgaon &lt;br /&gt;&lt;b&gt;If you are interested, please send your cv at jobs_india@yahoo.com with the subject line as “Testing | Years of Experience”. Kindly mention the below details:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Current CTC: &lt;/li&gt;&lt;li&gt;Expected CTC: &lt;/li&gt;&lt;li&gt;Notice Period: &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;/b&gt;Below is the job description:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Experience in testing of web based applications&lt;/li&gt;&lt;li&gt;Experience in Manual Functional and System Testing&lt;/li&gt;&lt;li&gt; Experience in test case design and execution&lt;/li&gt;&lt;li&gt;&amp;nbsp;Experience in regression testing, re-testing, integration testing, rapid testing&amp;nbsp;&lt;/li&gt;&lt;li&gt;Bug Reporting &amp;amp; Tracking&lt;/li&gt;&lt;li&gt;Good understanding of software development life cycle models&lt;/li&gt;&lt;li&gt;Good communication skills&lt;/li&gt;&lt;li&gt;Knowledge of automation tools will be an added advantage&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;If you are interested, please send your cv at jobs_india@yahoo.com with the subject line as “Testing | Years of Experience”. &lt;/b&gt;&lt;br /&gt;=========================================================== &lt;br /&gt;&lt;b&gt;Date: &lt;/b&gt;May 06, 2008&lt;br /&gt;There is an opening for Test Lead. Below are the job details:&lt;br /&gt;&lt;b&gt;Experience: &lt;/b&gt;3 - 6 Years &lt;br /&gt;&lt;b&gt;Desired Qualification:&lt;/b&gt; UG - B.Tech/B.E. - Any Specialization; BCA - Computers&lt;br /&gt;Candidate should have experince in Test Planning and Test Execution. &lt;br /&gt;Interested candidates can send their profiles directly to &lt;b&gt;narender@eminence.co.in&lt;/b&gt;&lt;br /&gt;=========================================================== &lt;br /&gt;=========================================================== &lt;br /&gt;&lt;b&gt;Date:&lt;/b&gt; May 03, 2008&lt;br /&gt;There is an opening for Sr. Tester in United Health Group. &lt;br /&gt;&lt;b&gt;Skill Set:&lt;/b&gt; Automation QTP&lt;br /&gt;If interested kindly mail your resume at &lt;b&gt;Sharad@recruitingpundits.co.in&lt;/b&gt; ASAP. Kindly mention the following details also: - &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Skill Sets: &lt;/li&gt;&lt;li&gt;Current CTC: &lt;/li&gt;&lt;li&gt;Expected CTC: &lt;/li&gt;&lt;li&gt;Notice Period: &lt;/li&gt;&lt;/ul&gt;=========================================================== &lt;br /&gt;&lt;b&gt;Also See:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/current-openings-in-delhi.html"&gt;&lt;b&gt;Openings in Delhi&lt;/b&gt;&lt;/a&gt;&lt;b&gt; &lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/openings-in-noida.html"&gt;&lt;b&gt;Openings in Noida&lt;/b&gt;&lt;/a&gt;&lt;b&gt; &lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/openings-in-us-singapore.html"&gt;&lt;b&gt;Openings in US / Singapore&lt;/b&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-4325929631303890680?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/4325929631303890680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2007/10/openings-in-gurgaon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4325929631303890680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4325929631303890680'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2007/10/openings-in-gurgaon.html' title='Software Testing Openings in Gurgaon'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-5151957399426000733</id><published>2009-10-30T10:55:00.001-07:00</published><updated>2009-12-09T05:38:43.500-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Management'/><title type='text'>Software Test Management and Planning</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/11/software-testing-estimation-process.html" rel="nofollow" title="Software Testing Estimation Process"&gt;Software Testing Estimation Process&lt;/a&gt; – It covers some important factors which needs to be taken care while doing estimation. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/12/organizing-test-team.html" rel="nofollow" title="Organizing the Test Team"&gt;Organizing the Software Test Team&lt;/a&gt; – One of the important tasks for the Software Test Manager.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/04/test-readiness-review-checklist.html" rel="nofollow" title="Test Readiness Review Checklist"&gt;Software Test Readiness Review Checklist&lt;/a&gt; – A sample checklist for Software Test Leads &amp;amp; Managers to evaluate the readiness of the application released for software testing.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/12/identify-testing-types-and-exit.html" rel="nofollow" title="Identify Testing Types and Exit Criteria"&gt;Identify Software Testing Types and Exit Criteria&lt;/a&gt; – Identifying various types of software testing's required for the application and Exit Criteria, both are very critical for the success of testing effort. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/12/software-test-planning.html" rel="nofollow" title="Software Test Planning"&gt;Software Test Planning&lt;/a&gt; – The quality of the testing effort is directly proportional to the quality of the test planning. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/testing-bible-software-test-plan.html" rel="nofollow" title="Testing Bible - Software Test Plan Document"&gt;Software Testing Bible - Software Test Plan Document&lt;/a&gt; – The document usually created after software test planning or parallel with the Test Planning effort. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/12/test-specification.html" rel="nofollow" title="Test Specification"&gt;Software Test Specification&lt;/a&gt; - a detailed summary of what all scenarios shall be tested and how they will be tested. It is basically, a part of software test planning process. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/test-strategy-all-aspects.html" rel="nofollow" title="Test Strategy"&gt;Software Test Strategy&lt;/a&gt; – Important activity to be done before starting the software test planning. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/12/when-software-is-ready-to-ship-or.html"&gt;When software is ready to ship or release&lt;/a&gt; – It is really difficult to decide whether the software is ready for release or not. Only, an experienced software test manager or software test lead can make decision of it. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/05/responsibilities-of-test-manager-lead.html" rel="nofollow" title="Responsibilities of a Test Manager / Lead"&gt;Responsibilities of a Software Test Manager / Lead&lt;/a&gt; – Here is a list of roles and responsibilities of a Software Test Manager or Test Lead. It will help aspiring Software Test Managers and leads. &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-5151957399426000733?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/5151957399426000733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/test-management-and-planning.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5151957399426000733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5151957399426000733'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/test-management-and-planning.html' title='Software Test Management and Planning'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-968586443728290450</id><published>2009-10-30T02:39:00.001-07:00</published><updated>2009-12-09T06:39:28.715-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Types and Strategies'/><title type='text'>Software Testing Types, Methods and Strategies</title><content type='html'>In my various posts in this web log, I wrote about common and important Software Testing Types, Methods and Strategies. Below are these topics. Although this is not a complete list, but soon it will increase in size as well as in quality.&lt;br /&gt;&lt;br /&gt;Here is the list:&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/06/localization-testing.html" title="Localization Testing"&gt;Localization Software Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/05/agile-testing.html" title="Agile Testing"&gt;Agile Software Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/06/build-verification-testing.html" title="Build Verification Testing"&gt;Build Verification Software Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/06/usability-testing.html" title="Usability Testing"&gt;Usability Software Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/05/penetration-testing-software.html" title="Penetration Testing"&gt;Penetration Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/05/installation-testing.html" title="Installation Testing"&gt;Installation Software Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/04/network-protocol-testing.html" title="Network Protocol Testing"&gt;Network Protocol Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/04/what-is-security-testing.html" title="Security Testing"&gt;Security Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/regression-testing.html" title="Regression Testing"&gt;Regression Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/rapid-testing.html" title="Rapid Testing"&gt;Rapid Software Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/task-based-software-testing.html" title="Task-Based Software Testing"&gt;Task-Based Software Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/thread-based-integration-testing.html" title="Thread Based Integration Testing"&gt;Thread Based Integration Software Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/top-down-testing-vs-bottom-up-testing.html" title="Top down Testing and Bottom up Testing"&gt;Top down Software Testing and Bottom up Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/pairwise-testing.html" title="Pairwise Testing"&gt;Pairwise Software Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/09/user-acceptance-testing.html" title="User Acceptance Testing"&gt;User Acceptance Software Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/spiral-testing-approach.html"&gt;Spiral Software Testing Approach&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/black-box-testing.html" title="Black Box Testing"&gt;Black Box Software Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/09/white-box-testing.html" title="White Box Testing"&gt;White Box Software Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/12/difference-between-smoke-sanity-testing.html"&gt;Smoke &amp;amp; Sanity Software Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/12/how-to-do-system-testing.html"&gt;System Testing&lt;/a&gt;&amp;nbsp; &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-968586443728290450?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/968586443728290450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/testing-types-methods-and-strategies.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/968586443728290450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/968586443728290450'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/testing-types-methods-and-strategies.html' title='Software Testing Types, Methods and Strategies'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-253361382560291238</id><published>2009-10-21T22:50:00.001-07:00</published><updated>2009-12-09T06:44:21.190-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>License Errors in HP Mercury's LoadRunner</title><content type='html'>&lt;b&gt;License – Expired:&lt;/b&gt; Your LoadRunner license has expired. Please contact customer support to renew it. You have a time-limited license for your LoadRunner application. Some or all of your license features have expired. &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Troubleshooting:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Check your license information of LoadRunner to verify whether your license has expired.&lt;/li&gt;&lt;li&gt;Contact customer support of LoadRunner to renew your license&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;License – Renewal:&lt;/b&gt; Your LoadRunner licenses are no longer valid. Contact customer support to renew your licenses of LoadRunner.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Troubleshooting:&lt;/b&gt; Contact customer support to renew your LoadRunner license.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;License - Time limit Expired:&lt;/b&gt; LoadRunner out of licenses. You have a time-limited LoadRunner license. Some or all of your license features have expired.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Troubleshooting:&lt;/b&gt; &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Check your LoadRunner license to verify which features have expired. &lt;/li&gt;&lt;li&gt;Contact customer support to renew your LoadRunner license.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;License - Vuser Type Not Licensed:&lt;/b&gt; You do not have a LoadRunner license for this Vuser type. Please contact customer support to renew your LoadRunner license.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Troubleshooting:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Check your LoadRunner license information to verify whether the LoadRunner license currently installed includes the Vuser types that you are trying to use.&lt;/li&gt;&lt;li&gt;Contact customer support to obtain a LoadRunner license for this Vuser type, or to inform them that you have a problem trying to run a LoadRunner licensed Vuser type.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;License - WAN Emulation:&lt;/b&gt; You need a LoadRunner  license to use the WAN Emulation feature. Please contact customer support for LoadRunner  licensing information.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Troubleshooting: &lt;/b&gt;Contact customer support for WAN Emulation LoadRunner licensing information.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Also See: &lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="color: blue;"&gt;Important LoadRunner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-253361382560291238?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/253361382560291238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/license-errors-in-loadrunner.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/253361382560291238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/253361382560291238'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/license-errors-in-loadrunner.html' title='License Errors in HP Mercury&apos;s LoadRunner'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-7529015749285393338</id><published>2009-10-08T05:55:00.001-07:00</published><updated>2009-12-09T06:48:37.289-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>Replay Tips for Citrix protocol in HP Mercury's LoadRunner</title><content type='html'>Today, I’m going add one more tutorial in the &lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;LoadRunner&lt;/a&gt; section. Below are some useful tips to replay a HP Mercury's LoadRunner script for Citrix protocol while doing &lt;b&gt;performance testing&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Set initialization quota:&lt;/b&gt; To prevent overloading by multiple Vusers in LoadRunner while connecting, set an initialization quota of 4 to 10 Vusers (depending on the capacity of the server) or apply ramp up initialization using the &lt;b&gt;LoadRunner &lt;/b&gt;Scheduler.       &lt;/li&gt;&lt;li&gt;&lt;b&gt;Enable think time:&lt;/b&gt; While doing &lt;b&gt;performance testing&lt;/b&gt; using &lt;b&gt;LoadRunner&lt;/b&gt;; for best results, do not disable think time in the Run Time settings. Think time is especially relevant before the ctrx_sync_on_window and ctrx_sync_on_bitmap functions, which require time to stabilize. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Set consistency between machines:&lt;/b&gt; If you intend to replay the &lt;b&gt;LoadRunner Vuser &lt;/b&gt;script on another machine, make sure that the following items are consistent between the record and replay machines: Window Size (resolution), Window Colors, System Font and the other Default Options settings for the Citrix client. In &lt;b&gt;LoadRunner&lt;/b&gt;, these settings affect the hash value of bitmaps, and inconsistencies may cause replay to fail. To view the Citrix Client settings, select an item from the Citrix program group and choose Application Set Settings or Custom Connection Settings from the right-click menu. Select the Default Options tab. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Increase the numbers of Vusers per machine:&lt;/b&gt; Machines running Citrix &lt;b&gt;Vusers &lt;/b&gt;may be limited in the number of &lt;b&gt;Vusers &lt;/b&gt;that can run, due to the graphic resources available to that machine. In &lt;b&gt;LoadRunner&lt;/b&gt;, to increase the number of &lt;b&gt;Vusers &lt;/b&gt;per machine, open a Terminal Server session on the machine. You relate to this Terminal Server as a new injector machine. To refer to the virtual injector machine from the &lt;b&gt;LoadRunner Controller&lt;/b&gt;, use the following format: machine_name:1, machine_name:2, ... using either the machine name or its IP address. Note that sessions on a Terminal server use, by default, a 256-color set. If you intend to use a terminal session for load testing, make sure to record on machines with a 256-color set. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Changing window names:&lt;/b&gt; In some Citrix sessions, the active window name changes while you are recording. If you try to replay the script as is, the &lt;b&gt;LoadRunner's&lt;/b&gt; &lt;b&gt;Vuser &lt;/b&gt;uses the original window name and the replay may fail. Using the recording options, you can specify a naming convention for the windows in which &lt;b&gt;LoadRunner's VuGen&lt;/b&gt; uses a common prefix or common suffix to identify the window.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;For example, if the original window's name is "Application 1" where the name changes during application's run to "Application 1", you can instruct &lt;b&gt;LoadRunner's VuGen&lt;/b&gt; to use the common prefix only, "Application".Alternatively, you can modify the window names in the actual script after recording. In the Script view (View &amp;gt; Script view), locate the window name and replace the end of the window name with the wildcard notation, *. For example, ctrx_sync_on_window ("Application*", ACTIVATE, ...);.&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-7529015749285393338?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/7529015749285393338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/replay-tips-for-citrix-protocol-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7529015749285393338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7529015749285393338'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/replay-tips-for-citrix-protocol-in.html' title='Replay Tips for Citrix protocol in HP Mercury&apos;s LoadRunner'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-3415703774862530231</id><published>2009-10-06T05:38:00.001-07:00</published><updated>2009-12-09T06:53:32.173-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>How to correlate a Winsock script in LoadRunner</title><content type='html'>For &lt;b&gt;LoadRunner &lt;/b&gt;7.51 and later, users can correlate the dynamic value for a Winsock script from &lt;b&gt;VuGen&lt;/b&gt;'s Tree View. Below is further information on how it can be accomplished.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;b&gt;In LoadRunner, to use the Tree View for correlation:&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Open the script in VuGen. &lt;/li&gt;&lt;li&gt;Choose &lt;b&gt;View &amp;gt; Tree View&lt;/b&gt;. &lt;/li&gt;&lt;li&gt;The Tree View will open with the following structure:        &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Function call in the &lt;b&gt;LoadRunner &lt;/b&gt;script listed on the left panel. &lt;/li&gt;&lt;li&gt;Snapshot of the page in the right panel which can be viewed in either &lt;i&gt;Text &lt;/i&gt;View&lt;i&gt; or Binary &lt;/i&gt;View &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;To correlate in LoadRunner: &lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol&gt;&lt;li&gt;Select the &lt;b&gt;lrs_recieve&lt;/b&gt; function on the left panel of the Tree View. The contents of the received buffer are displayed in the right panel&lt;b&gt;.&lt;/b&gt; &lt;/li&gt;&lt;li&gt;Select either Text View or Binary View. If you work in Text View, you need to clear the &lt;b&gt;Read-only&lt;/b&gt; check box in the upper right corner&lt;b&gt;.&lt;/b&gt; &lt;/li&gt;&lt;li&gt;Search for the dynamic value that you want to capture. &lt;/li&gt;&lt;li&gt;Highlight that value, right-click, and select &lt;b&gt;Create Parameter&lt;/b&gt;. There are two ways to create a parameter:         &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If the offset of the dynamic value is fixed, highlighting that value will set the correct values for &lt;b&gt;Data Range &lt;/b&gt;in the &lt;b&gt;Create Parameter&lt;/b&gt; window. This creates the function &lt;b&gt;lrs_save_param&lt;/b&gt;. &lt;/li&gt;&lt;li&gt;If the offset values are not fixed (when the send buffer is parameterized and the response of the server changes in length), look for fixed left and right boundaries to capture the value. Then check &lt;b&gt;Extract Parameter data using boundaries&lt;/b&gt; and set the left and right boundaries correctly. This creates function &lt;b&gt;lrs_save_search_string&lt;/b&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;VuGen &lt;/b&gt;will pop-up with an option for applying the correlation to all occurrences of the value in the script.        &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If you select &lt;b&gt;Yes&lt;/b&gt;, &lt;b&gt;VuGen &lt;/b&gt;will automatically search for this value in all the &lt;b&gt;lrs_send&lt;/b&gt; buffers and replace the values with the parameter name. &lt;/li&gt;&lt;li&gt;If you select &lt;b&gt;No&lt;/b&gt;, the correlation will be applied to the current location only.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Also See:&lt;/b&gt; Other &lt;b&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="color: blue;"&gt;LoadRunner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-3415703774862530231?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/3415703774862530231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/how-to-correlate-winsock-script-in.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3415703774862530231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3415703774862530231'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/how-to-correlate-winsock-script-in.html' title='How to correlate a Winsock script in LoadRunner'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-6530256166374955708</id><published>2009-10-05T09:17:00.001-07:00</published><updated>2009-10-24T20:15:29.773-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>Important LoadRunner Tutorials</title><content type='html'>&lt;p&gt;Below are some the links of eXcellent loadrunner tutorials:&lt;/p&gt;   &lt;ol&gt;   &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/10/recording-tips-in-load-runner.html"&gt;Recording Tips in Load Runner&lt;/a&gt;&lt;/li&gt;  &lt;span class="fullpost"&gt;  &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/10/recording-problems-in-loadrunner.html"&gt;Recording Problems in LoadRunner&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/08/hp-diagnostics-and-loadrunner.html"&gt;HP Diagnostics and LoadRunner Integration&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/08/loadrunner-automation-api.html"&gt;LoadRunner Automation API&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/08/lr-analysis-api.html"&gt;Analysis API in LoadRunner&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/08/vusers.html"&gt;Vusers in LoadRunner&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/03/c-vuser-functions-in-loadrunner.html"&gt;C Vuser Functions in LoadRunner&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/03/loadrunner-vugen-environment-options.html"&gt;LoadRunner VuGen Environment Options&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/silent-test-runner.html"&gt;Silent Test Runner&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/measuring-transactions.html"&gt;Measuring Transactions&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/inserting-and-running-tests-in.html"&gt;Inserting and Running Tests in LoadRunner or Business Process Monitor&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/mercury-performance-testing-and.html"&gt;Mercury Performance Testing and Business Availability Center Products&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/mercury-loadrunner-and-citrix.html"&gt;Mercury LoadRunner and Citrix&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/citrix-ica-client-integration-with.html"&gt;Citrix ICA Client Integration with LoadRunner&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/citrix-load-testing-challenges.html"&gt;Citrix Load Testing Challenges&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/10/how-to-correlate-winsock-script-in.html"&gt;How to correlate a Winsock script in LoadRunner&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/10/replay-tips-for-citrix-protocol-in.html"&gt;Replay tips for Citrix protocol in LoadRunner&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/10/license-errors-in-loadrunner.html"&gt;License Errors in LoadRunner&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/load-runner-interview-questions.html"&gt;Load Runner - Interview Questions&lt;/a&gt;&lt;/li&gt; &lt;/span&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Note: For further stuff on LoadRunner, please visit our other website: &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.loadrunnerstuff.com/"&gt;LoadRunnerStuff.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-6530256166374955708?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/6530256166374955708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6530256166374955708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6530256166374955708'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html' title='Important LoadRunner Tutorials'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-7741125020451462376</id><published>2009-10-05T08:56:00.001-07:00</published><updated>2009-10-05T10:35:23.268-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>Recording Tips in Load Runner</title><content type='html'>&lt;p&gt;In continuation to my previous post “&lt;a href="http://www.softwaretestingstuff.com/2009/10/recording-problems-in-loadrunner.html"&gt;Recording Problems in Load Runner&lt;/a&gt;”, here, I’m going to give you some good and useful tips for doing recording in Load Runner.&lt;/p&gt;  &lt;span class="fullpost"&gt; &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Use the mouse and not the keyboard:&lt;/strong&gt; In LoadRunner, it is preferable to click on an object with the mouse rather then using the keyboard. During recording, use only GUI objects that are within the browser's pane. Do not use any browser icons, controls, the Stop button, or menu items, such as View &amp;gt; Refresh. You may, however, use the Refresh, Home, Back and Forward buttons and the address bar.       &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Do not record over an existing script :&lt;/strong&gt; It is best to record into a newly created script—not an existing one. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Avoid context menus:&lt;/strong&gt; Avoid using context menus during recording. Context menus are menus which pop up when clicking an item in a graphical user interface, such as right-click menus. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Avoid working in a browser while recording:&lt;/strong&gt; During recording, do not work in any browser window other than the browser windows opened by VuGen. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Wait for downloads:&lt;/strong&gt; Wait for all downloads to complete before doing any action, such as clicking on a button or filling in a text field. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Wait for pages to load:&lt;/strong&gt; During recording, it is best to wait for the page to load completely before doing the next step. If you did not wait for all of the pages to load, record the script again. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Navigate to start page:&lt;/strong&gt; If the last page in an action does not contain the links and buttons that were available at the start of the iteration, then the next iteration will fail. For example, if the first page has a text link Book A Flight, make sure to navigate to the appropriate page at the end of your recording, so that the same link will be visible at the end of the business process. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Use a higher event configuration level:&lt;/strong&gt; Record the business process again the High Event Configuration level. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Disable socket level recording:&lt;/strong&gt; In certain cases, the capturing of the socket level messages disrupts the application. For most recordings, socket level data is not required. To prevent the recording of socket level data, disable the option in the recording options. For more information, see the section about recording with Click and Script. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Enable the record rendering-related property values:&lt;/strong&gt; If the client-side scripts of the application use a lot of styling activities, enable the Record rendering-related property values option before recording the script. For example, enable this option to record additional DOM objects such as offsetTop. Note that enabling this option may decrease the replay speed. To enable record rendering-related property values in &lt;strong&gt;Load Runner&lt;/strong&gt;: &lt;/li&gt;       &lt;p&gt;Open the Recording Options. Select Tools &amp;gt; Recording Options and select the GUI Properties:Advanced node&lt;/p&gt;&lt;p&gt; &lt;span style="font-weight: bold;"&gt;Also See:&lt;/span&gt; Other &lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;LoadRunner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;/ol&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-7741125020451462376?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/7741125020451462376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/recording-tips-in-load-runner.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7741125020451462376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7741125020451462376'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/recording-tips-in-load-runner.html' title='Recording Tips in Load Runner'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-1245254754041654029</id><published>2009-10-05T04:49:00.001-07:00</published><updated>2009-10-08T07:31:48.694-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>Recording Problems in LoadRunner</title><content type='html'>&lt;p&gt;Here, I’m going to describe some common recording problems / issues of Load Runner and how to resolve them. Normally, these problems are faced by everyone. I would request you all that leave your comments for the problems you face and how you tackle them.&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;&lt;strong&gt;Firefox is not supported:&lt;/strong&gt; Only Internet Explorer is supported for Web (Click and Script). To record browser activity on Firefox, use the Web (HTTP/HTML) protocol. &lt;/li&gt; &lt;span class="fullpost"&gt; &lt;li&gt;&lt;strong&gt;Application behaves differently while being recorded:&lt;/strong&gt; If your application behaves differently during recording, than it does without recording, you should determine if the recording problem is unique to Web (Click and Script). The effect may be that a Web page will not load, part of the content is missing, a popup window does not open, and so forth. Create a new Web (HTTP/HTML) script and repeat the recording. In the event that the recording is OK in Web (HTTP/HTML), we recommend that you disable socket level recording. The problem may be the result of an event listener. Use trial and error to disable event listeners in the Web Event Configuration Recording Options, and then re-record your session as a Web (Click and Script) user. To disable an event listener: &lt;ul&gt;&lt;li&gt;Open the Recording Options. Select Tools &amp;gt; Recording Options and select the GUI Properties:Web Event Configuration node. &lt;/li&gt;&lt;li&gt;Click Custom Settings and expand the Web Objects node. Select an object. &lt;/li&gt;&lt;li&gt;Select Disabled from the list in the Record column for the relevant Web object. If the recording still does not work, enable the listener you previously disabled, and try disabling another one. Repeat these steps until your recording succeeds. &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Dynamic menu navigation was not recorded:&lt;/strong&gt; A dynamic menu is a menu that dynamically changes depending on where you select it. If the dynamic menu navigation was not recorded, record again using "high" event configuration mode. To set the configuration level to high: &lt;ul&gt;&lt;li&gt;Open the Recording Options. Select Tools &amp;gt; Recording Options and select the GUI Properties:Web Event Configuration node. &lt;/li&gt;&lt;li&gt;Move the slider to High. &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Certain user actions were not recorded:&lt;/strong&gt; Check if there is a Java applet running inside the browser. If not, record the script with the Web (HTTP/HTML) protocol. &lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Also See:&lt;/span&gt; Other &lt;a href="http://www.softwaretestingstuff.com/2009/10/recording-problems-in-loadrunner.html"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;LoadRunner Tutorials&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-1245254754041654029?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/1245254754041654029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/recording-problems-in-loadrunner.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1245254754041654029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1245254754041654029'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/recording-problems-in-loadrunner.html' title='Recording Problems in LoadRunner'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-3869531544182067142</id><published>2009-10-02T03:15:00.000-07:00</published><updated>2009-10-05T06:55:04.286-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Latest QTP Training Material and Tutorials</title><content type='html'>Here are the links of some good QTP tutorials. Beginners can use these tutorials as a training material. Read these and give your feedback for improvement.&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/08/keyword-driven-methodology.html"&gt;Keyword Driven Methodology&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/04/enhancements-in-quicktest-professional.html"&gt;Enhancements in QuickTest Professional 10&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/08/object-repository-types-in-qtp.html"&gt;Object Repository Types in QTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/08/testing-business-components-using-qtp.html"&gt;Testing Business Components using QTP and Quality Center&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/08/running-part-of-test-script-in-qtp.html"&gt;Running Part of Test Script in QTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/08/debugging-action-or-function-in-qtp.html"&gt;Debugging an Action or a Function in QTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/08/handling-run-errors-in-qtp.html"&gt;Handling Run Errors in QTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/08/debugging-components-and-function.html"&gt;Debugging Components and Function Libraries in QTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/08/oracle-add-in-for-qtp.html"&gt;Oracle Add-in for QTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/08/working-with-java-add-in-in-qtp.html"&gt;Working with the Java Add-in in QTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/07/delphi-add-in-in-qtp-10.html"&gt;Delphi Add-in in QTP 10&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/04/fine-tuning-bitmap-comparison.html"&gt;Fine-Tuning the Bitmap Comparison&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/04/jumping-to-step-in-quicktest-1000.html"&gt;Jumping to a Step in QuickTest 10.00&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/04/installing-custom-comparer-and.html"&gt;Installing Custom Comparer and Registering to &lt;span class="post-labels" id="labels-7705138012111980849"&gt;QTP&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/04/considerations-for-developing-custom.html"&gt;Considerations for Developing Custom Comparers&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/04/developing-bitmap-checkpoint-comparison.html"&gt;Developing Bitmap Checkpoint Comparison Algorithm&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/04/comparing-shared-object-repositories.html"&gt;Comparing Shared Object Repositories&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/04/asset-comparison-tool-and-asset-viewer.html"&gt;Asset Comparison Tool and Asset Viewer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/04/resources-and-dependencies-model.html"&gt;Resources and Dependencies Model &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/04/test-analysis-using-qtp-1000.html"&gt;Test Analysis using QTP 10.00&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/04/manage-and-share-testing-assets-in.html"&gt;Manage and Share Testing Assets in Quality Center and QTP 10&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/12/considerations-for-testing-activex.html"&gt;Testing ActiveX Controls using QuickTest Professional&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/12/hp-quicktest-professional-test-object.html"&gt;HP QuickTest Professional Test Object Schema&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/12/implement-web-add-in-extensibility-in.html"&gt;Implement Web Add-in Extensibility in QTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/objects-and-actions-in-qtp.html"&gt;Objects and Actions in QTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/datatable-in-qtp.html"&gt;DataTable in QTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/naming-conventions-in-qtp.html"&gt;Naming Conventions in QTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/settings-in-qtp.html"&gt;Settings in QTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/quicktest-tests-for-use-with-loadrunner.html"&gt;QuickTest Tests for Use with LoadRunner or Business Process Monitor&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/mercury-performance-testing-and.html"&gt;Mercury Performance Testing and Business Availability Center Products &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/bpt-methodology-in-qtp-and-quality.html"&gt;BPT Methodology in QTP and Quality Center &lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/business-process-testing.html"&gt;Business Process Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/12/qtp-cste-iseb-istqb-question-papers.html"&gt;QTP, CSTE, ISEB, ISTQB, CSQA Question / Certification Papers&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/qtp-interview-questions.html"&gt;QTP Interview Questions - Part 1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/05/qtp-interview-questions-part-2.html"&gt;QTP Interview Questions - Part 2&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-3869531544182067142?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/3869531544182067142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/latest-qtp-training-material-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3869531544182067142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3869531544182067142'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/10/latest-qtp-training-material-and.html' title='Latest QTP Training Material and Tutorials'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-378614529541885113</id><published>2009-08-30T05:26:00.001-07:00</published><updated>2009-10-05T08:07:16.406-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><title type='text'>Selenium - Overview</title><content type='html'>&lt;p&gt;Selenium is a portable software testing framework for web applications. The tests can be written as HTML tables or coded in a number of popular programming languages and can be run directly in most modern web browsers. Selenium can be deployed on Windows, Linux, and Macintosh. Selenium is used for UAT (User Acceptance Test). &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;&lt;span class="fullpost"&gt;  &lt;p&gt;Selenium consists of &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;- Selenium Core   &lt;br /&gt;- Selenium RC    &lt;br /&gt;- Selenium Grid    &lt;br /&gt;- Selenium on Rails    &lt;br /&gt;- Selenium IDE &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Selenium IDE: &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Selenium IDE is a complete Integrated Development Environment (IDE) for Selenium tests (previously known as Selenium Recorder). Firefox extension that allows recording and editing of tests. It allows easier development of tests. It can output Ruby for it’s Ruby based (Application Programming Interface) API. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Selenium IDE Features: &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;- Record and playback   &lt;br /&gt;- Intelligent field selection will use IDs, names, or XPath as needed    &lt;br /&gt;- Auto complete for all common Selenium commands    &lt;br /&gt;- Walk through test cases and test suites.    &lt;br /&gt;- Debug and set breakpoints    &lt;br /&gt;- Save tests as HTML, Ruby scripts, or other formats    &lt;br /&gt;- Support for Selenium user-extensions.js file    &lt;br /&gt;- Option to automatically assert the title of every page    &lt;br /&gt;- Rollup common commands &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Selenium IDE License: &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Selenium was developed by a team of programmers and testers at Thought Works. Selenium is open source software, released under the Apache 2.0 license and can be downloaded and used without charge. The Selenium Grid provides a hub allowing the running of multiple Selenium tests concurrently&amp;#160; on any number of local or remote systems, thus minimizing test execution time. &lt;/p&gt;&lt;/span&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-378614529541885113?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/378614529541885113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/selenium-overview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/378614529541885113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/378614529541885113'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/selenium-overview.html' title='Selenium - Overview'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-3256776086634442249</id><published>2009-08-30T05:09:00.001-07:00</published><updated>2009-11-01T08:50:31.639-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview Questions'/><title type='text'>Selenium Interview Questions - 1</title><content type='html'>&lt;p&gt;&lt;strong&gt;Q1. What is Selenium? &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ans.&lt;/strong&gt; Selenium is a set of tools that supports rapid development of test automation scripts for web &lt;/p&gt;  &lt;p&gt;based applications. Selenium testing tools provides a rich set of testing functions specifically &lt;/p&gt;  &lt;p&gt;designed to fulfil needs of testing of a web based application. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q2. What are the main components of Selenium testing tools?&lt;/strong&gt;    &lt;br /&gt;&lt;strong&gt;Ans.&lt;/strong&gt; Selenium IDE, Selenium RC and Selenium Grid&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;&lt;span class="fullpost"&gt;  &lt;p&gt;&lt;strong&gt;Q3. What is Selenium IDE?     &lt;br /&gt;Ans.&lt;/strong&gt; Selenium IDE is for building Selenium test cases. It operates as a Mozilla Firefox add on and &lt;/p&gt;  &lt;p&gt;provides an easy to use interface for developing and running individual test cases or entire test &lt;/p&gt;  &lt;p&gt;suites. Selenium-IDE has a recording feature, which will keep account of user actions as they are &lt;/p&gt;  &lt;p&gt;performed and store them as a reusable script to play back. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q4. What is the use of context menu in Selenium IDE?&lt;/strong&gt;    &lt;br /&gt;&lt;strong&gt;Ans.&lt;/strong&gt; It allows the user to pick from a list of assertions and verifications for the selected location. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q5. Can tests recorded using Selenium IDE be run in other browsers?     &lt;br /&gt;Ans.&lt;/strong&gt; Yes. Although Selenium IDE is a Firefox add on, however, tests created in it can also be run in &lt;/p&gt;  &lt;p&gt;other browsers by using Selenium RC (Selenium Remote Control) and specifying the name of the test &lt;/p&gt;  &lt;p&gt;suite in command line.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q6. What are the advantage and features of Selenium IDE?&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ans.&lt;/strong&gt; 1. Intelligent field selection will use IDs, names, or XPath as needed     &lt;br /&gt;2. It is a record &amp;amp; playback tool and the script format can be written in various languages including &lt;/p&gt;  &lt;p&gt;C#, Java, PERL, Python, PHP, HTML   &lt;br /&gt;3. Auto complete for all common Selenium commands     &lt;br /&gt;4. Debug and set breakpoints     &lt;br /&gt;5. Option to automatically assert the title of every page     &lt;br /&gt;6. Support for Selenium user-extensions.js file&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q7. What are the disadvantage of Selenium IDE tool?     &lt;br /&gt;Ans.&lt;/strong&gt; 1. Selenium IDE tool can only be used in Mozilla Firefox browser.    &lt;br /&gt;2. It is not playing multiple windows when we record it.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q8. What is Selenium RC (Remote Control)?     &lt;br /&gt;Ans.&lt;/strong&gt; Selenium RC allows the test automation expert to use a programming language for maximum &lt;/p&gt;  &lt;p&gt;flexibility and extensibility in developing test logic. For example, if the application under test returns &lt;/p&gt;  &lt;p&gt;a result set and the automated test program needs to run tests on each element in the result set, the &lt;/p&gt;  &lt;p&gt;iteration / loop support of programming language’s can be used to iterate through the result set, &lt;/p&gt;  &lt;p&gt;calling Selenium commands to run tests on each item. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Selenium RC provides an API and library for each of its supported languages. This ability to use &lt;/p&gt;  &lt;p&gt;Selenium RC with a high level programming language to develop test cases also allows the automated &lt;/p&gt;  &lt;p&gt;testing to be integrated with the project’s automated build environment.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q9. What is Selenium Grid? &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ans.&lt;/strong&gt; Selenium Grid in the selenium testing suit allows the Selenium RC solution to scale for test suites &lt;/p&gt;  &lt;p&gt;that must be run in multiple environments. Selenium Grid can be used to run multiple instances of &lt;/p&gt;  &lt;p&gt;Selenium RC on various operating system and browser configurations. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q10. How Selenium Grid works? &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ans.&lt;/strong&gt; Selenium Grid sent the tests to the hub. Then tests are redirected to an available Selenium RC, &lt;/p&gt;  &lt;p&gt;which launch the browser and run the test. Thus, it allows for running tests in parallel with the entire &lt;/p&gt;  &lt;p&gt;test suite.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q 11. What you say about the flexibility of Selenium test suite?     &lt;br /&gt;Ans.&lt;/strong&gt; Selenium testing suite is highly flexible. There are multiple ways to add functionality to Selenium &lt;/p&gt;  &lt;p&gt;framework to customize test automation. As compared to other test automation tools, it is &lt;/p&gt;  &lt;p&gt;Selenium’s strongest characteristic. Selenium Remote Control support for multiple programming and &lt;/p&gt;  &lt;p&gt;scripting languages allows the test automation engineer to build any logic they need into their &lt;/p&gt;  &lt;p&gt;automated testing and to use a preferred programming or scripting language of one’s choice. &lt;/p&gt;  &lt;p&gt;Also, the Selenium testing suite is an open source project where code can be modified and &lt;/p&gt;  &lt;p&gt;enhancements can be submitted for contribution.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q12. What test can Selenium do?     &lt;br /&gt;Ans.&lt;/strong&gt; Selenium is basically used for the functional testing of web based applications. It can be used for &lt;/p&gt;  &lt;p&gt;testing in the continuous integration environment. It is also useful for agile testing&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q13. What is the cost of Selenium test suite?     &lt;br /&gt;Ans.&lt;/strong&gt; Selenium test suite a set of open source software tool, it is free of cost.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q14. What browsers are supported by Selenium Remote Control?     &lt;br /&gt;Ans. &lt;/strong&gt;The test automation expert can use Firefox, IE 7/8, Safari and Opera browsers to run tests in &lt;/p&gt;  &lt;p&gt;Selenium Remote Control.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q15. What programming languages can you use in Selenium RC?     &lt;br /&gt;Ans.&lt;/strong&gt; C#, Java, Perl, PHP, Python, Ruby&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q16. What are the advantages and disadvantages of using Selenium as testing tool?     &lt;br /&gt;Ans.&lt;/strong&gt; &lt;strong&gt;Advantages:&lt;/strong&gt; Free, Simple and powerful DOM (document object model) level testing, can be used &lt;/p&gt;  &lt;p&gt;for continuous integration; great fit with Agile projects. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Disadvantages:&lt;/strong&gt; Tricky setup; dreary errors diagnosis; can not test client server applications.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q17. What is difference between QTP and Selenium?     &lt;br /&gt;Ans.&lt;/strong&gt; Only web applications can be testing using Selenium testing suite. However, QTP can be used for &lt;/p&gt;  &lt;p&gt;testing client server applications. Selenium supports following web browsers: Internet Explorer, &lt;/p&gt;  &lt;p&gt;Firefox, Safari, Opera or Konqueror on Windows, Mac OS X and Linux. However, QTP is limited to &lt;/p&gt;  &lt;p&gt;Internet Explorer on Windows.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;QTP uses scripting language implemented on top of VB Script. However, Selenium test suite has the &lt;/p&gt;  &lt;p&gt;flexibility to use many languages like Java, .Net, Perl, PHP, Python, and Ruby.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q18. What is difference between Borland Silk test and Selenium?     &lt;br /&gt;Ans.&lt;/strong&gt; Selenium is completely free test automation tool, while Silk Test is not. Only web applications &lt;/p&gt;  &lt;p&gt;can be testing using Selenium testing suite. However, Silk Test can be used for testing client server &lt;/p&gt;  &lt;p&gt;applications. Selenium supports following web browsers: Internet Explorer, Firefox, Safari, Opera or &lt;/p&gt;  &lt;p&gt;Konqueror on Windows, Mac OS X and Linux. However, Silk Test is limited to Internet Explorer and &lt;/p&gt;  &lt;p&gt;Firefox.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Silk Test uses 4Test scripting language. However, Selenium test suite has the flexibility to use many &lt;/p&gt;  &lt;p&gt;languages like Java, .Net, Perl, PHP, Python, and Ruby.&lt;/p&gt;&lt;/span&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-3256776086634442249?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/3256776086634442249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/selenium-interview-questions-1.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3256776086634442249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3256776086634442249'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/selenium-interview-questions-1.html' title='Selenium Interview Questions - 1'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-3684844453128968604</id><published>2009-08-29T08:06:00.001-07:00</published><updated>2009-10-05T06:55:17.371-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Object Repository Types in QTP</title><content type='html'>&lt;p&gt;Test objects can be stored in two types of object repositories—a &lt;strong&gt;shared object repository&lt;/strong&gt; and a &lt;strong&gt;local object repository&lt;/strong&gt;. A shared object repository stores test objects in a file that can be accessed by multiple components (via their application areas) in read-only mode. A local object repository stores objects in a file that is associated with one specific component, so that only that component can access the stored objects.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;span class="fullpost"&gt;   &lt;p&gt;When you plan and create components, you must consider how you want to store the objects in your components. You can store the objects for each component in its corresponding local object repository, or you can store the objects in your components in one or more shared object repositories. By storing objects in shared object repositories and associating these repositories with your components’ application areas, you enable multiple components to use the objects. For each component, you can use a combination of objects from your local and shared object repositories, according to your needs. You can also transfer local objects to a shared object repository, if required. This reduces maintenance and enhances the reusability of your components because it enables you to maintain the objects in a single, shared location instead of multiple locations.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;If you are new to using QTP, you may want to use local object repositories. In this way, you can record and run components without creating, choosing, or modifying shared object repositories because all objects are automatically saved in a local object repository that can be accessed by its corresponding component. If you modify an object in the local object repository, your changes do not have any effect on any other component.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;If you are familiar with testing, it is probably most efficient to save objects in a shared object repository. In this way, you can use the same shared object repository for multiple components—if the components include the same objects. Test object information that applies to many components is kept in one central location. When the objects in your application change, you can update them in one location for all the components that use this shared object repository.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;If an object with the same name and description is located in both the local object repository and in a shared object repository associated with the same component, the component uses the local object definition. If an object with the same name and description is located in more than one shared object repository associated with the same component, the object definition is used from the first occurrence of the object, according to the order in which the shared object repositories are associated with the component.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;Local objects are saved locally with the component, and can be accessed only from that component. When using a shared object repository, you can use the same object repository for multiple components. You can also use multiple object repositories for each component.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;When you open and work with an existing component, it always uses the object repositories that are specified in the application area with which the component is associated. Shared object repositories are read-only when accessed from components; you edit them using the Object Repository Manager.&lt;/p&gt; &lt;/span&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-3684844453128968604?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/3684844453128968604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/object-repository-types-in-qtp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3684844453128968604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3684844453128968604'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/object-repository-types-in-qtp.html' title='Object Repository Types in QTP'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-6770644960018473092</id><published>2009-08-08T00:36:00.001-07:00</published><updated>2009-08-08T00:39:49.455-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Running Part of Test Script in QTP</title><content type='html'>&lt;p&gt;You can use the Run from Step option to run a selected part of your test. This enables you to check a specific section of your application or to confirm that a certain part of your test runs smoothly.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In the Expert View, you can use the Run from Step option to run your test from the selected step until the end of the action. Using Run from Step in this mode ignores any iterations. However, if the action contains nested actions, QTP runs the nested actions for the defined number of iterations of the nested action.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;&lt;span class="fullpost"&gt;  &lt;p&gt;In the Keyword View, you can use the Run from Step option to run your test from the selected step until the end of the test (if the selected step is not part of a reusable action, because a reusable action needs to be called from a test, in order for the test to know from where to continue). Using Run from Step in this mode includes all iterations. The first iteration will run from the step you selected until the end of the test; all other iterations will run from the beginning of the test.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can use the Run Current Action option to run a single action in your test. Using Run Current Action ignores any iterations. However, if the action contains nested actions, QTP runs the nested actions for the defined number of iterations.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Please note, if you only want to run one iteration of your test, select Run one iteration only from the Run pane in the Test Settings dialog box.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you want to run your test until a specific point within the test (and not to the end of the action or test), you can insert a breakpoint. The test will then run from the selected step or action until the breakpoint.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;To run an entire action, or run a test or action from a selected step:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Make sure your application is in a state matching the action or step you want to run. &lt;/li&gt;    &lt;li&gt;Select the action or step where you want to start running the test. Make sure that the step or action you choose is not dependent on previous steps, such as a retrieved value or a parameter defined in a previous step. &lt;/li&gt;    &lt;li&gt;Select Automation &amp;gt; Run from Step or Run Current Action, or right-click and select Run from Step. The Run dialog box opens. &lt;/li&gt;    &lt;li&gt;In the Run dialog box, choose where to save the run session results, and define any input parameters you want to use. &lt;/li&gt;    &lt;li&gt;Click OK. The Run dialog box closes and the run session starts &lt;/li&gt; &lt;/ol&gt;  &lt;ol&gt;   &lt;p align="justify"&gt;By default, when the run session ends, the Test Results window opens. The Test Results summary displays a note indicating that the test was run using the Run from Step or Run Current Action option.&lt;/p&gt; &lt;/ol&gt;  &lt;p&gt;If you cleared the View results when run session ends check box in the Run pane of the Options dialog box, the Test Results window does not open at the end of the run session.&lt;/p&gt;&lt;/span&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-6770644960018473092?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/6770644960018473092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/running-part-of-test-script-in-qtp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6770644960018473092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6770644960018473092'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/running-part-of-test-script-in-qtp.html' title='Running Part of Test Script in QTP'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-61948143561549205</id><published>2009-08-08T00:33:00.001-07:00</published><updated>2009-08-08T00:39:49.455-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Debugging an Action or a Function in QTP</title><content type='html'>&lt;p&gt;Suppose you create an action or a function that defines variables that will be used in other parts of your test or function library. You can add breakpoints to the action or function to see how the value of the variables changes as the test or function library runs. To see how the test or function library handles the new value, you can also change the value of one of the variables during a breakpoint.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This can be done by following below simple steps:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;span class="fullpost"&gt; &lt;p&gt;&lt;strong&gt;Step 1: Create a New Action or Function: &lt;/strong&gt;Open a test and insert a new action, or open a new function library and create a new function called SetVariables.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you are working in the Expert View, then follow Step 4 directly. If you are working in a function library, continue with Step 2 and Step 3.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2: (For Function Libraries Only) Associate the Function Library with a Test:&lt;/strong&gt; Make sure the function library is in focus. Select File &amp;gt; Associate Library ‘&amp;lt;Function Library Name&amp;gt;’ with ‘&amp;lt;Test Name&amp;gt;’. QuickTest associates the function library with your test.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 3: (For Function Libraries Only) Add a Call to the Function in Your Test: &lt;/strong&gt;Add a call to the function by inserting a new step and typing the following in the Expert View: SetVariables.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 4: Add Breakpoints: &lt;/strong&gt;Add breakpoints at the appropriate lines.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 5: Begin Running the Test:&lt;/strong&gt; Run the test. The test or function library stops at the first breakpoint, before executing that step (line of script).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 6: Check the Value of the Variables in the Debug Viewer Pane:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 7: Check the Value of the Variables at the Next Breakpoint: &lt;/strong&gt;Click the Run button to continue running the test. The test stops at the next breakpoint.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 8: Modify the Value of a Variable Using the Variables Tab&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 9: Modify the Value of a Variable Using the Command Tab&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 10: Repeat a Command from the Command History&lt;/strong&gt;&lt;/p&gt;&lt;/span&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-61948143561549205?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/61948143561549205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/debugging-action-or-function-in-qtp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/61948143561549205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/61948143561549205'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/debugging-action-or-function-in-qtp.html' title='Debugging an Action or a Function in QTP'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-1150063424059581369</id><published>2009-08-08T00:30:00.001-07:00</published><updated>2009-08-08T00:39:49.455-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Handling Run Errors in QTP</title><content type='html'>&lt;p&gt;There are two types of Run Error message boxes that can be displayed during a run session in QTP. One is displayed if the problem is a pure VBScript syntax error. When a syntax run error message box is displayed, click OK in the message box and address the error in your step.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The other message box can be displayed in a number of situations. It offers information about the error and a number of buttons for dealing with errors encountered:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;&lt;span class="fullpost"&gt;  &lt;p&gt;&lt;strong&gt;Stop:&lt;/strong&gt; Stops the run session. The run results are displayed if QTP is configured to show run results after the run.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;strong&gt;Retry: &lt;/strong&gt;QTP attempts to perform the step again. If the step succeeds, the run continues.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Skip: &lt;/strong&gt;QTP skips the step that caused the error, and continues the run from the next step.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Debug: &lt;/strong&gt;QTP&lt;strong&gt; &lt;/strong&gt;suspends the run, enabling you to debug the test and any associated function library that contains a function called by the test. You can perform any of the debugging operations described in this section. After debugging, you can continue the run session from the step where the test or function library stopped, or you can use the step commands to control the remainder of the run session.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Help:&lt;/strong&gt; Opens the QTP troubleshooting Help for the displayed error message. After you review the Help topic, you can select another button in the error message box.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The message box also recommends that you consider using Maintenance Mode if you think the error is due to intentional changes in your application and requires that you update multiple steps in your test or objects in your repository.&lt;/p&gt;&lt;/span&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-1150063424059581369?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/1150063424059581369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/handling-run-errors-in-qtp.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1150063424059581369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1150063424059581369'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/handling-run-errors-in-qtp.html' title='Handling Run Errors in QTP'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-4183392766442789271</id><published>2009-08-08T00:28:00.001-07:00</published><updated>2009-10-05T10:40:20.374-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>HP Diagnostics and LoadRunner Integration</title><content type='html'>&lt;p&gt;The HP Diagnostics integration with LoadRunner allows you to monitor and analyze the performance of Java 2 Enterprise Edition (J2EE), .NET-connected, SAP, Oracle, and other complex environments.&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Specifying the Diagnostics Server Details: &lt;/strong&gt;The first time you use LoadRunner to capture J2EE or .NET diagnostics data, you need to identify the machine on which the Diagnostics Server in Commander mode is running, and the port that it is using for communication with LoadRunner. You must update this information if you want to integrate with a different Diagnostics Server in Commander mode, or if you change the port it is using. To update the LoadRunner configuration settings for HP Diagnostics:&lt;/p&gt;&lt;p&gt;1. Select Start &amp;gt; Programs &amp;gt; HP LoadRunner &amp;gt; LoadRunner to open the LoadRunner launcher window.&lt;/p&gt;&lt;p&gt;2. From the LoadRunner launcher window menu, select Configuration &amp;gt; Diagnostics for J2EE/.NET Setup to open the Diagnostics for J2EE/.NET Setup dialog box. Enter the details for the Diagnostics Server in Commander mode.&lt;/p&gt;&lt;p&gt;3. Click Test to verify that you entered the correct information for the Diagnostics Server in Commander mode and that there is connectivity between the Diagnostics Server in Commander mode and LoadRunner. Click OK to complete the configuration process.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Configure LoadRunner Scenarios to use HP Diagnostics&lt;/strong&gt;&lt;/p&gt;&lt;span class="fullpost"&gt;                  &lt;p&gt;1. Before configuring your scenario for Diagnostics, ensure that the application server that you are monitoring has been started.&lt;/p&gt;    &lt;p&gt;2. In the Controller, open the relevant load test scenario (FIle &amp;gt; Open) or create a new scenario (File &amp;gt; New).&lt;/p&gt;    &lt;p&gt;3. Select Diagnostics &amp;gt; Configuration to open the Diagnostics Distribution dialog box.&lt;/p&gt;    &lt;p&gt;4. Set the percentage of Vusers to participate in the HP Diagnostics (J2EE/.NET Diagnostics) monitoring. The maximum percentage of Vusers for which HP Diagnostics (J2EE/.NET Diagnostics) data can be collected is 100%, unless you have enabled other types of diagnostics. In this case, the percentage of Vuser participation in HP Diagnostics (J2EE/.NET Diagnostics) cannot exceed the maximum of any of the other types of diagnostics that you enabled.&lt;/p&gt;    &lt;p&gt;5. In the Online &amp;amp; Offline Diagnostics section of the Diagnostics Distribution dialog box, next to J2EE/.NET Diagnostics, click Configure. The J2EE/.NET Diagnostics Configuration dialog box opens.&lt;/p&gt;    &lt;p&gt;6. Select Enable J2EE/.NET Diagnostics&lt;/p&gt;    &lt;p&gt;7. In the Select probes list, select the probes to be included in your load test scenario.&lt;/p&gt;    &lt;p&gt;8. If the Diagnostics Server (or a Diagnostics Server in Mediator mode in a distributed environment) is located behind a firewall, select There is a firewall between the mediator and the Controller, and enter the name of the MI listener server in the MI listener server box. If there is a firewall between the LoadRunner Controller and the Diagnostics Server involved in a load test, you must configure the Controller and the Diagnostics Server to use the MI Listener to enable the transfer of the offline analysis file.&lt;/p&gt;    &lt;p&gt;9. To capture a percentage of server requests which occur outside the context of any Vuser transaction select Monitor server requests.&lt;/p&gt;    &lt;p&gt;10. To investigate any issues that you have with the connections between the Diagnostics components, click the Troubleshoot Diagnostics for J2EE/.NET connectivity link. This will open the HP Diagnostics System Health Monitor in a new browser window.&lt;/p&gt;    &lt;p&gt;During a LoadRunner load test scenario, you can view HP Diagnostics data for the whole scenario or you can drill down to HP Diagnostics data from a particular transaction. After you have run your scenario, you can use HP LoadRunner Analysis to analyze offline Diagnostics data generated during the scenario.&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Also See:&lt;/span&gt; Other &lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;LoadRunner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-4183392766442789271?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/4183392766442789271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/hp-diagnostics-and-loadrunner.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4183392766442789271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4183392766442789271'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/hp-diagnostics-and-loadrunner.html' title='HP Diagnostics and LoadRunner Integration'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-5714104844978831719</id><published>2009-08-07T09:46:00.001-07:00</published><updated>2009-08-08T00:40:51.067-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Debugging Components and Function Libraries in QTP</title><content type='html'>&lt;p&gt;In QTP, after you create a component or function library including registered user functions, you should check that they run smoothly, without errors in syntax or logic. To debug a function library, you must first associate it with a component via its application area and then debug it from that component.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;To detect and isolate defects in a component or function library, you can control the run session using the Pause command as well as various step commands that enable you to step into, over, and out of a specific step.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can use the Start from Step command to begin your debug session at a specific point in your component. You can also use the Run to Step command to pause the run at a specific point in your component. You can set breakpoints, and then enable and disable them as you debug different parts of your component or function library.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;&lt;span class="fullpost"&gt;  &lt;p&gt;When the component or function library run stops at a breakpoint, you can use the Debug Viewer to check and modify the values of VBScript objects and variables. Also, if QTP displays a run error message during a run session, you can click the Debug button on the error message to suspend the run and debug the component or function library.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can also use the Run from Step command to run your component or function library from a selected step to the end. This enables you to check a specific section of your application or to confirm that a certain part of your component or function library runs smoothly.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Important things to remember:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;While the component and function libraries are running in debug mode, they are read-only. You can modify the content after you stop the debug session. If needed, you can enable the function library for editing (File &amp;gt; Enable Editing) after you stop the session.&amp;#160; After you implement your changes, you can continue debugging your component and function libraries. &lt;/li&gt;    &lt;li&gt;If you perform a file operation, the debug session is stopped. &lt;/li&gt;    &lt;li&gt;In QTP, when you open a component, QTP creates a local copy of the external resources that are saved to your Quality Center project. So, any changes you apply to any external resource that is saved in your Quality Center project, such as a function library, will not be implemented in the component until the component is closed and reopened. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;Please note, an external resource is any resource that was not created using QTP, such as, a function library created in an external editor.&lt;/ul&gt;&lt;/span&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-5714104844978831719?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/5714104844978831719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/debugging-components-and-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5714104844978831719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5714104844978831719'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/debugging-components-and-function.html' title='Debugging Components and Function Libraries in QTP'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-8763754613769469146</id><published>2009-08-07T09:38:00.000-07:00</published><updated>2009-10-05T10:41:24.038-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>LoadRunner Automation API</title><content type='html'>The LoadRunner Automation API allows execution of LoadRunner scenarios without using the LoadRunner Controller Graphic User Interface. Using the LoadRunner Automation API, you create programs that define and run scenarios. You might use the API, for example, to run tests at night or to run tests as part of another program.&lt;br /&gt;&lt;br /&gt;The central object of the LoadRunner automation API is LrEngine object. When LrEngine is created, it will connect to an existing instance of the LoadRunner Controller or launch a new one.&lt;br /&gt;&lt;br /&gt;Use LrEngine to access and program the scenario object that determines the properties of the test to be run, and to access Events related to groups, hosts, scenarios and rendezvous.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Exceptions: LoadRunner Automation handles most errors by generating an exception rather than a return code. In general, the return codes only indicate that the function ran successfully. A return code of zero does not indicate that the action was performed successfully.&lt;br /&gt;&lt;br /&gt;You can catch the exceptions by writing your own exception handlers or using standard error classes. Errors in creating objects can be detected by checking if the object is Nothing.&lt;br /&gt;&lt;br /&gt;Glossary of terms used in LoadRunner Automation Library:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Controller:&lt;/span&gt; The LoadRunner Controller provides a graphic user interface for controlling and managing load test scenarios.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Group:&lt;/span&gt; A logical collection of virtual users, usually running the same script.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Host:&lt;/span&gt; A machine that executes one or many virtual user scripts, enabling the virtual user to emulate the actions of a human user. When you execute a scenario, the Controller distributes each virtual user in the scenario to a host.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rendezvous:&lt;/span&gt; Emulates heavy user load on the application. You insert rendezvous points into virtual user scripts to ensure that multiple virtual users act simultaneously. For example, to emulate peak load on a bank application, you can insert a rendezvous point instructing 100 virtual users to transfer funds within their accounts at the same time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rendezvous Group: &lt;/span&gt;A collection of rendezvous.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Scenario: &lt;/span&gt;A class that includes a number of scripts to be run, and specifies the hosts that will run the scripts and the virtual user groups associated with each one.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Script: &lt;/span&gt;Describes the acts that a virtual user performs during scenario execution. When you run a scenario, each virtual user executes a script. The virtual user scripts include functions that measure and record the performance of your application.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Vuser: &lt;/span&gt;A virtual user. When you run a scenario, Vusers emulate the actions of human users, operating your application. A scenario can contain tens or thousands of Vusers. To emulate conditions of heavy user load, you create a large number of Vusers that perform a series of tasks.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Also See:&lt;/span&gt; Other &lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;LoadRunner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-8763754613769469146?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/8763754613769469146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/loadrunner-automation-api.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/8763754613769469146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/8763754613769469146'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/loadrunner-automation-api.html' title='LoadRunner Automation API'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-6611794729747714273</id><published>2009-08-07T06:44:00.001-07:00</published><updated>2009-11-01T08:46:35.740-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Some Facts in Software Testing</title><content type='html'>&lt;p&gt;- Software Testing can not show the absence of errors&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;- There is no last bug in the software / application&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;- Maximum coverage through minimum test cases is a big challenge of testing.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;- Even for simple program of loops, there can be over million paths – testable manually in million years. Domain of possible inputs is too large to test. Also, there are too many possible paths to test the program. Even if, theoretically speaking, one could design excellent test cases to detect all defects, does one have the luxury of time and resources to do so in practice?&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;span class="fullpost"&gt; &lt;p&gt;- Preventive testing is very important. Verify documents, design, code at each stage of development to prevent errors from getting in. Use a variety of techniques for this. Code review itself throughs up many defects that may be too difficult to detect by execution of tests. On the other hand, test execution can detect errors that can not be easily detected by code reviews. Therefore, various techniques are complimentary in nature and it is only through their combined use that one can hope to detect most errors.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;- Even though development tends to be given more importance than testing. A good test design is perhaps intellectually more challenging than the software design and development. Given reasonable practical limits to the quality of test design in practice, it is easy to understand that why it is difficult to uncover all defects through testing.&lt;/p&gt;  &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-6611794729747714273?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/6611794729747714273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/some-facts-in-software-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6611794729747714273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6611794729747714273'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/some-facts-in-software-testing.html' title='Some Facts in Software Testing'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-363182706660337755</id><published>2009-08-06T07:20:00.001-07:00</published><updated>2009-10-05T10:42:40.143-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>Analysis API in LoadRunner</title><content type='html'>&lt;p&gt;This API set can be used for the following purposes:&lt;/p&gt;    &lt;p&gt; &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Unattended creation of an Analysis session that can then be opened in the HP LoadRunner Analysis. &lt;/li&gt;      &lt;li&gt;Custom extraction of data from the results of a test run under the HP LoadRunner Controller &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;An application that creates an Analysis session can be run automatically at completion of a test run. In the LoadRunner Controller, open Tools &amp;gt; Options and select the Execution tab. Enter the command  to run your application in the Post Execution Command box.&lt;/p&gt;&lt;span class="fullpost"&gt;    &lt;p&gt;The API set provides the following functionality:&lt;/p&gt;    &lt;p&gt; &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Convert Controller Run results to an Analysis data base file &lt;/li&gt;      &lt;li&gt;Create, modify, and apply a global filter and Graph filters &lt;/li&gt;      &lt;li&gt;Set graph parameters &lt;/li&gt;      &lt;li&gt;Calculate metrics and statistics per Graph in a Run &lt;/li&gt;      &lt;li&gt;Notifications from the API infrastructure to the API application &lt;/li&gt;      &lt;li&gt;Logging at different severity levels &lt;/li&gt;      &lt;li&gt;Ability to run concurrent, independent instances of API-based applications &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;strong&gt;Limitations: &lt;/strong&gt;This version of the API set does not support:&lt;/p&gt;    &lt;p&gt; &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Graph auto-correlation &lt;/li&gt;      &lt;li&gt;Graph merging &lt;/li&gt;      &lt;li&gt;Importing data from external monitors &lt;/li&gt;      &lt;li&gt;XML export of data &lt;/li&gt;      &lt;li&gt;Support Level Agreements functionality &lt;/li&gt;      &lt;li&gt;Use of filters, graphs, and other configurations created in the Analysis user interface &lt;/li&gt;      &lt;li&gt;J2EE Graphs are only partially supported &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Prerequisites: To use this API set, you must:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Be a .NET programmer &lt;/li&gt;      &lt;li&gt;Be familiar with the Controller and Analysis programs &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;The development environment requires:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Visual Studio 2005 or any other compiler that supports .NET 2.0 &lt;/li&gt;      &lt;li&gt;LoadRunner Analysis &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;The runtime environment requires:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;LoadRunner Analysis &lt;/li&gt;      &lt;li&gt;A .NET configuration file. A command-line utility to build the configuration file is provided in the &amp;lt;Analysis installation&amp;gt;\Additional Components\AssemblyCrawler folder. &lt;/li&gt;   &lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Also See:&lt;/span&gt; Other &lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;LoadRunner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-363182706660337755?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/363182706660337755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/lr-analysis-api.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/363182706660337755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/363182706660337755'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/lr-analysis-api.html' title='Analysis API in LoadRunner'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-8880897703940011752</id><published>2009-08-06T07:13:00.000-07:00</published><updated>2009-08-07T09:25:28.895-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Oracle Add-in for QTP</title><content type='html'>&lt;ul&gt;&lt;li&gt;After installing the Oracle Add-in, your applications will always open with Java support active. You can confirm that your Oracle environment has opened properly by checking the Java console for the confirmation message similar to: &lt;span&gt;Loading Oracle Support (version x.x build xxx) (Oracle  Corporation x.x.x.xx&lt;/span&gt;)&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;The QTP Oracle Add-in supports only Oracle clients that are  Java-based. Oracle Developer/2000 is not supported.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;Before using the Oracle Add-in to test Oracle Applications, you must first enable the Name attribute supplied by the Oracle Applications server.&lt;/li&gt;&lt;/ul&gt; &lt;span class="fullpost"&gt;&lt;ul&gt;&lt;li&gt;The Oracle Applications server supplies a unique &lt;strong style="font-weight: bold;"&gt;Name &lt;/strong&gt;attribute for many application objects. You  can also find the Oracle Applications server &lt;strong style="font-weight: bold;"&gt;Name&lt;/strong&gt; attribute in the Oracle Add-in&lt;strong style="font-weight: bold;"&gt; developer name&lt;/strong&gt; identification property. The &lt;strong style="font-weight: bold;"&gt;developer name&lt;/strong&gt; identification property is used by QTP in most test object descriptions to identify Oracle objects.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;In QTP, table data is always loaded from the application itself, even if the Active Screen contains an image of the table. For this reason, you must first open the table in the application before creating a table checkpoint in a test&lt;/li&gt;&lt;li&gt;In some cases you may have to scroll to the last row of the table to make sure  that all the data is loaded&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;If the table object is not open in your application when you create the checkpoint, the Table Checkpoint Properties dialog box contains only the Properties tab, and the option to select which type of information to check (content or properties) is disabled&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;It is not necessary to open the table in your application to edit an existing  table checkpoint.&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-8880897703940011752?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/8880897703940011752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/oracle-add-in-for-qtp.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/8880897703940011752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/8880897703940011752'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/oracle-add-in-for-qtp.html' title='Oracle Add-in for QTP'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-3163106814834120324</id><published>2009-08-01T21:17:00.001-07:00</published><updated>2009-10-05T10:44:02.557-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>Vusers in LoadRunner</title><content type='html'>&lt;p&gt;Vusers emulate the actions of human users by performing typical business processes in your application. The actions that a Vuser performs during the recording session are described in a Vuser script.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;HP’s tool for creating Vuser scripts is the Virtual User Generator, &lt;em&gt;VuGen&lt;/em&gt;. You use VuGen to develop a Vuser script by recording a user performing typical business processes on a client application. VuGen records the actions that you perform during the recording session, recording only the activity between the client and the server. Instead of having to manually program the application’s API function calls to the server, VuGen automatically generates functions that accurately model and emulate real world situations.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;span class="fullpost"&gt;  &lt;p&gt;During recording VuGen monitors the client end of the database and traces all the requests sent by the user and received from the user, to the server.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_ansP04Rcsso/SnUTORCibNI/AAAAAAAAALo/2txSiNfzpec/s1600-h/image%5B2%5D.png"&gt;&lt;img title="image" style="border: 0px none ; display: inline;" alt="image" src="http://lh6.ggpht.com/_ansP04Rcsso/SnUTPYMz01I/AAAAAAAAALs/zsnyl_V5KE0/image_thumb.png?imgmax=800" border="0" height="102" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;During playback, Vuser scripts communicate directly with the server by executing calls to the server API. When a Vuser communicates directly with a server, system resources are not required for the client interface. This lets you run a large number of Vusers simultaneously on a single workstation, and enables you to use only a few testing machines to emulate large server loads.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_ansP04Rcsso/SnUTQFUisiI/AAAAAAAAAL4/oG62svYFyQ8/s1600-h/image%5B5%5D.png"&gt;&lt;img title="image" style="border: 0px none ; display: inline;" alt="image" src="http://lh5.ggpht.com/_ansP04Rcsso/SnUTRCo3fVI/AAAAAAAAAL8/BX8BCmitjgk/image_thumb%5B1%5D.png?imgmax=800" border="0" height="37" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;In addition, since Vuser scripts do not rely on client software, you can use Vusers to check server performance even before the user interface of the client software has been fully developed.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Using VuGen, you can run scripts as standalone tests. Running scripts from VuGen is useful for debugging as it enables you to see how a Vuser will behave and which enhancements need to be made.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;VuGen enables you to record a variety of Vuser types, each suited to a particular load testing environment or topology. When you open a new test, VuGen displays a complete list of the supported protocols.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;While running the Vusers, you gather information about the system’s response. Afterwards, you can view this information with the Analysis tool. For example, you can observe how a server behaved when one hundred Vusers simultaneously withdrew cash from a bank’s ATM.&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Also See:&lt;/span&gt; Other &lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;LoadRunner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-3163106814834120324?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/3163106814834120324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/vusers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3163106814834120324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3163106814834120324'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/vusers.html' title='Vusers in LoadRunner'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_ansP04Rcsso/SnUTPYMz01I/AAAAAAAAALs/zsnyl_V5KE0/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-6450937046992328408</id><published>2009-08-01T10:29:00.001-07:00</published><updated>2009-08-07T09:28:24.791-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Working with the Java Add-in in QTP</title><content type='html'>&lt;p&gt;When learning objects and running steps on Java applications in QTP, consider the following:&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;After installing the Java Add-in, Java applets and applications will always open with Java support active. You can confirm that your Java environment has opened properly by checking the Java console for a message similar to the following confirmation message: “Loading QTP Java Support (version x.x.x.x) (&amp;lt;App&amp;gt; version x.x.x.x).” (where &amp;lt;App&amp;gt; is IE, IBM, or SUN). &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;You can use the &lt;strong&gt;Object&lt;/strong&gt; test object property to activate only public methods and to retrieve only public properties. A recommended alternative to using the &lt;strong&gt;Object&lt;/strong&gt; property is to extend QTP support for the required Java object using QTP Java Add-in Extensibility. &lt;/li&gt; &lt;/ul&gt;&lt;span class="fullpost"&gt;  &lt;ul&gt;   &lt;li&gt;You cannot add SWT-based JavaMenu objects directly to an object repository using the &lt;strong&gt;Add Objects to Local&lt;/strong&gt; button in the Object Repository window or the &lt;strong&gt;Add Objects&lt;/strong&gt; button in the Object Repository Manager. If you want to add an SWT-based JavaMenu object to the object repository, you can use the &lt;strong&gt;Add Objects&lt;/strong&gt; or &lt;strong&gt;Add Objects to Local&lt;/strong&gt; button to add its parent object and then select to add the parent object together with its descendants. Alternatively, you can add a JavaMenu object using the &lt;strong&gt;Navigate and Learn &lt;/strong&gt;option in the Object Repository Manager. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;In QTP, table data is always loaded from the application itself, even if the Active Screen contains an image of the table. For this reason, you must first open the table in the application before creating a table checkpoint in a test. In some cases you may have to scroll to the last row of the table to make sure that all the data is loaded. It is not necessary to open the table in your application to edit an existing table checkpoint. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;If you load or unload an add-in that is displayed as a child of the Java add-in in the Add-in Manager, only applications that are opened after loading or unloading the add-in are affected. &lt;/li&gt; &lt;/ul&gt; &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-6450937046992328408?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/6450937046992328408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/working-with-java-add-in-in-qtp.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6450937046992328408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6450937046992328408'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/working-with-java-add-in-in-qtp.html' title='Working with the Java Add-in in QTP'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-5195475783018730722</id><published>2009-08-01T10:27:00.001-07:00</published><updated>2009-11-01T08:46:35.740-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Why does software have bugs</title><content type='html'>&lt;p&gt;&lt;strong&gt;- Errors of Requirements:&lt;/strong&gt; Gap between “what an application should do” and “what it actually does”. Thanks to one or more of the many possible reasons – deficiency in the specifications or the communication or understanding.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- Errors of Design:&lt;/strong&gt; Not a well-engineered application. Deficient / defective design.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- Programming / coding errors&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- Software Complexity:&lt;/strong&gt; A non-trivial application has an inherent complexity&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- Errors are difficult to detect&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;span class="fullpost"&gt;  &lt;p&gt;&lt;strong&gt;- The domain of possible inputs is too large to test.&lt;/strong&gt; There are too many possible paths through the program to test. Test design is not a simple affair. Minimal tests with maximum coverage is not an easier task.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- Insufficient time to test&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- Deficiency in Documentation:&lt;/strong&gt; Incomplete, incorrect, inadequate, vague, missing documentation – leading to differing interpretations and messing up of construction or maintenance. It is tough to maintain and modify code that is badly written or poorly documented and risky too. Lack of resources, time pressures and bad practices may mean poor documentation&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- Changing Requirements:&lt;/strong&gt; The customer may not understand the effect of changes. Improperly controlled changes may play havoc with the application&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- Time Pressures:&lt;/strong&gt; Software time estimates are after all just that estimates which involves a lot of guess work and assumptions. When deadlines loom and the crunch comes, mistakes will be made&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- Software helps automate.&lt;/strong&gt; But, software to automate software construction does not exist – there are tools to only partially assist&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- Software construction is predominantly a manual process.&lt;/strong&gt; Software is written by people. People make mistakes. Software reflects those mistakes&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- Defect Masking:&lt;/strong&gt; A defect may have remained hidden/masked on account of another defect. Only when the defect, masking the defect, is removed, the masked defect get exposed&lt;/p&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-5195475783018730722?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/5195475783018730722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/why-does-software-have-bugs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5195475783018730722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5195475783018730722'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/why-does-software-have-bugs.html' title='Why does software have bugs'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-6321205587157967897</id><published>2009-08-01T09:12:00.001-07:00</published><updated>2009-11-01T08:42:22.078-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Software Testing Services</title><content type='html'>&lt;span class="fullpost"&gt; &lt;p&gt;For a software company, the software testing service is one of the most critical components to maintain. The effectiveness of application or system being developed is often gauged by software testing service they offered to the project team. Poor software application quality may result in increased support costs, loss of customers or legal issues, loss of market share and a tarnished brand image. A good software testing service is required to ensure that tested applications meet all application requirements. Sometimes, achieving quality and reducing risks of residual defects using in house software testing services, may become challenging, expensive and resource intensive.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Many companies offers independent Testing and Quality Assurance consulting services which follow the best of security, integration and industry standard processes. Some of the best Software Testing Service providers are:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;1. &lt;strong&gt;STS Consulting —&lt;/strong&gt; Consulting and staffing company specializing in software testing and validation services&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. &lt;/strong&gt;&lt;strong&gt;uTest – &lt;/strong&gt;uTest is the world’s largest marketplace for software testing services – 18000+ QA professionals from more than 150 countries&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. &lt;/strong&gt;&lt;strong&gt;Acutest -&lt;/strong&gt; UK software testing consultancy, providing outsourced technical and business assurance services. These include performance and load testing, user acceptance, functional testing and many more.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4. &lt;/strong&gt;&lt;strong&gt;Applabs -&lt;/strong&gt; Independent software testing company offering outsourced software testing services, offshore testing &amp;amp; QA, outsourced testing &amp;amp; consultancy, onsite &amp;amp; offshore&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;5. EffectiveSoft -&lt;/strong&gt; offers offshore software testing services. Their dedicated team of skilled software testers, Offshore QA Lab, provides a full range of quality and testing services.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;6. Off shore testing services – &lt;/strong&gt;Software testing Center offers Quality Assurance(QA) services including performance and load testing, User Acceptance, Web Application &amp;amp; Functional testing.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;7. A1QA – &lt;/strong&gt;offshore software testing firm offers software testing outsourcing, software testing services including web application testing and dedicated QA team&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;8. QA InfoTech -&lt;/strong&gt; is a professional Quality Assurance and Software Testing service provider with qualified Testing Experts who are committed to provide creative soultions.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;9. BugHuntress -&lt;/strong&gt; Since 2001, it provides integrated software testing services which help companies to develop high quality software.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;10. TestPros -&lt;/strong&gt; it provides software testing and software quality assurance services.&lt;/p&gt; &lt;/span&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-6321205587157967897?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/6321205587157967897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/software-testing-services.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6321205587157967897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6321205587157967897'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/08/software-testing-services.html' title='Software Testing Services'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-1662124304763726599</id><published>2009-07-05T04:17:00.001-07:00</published><updated>2009-08-08T00:40:51.067-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Delphi Add-in in QTP 10</title><content type='html'>&lt;span class="fullpost"&gt; &lt;p&gt;Below is the basic information about the Delphi Add-in and how it relates to some commonly-used aspects of QTP.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;General Information:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Add-in Type: &lt;/strong&gt;This is a Windows-based add-in. Much of its functionality is the same as other Windows-based add-ins.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Checkpoints and Output Values: &lt;/b&gt;Bitmap, Standard, Table, Text, Text Area, XML.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Prerequisites:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Opening Your Application: &lt;/b&gt;You can open your Delphi application before or after opening QTP. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Add-in Dependencies&lt;/b&gt;: None&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Other:&lt;/strong&gt; Before running a test on a Delphi application, the application being tested must be compiled with the QTP Professional agent MicDelphiAgent.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Setting Preferences:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Options Dialog Box : &lt;/b&gt;Use the &lt;b&gt;Windows Applications&lt;/b&gt; pane. (&lt;b&gt;Tools &amp;gt; Options &amp;gt; Windows Applications &lt;/b&gt;node)&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Record and Run Settings Dialog Box &lt;/b&gt;(tests only): &lt;/p&gt;  &lt;p&gt;Use the &lt;b&gt;Windows Applications&lt;/b&gt; tab.    &lt;br /&gt;(&lt;b&gt;Automation &amp;gt; Record and Run Settings&lt;/b&gt;)&lt;/p&gt;  &lt;p&gt;QTP recognizes only Delphi applications that have been precompiled with the &lt;b&gt;MicDelphiAgent.pas&lt;/b&gt; module.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Custom Active Screen Capture Settings Dialog Box    &lt;br /&gt;&lt;/b&gt;(tests only): Use the &lt;b&gt;Windows&lt;/b&gt; section. (Tools &amp;gt; Options &amp;gt; Active Screen pane &amp;gt; Custom Level button)&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Application Area Settings Dialog Box&lt;/b&gt;: Use the &lt;b&gt;Applications&lt;/b&gt; pane. (File &amp;gt; Settings &amp;gt; Applications node).&lt;/p&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-1662124304763726599?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/1662124304763726599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/07/delphi-add-in-in-qtp-10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1662124304763726599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1662124304763726599'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/07/delphi-add-in-in-qtp-10.html' title='Delphi Add-in in QTP 10'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-6363340126008100052</id><published>2009-06-25T08:35:00.000-07:00</published><updated>2009-10-31T20:58:32.300-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Types and Strategies'/><title type='text'>Localization Testing</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Localization testing&lt;/strong&gt; is part of software testing focused on internationalization and localization aspects of software.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Localization Test&lt;/strong&gt; is the process of adapting globalized application to a particular culture/locale. Localizing the application requires a basic understanding of the sets of character commonly employed in modern software development and an apprehension of the risks associated with them.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Localisation testing&lt;/strong&gt; checks how well the build has been interpreted into a particular target language. This test is founded on the results of globalized validation where the functional support for that particular locale has already been validated. Whenever the product is not globalised enough to support a given language, you probably will not try to focalise it into that language in the first place.&lt;br /&gt;&lt;br /&gt;You still have to check that the application you are delivering to a specific market actually works and the following section shows you some of the common areas on which to focus when executing a Localization of test.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Localization testing&lt;/strong&gt; contains the translation of the application user interface and adapting graphics for a particular culture/locale. The localisation process can also include translating any help content associated with the application program into native language. &lt;br /&gt;&lt;br /&gt;Localisation of business solutions needs that you implement the correct business processes and practices for a culture/locale. Differences in how cultures/locales conduct business are to a great extent determined by governmental and regulatory requirements. Hence, localisation of business logic can be a big task.&lt;br /&gt;&lt;br /&gt;Things which are often altered during localization, such as the user interfaces and content files. Below is a sample &lt;strong&gt;localization testing &lt;/strong&gt;checklist:&lt;br /&gt;&lt;br /&gt;- Spelling Rules   &lt;br /&gt;- Sorting Rules   &lt;br /&gt;- Upper and Lower case conversions   &lt;br /&gt;- Printers   &lt;br /&gt;- Size of Papers &lt;br /&gt;- Operating System   &lt;br /&gt;- Key boards   &lt;br /&gt;- Text Filters   &lt;br /&gt;- Hot keys   &lt;br /&gt;- Mouse   &lt;br /&gt;- Date formats   &lt;br /&gt;- Measurements  and Rulers&lt;br /&gt;- Available memory    &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note: &lt;/strong&gt;It is as well a good idea to test that everything you are going to distribute in a local market complies with the local laws and regulations&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-6363340126008100052?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/6363340126008100052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/06/localization-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6363340126008100052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6363340126008100052'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/06/localization-testing.html' title='Localization Testing'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-5303815201290713700</id><published>2009-05-12T07:48:00.000-07:00</published><updated>2009-11-01T08:50:44.929-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rational Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview Questions'/><title type='text'>IBM RFT FAQ - 2</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q. 28: What are the environmental prerequisites prior to playback of RFT scripts?&lt;br /&gt;&lt;br /&gt;Ans. &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Make sure that the application under test is in the same state that it was in when you record the script.&lt;br /&gt;- Ensure that applications and windows that were open or displayed or active when we started recording the script must be open or displayed or active when we start playback.&lt;br /&gt;- Ensure to restore relevant network settings, active databases and system memory (if any) to the same state as when the script was recorded.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 29: When we run a RFT script what actions are performed?&lt;br /&gt;&lt;br /&gt;Ans. &lt;/strong&gt;When script runs from Rational Functional Tester, it plays back all recorded actions. Playback Monitor starts and provides information when the script plays back. A log file gets displayed after the script runs completed. When script runs from Test Manager, Test Manager creates a temporary suite, runs the suite and removes the suite after the run is completed. We can run a script either from the Test Manager Test Scripts window or from the Test Manager File menu.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 30: Out of test scripts or test cases which one should be run to generate test case results?&lt;br /&gt;&lt;br /&gt;Ans. &lt;/strong&gt;Test cases should be run to generate test case results instead of the script. If we run a script the Test Manager does not generate test case coverage results.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 31: Describe the process of debugging of scripts in Rational Functional Tester.&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; If the scripts are recorded in the Java programming language - debugging scripts is the same process as debugging a Java application. If the scripts are recorded in the VB.NET Scripting - debugging scripts is the same process as debugging a Visual Basic application.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 32: What is the procedure to create data pools in Rational Functional Tester?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; A data pool is a test data set - a collection of related data records which supplies data values to the variables in test script during test script play back. You can create data for a data pool from scratch or we can import existing data into a new data pool from another Functional Tester data pool or from a .csv file.&lt;br /&gt;&lt;br /&gt;Note: If you need to import the data, you will need to import the data into the same Rational Functional Tester project as the test scripts that access the data. If you need to import data from Test Manager data pool, you will need to first associate a RFT project with a Rational project to use the Test Manager data pool.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 33: What type of changes we can do in a data pool?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Once we data drive a test to create a data pool or create an empty data pool, then we can edit the records and variables in the data pool. We can&lt;br /&gt;1) Add – Remove – Move - Edit a record and variable&lt;br /&gt;2) Edit data pool values&lt;br /&gt;4) Cut - Copy or Paste a cell or record or a variable&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 34: Can we replace literal values in a script with data pool references?&lt;br /&gt;&lt;br /&gt;Ans. &lt;/strong&gt;Yes. We can replace literal values in existing script with data pool references to add realistic data to the script. We can replace all literal values or just the number or string or Boolean literals with a data pool reference. If we do not use an existing datapool variable, then the same literal values are used each time we run the script.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 35: Which events take place when we run a script?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Verification point accesses the data in the datapool and creates the expected results from the baseline and the active data pool record. Datapool reference resolves and supplies data to verification point. The expected result is compared to the actual result. The expected and actual results are recorded in the log. Any deviations from the expected results are logged as a failure in the test log.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 36: Name the two types of datapool record selection orders available in RFT?&lt;br /&gt;Ans.&lt;/strong&gt; Sequential record selection order and Random record selection order.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 37: Explain the purpose of Test Object Inspector?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; It is used to get a display of the test object information in running application. The information can be of parent hierarchy, inheritance hierarchy, test object properties, non-value properties and method information. Test Object Inspector automatically tracks the cursor and performs live updates after the application is opened. Test Object Inspector does not capture the object / objects in the application if it is not active.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 38: What is the wait state feature for the objects?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; In RFT, this feature is used to set wait state for an object during the playback to check its existence. It is useful when waiting for an object after starting the application or after other actions taking a long time.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 39: What happens to the related files when we rename a test asset?&lt;br /&gt;&lt;br /&gt;Ans. &lt;/strong&gt;When we rename a script, Rational Functional Tester renames all its related files like the helper script files, private object map and any verification point files. If you rename a test object map, the associated scripts with the new name gets updated.&lt;br /&gt;&lt;br /&gt;Note: After renaming operation, we need to change all callScript commands in scripts which reference the old script name.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 40: How Data driving testing is helpful in RFT?&lt;br /&gt;&lt;br /&gt;Ans: &lt;/strong&gt;During data driven testing, the script uses variables for key application input fields and programs instead of literal values so that we can use external data to drive the application being tested. Data driven testing uses data from an external file called as datapool. We can add data to the data pool after finishing the recording of the test script.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 41: Name two methods to select an object in an application under test in RFT?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Object Finder Tool method and Test Object Browser method&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 42: Name the various types of datapools in Rational Functional Tester.&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; There are two types of datapools: Private datapool and Shared datapool&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 43: In how many ways test scripts can be saved in RFT?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Three ways: Save the current test script or file, Save all test scripts &amp;amp; files and Save a script under another name&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 44: Sometimes record monitor goes blank when recording against Java or HTML application. What is the reason for that?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Record Monitor goes blank while recording against Java or HTML application when JREs or browsers are not enabled.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 45: What are the actions performed by the agent computers?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Running the scripts on more than one computer.&lt;br /&gt;- Test different machine configurations.&lt;br /&gt;- Run Functional Tester scripts remotely on Linux or Windows computers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 46: What is required to run a RFT script from Test Manager?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Java Scripting / VB.NET Scripting. On a remote computer, you need to install Rational Test Agent software on the Agent computer and start the agent.&lt;br /&gt;However, if we need external library to run scripts, then we need to install the software on the system on which we plan to run the script. To install a .dll, you need to add the library to directory that is in system search paths and to install a .jar file, you will need to add it to the Functional Tester customization directory. Default location for the customization directory is: C:\ Documents and Settings \ All Users \ Application Data\IBM\RFT\customization&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 47: What is the purpose of using Script Assure in RFT?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; This feature helps the successful playback of scripts even when the application under test has been updated. We can play back scripts in RFT by using the ScriptAssure feature to control object-matching sensitivity.&lt;br /&gt;For RFT to recognize an object in the application-under-test, the object properties must match the properties recorded in test object map. RFT can find the object if 1 or 2 properties do not match. If 2 properties do not match, RFT gives a weak recognition warning to the log. If more than 3 properties do not match, RFT cannot find the object in the application.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 48: Ways of using ScriptAssure in RFT.&lt;br /&gt;&lt;br /&gt;Ans. -&lt;/strong&gt; Standard way: ScriptAssure Page - Standard controls object-matching sensitivity during playback by using a slider control.&lt;br /&gt;- Advanced way: The ScriptAssure Page - Advanced sets thresholds for recognition scores. You can set a maximum score to consider a test object as a candidate for recognition.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 49: What is the purpose of Hover feature during recording?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Hover feature is useful to move the mouse towards a particular place during playback in HTML application. It is helpful for clicking on menus or links in HTML testing.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 50: What are the six steps involved in test development using RFT?&lt;br /&gt;&lt;br /&gt;Ans &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Restore test environment and set the playback options.&lt;br /&gt;- Play back each script against the same version of the application under test that was used for recording.&lt;br /&gt;- Analyze the results in the Rational Functional Tester log.&lt;br /&gt;- Use Functional Tester Verification Point Comparator for determining the cause of verification point failures.&lt;br /&gt;- If the script fails; then edit it or debug it or re record it so that it runs as required.&lt;br /&gt;- If we associate a Rational Functional Tester project with the current Rational project, we can group various scripts into test suite and play back the suite to verify that the scripts work properly.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 51: What are the two main phases of script playback?&lt;br /&gt;&lt;br /&gt;Ans. &lt;/strong&gt;Test Development Phase and Regression Testing Phase&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 52: What are the six steps involved in regression testing phase using Rational Functional Tester?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Restore testing environment and set playback options.&lt;br /&gt;- Play back test script against a new build of the application under test.&lt;br /&gt;- Analyze the test results in the Rational Functional Tester log.&lt;br /&gt;- Use the Rational Functional Tester Verification Point Comparator to determine the cause of verification point failures.&lt;br /&gt;- If required, revise your test scripts to use new features in the application under test and playback the revised test scripts.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 53: What is purpose of Playback Monitor in Rational Functional Tester?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Using playback monitor, during the playback of script; we can view the script name, number of the line that is executing, status icons and a description of the action in progress.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 54: What are the Local and agent computers / machines in RFT?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; When we associate Rational Functional Tester project with a Rational project, we can use Test Manager to run the RFT scripts on computers that are designated as Agent computers from a single Windows computer called the Local computer.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Also See:&lt;/strong&gt;&lt;br/&gt;&lt;br /&gt;- &lt;a href="http://www.softwaretestingstuff.com/2009/05/rational-functional-tester-interview.html"&gt;Rational Functional Tester Interview Questions - 1&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-5303815201290713700?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/5303815201290713700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/05/ibm-rft-faq-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5303815201290713700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5303815201290713700'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/05/ibm-rft-faq-2.html' title='IBM RFT FAQ - 2'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-6809820218975074179</id><published>2009-05-06T18:23:00.000-07:00</published><updated>2009-11-01T08:50:44.929-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rational Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview Questions'/><title type='text'>Rational Functional Tester Interview Questions - 1</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 1: What are the main features of Functional Tester?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt;&lt;br /&gt;- Complete functional testing of the application&lt;br /&gt;- test the state of objects through verification points.&lt;br /&gt;- Testing any object in the application, including the object's properties and its data.&lt;br /&gt;- Creating and editing simple object-oriented test scripts. &lt;br /&gt;- Generating code through wizards, for example automatically creating a verification point through wizard.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 2: What Process is followed by Rational Functional Tester for test automation?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Recording of Test Scripts, Enhancing the Test Scripts and then Playing Back the Scripts&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 3: For how many development platforms &amp; Languages Functional Tester is available?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt;&lt;br /&gt;-  Java Scripting uses the Java language and the IBM Rational Software Development Platform. &lt;br /&gt;-  VB.NET Scripting uses the VB.NET language and the Microsoft Visual Studio .NET development environment.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 4: What is benefit of test object map in Rational Functional Tester?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Test object map gets created automatically when recording the script for the application under test. It provides quick way to add objects to a script. It creates a list of test objects available in the application whether they are currently displayed or not. We can create a new test object map either by basing it on an existing map or by adding objects as required. It contains recognition properties for every object; so we can update the recognition information in one central location. Therefore, any scripts using this test object map shall be able to share the updated information. Test object maps created for HTML applications are more hierarchical than those created for Java applications. A browser is the top level of the test object map and the HTML application is inside the browser.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 5: How various objects are identified by Functional Tester?&lt;br /&gt;Ans.&lt;/strong&gt; In Functional Tester object-oriented technology is used to identify various objects by their internal object properties and not by their screen coordinates. Thus even if the location or text of an object changes, the Functional Tester can still find it on playback.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 6: In how many ways we can test the applications on Linux using RFT?&lt;br /&gt;&lt;br /&gt;Ans. &lt;/strong&gt;&lt;br /&gt;First Way: We can record a script on Windows Environment and export it to Linux &amp; then play it back on Linux.&lt;br /&gt;&lt;br /&gt;Second Way: By writing scripts using the Test Object Insert tool. Instead of creating an object map through recording we populate it outside of the recorder by opening the map and selecting objects in the test application.&lt;br /&gt;We can insert verification points without recording, by opening the Verification Point wizard from the Script Explorer.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 7: What are two types of TestManagers in RFT?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt;&lt;br /&gt;1) TestManager: It includes the Test Manager Log, running Windows &amp; Linux remote playback agents and test management features like running scripts as part of a test suite. Functional Tester has its own logs and does not depend on the TestManager log integration.&lt;br /&gt;&lt;br /&gt;2) ClearQuest Test Manager: It helps us in associating functional test scripts to Test Cases and executes them. Using CQTM we can analyze the received execution results and record those results for reporting and analysis.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 8: What is a Rational and Functional Test project?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Rational Test project is used for storing test assets like test plans test cases, test logs, reports, builds etc. To associate a Functional Tester project with a Rational project, a Rational project needs to be created to store the test assets. Functional Test project stores all application test assets like scripts, object maps, verification point baseline files and script templates. Functional Test project is created before recording the scripts.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 9: What is the use of associating a project with TestManager in RFT?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; 1) Creating and playingback the scripts from within Rational TestManager.&lt;br /&gt;2) Using the TestManager Agent for playing back scripts on remote computer.&lt;br /&gt;3) You can view the scripts from the Test Scripts window of Rational TestManager.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 10: Benefits of associating a Functional Tester project with Rational Project.&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; &lt;br /&gt;1) Management of testing assets from one Rational project.&lt;br /&gt;2) You can record and play back all Functional Tester scripts from Rational TestManager. &lt;br /&gt;3) Playing back Functional Tester script on different computer using Rational Test Agents through TestManager.&lt;br /&gt;4) Management Functional Tester logs using the Test Log window of TestManager.&lt;br /&gt;5) Use of Test Manager reports to get information about the results of running Functional Tester test script and get coverage report for testing project.&lt;br /&gt;6) Use TestManager suite to coordinate the way that scripts run. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 11: Are there any restrictions when we disassociate a project from the current Rational project?&lt;br /&gt;&lt;br /&gt;Ans. Yes.&lt;/strong&gt; We can not play back Functional Tester script or test cases or suites that include Functional Tester scripts in disassociated project from TestManager. Test Manager deletes test script source from the disassociated project. This operation can not be undo. If we associate Functional Test project with Rational project again, TestManager creates new test script source.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 12: Name three buttons available in Functional Tester Projects view banner.&lt;br /&gt;&lt;br /&gt;Ans. &lt;/strong&gt;&lt;br /&gt;- Connect to Functional Test Project: It allows us to connect to an existing Functional Tester project.&lt;br /&gt;- Refresh Projects: It enables us to repaint the display to reflect changes.&lt;br /&gt;- Synchronize with Editor: It scrolls in the tree hierarchy to the name of the script currently displayed in the Java Editor.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 13: Can we export Functional Test project items?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; We can export project items like scripts, test object maps, Java files, Visual Basic files and data pools to another Functional Tester project. When we export a script Functional Tester includes all necessary files like shared test object maps even though it was not selected by us.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 14: What is the utility of a verification points in Rational Functional Tester?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; During the recording verification points can be inserted in the script to confirm the state of an object in the application.&lt;br /&gt;A verification point captures the object information based upon the type of verification point and stores it in a baseline data file. The information in the base file becomes baseline of expected state of object during subsequent builds. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 15: What types of verification points are provided by RFT?&lt;br /&gt;&lt;br /&gt;Ans.:&lt;/strong&gt; Rational Functional Tester has two types of verification points: Object properties verification point and Data verification points. Data verification point has five further points: Menu hierarchy verification point, Table verification point, Text verification point, Tree hierarchy verification point, List verification point.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 16: How RFT playback depends upon the platform and the browser?&lt;br /&gt;&lt;br /&gt;Ans.:&lt;/strong&gt; Test playback in RFT is independent of the platform as well as independent of browser. E.g. we can record script on Windows and play it back on Linux. Also, the script contains no references to the browser during the recording, we can play back the script using any of the supported versions of Firefox, Mozilla, Internet Explorer or Netscape.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 17: What host &amp; test platforms supported by RFT?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Functional Tester runs on the following Host and Test platforms: Windows XP Professional, Windows 2000 Professional &amp; Server, Windows 2000 Server &amp; Advanced Server, Windows 2003 Enterprise, Standard &amp; Server&lt;br /&gt;&lt;br /&gt;Platforms supporting all functions of RFT except the recording: Red Hat Linux Enterprise Workstation 4.0, SuSE Linux Professional version 9.0, SuSE Linux Enterprise Server 10.0, Novel Desktop 10.0 &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 18: What types of nesting of objects is supported by Functional Tester?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Parent-child nesting and Owner-owned nesting&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 19: Type of file extensions created while exporting Functional Test project items?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; RFT compresses a copy of the files into a data transfer file with the name specified by us. It also appends a .rftjdtr (Functional Tester Java Scripting) or .rftvdtr (Functional Tester VB.NET Scripting) extension to it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 20: What is the helper superclass in RFT?&lt;br /&gt;&lt;br /&gt;Ans. &lt;/strong&gt;All Functional Tester scripts use default helper superclass. These scripts extend the RationalTestScript class and thereby inherit a number of methods. However, advanced users can create their own helper superclass (if they want to add additional methods or override the methods within RationalTestScript).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 21: Name the Functional Test project items that can be imported?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Project items like scripts, test object maps, Java files or Visual Basic files, and datapools can be imported into a Functional Tester project. Functional Tester adds all the project items from the data transfer file into the project specified by us. We can use any file compression program which support the .zip to view and work with items in the data transfer file. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 22: RFT provides how many type of delete Cookies methods?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; &lt;br /&gt;- Method of deleting all cookies for the current profile or user&lt;br /&gt;- Method of deletes cookies in a specific page or domain for the current profile or user&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 23: How an application starts during recording the tests?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; While recording tests the application can be started by using startApp command. It makes playing back the tests more reliable because startApp uses the application configuration information. RFT will open either Java applications that we specify or HTML pages in our browser, or run applications in executable form.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 24: What is a test project in RFT?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Location where Functional Tester keeps all of the scripts, along with expected and actual results is called as a test project. The format of test project is governed by the environment being used. &lt;br /&gt;&lt;br /&gt;Note: If you are using the Java language, create a Java test project. However you are using Visual Basic.NET, create a .NET test project.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 25: How can we create a new RFT script without recording?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; In new script &gt; RFT includes import statements for files we need to compile the script and comments containing information of archiving. Functional Tester uses the script name as the class name and sets up testMain. Here, you can add the commands to include in the script.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 26: Can we do recording in an existing RFT script?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt; Yes. We can do the recording in existing RFT script by bringing our cursor to the desired location &amp; just start the recording. Start the application &gt;&gt; insert verification points &gt;&gt; and add all script support functions.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q. 27: How can we record script for testing the HTML applications using RFT?&lt;br /&gt;&lt;br /&gt;Ans.&lt;/strong&gt;&lt;br /&gt;- Enabling the Web browser: Enabling of the browser can be done by clicking on Configure &gt; "Enable Environments for Testing". This will enable the environments for testing.&lt;br /&gt;&lt;br /&gt;- Configuring the HTML applications for testing: It can be done by clicking on Configure &gt; "Configure Applications for Testing" to specify information about our application and its environment. For testing MS HTML Applications (MSHTA), we need to run mshta.exe to configure application desired to be tested.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-6809820218975074179?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/6809820218975074179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/05/rational-functional-tester-interview.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6809820218975074179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6809820218975074179'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/05/rational-functional-tester-interview.html' title='Rational Functional Tester Interview Questions - 1'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-4554146068168089259</id><published>2009-05-01T08:57:00.000-07:00</published><updated>2009-10-31T20:58:32.301-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Types and Strategies'/><title type='text'>Agile Testing</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Historically, software testing has always been about finding where the software breaks. In fact, when we talk about the qualities of a good software tester we quote anecdotes about how "she was able to break my program in 3 minutes" or that "he found 27 bugs when running on Linux with Apache". In other words, software testing was about finding bugs and software testers would get rewarded for and take satisfaction from finding bugs.&lt;br /&gt;&lt;br /&gt;Whereas &lt;strong&gt;agile testing&lt;/strong&gt; is more about keeping the bugs out than finding the ones that are in there. The (automated) software tests that are written in &lt;span style="font-weight: bold;"&gt;agile testing&lt;/span&gt; are more about showing that the software works the way we expect than about finding where it breaks.&lt;br /&gt;&lt;br /&gt;This doesn’t mean that agile testers should not attempt to find bugs nor that pre-agile testers never write tests to show what works. It means agile thinking has introduced a change in emphasis from “fault-finding” to “working software”.&lt;br /&gt;&lt;br /&gt;In pre-agile days, developers would bang away on the code until they considered it done. Then they would throw the code over the wall to QA to find the bugs. QA's first task would be to find the places where it would break. They'd submit a whole bunch of bugs which developers would fix. This cycle would repeat until they couldn't find any more.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Software Testing &lt;/span&gt;now happens closer to the developer in space and in time. &lt;span style="font-weight: bold;"&gt;Software Testers&lt;/span&gt; design tests to show that the software works as expected. The developers and testers work together in a room to expand the set of cases that works. The bugs should never get introduced in the first place.&lt;br /&gt;&lt;br /&gt;In the old days the conversation might have gone something like this:&lt;br /&gt;&lt;br /&gt;=========================================================&lt;br /&gt;Software Developer: The baby has been delivered.&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;Software &lt;/span&gt;&lt;span class="fullpost"&gt;Tester: Your baby is early,&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;Software &lt;/span&gt;&lt;span class="fullpost"&gt;Developer: Everything works.&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;Software &lt;/span&gt;&lt;span class="fullpost"&gt;Tester: C is broken&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;Software &lt;/span&gt;&lt;span class="fullpost"&gt;Developer: fixed C&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;Software &lt;/span&gt;&lt;span class="fullpost"&gt;Tester: E doesn't work with X&lt;br /&gt;Developer: fixed E with X&lt;br /&gt;and so on until the tester can't find any more bugs.&lt;br /&gt;=========================================================&lt;br /&gt;&lt;br /&gt;In &lt;strong&gt;agile environment&lt;/strong&gt;, it would go more like this:&lt;br /&gt;&lt;br /&gt;=========================================================&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;Software &lt;/span&gt;&lt;span class="fullpost"&gt;Developer: A is done&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;Software &lt;/span&gt;&lt;span class="fullpost"&gt;Tester: A works&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;Software &lt;/span&gt;&lt;span class="fullpost"&gt;Developer: B is done&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;Software &lt;/span&gt;&lt;span class="fullpost"&gt;Tester: B works&lt;br /&gt;and so on until every case works&lt;br /&gt;=========================================================&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Nature of Agile Testing:&lt;/strong&gt;&lt;br /&gt;The biggest difference between agile projects and most ‘traditional’ software development projects is the concept of &lt;span style="font-weight: bold;"&gt;test driven development. &lt;/span&gt;With &lt;span style="font-weight: bold;"&gt;agile testing&lt;/span&gt;, every chunk of code is covered by unit tests, which must all pass all the time. The absence of unit level and regression bugs means that testers actually get to focus on their job: making sure the code does what the customer wanted. The acceptance tests define the level of quality the customer has specified (and paid for!).&lt;br /&gt;&lt;br /&gt;Testers who are new to &lt;span style="font-weight: bold;"&gt;agile testing &lt;/span&gt;should keep in mind the agile values: communication, simplicity, feedback and courage.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Difference between Traditional Software Testing and Agile Testing:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Agile testing was different in many ways from ‘traditional’ software testing. The biggest difference is that on an agile project, the entire development team takes responsibility for quality. This means the whole team is responsible for all software testing tasks, including acceptance test automation. When software testers and programmers work together, the approaches to test automation can be pretty creative. Software Testing is integrated into software development. Having everyone in one room speeds up communication by an astonishing amount. Questions that might otherwise take a couple days to be answered over email are answered within a couple of minutes. There can be numerous occasions when hours of time could be saved by overhearing a conversation in the team room.&lt;br /&gt;&lt;br /&gt;On traditional projects, folks with Quality somewhere in their title (Quality Assurance, Quality Engineers, et al) perform Independent Verification and Validation (IV&amp;amp;V) activities to assess the quality of the system.  Often these teams also review design artifacts.  Sometimes they also have a hand in defining and/or enforcing the process by which the software is made.&lt;br /&gt;&lt;br /&gt;Agile project teams generally reject the notion that they need an independent group to assess their work products or enforce their process.  They value the information that testing provides and they value testing activities highly.  Indeed they value testing so much, they practice &lt;strong&gt;Test Driven Development&lt;/strong&gt; (TDD), writing and executing test code before writing the production code to pass the tests.  However, even though agile teams value testing, they don't always value independent testers.  And they're particularly allergic to the auditing or policing aspects of heavyweight, formal QA.&lt;br /&gt;&lt;br /&gt;So how can testers make themselves useful on a team that does not see much use in traditional, formal QA methodologies?  Here's what they can do:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Supporting Programmer Testing (Technology facing):&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;When supplementing programmer testing the testers support the programmers in creating the software. They sit in the synergy with the programmers. If the programmers are practicing agile, it's a given that they have an extensive set of unit tests.  The &lt;span style="font-weight: bold;"&gt;software tester’&lt;/span&gt;s role is not to do the programmers' &lt;span style="font-weight: bold;"&gt;unit testing&lt;/span&gt; for them.  Instead, most of their work involves manual exploratory testing to discover important information about the software that the unit tests failed to reveal.&lt;br /&gt;&lt;br /&gt;In order to do this, they have to:&lt;br /&gt;&lt;br /&gt;- Get and build the latest source code.&lt;br /&gt;- Run all the unit tests to verify they are starting from a "known good" place.&lt;br /&gt;- Run the application (usually locally from the IDE).&lt;br /&gt;- Minimize documentation: Test documentation can account for a large percentage of the test effort. An informal poll among 135 testers across 57 organizations revealed that testers spend about one third of their time just documenting test cases&lt;br /&gt;- Occasionally add to the automated unit or acceptance test suites.&lt;br /&gt;- Asking “what if” questions to programmers in the planning game. For example, “What if the migrated data has null values?” Analyzing risks and providing information early.&lt;br /&gt;- Offering information about external dependencies or requirements that the team might not otherwise know about.&lt;br /&gt;&lt;br /&gt;Unlike unit tests that use mocks and stubs to isolate the code under test, this exploratory testing is as end-to-end as possible.  As a result, they are usually able to find issues and risks that the unit tests don't reveal.  And they are finding them sooner than we would if we waited for the customer to try things end-to-end.  (Early feedback is good.) In doing so, testers not only help the programmers improve the software, they also help them improve their unit tests.&lt;br /&gt;&lt;br /&gt;To support programmer testing, you're going to have to be comfortable mucking about in source code. If you haven't coded in a long time (or ever) that means more than just learning Java or whatever language your organization uses.  You'll also have to be comfortable:&lt;br /&gt;&lt;br /&gt;- Working in the development environment the developers are using, whether that's Visual Studio, Eclipse, IntelliJ, or something else. &lt;br /&gt;- Fetching and building the latest code from the source control system.&lt;br /&gt;- Using the test frameworks the developers are using such as jUnit or NUnit. &lt;br /&gt;- Configuring your own system and setting up your own data, so you may have to learn more about operating systems, networks, and databases&lt;br /&gt;&lt;br /&gt;In short, technology-facing testers become members of the development team.  You'll need to grow your technical skills accordingly.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Supporting Customer Testing (Business Facing):&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The word "Customer" is used in the sense: The set of people who represent the business-facing stakeholders on a project, and not referring to the customers who pay for the software. When supplementing customer testing, they support them by helping them define and execute acceptance tests. Specifically, they:&lt;br /&gt;&lt;br /&gt;- Walk through the existing software with them, using an interview-style conversation to surface assumptions and expectations.&lt;br /&gt;- Use the information from walkthroughs and other sources to design and articulate acceptance tests.&lt;br /&gt;- Use a variety of analysis techniques to discover risks and implications of decisions.&lt;br /&gt;- Help the customers and programmers define what "good enough" means for their context.&lt;br /&gt;- Execute acceptance tests manually where needed.&lt;br /&gt;- Automate acceptance tests (either by automating them themselves or by working with a programmer or existing automation engineer)&lt;br /&gt;- Provide metrics or other high level data as needed to help the  Customer satisfy his management's need for numbers&lt;br /&gt;&lt;br /&gt;In this second role, software testers spend as much of their time facilitating communication and clarifying expectations.&lt;br /&gt;&lt;br /&gt;To help business stakeholders articulate their needs, you're going to end up doing a whole lot of requirements extraction.  Business-facing testing is as much about distilling requirements and testing assumptions as it is about testing software. There's an entire body of knowledge on requirements analysis, design analysis, and modeling that can help.&lt;br /&gt;&lt;br /&gt;- Consider brushing up on UML. &lt;br /&gt;-Learn how to be an effective interviewer and facilitator.&lt;br /&gt;-Grow both your analysis skills and soft skills.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-4554146068168089259?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/4554146068168089259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/05/agile-testing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4554146068168089259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4554146068168089259'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/05/agile-testing.html' title='Agile Testing'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-8423708956437851200</id><published>2009-04-17T21:12:00.000-07:00</published><updated>2009-08-08T00:40:51.067-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Fine-Tuning the Bitmap Comparison</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When running a bitmap checkpoint, QuickTest compares the area that you are checking in the application with the bitmap stored in the checkpoint, pixel by pixel. By default, if any pixels are different, the checkpoint fails. The Bitmap Checkpoint Properties dialog box provides options for fine-tuning the bitmap comparison. &lt;br /&gt;&lt;br /&gt;You can adjust the comparison to enable the checkpoint to pass even if the bitmaps are not identical by setting the RGB tolerance and Pixel tolerance options described below. &lt;br /&gt;&lt;br /&gt;In addition, QuickTest enables you to use custom comparers for bitmap checkpoints. A custom comparer is a COM object that you or a third party developed to run the bitmap comparison in the checkpoint according to a more specific algorithm. If one or more custom comparers are installed and registered on the QuickTest computer, the Bitmap Checkpoint Properties dialog box includes a Comparer option. This option enables you to select the QuickTest default comparer or a custom comparer that performs the bitmap comparison according to your testing requirements.&lt;br /&gt;&lt;br /&gt;If you select a custom comparer, some of the options in the Bitmap Checkpoint Properties dialog box are different.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Bitmap Checkpoint Tolerance Options:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;RGB tolerance:&lt;/strong&gt; The RGB (Red, Green, Blue) tolerance determines the percent by which the RGB values of the pixels in the actual bitmap can differ from those of the expected bitmap and allow the checkpoint to pass. (The RGB tolerance option is limited to bitmaps with a color depth of 24 bits.)&lt;br /&gt;&lt;br /&gt;For example, a bitmap checkpoint on identical bitmaps could fail if different display drivers are used when you create your checkpoint and when you run your test. Suppose one display driver displays the color white as RGB (255, 255, 255) and another driver displays the color white as RGB (231, 231, 231). The difference between these two values is about 9.4%. By setting the RGB tolerance to 10%, your checkpoint will pass when running your test with either of these drivers. &lt;br /&gt;&lt;br /&gt;Note: QuickTest applies the RGB tolerance settings when comparing each pixel in the actual and expected bitmaps. The Red, Green, and Blue values for each pixel are compared separately. If any of the values differs more than the tolerance allows, the pixel fails the comparison. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Pixel tolerance:&lt;/strong&gt; The pixel tolerance determines the number or percentage of pixels in the actual bitmap that can differ from those in the expected bitmap and allow the checkpoint to pass.&lt;br /&gt;&lt;br /&gt;For example, suppose the expected bitmap has 4000 pixels. If you define the pixel tolerance to be 50 and select the Pixels radio button, up to 50 pixels in the actual bitmap can be different from those in the expected bitmap and the checkpoint passes. If you define the pixel tolerance to be 5 and select the Percent radio button, up to 200 pixels (5 percent of 4000) in the actual bitmap can be different from those in the expected bitmap and the checkpoint passes. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Using both RGB and Pixel Tolerances:&lt;/strong&gt; If you define both RGB and pixel tolerances, the RGB tolerance is calculated first. The pixel tolerance then defines the maximum number of pixels that can fail the RGB criteria and allow the checkpoint to pass. &lt;br /&gt;&lt;br /&gt;For example, suppose you define an RGB tolerance of 10 percent and a pixel tolerance of 5 percent for a bitmap that has 4000 pixels. &lt;br /&gt;&lt;br /&gt;For the checkpoint to pass, each pixel in the actual bitmap must have RGB values that are no greater than or no less than 10 percent of the RGB values of the expected bitmap. If that criterion fails, QuickTest checks that the number of pixels that failed are less than 200. If that criterion passes, the checkpoint passes.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-8423708956437851200?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/8423708956437851200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/fine-tuning-bitmap-comparison.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/8423708956437851200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/8423708956437851200'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/fine-tuning-bitmap-comparison.html' title='Fine-Tuning the Bitmap Comparison'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-6385392588328204974</id><published>2009-04-17T21:02:00.000-07:00</published><updated>2009-08-08T00:40:51.068-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Jumping to a Step in QuickTest 10.00</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can view the step in QuickTest that corresponds to a node in the run results tree. To view the step in the test that corresponds to a node: &lt;br /&gt;&lt;br /&gt;1. Select a node in the run results tree.&lt;br /&gt;&lt;br /&gt;2. Perform one of the following:&lt;br /&gt;&lt;br /&gt;- Click the Jump to Step in QuickTest button  from the Run Results toolbar.&lt;br /&gt;- Right-click and select Jump to Step in QuickTest from the context-sensitive menu.&lt;br /&gt;- Select View &gt; Jump to Step in QuickTest. &lt;br /&gt;&lt;br /&gt;3. The QuickTest window is activated and the step is highlighted.&lt;br /&gt;&lt;br /&gt;To jump to a step, the following conditions must be true: &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;a.&lt;/strong&gt; QuickTest must be running and open to the test whose results are displayed in the Test Results window.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;b.&lt;/strong&gt; The test was run in a version of QuickTest that supports the Jump to Step in QuickTest functionality.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;c. &lt;/strong&gt;The node has a corresponding step in QuickTest. This feature is disabled for the Action, Iteration, Run-Time Data Table, and Test Summary nodes.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;d.&lt;/strong&gt; The step was not performed by a recovery scenario.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;e.&lt;/strong&gt; The step was not run from the Watch or Command tabs of the Debug Viewer.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;f. &lt;/strong&gt;The step is not part of an action that was run using the LoadAndRunAction statement.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;g.&lt;/strong&gt; The test was saved before the run session.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;h.&lt;/strong&gt; The test ran in Normal mode. For information on running QuickTest in Normal mode.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-6385392588328204974?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/6385392588328204974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/jumping-to-step-in-quicktest-1000.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6385392588328204974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6385392588328204974'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/jumping-to-step-in-quicktest-1000.html' title='Jumping to a Step in QuickTest 10.00'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-7705138012111980849</id><published>2009-04-17T20:52:00.000-07:00</published><updated>2009-08-08T00:40:51.068-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Installing Custom Comparer and Registering to QuickTest</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The custom comparer that you develop needs to be installed on any computer that runs a test that includes a bitmap checkpoint that uses the custom comparer. &lt;br /&gt;&lt;br /&gt;Make sure that when the custom comparer is installed, the documentation that you provide for the QuickTest user is placed in the location that you specified in the GetHelpFilename method.&lt;br /&gt;&lt;br /&gt;In addition, for QuickTest to recognize the COM object that you create as a custom comparer, you must register it to the component category for QuickTest bitmap comparers. &lt;br /&gt;&lt;br /&gt;You register a COM object to a component category by listing the relevant component category ID as a registry key under the COM object's HKEY_CLASSES_ROOT\CLSID\Object's CLSID\Implemented Categories key. &lt;br /&gt;&lt;br /&gt;The component category ID must be registered under the HKEY_CLASSES_ROOT\Component Categories key. When QuickTest is installed, it adds the component category ID for QuickTest bitmap comparers as a registry key in this location. &lt;br /&gt;&lt;br /&gt;The component category ID for QuickTest bitmap comparers, CATID_QTPBitmapComparers, is defined in QuickTest installation folder\dat\BitmapCPCustomization\ComponentCategory.h. &lt;br /&gt;&lt;br /&gt;When you design your custom comparer, you must ensure that when it is installed on the QuickTest computer, it is also registered to the component category for QuickTest bitmap comparers. This can be achieved in different ways.&lt;br /&gt;&lt;br /&gt;If you develop your custom comparer in C++ using Microsoft Visual Studio, you can specify this name in the Type box in the ATL Simple Object Wizard.&lt;br /&gt;&lt;br /&gt;If you develop the custom comparer in Visual Basic, this value is automatically set to the COM object's ProgID. If you want to modify the custom comparer name, you can edit it manually in the registry after the comparer is installed, or design the program that performs the installation and registration to edit this value as well.&lt;br /&gt;&lt;br /&gt;If you develop your custom comparer in C++ using Microsoft Visual Studio, you can modify the DllRegisterServer and DllUnregisterServer methods to handle this registration. These methods are called when you run a DLL using the regsvr32.exe program.&lt;br /&gt;&lt;br /&gt;If you develop your custom comparer in an environment that does not enable you to modify the registration methods, you can add an additional program that handles this registration and instruct users who install the custom comparer to run this program as well. You can see an example of this type of implementation in the Visual Basic sample custom comparer that QuickTest provides.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-7705138012111980849?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/7705138012111980849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/installing-custom-comparer-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7705138012111980849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7705138012111980849'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/installing-custom-comparer-and.html' title='Installing Custom Comparer and Registering to QuickTest'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-4094750979756326909</id><published>2009-04-17T20:12:00.000-07:00</published><updated>2009-08-08T00:40:51.068-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Considerations for Developing Custom Comparers</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In QTP, to develop a custom comparer, below are some importants to keep in mind:&lt;br /&gt;&lt;br /&gt;1. To develop a custom comparer you must understand image processing and know how to develop COM objects. &lt;br /&gt;&lt;br /&gt;2. You can implement a custom comparer using any language and development environment that supports creating COM objects.&lt;br /&gt;&lt;br /&gt;3. Custom comparers run within the QuickTest context. You must therefore exercise care when developing your custom comparer, as its behavior and performance will affect the behavior and performance of QuickTest.&lt;br /&gt;&lt;br /&gt;4. The custom comparer must be installed and registered on any computer that runs a test with a bitmap checkpoint using the custom comparer. &lt;br /&gt;&lt;br /&gt;5. Before installing and registering a new version of a custom comparer, unregister the existing comparer.&lt;br /&gt;&lt;br /&gt;6. More than one custom comparer can be installed and registered on the same QuickTest computer. In the Bitmap Checkpoint Properties dialog box, QuickTest displays all of the available custom comparers, and the QuickTest default comparer. The QuickTest user can select the appropriate comparer to use for each bitmap checkpoint.&lt;br /&gt;&lt;br /&gt;7.The computer that runs the custom comparer must have installed the runtime environment associated with the configuration in which the custom comparer DLL was built.&lt;br /&gt;&lt;br /&gt;8. You create the custom comparer DLL using a specific development environment version; the computer on which this DLL runs must have the corresponding runtime environment installed.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-4094750979756326909?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/4094750979756326909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/considerations-for-developing-custom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4094750979756326909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4094750979756326909'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/considerations-for-developing-custom.html' title='Considerations for Developing Custom Comparers'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-2859855936379252044</id><published>2009-04-17T19:48:00.000-07:00</published><updated>2009-08-08T00:40:51.068-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Developing  Bitmap Checkpoint Comparison Algorithm</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Using QuickTest Professional 10.00 you can develop custom comparers for bitmap checkpoints. A custom comparer is a COM object that performs the bitmap comparison for the checkpoint according to your testing requirements. For example, you could define a custom comparer that allows a bitmap checkpoint to pass even if the image in the application shifts by an amount specified when the checkpoint is defined. &lt;br /&gt;&lt;br /&gt;After you install and register a custom comparer on the QuickTest computer, your comparer is available for selection in the Bitmap Checkpoint Properties dialog box. The dialog box provides space for specifying additional configuration preferences expected by your comparer. &lt;br /&gt;&lt;br /&gt;When QuickTest performs a bitmap checkpoint that uses a custom comparer, it supplies the expected and actual bitmaps to the custom comparer object. It then receives and reports the results that the custom comparer returns. &lt;br /&gt;&lt;br /&gt;To develop a custom comparer, you -create a COM object that implements the QuickTest bitmap checkpoint comparer interfaces to perform the following tasks: &lt;br /&gt;&lt;br /&gt;- Accept input from QuickTest and perform the bitmap comparison.&lt;br /&gt;- Provide comparison results to QuickTest. &lt;br /&gt;- Provide information that QuickTest can display in the Bitmap Checkpoint Properties dialog box when a user creates or edits a bitmap checkpoint.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Creating a custom comparer in C++ using Microsoft Visual Studio:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. In Microsoft Visual Studio, select New &gt; Project. The New Project dialog box opens.&lt;br /&gt;&lt;br /&gt;2. Select the ATL Project template, enter SampleCPPCustomComparer in the Name box for the project, and click OK. The New ATL Project wizard opens.&lt;br /&gt;&lt;br /&gt;3. In Application Settings, make sure that the Attributed option is not selected, and click Finish.&lt;br /&gt;&lt;br /&gt;4. In the class view, select the SampleCPPCustomComparer project, right-click, and select Add &gt; Class. The Add Class dialog box opens.&lt;br /&gt; &lt;br /&gt;5. Select ATL Simple Object and click Add. The ATL Simple Object Wizard opens. &lt;br /&gt;&lt;br /&gt;6. In the Short name box, enter BitmapComparer. The wizard uses this name to create the names of the class, the interface, and the files that it creates.&lt;br /&gt;&lt;br /&gt;7. In the Type box, enter Sample Custom Comparer. This is the custom comparer name that QuickTest will display in the Bitmap Checkpoint Properties dialog box and in the test results.&lt;br /&gt;&lt;br /&gt;8. Click Finish. The wizard creates the necessary files for the class that you added, including .cpp and .h files with implementation of CBitmapComparer class.&lt;br /&gt;&lt;br /&gt;9. In the class view, select CBitmapComparer, right-click, and select Add &gt; Implement Interface. The Implement Interface wizard opens.&lt;br /&gt;&lt;br /&gt;10. In the Implement interface from option, select File. Browse to or enter the location of the QuickTest bitmap checkpoint comparer type library. The type library is located in: &lt;QuickTest installation folder&gt;\dat\BitmapCPCustomization\BitmapComparer.tlb. &lt;br /&gt;&lt;br /&gt;The wizard displays the interfaces available in the selected type library, IBitmapCompareConfiguration and IVerifyBitmap. &lt;br /&gt;&lt;br /&gt;11. Add both interfaces to the list of interfaces to implement, and click Finish. &lt;br /&gt;In the BitmapComparer.h file, the wizard adds the declarations, classes, and method stubs that are necessary to implement the interfaces. In subsequent steps you will need to add implementation to these method stubs. &lt;br /&gt;&lt;br /&gt;Please note that in Microsoft Visual Studio 2005, the wizard generates the signature for the CompareBitmaps method in the IVerifyBitmap interface incorrectly. To enable your project to compile correctly, manually change the type of the last argument (pbMatch) from BOOL* to VARIANT_BOOL*.&lt;br /&gt;&lt;br /&gt;12. Open the BitmapComparer.h and BitmapComparer.cpp files. &lt;br /&gt;&lt;br /&gt;13. In BitmapComparer.h, create declarations for the bitmap checkpoint comparer interface methods (based on the function bodies that the wizard created): CompareBitmaps, GetDefaultConfigurationString, and GetHelpFilename. &lt;br /&gt;&lt;br /&gt;14. Move the function bodies that the wizard created for the bitmap checkpoint comparer interface methods from the BitmapComparer.h file to the BitmapComparer.cpp file.&lt;br /&gt;&lt;br /&gt;15. For QuickTest to recognize the COM object that you create as a custom comparer, you must register it to the component category for QuickTest bitmap comparers. The component category ID is defined in &lt;QuickTest installation folder&gt;\dat\BitmapCPCustomization\ComponentCategory.h. &lt;br /&gt;&lt;br /&gt;You can implement this registration in the DllRegisterServer and DllUnregisterServer methods in the SampleCPPCustomComparer.cpp file that the wizard created as part of your project. These methods are called when you run a DLL using the regsvr32.exe program. &lt;br /&gt;&lt;br /&gt;- Add the &lt;QuickTest installation folder&gt;\dat\BitmapCPCustomization folder to your project's include path.&lt;br /&gt;&lt;br /&gt;- Open the SampleCPPCustomComparer.cpp file and add the following line: #include "ComponentCategory.h" &lt;br /&gt;&lt;br /&gt;- In the SampleCPPCustomComparer.cpp file, modify the DllRegisterServer and DllUnregisterServer methods created by the wizard.&lt;br /&gt;&lt;br /&gt;Your custom comparer can now be used in QuickTest for bitmap checkpoints by using the following steps:&lt;br /&gt;&lt;br /&gt;a. Open QuickTest and create a bitmap checkpoint on the Windows Calculator application (Standard view).The Bitmap Checkpoint Properties dialog box includes the Comparer option, in which you can select the QuickTest default comparer or your sample custom comparer. &lt;br /&gt;&lt;br /&gt;b. Change the Calculator view to Scientific. The size of the calculator object is now larger. Run the checkpoint using the default QuickTest comparer. The checkpoint fails.&lt;br /&gt;&lt;br /&gt;c. Edit the checkpoint and select Sample Custom Comparer in the Comparer box.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-2859855936379252044?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/2859855936379252044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/developing-bitmap-checkpoint-comparison.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2859855936379252044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2859855936379252044'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/developing-bitmap-checkpoint-comparison.html' title='Developing  Bitmap Checkpoint Comparison Algorithm'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-442390729376999218</id><published>2009-04-17T19:37:00.000-07:00</published><updated>2009-11-01T09:11:40.379-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Director and Quality Center'/><title type='text'>Creating Portable Copies of Tests</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Generaly, tests and their resource files are stored on network drive or in Quality Center, as this enables the reuse of actions and other resources, and helps ease test management. &lt;br /&gt;&lt;br /&gt;However, you may need to open or run a test when you do not have access to a network drive or Quality Center. For example, you may need to create a portable copy of a test for use when travelling to other sites. You can save a standalone copy of your test and its resource files to a local drive or to another storage device using the File &gt; Save Test with Resources command. &lt;br /&gt;&lt;br /&gt;When you save a test in this manner, QuickTest creates a copy of the following and saves the files in the location you specify: &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Source test:&lt;/strong&gt; QuickTest saves a copy of this test in the location you specify.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Resource files:&lt;/strong&gt; QuickTest saves a copy of all resource files associated with the source test, such as function libraries and shared object repositories. QuickTest stores these files in sub-folders of the copied test.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Called actions: &lt;/strong&gt;QuickTest saves a copy of any external actions called by the source test. For example, if Test A calls actions that are stored in Test B, QuickTest creates a local copy of the actions stored in Test B and stores them in a sub-folder of Test A. The sub-folder has the same name as the test from which the called actions were copied. In this example, the sub-folder is named Test_B. QuickTest also creates a copy of any resources associated directly with these actions, such as its local shared object repositories and action sheets in the Data Table. QuickTest does not, however, save the resource files associated with Test B, so you must ensure that these resources are associated with the source test, Test A.&lt;br /&gt;&lt;br /&gt;This enables you to modify or run the test without access to a network drive or Quality Center. &lt;br /&gt;&lt;br /&gt;Also, if you use QuickTest with a concurrent license but do not have access to the concurrent license server, you can install a commuter license. For more information, see the HP QuickTest Professional Installation Guide.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-442390729376999218?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/442390729376999218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/creating-portable-copies-of-tests.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/442390729376999218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/442390729376999218'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/creating-portable-copies-of-tests.html' title='Creating Portable Copies of Tests'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-6782884705026913136</id><published>2009-04-17T19:22:00.000-07:00</published><updated>2009-08-08T00:40:51.068-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Comparing Shared Object Repositories</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;QuickTest Professional enables you to compare existing assets from two different object repositories using the Object Repository Comparison Tool. The tool is accessible from the Object Repository Manager, and enables you to compare different object repository resources, or different versions of the same object repository resource, and identify similarities, variations, or changes. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;You can compare two object repositories by following below steps:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. In QuickTest Professional, select Resources &gt; Object Repository Manager.&lt;br /&gt;&lt;br /&gt;2. In the Object Repository Manager, select Tools &gt; Object Repository Comparison Tool. The New Comparison dialog box opens on top of the Object Repository - Comparison Tool window.&lt;br /&gt;&lt;br /&gt;3. In the First file and Second file boxes, enter or browse to and select the .tsr object repository files that you want to compare. The object repository files can be located in the file system or Quality Center. By default, the boxes display the last files selected for comparison using the Object Repository Comparison Tool. You can click the down arrow next to each box to view and select recently used files.&lt;br /&gt;&lt;br /&gt;4. Click OK. The Object Repository Comparison Tool compares the objects in the selected object repositories and displays the results in the Statistics dialog box on top of the Object Repository - Comparison Tool window.&lt;br /&gt;&lt;br /&gt;5. Review the statistics.&lt;br /&gt;&lt;br /&gt;6. In the Object Repository - Comparison Tool window, you can:&lt;br /&gt;&lt;br /&gt;- Filter the objects in the object repositories&lt;br /&gt;- Find specific objects in the object repositories&lt;br /&gt;&lt;br /&gt;Please note that the Object Repository Comparison Tool does not compare checkpoint or output objects. You cannot work with the Object Repository Manager or the Object Repository Merge Tool when the Object Repository Comparison Tool is open.&lt;br /&gt;&lt;br /&gt;This Comparison Tool automatically identifies objects during the comparison process by classifying them into one of the following types: &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Identical:&lt;/strong&gt; Objects that appear in both object repository files. There is no difference in their name or in their properties.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Matching description, different name:&lt;/strong&gt; Objects that appear in both object repository files that have different names, but the same description properties and values.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Similar description:&lt;/strong&gt; Objects that appear in both object repository files that have similar, but not identical, description properties and values. One of the objects always has a subset of the properties set of the other object. This implies that it is likely to be a less detailed description of the same object. For example, an object named Button_1 in the second object repository has the same description properties and values as an object named Button_1 in the first object repository, but also has additional properties and values.&lt;br /&gt;&lt;br /&gt;Objects that do not have a description, such as Page or Browser objects, are compared by name only. If the same object is contained in both the object repositories but with different names, they will be shown in the object repositories as two separate objects. &lt;br /&gt;&lt;br /&gt;Please note that the Object Repository Comparison Tool gives precedence to matching object descriptions over the matching of object names. For this reason, certain object nodes may be linked during the comparison process and not others. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Unique to first file, or Unique to second file:&lt;/strong&gt; Objects that appear in only one of the object repository files. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. Does not exist:&lt;/strong&gt; Objects that do not exist in one of the repository files, but do exist in the other file.&lt;br /&gt;&lt;br /&gt;After the compare process, the Comparison Tool provides a graphic presentation of the objects in the object repositories, which are shown as nodes in a hierarchy. Objects that have differences, as well as unique objects that are included in one object repository only, can be identified according to a color configuration that you can select. Objects that are included in one object repository only are identified in the other object repository by the text "Does not exist". You can also view the properties and values of each object that you select in either object repository.&lt;br /&gt;&lt;br /&gt;If you are connected to a Quality Center 10.00 project with version control enabled, you can compare two versions of the same object repository.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-6782884705026913136?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/6782884705026913136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/comparing-shared-object-repositories.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6782884705026913136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6782884705026913136'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/comparing-shared-object-repositories.html' title='Comparing Shared Object Repositories'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-3465503646300516878</id><published>2009-04-17T19:13:00.000-07:00</published><updated>2009-08-08T00:40:51.069-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Asset Comparison Tool and Asset Viewer</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In QTP 10.00, you can view comparison of two versions of an asset either side-by-side, or one above the other.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Compare versions of an integral element: &lt;/strong&gt;You can view a drilldown comparison of a specific element in the currently open version comparison. Elements include any resource that is an integral part of the test (not saved as an external resource), such as the Data Table or local object repository. When you check in a test, these elements are checked in, too. This enables you to view a version comparison of these elements directly from the test. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;View the latest content of an associated resource file:&lt;/strong&gt; An associated resource file is any resource file used by an asset. For example, a function library and a shared object repository are examples of resource files that can be used by a test. When you drill down in a test, you can view the last saved version of a resource file. This enables you to view the latest content. (If you want to compare different versions of the drilled-down resource, you can open the resource and perform a new comparison.) &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;To drill down:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. Click the blue drilldown arrow  adjacent to any asset that can be compared.&lt;br /&gt;2. Double-click the element.&lt;br /&gt;3. Right-click the element and select View Drilldown of Selected Asset. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;View the QuickTest location of an element&lt;/strong&gt;: You can view a screen capture depicting the QuickTest location of an element by right-clicking the relevant node and selecting View Sample Snapshot. The screen capture displays an example of the relevant dialog box. The option (or area) for the node you right-clicked is highlighted in the screen capture. &lt;br /&gt;&lt;br /&gt;For example, suppose you are viewing a comparison of a test, and you notice that the Disable Smart Identification during the run session node is highlighted, indicating that it was changed. If you are not sure where this option is located in QuickTest, you can right-click the node in the comparison tree and select View Sample Snapshot. QuickTest then opens a dialog box showing you that this area is located in the Run pane of the Test Settings dialog box. The title bar of the dialog box lists the selected element, and a purple rectangle outlines the option.&lt;br /&gt;&lt;br /&gt;You can modify the text and background colors for the filter types (changed, added, removed, and so on) in the Asset Comparison Tool window using the Color Settings dialog box. &lt;br /&gt;&lt;br /&gt;When you modify the background color of a filter type, the color of the filter type in the legend at the top of the window changes accordingly. These changes remain in effect unless you change them again or restore the default settings&lt;br /&gt;&lt;br /&gt;If the sub-elements of an element are different between versions, and you collapse the node representing that element, a legend is displayed adjacent to the node. This legend indicates the number of differences that exist under the collapsed element.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-3465503646300516878?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/3465503646300516878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/asset-comparison-tool-and-asset-viewer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3465503646300516878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3465503646300516878'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/asset-comparison-tool-and-asset-viewer.html' title='Asset Comparison Tool and Asset Viewer'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-7959058452468039275</id><published>2009-04-17T19:07:00.000-07:00</published><updated>2009-11-01T09:11:40.379-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Director and Quality Center'/><title type='text'>Resources and Dependencies Model</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The Resources and Dependencies model provides very good integration between QuickTest and Quality Center.&lt;br /&gt;&lt;br /&gt;1. It replaces the use of attachments with linked QuickTest assets. You store your tests in the Test Plan module, and you store your resource files in the Test Resources module. When you associate a resource file to a test, these assets become linked. Linking assets improves runtime performance by decreasing download time. It also helps to ensure that the relationships between dependent assets are maintained. (Using attachments increases download time from Quality Center 10.00)&lt;br /&gt;&lt;br /&gt;2. It also supports versioning &amp; baselines for tests and resource files. You can create versions of these assets in QuickTest or in Quality Center. You manage asset versions and baselines in Quality Center.&lt;br /&gt;&lt;br /&gt;3. Enables you to view and compare your QuickTest assets in both Quality Center and QuickTest. You can use the Asset Comparison Tool to compare versions of individual QuickTest assets and the Asset Viewer for viewing an earlier version of a QuickTest asset. Both of these viewers are available in Quality Center and in QuickTest. &lt;br /&gt;&lt;br /&gt;4. Enables you to import and share assets across Quality Center projects.&lt;br /&gt;&lt;br /&gt;Further, please note that if you are working with the Resources and Dependencies model with Quality Center 10.00, specify an absolute Quality Center path.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-7959058452468039275?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/7959058452468039275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/resources-and-dependencies-model.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7959058452468039275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7959058452468039275'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/resources-and-dependencies-model.html' title='Resources and Dependencies Model'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-5376305124428489920</id><published>2009-04-16T18:46:00.000-07:00</published><updated>2009-08-08T00:40:51.069-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Enhancements in QuickTest Professional 10</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;New version of QTP offers the following product and feature enhancements. Click a link to view more details about the selected item. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Upgrade from QuickTest 9.5:&lt;/strong&gt; If QuickTest 9.5 is installed on your computer, you can choose to upgrade to QuickTest version 10.00. This enables you to continue using many of the configurations and options you already set in QuickTest 9.5. You can also use an msi silent installation command line to upgrade from QuickTest 9.5.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Improved IntelliSense Functionality:&lt;/strong&gt; QuickTest now provides full IntelliSense for the following types of objects: &lt;br /&gt;&lt;br /&gt;- Objects created by a step or function (for example, by calling the CreateObject method)&lt;br /&gt;- Variables to which an object is assigned&lt;br /&gt;- Reserved objects&lt;br /&gt;- COM objects&lt;br /&gt;- Properties that return objects&lt;br /&gt;- IntelliSense sentence completion now provides lists of local variables.&lt;br /&gt;- Multi-level IntelliSense information is available for all reserved objects, COM objects, and objects created using the CreateObject method. For example, method names and available properties are offered for each item in the statement below:&lt;br /&gt;&lt;br /&gt;attr_count = XMLUtil.CreateXML.ChildElementsByPath("").ItemByName("abc").Attributes.Count&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Added Control for Editing and Managing Actions in Automation Scripts: &lt;/strong&gt;The QuickTest Professional Automation Object Model has a new set of objects and methods for manipulating test actions and action parameters. You can now use automation scripts to create new actions, modify and validate the syntax of action scripts, create and modify action parameters, and more.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Improved Debugger Pane Design and Functionality:&lt;/strong&gt; The Debug Viewer pane has a new look, including icons to help you identify the type of information displayed. &lt;br /&gt;&lt;br /&gt;The Watch tab and Variable tab now display the types of expressions or variables, in addition to their names and values. &lt;br /&gt;&lt;br /&gt;The Command tab now displays the command history (in read-only format) in addition to the command line, enabling you to view previously-run commands and select commands to reuse. &lt;br /&gt;&lt;br /&gt;In addition, a right-click context menu in the Command tab enables you to:&lt;br /&gt;&lt;br /&gt;- copy from the command history and edit the command line using the clipboard.&lt;br /&gt;- clear the command history.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. New Object Identification Solutions in Maintenance Run Mode:&lt;/strong&gt; In addition to helping you update your steps and object repositories when objects in your application change, the Maintenance Run Wizard can now help you solve the following problems: &lt;br /&gt;&lt;br /&gt;- The step failed because the object in your test is missing from the action's associated object repositories. &lt;br /&gt;- The object in your step exists in the application, but can be identified only through Smart Identification.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;6. Additional Configuration Settings for Text Recognition Mechanism:&lt;/strong&gt; You can now set all text recognition configuration settings from the QuickTest Options Dialog Box (Tools &gt; Options &gt; General &gt; Text Recognition), including new options for selecting the text block mode and specifying the languages to be used with the OCR mechanism. This makes it easier to make any necessary adjustments and to optimize the way that QuickTest identifies text in your application. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;7. New Look for Options, Settings, and File Dialog Boxes:&lt;/strong&gt; The QuickTest Options and Settings dialog boxes have changed from their former tab-based design to a more easily navigable tree-based structure. The tree contains only the options relevant for the add-ins that are currently loaded.&lt;br /&gt;&lt;br /&gt;QuickTest file dialog boxes such as the New, Open, and Save dialog boxes, now include a sidebar for quickly switching between the file system and Quality Center and for switching between various Quality Center resource storage locations.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;8. QuickTest Toolbar Customization Options:&lt;/strong&gt; You can use the new Customize Dialog box (Tools &gt; Customize) to customize the appearance of existing menus and toolbars, and to create your own user-defined menus, toolbar buttons, and shortcuts. &lt;br /&gt;&lt;br /&gt;You can also add new commands to the QuickTest Tools menu so that you can launch an application directly from the menu. For example, you can use this option to create a shortcut to the application you want to test or to an automation script.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;9. Improved Web Extensibility:&lt;/strong&gt; QuickTest Professional Web Add-in Extensibility enables you to develop packages that provide high-level support for third-party and custom Web controls that are not supported out-of-the-box by the Web Add-in. &lt;br /&gt;&lt;br /&gt;Limited extensibility support for the ASP .NET AJAX Control toolkit is provided with the extensibility installation. You can use this package as an example for reference or as a basis for your own Ajax extensibility packages. &lt;br /&gt;&lt;br /&gt;By creating support for a Web control using Web Add-in Extensibility, you can direct QuickTest to recognize the control as belonging to a specific test object class. You can also extend the list of available test object classes that QuickTest is able to recognize and the list of operations that are available for each class. This enables you to create tests that fully support the specific behavior of your custom Web controls. &lt;br /&gt;&lt;br /&gt;The QuickTest Professional Web Add-in Extensibility SDK 10.00 offers the following improvements: &lt;br /&gt;&lt;br /&gt;- The Web Add-in Extensibility SDK now provides a global object, window, that you can use in your JavaScript code to access the Internet Explorer global namespace. This enables you to access client-side JavaScript objects and functions in the application you are testing.&lt;br /&gt;&lt;br /&gt;- You can now use the Microsoft Script Debugger or the Microsoft Visual Studio debugger to debug JavaScript code that you write for Web Add-in Extensibility.&lt;br /&gt;&lt;br /&gt;- The LogLine method provided by the _util object can now (optionally) accept a numeric ID and a numeric Category for the log entry that it passes to the event log. Users can later use this information to filter log entries in the Event Viewer. In addition, the LogLine method can now accept string values for the severity argument, in addition to numeric values.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;10. .NET Add-in and Extensibility Improvements:&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;- The .NET Add-in now supports learning, recording, and running on .NET Windows Forms property grids. QuickTest learns these controls using the new SwfPropertyGrid test object class.&lt;br /&gt;&lt;br /&gt;- The .NET Add-in has a new GetErrorProviderText method and ErrorProviderText identification property, which is supported for all .NET Windows Forms test objects. You can use this method or property to retrieve the tooltip text of the error icon associated with the object.&lt;br /&gt;&lt;br /&gt;- The C# and Visual Basic project templates and wizards provided with the .NET Add-in Extensibility SDK installation are now provided on Microsoft Visual Studio 2008 (as well as on Microsoft Visual Studio .NET and Microsoft Visual Studio 2005).&lt;br /&gt;&lt;br /&gt;- .NET Add-in Extensibility now enables users to create support for table checkpoints on custom .NET Windows Forms table controls&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;11. New Terminal Emulator Configuration Validation:&lt;/strong&gt; The Terminal Emulator pane of the Options dialog box now includes a Validate button. When you click this button, QuickTest checks the current configurations of the selected emulator. If a problem is detected, a brief description is displayed in the pane. You can also click the Troubleshoot button to view a Help page that provides additional information about the detected problem.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-5376305124428489920?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/5376305124428489920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/enhancements-in-quicktest-professional.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5376305124428489920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5376305124428489920'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/enhancements-in-quicktest-professional.html' title='Enhancements in QuickTest Professional 10'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-7849817336801243176</id><published>2009-04-16T18:27:00.000-07:00</published><updated>2009-08-08T00:40:51.069-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Test Analysis using QTP 10.00</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;QTP 10.00&lt;/strong&gt; includes a excellent feature of new reporting options that help you analyze and manage your run results more thoroughly and efficiently. These include:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Jump to step:&lt;/strong&gt; When you want to know more about a particular node in the Test Results window, right-click it and select Jump to Step in QuickTest. The QuickTest main window comes into focus, and the cursor jumps to the relevant step.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Export Test Results to Microsoft Word or PDF Formats:&lt;/strong&gt; In addition to HTML format, you can now select to save your QuickTest run results in Microsoft Word or PDF formats. You can then share this information, together with any local system monitoring data, with your developers and performance testing teams. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Add Images to the Test Results:&lt;/strong&gt; When you use the Reporter.ReportEvent method to add information to the run results, you can now specify an image file as the fourth argument. When you view the results, the image is displayed in the Result Details tab of the Test Results window. For example, you can include an image returned by a CaptureBitmap step in the run results.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. View Bitmaps Differences in Bitmap Checkpoints:&lt;/strong&gt; In addition to the expected and actual bitmaps that are displayed in the Test Results window, you can also select to view the differences between the two. The difference bitmap is a black-and-white image that contains one black pixel for every pixel that is different between the two images.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. Include Images in Exported and Printed Test Results:&lt;/strong&gt; When you choose the Detailed option for printing or exporting, the document now includes all images. These include screen captures of steps, expected, actual, and difference bitmaps for bitmap checkpoints, and any images sent to the run results using the ReportEvent method.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;6. Additional Quality Center Details:&lt;/strong&gt; The run results for tests and components that are run as part of a Quality Center test set now include the Quality Center server and project name.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-7849817336801243176?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/7849817336801243176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/test-analysis-using-qtp-1000.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7849817336801243176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7849817336801243176'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/test-analysis-using-qtp-1000.html' title='Test Analysis using QTP 10.00'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-6785789825640016915</id><published>2009-04-16T08:30:00.000-07:00</published><updated>2009-11-01T09:11:40.380-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Director and Quality Center'/><title type='text'>Manage and Share Testing Assets in Quality Center and QTP 10</title><content type='html'>QuickTest Professional (QTP) 10.00 has a powerful feature of new Quality Center 10.00 integration capabilities for QuickTest assets, Dependencies, and Versions. QuickTest assets include tests, components, application areas, and the resources associated with them, such as shared object repositories, function libraries, recovery scenarios, and external data tables.&lt;br /&gt;&lt;br /&gt;These integration capabilities include:&lt;br /&gt;&lt;br /&gt;- New resources and dependencies model for storing and managing shared assets&lt;br /&gt;- Excellent Support for asset versioning and baselines&lt;br /&gt;- Good asset Comparison Tool for comparing versions of individual QuickTest assets&lt;br /&gt;- Asset Viewer for viewing an earlier version of a QuickTest asset&lt;br /&gt;- A special tool for Quality Center administrators that upgrades all QuickTest assets to use these new features.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. New resources and dependencies model:&lt;/strong&gt; The new Quality Center resources and dependencies model enables you to store your tests, components, and resources such that you can manage the relationships between them and you can analyze the impact on all your assets when one asset changes. &lt;br /&gt;&lt;br /&gt;If you are working with a Premier edition Quality Center server, then you can also import and share your resources across different projects. You can synchronize these assets in both projects when changes are made. This functionality also enables you to reuse your existing assets instead of creating new assets whenever you create a new project. For example, you can create a set of template assets to use as a basis for new projects. &lt;br /&gt;&lt;br /&gt;In previous versions of QuickTest and Quality Center, a test's associated resource files (such as shared object repositories, function libraries, recovery scenarios, and external data tables), were stored in Quality Center as attachments, while files associated with an application area were stored in a standalone Resources folder in the Business Components module. &lt;br /&gt;&lt;br /&gt;Quality Center 10.00 introduces a new Test Resources module. This module enables you to store all of these resources as separate entities that are linked to their owners and marked as dependencies. Tests or actions that call other tests are also linked as dependencies. &lt;br /&gt;&lt;br /&gt;When you select a QuickTest test, business process test, or individual component in the Quality Center test or component tree, you can view these dependent resources and tests in a new Dependencies tab. The Dependencies tab shows all Quality Center entities that are used by your testing document as well as all entities that are using it. For example, if your QuickTest test is associated with two function libraries, and the actions in your test are associated with three object repositories, these entities will be displayed in the Using table of the test's Dependencies tab. If one of the actions in your test is called by another test, then that calling test will be displayed in the Used by table. &lt;br /&gt;&lt;br /&gt;In QuickTest, you can also view the action-specific dependencies in the Used By tab of the Action Properties dialog box. &lt;br /&gt;&lt;br /&gt;Quality Center recognizes assets that are linked as owned by or owner dependencies and ensures that these important relationships are maintained when you import or create baselines, rename or move resources, select to delete resources, or perform other operations that can impact these relationships. &lt;br /&gt;&lt;br /&gt;Note: If required, you can continue using the previous attachments model for all or some of your QuickTest assets. However, if you use the old model, you will not be able to take advantage of many of the features associated with the resources and dependencies model.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Versioning:&lt;/strong&gt; In previous versions of QuickTest and Quality Center, limited version control options were available if your Quality Center server had the Version Control Add-ins, which worked with third-party version control tools to perform version control. Now, version control is fully integrated into Quality Center, and the site administrator can enable version control on a per project basis. &lt;br /&gt;&lt;br /&gt;When QuickTest is connected to a Quality Center project with version control support, you can check any QuickTest asset into or out of the version control database.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Baselines:&lt;/strong&gt; In Quality Center, a project administrator can create baselines that provide "snapshots" of a project at different stages of development. In the Management module—Libraries tab, the administrator first creates a library, which specifies the root folders from which to import the data. The administrator then creates the actual baseline, which comprises the latest checked in versions of every asset included in the library. The administrator can also import and share entire baselines from other Quality Center projects.&lt;br /&gt;&lt;br /&gt;When a project reaches an important stage in the project lifecycle, the administrator can create a new baseline of the files in the library at that point. &lt;br /&gt;&lt;br /&gt;In Quality Center, these baselines can be viewed and compared in their entirety. In QuickTest, you can view, retrieve, or compare the individual assets saved in any baseline of a library. This enables you to review an asset as it appeared at a specific phase in the project time line.&lt;br /&gt;&lt;br /&gt;Also, please note that baselines are supported in Quality Center 10.00 Enterprise and Premier editions only. They are not supported in Quality Center Starter edition. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Asset Comparison Tool and Asset Viewer:&lt;/strong&gt; The QuickTest Asset Comparison Tool enables you to compare two versions of a particular QuickTest asset, such as a test, function library, shared object repository, or recovery scenario. For example, tests in different baselines or shared projects may be using different versions of the same resource. You can use the comparison tool to make sure that each test is using the correct version of its resources. &lt;br /&gt;&lt;br /&gt;The QuickTest Asset Comparison Tool compares each element of the asset in a hierarchal display. The tool also enables you to drill down to view a comparison of the assets that are associated with that asset. For example, when comparing two versions of a test, the comparison may indicate that two of the function libraries, a recovery scenario, and some of the action steps changed between the two versions. You can then drill down to view a comparison of the two versions of any of these items.&lt;br /&gt;&lt;br /&gt;The QuickTest Asset Viewer is similar to the Asset Comparison Tool, but is used to view the data for a single version of a QuickTest asset.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. Asset Upgrade Tool:&lt;/strong&gt; The QuickTest Asset Upgrade Tool for Quality Center enables you to upgrade, in a batch, all the QuickTest assets in a Quality Center project from an earlier QuickTest version to the current format and to convert testing document attachments to the new resources and dependencies model. QuickTest assets include: &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;a. &lt;/strong&gt;QuickTest testing documents, such as tests, components, and application areas&lt;br /&gt;&lt;strong&gt;b.&lt;/strong&gt; Testing document attachments, such as function libraries, shared object repositories, and recovery scenario files&lt;br /&gt;&lt;br /&gt;This tool is intended for use only by the Quality Center Administrator and must be run during the Quality Center upgrade process, before you begin working with Quality Center integration features. &lt;br /&gt;&lt;br /&gt;The QuickTest Asset Upgrade Tool for Quality Center is the only way to upgrade QuickTest assets in a Quality Center 10.00 project, from an earlier QuickTest version to the current format.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-6785789825640016915?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/6785789825640016915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/manage-and-share-testing-assets-in.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6785789825640016915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6785789825640016915'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/manage-and-share-testing-assets-in.html' title='Manage and Share Testing Assets in Quality Center and QTP 10'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-1290045974897125127</id><published>2009-04-06T07:13:00.000-07:00</published><updated>2009-11-01T08:43:28.420-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Management'/><title type='text'>Test Readiness Review Checklist</title><content type='html'>Before starting the actual testing, it is important to check whether the system / project / environment is ready for testing. This is called as Test Readiness Review. It is better to do it with a checklist.&lt;br /&gt;&lt;br /&gt;Below is a sample Test Readiness Review Checklist:&lt;br /&gt;&lt;br /&gt;1. Whether all the tests are conducted according to the Test Plan / Cases ?&lt;br /&gt;&lt;br /&gt;2. Are all problems / defects translated into Defect Reports ?&lt;br /&gt;&lt;br /&gt;3. Are all the Defect Reports satisfactorily resolved ?&lt;br /&gt;&lt;br /&gt;4. Is the log of the tests conducted available?&lt;br /&gt;&lt;br /&gt;5. Is unit testing complete in all respects?&lt;br /&gt;&lt;br /&gt;6. Is Integration testing complete ?&lt;br /&gt;&lt;br /&gt;7. Is all the relevant documentation baselined ?&lt;br /&gt;&lt;br /&gt;8. Is all work products products baselined?&lt;br /&gt;&lt;br /&gt;9. Is the test plan baselined ?&lt;br /&gt;&lt;br /&gt;10. Does the test plan  contain the strategy / procedure to conduct the system test ?&lt;br /&gt;&lt;br /&gt;11. Are baselined test designs and test cases ready?&lt;br /&gt;&lt;br /&gt;12. Is unit/integrated test software ready ?&lt;br /&gt;&lt;br /&gt;13. Is the user manual ready?&lt;br /&gt;&lt;br /&gt;14. Is the installation procedure documented ?&lt;br /&gt;&lt;br /&gt;15. Are all the product requirements implemented? &lt;br /&gt;&lt;br /&gt;16. Is the list of known problems available? Is there any "workaround" procedure for the known bugs ?&lt;br /&gt;&lt;br /&gt;17. Are test environment needs met for Hardware, code, procedures, scripts, test tools etc.? &lt;br /&gt;&lt;br /&gt;18. List of exceptions in test software and test procedures and their work around if any?&lt;br /&gt;&lt;br /&gt;19. Is the test reporting tool is available?&lt;br /&gt;&lt;br /&gt;20. Are the designers educated on Test reporting tool?&lt;br /&gt;&lt;br /&gt;21. Is any standard methodology / tool used and is appropriate to the type of the project?&lt;br /&gt;&lt;br /&gt;22. Is the criteria for regression testing defined? Has the regression testing been done accordingly?&lt;br /&gt;&lt;br /&gt;23. Is the source code available from the client for performing regression testing complete in all respects?&lt;br /&gt;&lt;br /&gt;24. Is the source code freezed for testing?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-1290045974897125127?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/1290045974897125127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/test-readiness-review-checklist.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1290045974897125127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1290045974897125127'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/04/test-readiness-review-checklist.html' title='Test Readiness Review Checklist'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-2579328151464426180</id><published>2009-03-17T07:31:00.000-07:00</published><updated>2009-10-05T10:46:16.924-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>LoadRunner VuGen Environment Options</title><content type='html'>In LoadRunner, you can set up your VuGen working environment in order to customize the auto recovery settings, the loadrunner VuGen editor, and the startup preferences. You set these options from the General Options Environment tab.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Auto Recovery:&lt;/strong&gt; The auto recovery options, allow you to restore your script’s settings in the event of a crash or power outage. To allow auto recovery, select the Save AutoRecover Information check box and specify the time between the saves in minutes.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Editor: &lt;/strong&gt;You can set the editor options to select a font and enable LoadRunner VuGen’s Intellisense capabilities which automatically fill in words and function syntax.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Auto show function syntax:&lt;/strong&gt; When you type the opening parenthesis of a function, VuGen shows the syntax of the function with its arguments and prototypes. To enable the showing of the syntax globally, select the check box adjacent to this option. To disable this feature, clear the check box adjacent to the Auto show function syntax option. If you disable Show Function Syntax globally, you can still bring up the syntax by pressing Ctrl+Shift+Space or choosing Edit &gt; Show Function Syntax after typing the opening parenthesis in the editor.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Auto complete word:&lt;/strong&gt; When you type the first underscore of a function, VuGen opens a list of functions allowing you to choose the exact function without having to manually type in the entire function. To enable word completion globally, select the check box adjacent to this option. To disable this feature, clear the check box adjacent to the Auto complete word option. If you disable this option globally, you can still bring up the function list box by pressing Ctrl+Space or choosing Edit &gt; Complete Word while typing in the editor.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Select Font:&lt;/strong&gt; To set the editor font, click Select Font. The Font dialog box opens. Select the desired font, style, and size and click OK. Note that only fixed size fonts (Courier, Lucida Console, FixedSys, and so on) are available.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Startup Dialog:&lt;/strong&gt; The Show Startup Dialog option opens the Startup dialog box when you open VuGen. The Startup dialog has quick links to create a new script, open an existing script, or view a recent script. If you disable this option, VuGen opens with an empty screen.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Default Environment Settings:&lt;/strong&gt; By default, Show Function Syntax and Auto complete word are enabled globally. Auto Recovery is set to 10 seconds. VuGen opens with the Startup dialog box.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Also See:&lt;/span&gt; Other &lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;LoadRunner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-2579328151464426180?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/2579328151464426180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2009/03/loadrunner-vugen-environment-options.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2579328151464426180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2579328151464426180'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2009/03/loadrunner-vugen-environment-options.html' title='LoadRunner VuGen Environment Options'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-4479896373485269931</id><published>2008-12-27T09:35:00.000-08:00</published><updated>2009-10-31T20:57:02.268-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Management'/><title type='text'>Organizing the Test Team</title><content type='html'>The people component includes human resource allocations and the required skill sets. The test team should comprise the highest-caliber personnel possible. They are usually extremely busy because their talents put them in great demand, and it therefore becomes vital to build the best case possible for using these individuals for test purposes. A test team leader and test team need to have the right skills and experience, and be motivated to work on the project. Ideally, they should be professional quality assurance specialists but can represent the executive sponsor, users, technical operations, database administration, computer center, independent parties, etc. The latter is particularly useful during final system and acceptance testing. In any event, they should not represent the development team, for they may not be as unbiased as an outside party. This is not to say that developers shouldn’t test. For they should unit and function test their code extensively before handing it over to the test team.&lt;br /&gt;&lt;br /&gt;There are two areas of responsibility in testing: &lt;br /&gt;&lt;br /&gt;1. Testing the application, which is the responsibility of the test team&lt;br /&gt;2. The overall testing processes, which is handled by the test manager. &lt;br /&gt;&lt;br /&gt;The test manager directs one or more testers, is the interface between quality assurance and the development organization, and manages the overall testing effort. Responsibilities include:&lt;br /&gt;&lt;br /&gt;•  Setting up the test objectives &lt;br /&gt;•  Defining test resources &lt;br /&gt;•  Creating test procedures &lt;br /&gt;•  Developing and maintaining the test plan &lt;br /&gt;•  Designing test cases &lt;br /&gt;•  Designing and executing automated testing tool scripts &lt;br /&gt;•  Test case development &lt;br /&gt;•  Providing test status &lt;br /&gt;•  Writing reports &lt;br /&gt;•  Defining the roles of the team members &lt;br /&gt;•  Managing the test resources &lt;br /&gt;•  Defining standards and procedures &lt;br /&gt;•  Ensuring quality of the test process &lt;br /&gt;•  Training the team members &lt;br /&gt;•  Maintaining test statistics and metrics&lt;br /&gt;&lt;br /&gt;The test team must be a set of team players and have the following responsibilities:&lt;br /&gt;&lt;br /&gt;•  Execute test cases according to the plan &lt;br /&gt;•  Evaluate the test results &lt;br /&gt;•  Report errors &lt;br /&gt;•  Design and execute automated testing tool scripts &lt;br /&gt;•  Recommend application improvements &lt;br /&gt;•  Record defects &lt;br /&gt;&lt;br /&gt;The main function of a team member is to test the application and report defects to the development team by documenting them in a defect tracking system. Once the development team corrects the defects, the test team reexecutes the tests which discovered the original defects. &lt;br /&gt;&lt;br /&gt;It should be pointed out that the roles of the test manager and team members are not mutually exclusive. Some of the team leader’s responsibilities are shared with the team member and visa versa. &lt;br /&gt;&lt;br /&gt;The basis for allocating dedicated testing resources is the scope of the functionality and the development time frame, e.g., a medium development project will require more testing resources than a small one. If project A of medium complexity requires a testing team of 5, project B with twice the scope would require 10 testers (given the same resources).&lt;br /&gt;&lt;br /&gt;Another rule of thumb is that the testing costs approach 25% of the total budget. Since the total project cost is known, the testing effort can be calculated and translated to tester headcount.&lt;br /&gt;&lt;br /&gt;The best estimate is a combination of the project scope, test team skill levels, and project history. A good measure of required testing resources for a particular project is the histories of multiple projects, i.e., testing resource levels and performance compared to similar projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-4479896373485269931?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/4479896373485269931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/organizing-test-team.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4479896373485269931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4479896373485269931'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/organizing-test-team.html' title='Organizing the Test Team'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-8939853218205654589</id><published>2008-12-27T09:28:00.000-08:00</published><updated>2009-10-31T20:57:02.269-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Management'/><title type='text'>Identify Testing Types and Exit Criteria</title><content type='html'>&lt;strong&gt;Identifing Manual / Automated Test Types&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The types of tests that need to be designed and executed depend totally on the objectives of the application, i.e., the measurable end state the organization strives to achieve. For example, if the application is a financial application used by a large number of individuals, special security and usability tests need to be performed. However, three types of tests which are nearly always required are: function, user interface, and regression testing. Function testing comprises the majority of the testing effort and is concerned with verifying that the functions work properly. It is a black-box-oriented activity in which the tester is completely unconcerned with the internal behavior and structure of the application. User interface testing, or GUI testing, checks the user’s interaction or functional window structure. It ensures that object state dependencies function properly and provide useful navigation through the functions. Regression testing tests the application in light of changes made during debugging, maintenance, or the development of a new release.&lt;br /&gt;&lt;br /&gt;Other types of tests that need to be considered include system and acceptance testing. System testing is the highest level of testing which evaluates the functionality as a total system, its performance and overall fitness of use. Acceptance testing is an optional user-run test which demonstrates the ability of the application to meet the user’s requirements. This test may or may not be performed based on the formality of the project. Sometimes the system test suffices.&lt;br /&gt;&lt;br /&gt;Finally, the tests that can be automated with a testing tool need to be identified. Automated tests provide three benefits: repeatability, leverage, and increased functionality. Repeatability enables automated tests to be executed more than once, consistently. Leverage comes from repeatability from tests previously captured and tests that can be programmed with the tool, which may not have been possible without automation. As applications evolve, more and more functionality is added. With automation, the functional coverage is maintained with the test library.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Identifing the Test Exit Criteria:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;One of the most difficult and political problems is deciding when to stop testing, since it is impossible to know when all the defects have been detected. There are at least four criteria for exiting testing:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Scheduled testing time has expired:&lt;/strong&gt; This criteria is very weak, since it has nothing to do with verifying the quality of the application. This does not take into account that there may be an inadequate number of test cases or the fact that there may not be any more defects that are easily detectable.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Some predefined number of defects discovered: &lt;/strong&gt;The problems with this is knowing the number of errors to detect and also overestimating the number of defects. If the number of defects is underestimated, testing will be incomplete. Potential solutions include experience with similar applications developed by the same development team, predictive models, and industry-wide averages. If the number of defects is overestimated, the test may never be completed within a reasonable time frame. A possible solution is to estimate completion time, plotting defects detected per unit of time. If the rate of defect detection is decreasing dramatically, there may be “burnout,” an indication that a majority of the defects have been discovered.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;All the formal tests execute without detecting any defects: &lt;/strong&gt;A major problem with this is that the tester is not motivated to design destructive test cases that force the tested program to its design limits, e.g., the tester’s job is completed when the test program fields no more errors. The tester is motivated not to find errors and may subconsciously write test cases that show the program is error free. This criteria is only valid if there is a rigorous and totally comprehensive test case suite created which approaches 100% coverage. The problem with this is determining when there is a comprehensive suite of test cases. If it is felt that this is the case, a good strategy at this point is to continue with ad hoc testing. Ad hoc testing is a black-box testing technique in which the tester lets his or her mind run freely to enumerate as many test conditions as possible. Experience has shown that this technique can be a very powerful supplemental or add-on technique.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Combination of the above: &lt;/strong&gt;Most testing projects utilize a combination of the above exit criteria. It is recommended that all the tests be executed, but any further ad hoc testing will be constrained by time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-8939853218205654589?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/8939853218205654589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/identify-testing-types-and-exit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/8939853218205654589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/8939853218205654589'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/identify-testing-types-and-exit.html' title='Identify Testing Types and Exit Criteria'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-3686728382359230480</id><published>2008-12-27T09:20:00.000-08:00</published><updated>2009-10-31T20:57:02.269-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Management'/><title type='text'>Software Test Planning</title><content type='html'>The purpose of test planning is to provide the basis for accomplishing testing in an organized manner. From a managerial point of view it is the most important document, because it helps manage the test project. If a test plan is comprehensive and carefully thought out, test execution and analysis should proceed smoothly. &lt;br /&gt;&lt;br /&gt;The test plan is an ongoing document, particularly in the spiral environment since the system is constantly changing. As the system changes, so does it. A good test plan is one which:&lt;br /&gt;&lt;br /&gt;•  Has a good chance of detecting a majority of the defects &lt;br /&gt;•  Provides test coverage for most of the code &lt;br /&gt;•  Is flexible &lt;br /&gt;•  Is executed easily, repeatably, and automatically &lt;br /&gt;•  Defines the types of tests to be performed &lt;br /&gt;•  Clearly documents the expected results &lt;br /&gt;•  Provides for defect reconciliation when a defect is discovered &lt;br /&gt;•  Clearly defines the test objectives &lt;br /&gt;•  Clarifies the test strategy &lt;br /&gt;•  Clearly defines the test exit criteria &lt;br /&gt;•  Is not redundant &lt;br /&gt;•  Identifies the risks &lt;br /&gt;•  Documents the test requirements &lt;br /&gt;•  Defines the test deliverables &lt;br /&gt;&lt;br /&gt;The planning test methodology includes three steps: &lt;br /&gt;&lt;br /&gt;1. Building the test plan&lt;br /&gt;2. defining the metrics&lt;br /&gt;3. reviewing/approving the test plan.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 1: Build a Test Plan&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Prepare an Introduction&lt;br /&gt;- Define the High-Level Functional Requirements (In Scope)&lt;br /&gt;- Identify Manual / Automated Test Types&lt;br /&gt;- Identify the Test Exit Criteria&lt;br /&gt;- Establish Regression Test Strategy&lt;br /&gt;- Define the Test Deliverables&lt;br /&gt;- Organize the Test Team&lt;br /&gt;- Establish a Test Environment&lt;br /&gt;- Define the Dependencies&lt;br /&gt;- Create a Test Schedule&lt;br /&gt;- Select the Test Tools&lt;br /&gt;- Establish Defect Recording / Tracking Procedures&lt;br /&gt;- Establish Change Request Procedures&lt;br /&gt;- Establish Version Control Procedures&lt;br /&gt;- Define Configuration Build Procedures&lt;br /&gt;- Define Project Issue Resolution Procedures&lt;br /&gt;- Establish Reporting Procedures&lt;br /&gt;- Define Approval Procedures&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 2: Define the Metric Objectives&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Define the Metrics&lt;br /&gt;- Define the Metric Points&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 3: Review/Approve the Plan&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Schedule / Conduct the Review&lt;br /&gt;- Obtain Approvals&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-3686728382359230480?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3686728382359230480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3686728382359230480'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/software-test-planning.html' title='Software Test Planning'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-5010450859347586001</id><published>2008-12-24T23:29:00.000-08:00</published><updated>2009-11-01T08:47:02.647-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rational Tools'/><title type='text'>Rational SiteCheck Tips and Techniques</title><content type='html'>Below are some usefull tips and general guidelines will help you become more efficient while using SiteCheck:&lt;br /&gt;&lt;br /&gt;1. Is your Web server getting full? Click List View Defects Orphans to see all files that have no links to them. Delete those orphans you don’t need.&lt;br /&gt;&lt;br /&gt;2. Can you remember the title of the document you are looking for but not the file name? Use List View to find the file by title and then view its other attributes, like the file name.&lt;br /&gt;&lt;br /&gt;3. Use the toolbar filter buttons in Page View to reduce file clutter and help you better understand the structure of your Web site.&lt;br /&gt;&lt;br /&gt;4. Rational SiteCheck automatically fixes links when you move files. All files and their respective links are maintained during this process. When working on local sites, you can drag files from one directory to another and the links to those files are preserved.&lt;br /&gt;&lt;br /&gt;5. Source View offers you enhanced text editing, including color-coded text and a link-sensitive right-click menu. You can make on-the-fly updates to your HTML documents from Source View.&lt;br /&gt;&lt;br /&gt;6. Rational SiteCheck can check all your links: the internal links within your site and external links to other Web sites.&lt;br /&gt;&lt;br /&gt;7. Is it safe to delete a file? Select the document in Page View and you'll see all links to and from the file.&lt;br /&gt;&lt;br /&gt;8. LinkWizard instantly recognizes when a file operation will affect links and can fix them automatically.&lt;br /&gt;&lt;br /&gt;9. Rational SiteCheck saves you time by providing customizable e-mail templates that automatically create messages that you send frequently.&lt;br /&gt;&lt;br /&gt;10. Check your content before going live. Rational SiteCheck's list of broken links will show all the documents that need repair.&lt;br /&gt;&lt;br /&gt;11. Switch quickly between the views offered by Rational SiteCheck. The function keys F4 and F6 through F10 are shortcuts to all the views.&lt;br /&gt;&lt;br /&gt;12. All Rational SiteCheck views stay synchronized as you move through your Web site.&lt;br /&gt;&lt;br /&gt;13. In List View, click on a column heading to sort the items by that column. Click again to reverse the sort order.&lt;br /&gt;&lt;br /&gt;14. You can rearrange, add, or delete columns to create a custom report in List View. You can then print or export the List View.&lt;br /&gt;&lt;br /&gt;15. Use SiteMonitor to automatically check for defects on your Web site.&lt;br /&gt;&lt;br /&gt;16. To check the status of external links at any time, you can right-click on an external link and click Check Link or Recheck Link.&lt;br /&gt;&lt;br /&gt;17. When a page uses frames and Rational SiteCheck reports a broken link, be sure to check the NOFRAMES section of the frameset page.&lt;br /&gt;&lt;br /&gt;18. When Rational SiteCheck reports a broken link to an image map but it looks correct from your browser, be sure to check both the server-side and client-side image maps.&lt;br /&gt;&lt;br /&gt;19. With Rational SiteCheck, you can analyze any site that you can visit with your browser, even sites that are managed by other people.&lt;br /&gt;&lt;br /&gt;20. Rational SiteCheck fully supports access to sites through your corporate firewall. To specify your firewall settings, click the Proxy Settings button found on the HTTP Options tab of the Preferences dialog box and the HTTP Options dialog box of the Site Settings wizard.&lt;br /&gt;&lt;br /&gt;21. Use the ActiveScan View to follow links from Forms, Java applets, JavaScript, VB scripts and ActiveX controls.&lt;br /&gt;&lt;br /&gt;22. Want a quick summary of your Web site statistics? Use the Site Properties View to get an overview of your Web site, including the total number of pages, the total size, and the number of broken links.&lt;br /&gt;&lt;br /&gt;23. Want to speed up your load time for large sites? Switch to Site Properties View to increase performance.&lt;br /&gt;&lt;br /&gt;24. Do you have a multiserver domain? Rational SiteCheck offers full multiserver support. Click the Servers button in the General dialog box of the Site Settings wizard, and enter the server path. Use wildcard characters (*) to enter a group of related sites.&lt;br /&gt;&lt;br /&gt;25. You can save your site at any time. This creates a "site map" that provides a "snapshot" of your site structure at the time of the save. This operation does not save changes or updates to actual Web files.&lt;br /&gt;&lt;br /&gt;26. All external links that do not refer to a specific HTML file are displayed in Page View and List View using the "default page name" for the file name. This does not affect any functionality. Actual HTTP requests for this link do not include the default page name.&lt;br /&gt;&lt;br /&gt;27. When you move HTML page files, you can choose to leave bookmarks. Bookmarks do not apply to other file types.&lt;br /&gt;&lt;br /&gt;28. Rational SiteMonitor is a site-management tool that comes with Rational SiteCheck. With SiteMonitor, you can automatically schedule scans of any site, at any time. You can use SiteMonitor to scan your complete site for defects, check your site to make sure it is reachable, compare two Web sites for differences, or compare your site against a previously saved site map to look for changes.&lt;br /&gt;&lt;br /&gt;29. Assertions let you to set your own test conditions. You can check for the presence or absence of display text, HTML tags, links, Java applets, ActiveX controls and other features. With assertions, you can enforce coding standards and verify that corporate standards, like meta tag content, logos and legal notices, are used consistently on your Web site.&lt;br /&gt;&lt;br /&gt;30. You can exclude portions of a site from a scan. When opening your site, click the Exclude button on the General dialog box of the Site Settings wizard, and enter the directories you do not want to scan.&lt;br /&gt;&lt;br /&gt;31. You can scan to a given number of levels. Simply enter the number of levels in the scan settings when opening your site.&lt;br /&gt;&lt;br /&gt;32. You use realms to access password-protected areas of a site and you can enter multiple user names and passwords for each realm.&lt;br /&gt;&lt;br /&gt;33. HTML reports let you view summary and detailed data about any site you load. You can generate reports detailing broken links, pages with broken links, failed assertions, slow pages, permanently moved pages, orphan pages, and files with viruses. The reporting utility creates an executive summary of the data as well as a detailed breakdown of all defects. Because the report is loaded directly into your browser, you can move directly to defective files by clicking the link.&lt;br /&gt;&lt;br /&gt;34. When saving reports, select a dedicated directory. If you are analyzing a large site, you may end up with a large number of files.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-5010450859347586001?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/5010450859347586001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/rational-sitecheck-tips-and-techniques.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5010450859347586001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5010450859347586001'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/rational-sitecheck-tips-and-techniques.html' title='Rational SiteCheck Tips and Techniques'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-5853107120270236032</id><published>2008-12-24T23:04:00.000-08:00</published><updated>2009-11-01T08:48:03.382-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Integration Testing'/><title type='text'>Integration Testing - Four step procedure</title><content type='html'>As I wrote in my previous posts, Integration testing is designed to test the structure and the architecture of the software and determine whether all software components interface properly. Integration testing does not verify that the system is functionally correct, only that it performs as designed.&lt;br /&gt;&lt;br /&gt;It is the process of identifying errors introduced by combining individual program unit tested modules. Integration Testing should not begin until all units are known to perform according to the unit specifications. It can start with testing several logical units or can incorporate all units in a single integration test.&lt;br /&gt;&lt;br /&gt;Below are the four steps of creating integration test cases:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 1 - Identify Unit Interfaces:&lt;/strong&gt; The developer of each program unit identifies and documents the unit’s interfaces for the following unit operations:&lt;br /&gt;&lt;br /&gt;- Responding to queries from terminals for information&lt;br /&gt;- Managing transaction data entered for processing&lt;br /&gt;- Obtaining, updating, or creating transactions on computer files&lt;br /&gt;- Passing or receiving information from other logical processing units&lt;br /&gt;- Sending messages to terminals&lt;br /&gt;- Providing the results of processing to some output device or unit&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 2 - Reconcile Interfaces for Completeness:&lt;/strong&gt; The information needed for the integration test template is collected for all program units in the software being tested. Whenever one unit interfaces with another, those interfaces are reconciled. For example, if program unit A transmits data to program unit B, program unit B should indicate that it has received that input from program unit A. Interfaces not reconciled are examined before integration tests are executed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 3 - Create Integration Test Conditions:&lt;/strong&gt; One or more test conditions are prepared for integrating each program unit. After the condition is created, the number of the test condition is documented in the test template.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 4 - Evaluate the Completeness of Integration Test Conditions:&lt;/strong&gt; The following list of questions will help guide evaluation of the completeness of integration test conditions recorded on the integration testing template. This list can also help determine whether test conditions created for the integration process are complete.&lt;br /&gt;&lt;br /&gt;Q1. Is an integration test developed for each of the following external inquiries:&lt;br /&gt;&lt;br /&gt;- Record test?&lt;br /&gt;- File test?&lt;br /&gt;- Search test?&lt;br /&gt;- Match/merge test?&lt;br /&gt;- Attributes test?&lt;br /&gt;- Stress test?&lt;br /&gt;- Control test?&lt;br /&gt;&lt;br /&gt;Q2. Are all interfaces between modules validated so that the output of one is recorded as input to another?&lt;br /&gt;&lt;br /&gt;Q3. If file test transactions are developed, do the modules interface with all those indicated files?&lt;br /&gt;&lt;br /&gt;Q4. Is the processing of each unit validated before integration testing?&lt;br /&gt;&lt;br /&gt;Q5. Do all unit developers agree that integration test conditions are adequate to test each unit’s interfaces?&lt;br /&gt;&lt;br /&gt;Q6. Are all software units included in integration testing?&lt;br /&gt;&lt;br /&gt;Q7. Are all files used by the software being tested included in integration testing?&lt;br /&gt;&lt;br /&gt;Q8. Are all business transactions associated with the software being tested included in integration testing?&lt;br /&gt;&lt;br /&gt;Q9. Are all terminal functions incorporated in the software being tested included in integration testing?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-5853107120270236032?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/5853107120270236032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/integration-testing-four-step-procedure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5853107120270236032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5853107120270236032'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/integration-testing-four-step-procedure.html' title='Integration Testing - Four step procedure'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-7053460172202028027</id><published>2008-12-24T19:35:00.000-08:00</published><updated>2009-11-22T22:06:10.847-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><title type='text'>Software Testing Techniques and Levels</title><content type='html'>In this post, I'm going to describe techniques and strategies for software testing. Techniques cover different ways testing can be accomplished. Testing techniques can be defined in three ways: Preparation, Execution and Approach.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;b&gt;Preparation:&lt;/b&gt; From preparation point of view there are two testing techniques: Formal Testing and Informal Testing.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Formal Testing: &lt;/b&gt;Testing performed with a plan, documented set of test cases, etc that outline the methodology and test objectives. Test documentation can be developed from requirements, design, equivalence partitioning, domain coverage, error guessing, etc. The level of formality and thoroughness of test cases will depend upon the needs of the project. Some projects can have rather informal ‘formal test cases’, while others will require a highly refined test process. Some projects will require light testing of nominal paths while others will need rigorous testing of exceptional cases.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Informal Testing: &lt;/b&gt;Ad hoc testing performed without a documented set of objectives or plans. Informal testing relies on the intuition and skills of the individual performing the testing. Experienced engineers can be productive in this mode by mentally performing test cases for the scenarios being exercised.&lt;br /&gt;&lt;br /&gt;From the execution point of view, the two testings types are: Manual Testing and Automated Testing.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Manual Testing: &lt;/b&gt;Manual testing involves direct human interaction to exercise software functionality and note behavior and deviations from expected behavior.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Automated Testing: &lt;/b&gt;Testing that relies on a tool, built-in test harness, test framework, or other automatic mechanism to exercise software functionality, record output, and possibly detect deviations. The test cases performed by automated testing are usually defined as software code or script that drives the automatic execution.&lt;br /&gt;&lt;br /&gt;From the testing approach point of view, the two testings types are: Structural Testing and Functional Testing.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Structural Testing:&lt;/b&gt; Structural testing depends upon knowledge of the internal structure of the software. Structural testing is also referred to as white-box testing.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Data-flow Coverage: &lt;/b&gt;Data-flow coverage tests paths from the definition of a variable to its use.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;Control-flow Coverage&lt;/b&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Statement Coverage: &lt;/b&gt;Statement coverage requires that every statement in the code under test has been executed.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Branch Coverage:&lt;/b&gt; Branch coverage requires that every point of entry and exit in the program has been executed at least once, and every decision in the program has taken all possible outcomes at least one.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Condition Coverage: &lt;/b&gt;Condition coverage is branch coverage with the additional requirement that “every condition in a decision in the program has taken all possible outcomes at least once.” Multiple condition coverage requires that all possible combinations of the possible outcomes of each condition have been tested. Modified condition coverage requires that each condition has been tested independently.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Functional Testing: &lt;/b&gt;Functional testing compares the behavior of the test item to its specification without knowledge of the item’s internal structure. Functional testing is also referred to as black box testing.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Requirements Coverage: &lt;/b&gt;Requirements coverage requires at least one test case for each specified requirement. A traceability matrix can be used to insure that requirements coverage has been satisfied.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Input Domain Coverage: &lt;/b&gt;Input domain coverage executes a function with a sufficient set of input values from the function’s input domain. The notion of a sufficient set is not completely definable, and complete coverage of the input domain is typically impossible. Therefore the input domain is broken into subsets, or equivalence classes, such that all values within a subset are likely to reveal the same defects. Any one value within an equivalence class can be used to represent the whole equivalence class. In addition to a generic representative, each extreme value within an equivalence class should be covered by a test case. Testing the extreme values of the equivalence classes is referred to as boundary value testing.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Output Domain Coverage: &lt;/b&gt;Output domain coverage executes a function in such a way that a sufficient set of output values from the function’s output domain is produced. Equivalence classes and boundary values are used to provide coverage of the output domain. A set of test cases that “reach” the boundary values and a typical value for each equivalence class is considered to have achieved output domain coverage.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Various Software Testing Levels&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Although many testing levels tend to be combined with certain techniques, there are no hard and fast rules. Some types of testing imply certain lifecycle stages, software deliverables, or other project context. Other types of testing are general enough to be done almost any time on any part of the system. Some require a particular methodology. When appropriate common utilizations of a particular testing type will be described. The project’s test plan will normally define the types of testing that will be used on the project, when they will be used, and the strategies they will be used with. Test cases are then created for each testing type.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Unit Testing: &lt;/b&gt;A unit is an abstract term for the smallest thing that can be conveniently tested. This will vary based on the nature of a project and its technology but usually focuses at the subroutine level. Unit testing is the testing of these units. Unit testing is often automated and may require creation of a harness, stubs, or drivers.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Component Testing: &lt;/b&gt;A component is an aggregate of one or more components. Component testing expands unit testing to include called components and data types. Component testing is often automated and may require creation of harness, stubs, or drivers.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Single Step Testing: &lt;/b&gt;Single step testing is performed by stepping through new or modified statements of code with a debugger. Single step testing is normally manual and informal.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bench Testing: &lt;/b&gt;Bench testing is functional testing of a component after the system has been built in a local environment. Bench testing is often manual and informal.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Developer Integration Testing:&lt;/b&gt; Developer integration testing is functional testing of a component after the component has been released and the system has been deployed in a standard testing environment. Special attention is given to the flow of data between the new component and the rest of the system.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Smoke Testing:&lt;/b&gt; Smoke testing determines whether the system is sufficiently stable and functional to warrant the cost of further, more rigorous testing. Smoke testing may also communicate the general disposition of the current code base to the project team. Specific standards for the scope or format of smoke test cases and for their success criteria may vary widely among projects.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature Testing:&lt;/b&gt; Feature testing is functional testing directed at a specific feature of the system. The feature is tested for correctness and proper integration into the system. Feature testing occurs after all components of a feature have been completed and released by development.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Integration Testing: &lt;/b&gt;Integration testing focuses on verifying the functionality and stability of the overall system when it is integrated with external systems, subsystems, third party components, or other external interfaces.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;System Testing:&lt;/b&gt; System testing occurs when all necessary components have been released internally and the system has been deployed onto a standard environment. System testing is concerned with the behavior of the whole system. When appropriate, system testing encompasses all external software, hardware, operating environments, etc. that will make up the final system.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Release Testing: &lt;/b&gt;Release tests ensure that interim builds can successfully deployed by the customer. This includes product deployment, installation, and a pass through the primary functionality. This test is done immediately before releasing to the customer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Beta Testing: &lt;/b&gt;Beta testing consists of deploying the system to many external users who have agreed to provide feedback about the system. Beta testing may also provide the opportunity to explore release and deployment issues.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Acceptance Testing: &lt;/b&gt;Acceptance testing compares the system to a predefined set of acceptance criteria. If the acceptance criteria are satisfied by the system, the customer will accept delivery of the system.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Regression Testing: &lt;/b&gt;Exercises functionality that has stabilized. Once high confidence has been established for certain parts of the system, it is generally wasted effort to continue rigorous, detailed testing of those parts. However, it is possible that continued evolution of the system will have negative effects on previously stable and reliable parts of the system. Regression testing offers a low-cost method of detecting such side effects. Regression testing is often automated and focused on critical functionality.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Performance Testing: &lt;/b&gt;Performance testing measures the efficiency with respect to time and hardware resources of the test item under typical usage. This assumes that a set of non-functional requirements regarding performance exist in the item’s specification.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Stress Testing: &lt;/b&gt;Stress testing evaluates the performance of the test item during extreme usage patterns. Typical examples of “extreme usage patterns” are large data sets, complex calculations, extended operation, limited system resources, etc.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Configuration Testing: &lt;/b&gt;Configuration testing evaluates the performance of the test item under a range of system configurations. Relevant configuration issues depend upon the particular product and may include peripherals, network patterns, operating systems, hardware devices and drivers, user settings.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-7053460172202028027?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/7053460172202028027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/software-testing-techniques-and-levels.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7053460172202028027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/7053460172202028027'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/software-testing-techniques-and-levels.html' title='Software Testing Techniques and Levels'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-5018023255917317549</id><published>2008-12-23T17:59:00.000-08:00</published><updated>2009-10-31T20:57:02.269-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Management'/><title type='text'>When software is ready to ship or release</title><content type='html'>Deciding when software is ready to release is a difficult. You have pressure from all sides to release perfect software, with added features. Below are some common facts:&lt;br /&gt;&lt;br /&gt;- The engineers have said that the code was complete months ago, but are still making code changes.&lt;br /&gt;&lt;br /&gt;- Sales people promised the software to major accounts months ago and are making commitments for the next release.&lt;br /&gt;&lt;br /&gt;- The product manager wants a few more features added and you want to release a zero defect software.&lt;br /&gt;&lt;br /&gt;Having no specific release criteria, many organizations wait for the manager to say "Release it", not knowing when or why the decision was made at that time. In other cases, there is a general group consensus to just push the software out the door because the tired and stressed group wants to move out from the seemingly never ending cycles.&lt;br /&gt;&lt;br /&gt;You can never take all of the stress out of releasing good software, but by planning ahead and setting up a good defect tracking repository, predetermining acceptable bug counts, properly testing the software and effectively triaging the defects you can always know the current state of the software, but most importantly know when the software is ready to ship.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Defect Tracking Repository:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The most common as well as important tool to determine the state of the software is the defect tracking repository. The repository must be able to provide information required for the triage process. The repository must include the following info:&lt;br /&gt;&lt;br /&gt;- The expected results of the testers test&lt;br /&gt;- The steps to recreating the defect&lt;br /&gt;- The version in which the defect was found&lt;br /&gt;- The module in which the defect was found&lt;br /&gt;- The severity of the defect&lt;br /&gt;- A short descriptive name for the defect&lt;br /&gt;- A description of the defect&lt;br /&gt;- The actual results if the testers test&lt;br /&gt;- Resolution notes&lt;br /&gt;&lt;br /&gt;The project team should be able to query the database and gather information such as defect counts at various severity levels, and module levels, descriptions of the defects and steps to reproduce them. The repository becomes the archive for the project and it becomes important that correct and complete information be entered in order to use this information for later projects as a planning tool.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Predetermined Acceptable Bug Counts:&lt;/strong&gt; The goal of releasing software with no defects cannot be achieved given the limited time and resources so, in the preliminary planning of the project exit criteria must be set up. The exit criteria should then be translated into the test plan outline, which should include acceptable bug count levels in order to ship the software.&lt;br /&gt;&lt;br /&gt;The exact acceptable bug count level is not some magic number that will insure a successful product, but more a target goal that the group can use to see that they are moving forward toward a common goal. An acceptable bug count statement may look like this:&lt;br /&gt;&lt;br /&gt;- Showstoppers: There may not be any&lt;br /&gt;- High: There may not be any&lt;br /&gt;- Medium: There may not be any that have a high probability of appearance to the customer&lt;br /&gt;- Low: There may be a minimal amount in specified core areas and all other areas may have any amount.&lt;br /&gt;&lt;br /&gt;In order for the entire group to know the state of the software at all timesit would be preferable to produce a weekly build grading process. The idea is that each week the build would be treated as if it were the software to be shipped and given a grade. The weekly grade keeps the team current on the software state and the team can see the software progressively improve.&lt;br /&gt;&lt;br /&gt;This quantitative method takes a lot of the guesswork out of the equation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Proper Testing: &lt;/strong&gt;The key to shipping quality software is finding and fixing all defects. The testers responsibility becomes finding the defects and properly reporting them. In order for the testers to find the defects the lead tester must set up in the test plan outline, the specific stages of testing to ensure that the process is organized and covers all aspects of the software. The test plan may contain the following 7 phases:&lt;br /&gt;&lt;br /&gt;- Test Case and Test Suite Planning&lt;br /&gt;- Unit Testing&lt;br /&gt;- Regression Testing&lt;br /&gt;- System Testing&lt;br /&gt;- Regression testing&lt;br /&gt;- Performance Testing&lt;br /&gt;- Release Candidate Testing&lt;br /&gt;&lt;br /&gt;The goal is to turn up as many defects as early as possible in order to make the fixes easier on the engineers and to provide ample time for regression testing since every time the code is altered there is a greater risk of creating more defects.&lt;br /&gt;&lt;br /&gt;As important as finding the defect, the tester must be able to correctly report it in the repository. This becomes extremely important in large projects where the defect counts may rise in the thousands.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Effective Triage:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The Test Lead and Engineer must sit down regularly to evaluate the reported defects and drive the process forward in the most efficient manner for the engineers as well as the testers. Much of the decision making here is based on queries from the defect repository, which shows the importance of the accuracy and completeness of the repository.&lt;br /&gt;&lt;br /&gt;The creation of a "Hot List" which is a list of important bugs is a great tool to create. This can be done in an plain Excel sheet, which identifies the most important defects, their module and a brief description. This list is great to use in triage to identify the defect action items for the upcoming week.&lt;br /&gt;&lt;br /&gt;Defects that prevent further testing in a certain area must be given precedence and the engineers can assist in the risk analysis of future modules to assist the testers in their test case development. In the determination of what to fix next generally it is advantageous to group and fix defects relating to the same module at the same time even though there may be other important defects in other modules. Grouping of defects assists the engineers finish a module and move on.&lt;br /&gt;&lt;br /&gt;Shipping quality software is not an easy task but by being organized from the start of the project the ship date and defect counts don't have to be a "gut feeling". The project must have a Defect Tracking Repository that must be maintained and updated continually with correct and complete information. The Repository is used as the main tool for an effective triage process and in conjunction with the Test Plan Outline that must be createdat the start of the project describing in detail the exit criteria to ship the software.&lt;br /&gt;&lt;br /&gt;Please note the entire process rests on proper testing and the use of proper test planning which is what uncovers the defects. If you do not uncover the defects the users of the software will.&lt;br /&gt;&lt;br /&gt;Thus, by following the above described process it is possible to know the state of the software at any time so that the entire team knows the goal, sees the progress and knows when the software is ready to release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-5018023255917317549?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/5018023255917317549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/when-software-is-ready-to-ship-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5018023255917317549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5018023255917317549'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/when-software-is-ready-to-ship-or.html' title='When software is ready to ship or release'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-3079845446956908429</id><published>2008-12-22T17:56:00.000-08:00</published><updated>2009-11-01T08:48:03.382-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Integration Testing'/><title type='text'>How to do Integration Testing - writing Integration Testing test cases</title><content type='html'>Integration Testing is a four step procedure. Below are the steps for creating integration test cases:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Identify Unit Interfaces:&lt;/strong&gt; The developer of each program unit identifies and documents the unit’s interfaces for the following unit operations:&lt;br /&gt;&lt;br /&gt;- External inquiry (responding to queries from terminals for information)&lt;br /&gt;- External input (managing transaction data entered for processing)&lt;br /&gt;- External filing (obtaining, updating, or creating transactions on computer files)&lt;br /&gt;- Internal filing (passing or receiving information from other logical processing units)&lt;br /&gt;- External display (sending messages to terminals)&lt;br /&gt;- External output (providing the results of processing to some output device or unit)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Reconcile Interfaces for Completeness:&lt;/strong&gt; The information needed for the &lt;strong&gt;integration test&lt;/strong&gt; template is collected for all program units in the &lt;strong&gt;software being tested&lt;/strong&gt;. Whenever one unit interfaces with another, those interfaces are reconciled. For example, if program unit A transmits data to program unit B, program unit B should indicate that it has received that input from program unit A. Interfaces not reconciled are examined before integration tests are executed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Create Integration Test Conditions:&lt;/strong&gt; One or more &lt;strong&gt;test conditions &lt;/strong&gt;are prepared for integrating each program unit. After the condition is created, the number of the &lt;strong&gt;test condition&lt;/strong&gt; is documented in the test template.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Evaluate the Completeness of Integration Test Conditions:&lt;/strong&gt; The following list of questions will help guide evaluation of the completeness of integration test conditions recorded on the &lt;strong&gt;integration testing &lt;/strong&gt;template. This list can also help determine whether test conditions created for the integration process are complete.&lt;br /&gt;&lt;br /&gt;1. Is an integration test developed for each of the following external inquiries:&lt;br /&gt;&lt;br /&gt;- Record test?&lt;br /&gt;- File test?&lt;br /&gt;- Search test?&lt;br /&gt;- Match/merge test?&lt;br /&gt;- Attributes test?&lt;br /&gt;- Stress test?&lt;br /&gt;- Control test?&lt;br /&gt;&lt;br /&gt;2. Are all interfaces between modules validated so that the output of one is recorded as input to another?&lt;br /&gt;&lt;br /&gt;3. If file test transactions are developed, do the modules interface with all those indicated files?&lt;br /&gt;&lt;br /&gt;4. Is the processing of each unit validated before &lt;strong&gt;integration testing&lt;/strong&gt;?&lt;br /&gt;&lt;br /&gt;5. Do all unit developers agree that integration test conditions are adequate to test each unit’s interfaces?&lt;br /&gt;&lt;br /&gt;6. Are all software units included in &lt;strong&gt;integration testing&lt;/strong&gt;?&lt;br /&gt;&lt;br /&gt;7. Are all files used by the software being tested included in &lt;strong&gt;integration testing&lt;/strong&gt;?&lt;br /&gt;&lt;br /&gt;8. Are all business transactions associated with the software being tested included in &lt;strong&gt;integration testing&lt;/strong&gt;?&lt;br /&gt;&lt;br /&gt;9. Are all terminal functions incorporated in the software being tested included in &lt;strong&gt;integration testing&lt;/strong&gt;?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-3079845446956908429?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/3079845446956908429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/how-to-do-integration-testing-writing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3079845446956908429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3079845446956908429'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/how-to-do-integration-testing-writing.html' title='How to do Integration Testing - writing Integration Testing test cases'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-134340065326369638</id><published>2008-12-09T03:56:00.000-08:00</published><updated>2009-08-08T00:42:01.054-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Testing ActiveX Controls using QuickTest Professional</title><content type='html'>&lt;p&gt;Many applications include ActiveX controls developed with third-party vendors. You can use the &lt;strong&gt;QuickTest Professional &lt;/strong&gt;ActiveX Add-in to test ActiveX controls. You can create and run &lt;strong&gt;software tests &lt;/strong&gt;and components on these controls, as well as check their properties. &lt;strong&gt;QuickTest Professional&lt;/strong&gt; supports &lt;strong&gt;Software Testing &lt;/strong&gt;on ActiveX controls in any application. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;In &lt;strong&gt;QuickTest Professional &lt;/strong&gt; ActiveX Add-in is considered a Windows-Based add-in.&lt;/li&gt;&lt;br /&gt;&lt;!-- google_ad_section_start(weight=ignore) --&gt;&lt;br /&gt;&lt;li&gt;You can check the properties of an ActiveX control as you check the properties of any other Windows object. You can also use output value steps to output property or text values from the objects in your ActiveX application.&lt;/li&gt;&lt;br /&gt;&lt;!-- google_ad_section_end --&gt;&lt;br /&gt;&lt;li&gt;When you create a checkpoint on an ActiveX control, &lt;strong&gt;QuickTest Professional&lt;/strong&gt; captures all the properties for an ActiveX control, but it does not select any properties to check.&lt;/li&gt;&lt;li&gt;You use the Windows Applications tab in the Options dialog box to set global preferences for &lt;strong&gt;testing &lt;/strong&gt;ActiveX applications.&lt;/li&gt;&lt;li&gt;You use the Windows Applications tab of the Record and Run Settings dialog box or the Application Area Settings dialog box to set preferences for &lt;strong&gt;testing &lt;/strong&gt;ActiveX applications.&lt;/li&gt;&lt;br /&gt;&lt;!-- google_ad_section_start(weight=ignore) --&gt;&lt;br /&gt;&lt;li&gt;The ActiveX Add-in provides custom test objects, methods, and properties that can be used when testing objects (controls) in ActiveX applications.&lt;/li&gt;&lt;li&gt;The application containing the ActiveX controls on which you want to record must be opened after setting the Record and Run options.&lt;/li&gt;&lt;br /&gt;&lt;!-- google_ad_section_end --&gt;&lt;br /&gt;&lt;li&gt;In &lt;strong&gt;QuickTest Professional &lt;/strong&gt;It is recommended that you begin your recording session before opening the application containing the ActiveX controls on which you want to record.&lt;/li&gt;&lt;li&gt;When &lt;strong&gt;testing &lt;/strong&gt;ActiveX objects in a browser, the top-level ActiveX object is inserted within the standard Web object hierarchy, for example, Browser &gt; Page &gt; ActiveX.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;QuickTest Professional&lt;/strong&gt; can record on standard controls within an ActiveX control and if an ActiveX control contains another ActiveX control, then &lt;strong&gt;QuickTest Professional&lt;/strong&gt; can record and run on this internal control as well. For example, suppose your ActiveX control is a calendar that contains a drop-down list from which you can choose the month. If you record a click in the list to select the month of May, &lt;strong&gt;QuickTest Professional&lt;/strong&gt; records this step in the Expert View as:&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;pre style="border: 1px solid rgb(206, 206, 206); padding: 5px; overflow: auto; min-height: 40px; width: 400px; height: 100px; background-color: rgb(242, 242, 242);"&gt;&lt;br /&gt;&lt;pre style="margin: 0em;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;br /&gt;Dialog("ActiveX Calendars").ActiveX("SMonth Control").WinComboBox("ComboBox").Select "May"&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre style="margin: 0em; width: 100%; font-size: 12px;"&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!-- google_ad_section_start(weight=ignore) --&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;When creating a programmatic description for an ActiveX test object and the relevant run-time object is windowless (has no window handle associated with it), you must add the windowless property to the description and set its value to True. For Example:&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;!-- google_ad_section_end --&gt;&lt;br /&gt;&lt;pre style="border: 1px solid rgb(206, 206, 206); padding: 5px; overflow: auto; min-height: 40px; width: 400px; height: 150px; background-color: rgb(242, 242, 242);"&gt;&lt;br /&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(242, 242, 242);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"  &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;br /&gt;&lt;br /&gt;Set ButDesc = Description.Create&lt;br /&gt;ButDesc("ProgId").Value = "Forms.CommandButton.1"&lt;br /&gt;ButDesc("Caption").Value = "OK"&lt;br /&gt;ButDesc("Windowless").Value = True&lt;br /&gt;Window("Form1").AcxButton(ButDesc).Click&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(242, 242, 242);"&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-134340065326369638?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/134340065326369638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/considerations-for-testing-activex.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/134340065326369638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/134340065326369638'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/considerations-for-testing-activex.html' title='Testing ActiveX Controls using QuickTest Professional'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-3952213372169414220</id><published>2008-12-09T03:38:00.000-08:00</published><updated>2009-08-08T00:42:01.054-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>HP QuickTest Professional Test Object Schema</title><content type='html'>&lt;p&gt;In this post, I'm going to describes the elements and attributes available for creating test object configuration XML content to be used with your QuickTest extensibility project.&lt;br /&gt;&lt;br /&gt;In a test object configuration XML, you define the test object classes (for example, their identification properties, the test object methods they support, and so on). To do this, you define a ClassInfo element for each test object class. In addition, you define the name of the environment for which the test object classes are intended, and the QuickTest add-in which they extend. If the relevant add-in is not loaded when QuickTest opens, QuickTest does not load the information in this XML. Similarly, if the environment name is displayed in the Add-in Manager dialog box and the check box for this environment is not selected, the information in this XML is not loaded.&lt;br /&gt;&lt;br /&gt;A test object class definition can include the following:&lt;br /&gt;&lt;br /&gt;- The name of the new test object class and its attributes, including the base class—the test object class that the new test object class extends.&lt;br /&gt;&lt;br /&gt;- The test object class name must be unique among all of the environments whose support a QuickTest user might load simultaneously. For example, do not use names of test object classes from existing QuickTest add-ins, such as WebButton, WebEdit, Page, etc.&lt;br /&gt;&lt;br /&gt;- The path of the icon file to use for this test object class (Optional. If not defined, a default icon is used.) The icon file must be in an uncompressed .ico format.&lt;br /&gt;&lt;br /&gt;- A context-sensitive Help topic to open when F1 is pressed for the test object in the Keyword View or Expert View. The definition includes the Help file path and the relevant Help ID within the file.&lt;br /&gt;&lt;br /&gt;- The methods of the new test object, including the following information for each method:&lt;br /&gt;&lt;br /&gt;1. The arguments, including the argument type (String or Variant) and direction (In or Out)&lt;br /&gt;2. Whether the argument is mandatory, and, if not, its default value&lt;br /&gt;3. Whether a dynamic list of possible values for this argument can be retrieved from the supported control and displayed in the Keyword View, Expert View, and Step Generator&lt;br /&gt;4. The method description (shown as a tooltip in the Keyword View, Expert View, and Step Generator)&lt;br /&gt;5. The Documentation string (shown in the Documentation column of the Keyword View and in the Step Generator)&lt;br /&gt;6. The return value type&lt;br /&gt;7. A context-sensitive Help topic to open when F1 is pressed for the test object method in the Keyword View or Expert View, or when the Operation Help button is clicked for the method in the Step Generator. The definition includes the Help file path and the relevant Help ID within the file.&lt;br /&gt;&lt;br /&gt;- The test object method that is selected by default in the Keyword View and Step Generator when a step is generated for an object of this class&lt;br /&gt;&lt;br /&gt;- The identification properties of the new test object&lt;br /&gt;&lt;br /&gt;1. The identification properties that are used for the object description&lt;br /&gt;2. The identification properties that are used for Smart Identification (Smart Identification needs to be enabled for these definitions to take effect)&lt;br /&gt;3. The identification properties that are available for use in checkpoints&lt;br /&gt;4. The identification properties that are selected by default for checkpoints (in the QuickTest Checkpoint Properties dialog box)&lt;br /&gt;&lt;br /&gt;Each time you run QuickTest, it reads all of the test object configuration XMLs and merges the information for each test object class from the different XMLs into one test object definition.&lt;br /&gt;&lt;br /&gt;Each time you open QuickTest, it reads all of the test object configuration files located in the &lt;quicktest&gt;\dat\Extensibility\&lt;quicktest&gt; folders. QuickTest then merges the information for each test object class from the different files into a single test object class definition, according to the priority of each test object configuration file.&lt;br /&gt;&lt;br /&gt;You define the priority of each test object configuration file using the Priority attribute of the TypeInformation element.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Please Note: &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- If the priority of a test object configuration file is higher than the existing class definitions, it overrides any existing test object class definitions, including built-in QuickTest information. For this reason, be aware of any built-in functionality that will be overridden before you change the priority of a test object configuration file.&lt;br /&gt;&lt;br /&gt;- QuickTest ignores the definitions in a test object configuration files in the following situations:&lt;br /&gt;&lt;br /&gt;a. The Load attribute of the TypeInformation element is set to false.&lt;br /&gt;b. The environment relevant to the test object configuration file is displayed in the Add-in Manager dialog box, and the QuickTest user selects not to load the environment.&lt;br /&gt;&lt;br /&gt;When multiple test object class definitions exist, QuickTest must handle any conflicts that arise. The following sections describe the process QuickTest follows when ClassInfo, ListOfValues, and Operation elements are defined in multiple test object configuration files. All of the IdentificationProperty elements for a specific test object class must be defined in only one test object configuration file.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ClassInfo Elements:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If a ClassInfo element is defined in a test object configuration file with a priority higher than the existing definition, the information is appended to any existing definition. If a conflict arises between ClassInfo definitions in different files, the definition in the file with the higher priority overrides (replaces) the information in the file with the lower priority.&lt;br /&gt;&lt;br /&gt;If a ClassInfo element is defined in a test object configuration file with a priority that is equal to or lower than the existing definition, the differing information is appended to the existing definition. If a conflict arises between ClassInfo definitions in different files, the definition in the file with the lower priority is ignored.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ListOfValues Elements:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- If a conflict arises between ListOfValues definitions in different files, the definition in the file with the higher priority overrides (replaces) the information in the file with the lower priority (the definitions are not merged).&lt;br /&gt;&lt;br /&gt;- If a ListOfValues definition overrides an existing list, the new list is updated for all arguments of type Enumeration that are defined for operations of classes in the same test object configuration file.&lt;br /&gt;&lt;br /&gt;- If a ListOfValues is defined in a configuration file with a lower priority than the existing definition, the lower priority definition is ignored.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Operation Elements:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Operation element definitions are either added, ignored, or overridden, depending on the priority of the test object configuration file.&lt;br /&gt;&lt;br /&gt;- If an Operation element is defined in a test object configuration file with a priority higher than the existing definition, the operation is added to the existing definition for the class. If a conflict arises between Operation definitions in different files, the definition in the file with the higher priority overrides (replaces) the definition with the lower priority (the definitions are not merged).&lt;/quicktest&gt;&lt;/quicktest&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-3952213372169414220?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/3952213372169414220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/hp-quicktest-professional-test-object.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3952213372169414220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/3952213372169414220'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/hp-quicktest-professional-test-object.html' title='HP QuickTest Professional Test Object Schema'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-2055913910117172510</id><published>2008-12-09T03:29:00.000-08:00</published><updated>2009-08-08T00:42:01.054-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Implement Web Add-in Extensibility in QTP</title><content type='html'>Using Web Add-in Extensibility, you can implement full support for all &lt;strong&gt;QuickTest &lt;/strong&gt;features for your controls. You can implement Web Add-in Extensibility support for a set of controls (also referred to as a toolkit or custom toolkit) by developing a toolkit support set.&lt;br /&gt;&lt;br /&gt;Implementing Web Add-in Extensibility consists of the following stages:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Planning the Toolkit Support Set&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Determine the set of Web controls that comprise your custom toolkit.&lt;br /&gt;&lt;br /&gt;- Define the test object model by determining which test objects and operations you want to support based on the controls and business processes supported by your toolkit.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Developing the Toolkit Support Set:&lt;/strong&gt; A Web Add-in Extensibility toolkit support set is comprised of the following files:&lt;br /&gt;&lt;br /&gt;- One test object configuration file, which describes the test object model for your toolkit to QuickTest.&lt;br /&gt;&lt;br /&gt;- One toolkit configuration file, which describes which test object class represents each control in the toolkit and how QuickTest interacts with each control.&lt;br /&gt;&lt;br /&gt;- One or more files containing JavaScripts that QuickTest can call to perform operations on the custom controls.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Deploying the Toolkit Support Set:&lt;/strong&gt; To deploy your toolkit support set and enable QuickTest to support your controls, you need to copy the files you created to specific locations within the QuickTest installation folder.&lt;br /&gt;&lt;br /&gt;After you deploy the toolkit support set, when QuickTest opens, it displays your toolkit name as a child node under the Web Add-in node in the Add-in Manager. If you select the check box for your toolkit, QuickTest supports the controls in this toolkit using the toolkit support set that you developed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Enhancing the Toolkit Support Set:&lt;/strong&gt; After you have created and tested basic Web Add-in Extensibility support for your controls you can enhance your toolkit support set by using some of the more complex options to fine-tune your support.&lt;br /&gt;&lt;br /&gt;When you develop a Web Add-in Extensibility toolkit support set, you can start by creating a simple and basic support set and deploying it to QuickTest. This enables QuickTest to recognize your controls correctly and enables QuickTest user to create and run tests on the controls. You can then enhance your support to enable more complex capabilities, such as filtering the child objects learned with a control and more advanced handling of events when recording a test.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-2055913910117172510?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/2055913910117172510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/implement-web-add-in-extensibility-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2055913910117172510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2055913910117172510'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/implement-web-add-in-extensibility-in.html' title='Implement Web Add-in Extensibility in QTP'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-2155171006755518932</id><published>2008-12-08T22:37:00.000-08:00</published><updated>2010-10-01T03:47:51.142-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP | CSTE | ISEB | ISTQB Papers'/><title type='text'>QTP, CSTE, ISEB, ISTQB, CSQA Question Papers</title><content type='html'>&lt;b&gt;`&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Here are some of the sample question papers of QTP HP-M016, CSTE, ISEB, ISTQB and CSQA:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://www.qasigma.com/csqa-question-papers/"&gt;CSQA Question Papers&lt;/a&gt; - &lt;/b&gt;This is the place where you will find question papers for Certified Software Quality Analyst (CSQA) exam&lt;b&gt;.&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;QTP HP-M016 Sample Papers: &lt;/b&gt;For QTP certification you may refer to the below question papers. &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/hp-qtp-certification-hp-m016-practice_149.html"&gt;QTP HP-M016 Paper - 4&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/hp-qtp-certification-hp-m016-practice_22.html"&gt;QTP HP-M016 Paper - 3&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/hp-qtp-certification-hp-m016-practice_21.html"&gt;QTP HP-M016 Paper - 2&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/hp-qtp-certification-hp-m016-practice.html"&gt;QTP HP-M016 Paper - 1&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;CSTE Sample Papers: &lt;/b&gt;Below are four question papers for Certified Software Test Engineer (CSTE) exam.&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/cste-sept-16th-2006.html"&gt;CSTE Paper - 4&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/cste-june-17th-2006.html"&gt;CSTE Paper - 3&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/cste-april-22nd-2006.html"&gt;CSTE Paper - 2&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2007/10/cste-sept-17-2005-objective-paper1-q1.html"&gt;CSTE Paper - 1&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;ISTQB Sample Papers: &lt;/b&gt;If you are preparing for ISTQB foundation level exam, then below papers might help you.&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/istqb-sample-question-paper-9.html"&gt;ISTQB Paper - 9&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/istqb-sample-question-paper-8.html"&gt;ISTQB paper - 8&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/istqb-sample-question-paper-7.html"&gt;ISTQB Paper - 7&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/istqb-sample-question-paper-6.html"&gt;ISTQB Paper - 6&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/istqb-sample-question-paper-5.html"&gt;ISTQB Paper - 5&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/istqb-sample-question-paper-4.html"&gt;ISTQB Paper - 4&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/10/istqb-sample-question-paper-3.html"&gt;ISTQB Paper - 3&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/10/istqb-sample-question-paper-2.html"&gt;ISTQB Paper - 2&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/10/q1.html"&gt;ISTQB Paper - 1&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ISEB Sample Papers: &lt;/b&gt;For ISEB Software Testing exams, please refer to the following links of questions:&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/05/iseb-foundation-certificate-in-software.html"&gt;ISEB Paper - 1&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/05/iseb-foundation-certificate-in-software_28.html"&gt;ISEB Paper - 2&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/05/iseb-foundation-certificate-in-software_29.html"&gt;ISEB Paper - 3&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-2155171006755518932?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/2155171006755518932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/qtp-cste-iseb-istqb-question-papers.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2155171006755518932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2155171006755518932'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/12/qtp-cste-iseb-istqb-question-papers.html' title='QTP, CSTE, ISEB, ISTQB, CSQA Question Papers'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-4489929472538904934</id><published>2008-11-29T08:18:00.000-08:00</published><updated>2009-10-05T10:48:34.750-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>Silent Test Runner</title><content type='html'>Silent Test Runner enables you to simulate the way a &lt;strong&gt;QuickTest &lt;/strong&gt;test runs from &lt;strong&gt;LoadRunner &lt;/strong&gt;and Business Availability Center. When you run a test using &lt;strong&gt;Silent Test Runner&lt;/strong&gt;, it runs without opening the &lt;strong&gt;QuickTest &lt;/strong&gt;user interface, and the test runs at the same speed as when it is run from &lt;strong&gt;LoadRunner or Business Availability Center &lt;/strong&gt;At the end of the test run, you can view information about the test run and transaction times.&lt;br /&gt;&lt;br /&gt;You can also use &lt;strong&gt;Silent Test Runner &lt;/strong&gt;to verify that your &lt;strong&gt;QuickTest &lt;/strong&gt;test is compatible with LoadRunner and Business Availability Center. A test will fail when run using Silent Test Runner if it uses a feature that is not supported by &lt;strong&gt;LoadRunner &lt;/strong&gt;or Business Availability Center.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; You cannot run &lt;strong&gt;Silent Test Runner &lt;/strong&gt;if &lt;strong&gt;QuickTest &lt;/strong&gt;is already open or another test is currently running. You must close QuickTest and wait for its process to end before running your test using Silent Test Runner. You cannot use the ResultDir QuickTest environment variable when running a test from Silent Test Runner.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;To run a QuickTest test using Silent Test Runner: &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. To open Silent Test Runner, choose Start &gt; Programs &gt; QuickTest Professional &gt; Tools &gt; Silent Test Runner. The Silent Test Runner dialog box opens.&lt;br /&gt;&lt;br /&gt;2. Click the Browse button to navigate to your test. The Open Test dialog box opens and displays the tests located in your &lt;quicktest professional=""&gt;\Tests folder.&lt;br /&gt;&lt;br /&gt;3. Select the test you want to run and click Open. The Open Test dialog box closes, the test name appears in the Test box of the Silent Test Runner dialog box, and the Run Test button is enabled. If you select a test that you ran previously, the Test Run Log and Transaction Summary buttons are enabled and you can display information about the last run of the selected test. The first time you run a test, the Test Run Log and Transaction Summary buttons are disabled.&lt;br /&gt;&lt;br /&gt;4. Click Run Test to run your test. The test runs without opening the QuickTest user interface. The text Running test... appears next to the Run Test button while the test is running. After you start a test run, you cannot stop the test run from Silent Test Runner. If you close Silent Test Runner, the test continues to run. You can end a test by ending the mdrv.exe process.&lt;br /&gt;&lt;br /&gt;5. When the test run finishes, the text Running test is replaced with the text Test run completed. If Silent Test Runner was unable to run your test, the text Test could not be run appears. If previously disabled, the Test Run Log button is enabled. The Transaction Summary button is also enabled if you ran a test with transactions and the button was previously disabled.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Viewing Test Run Information: &lt;/strong&gt;Silent Test Runner provides test run information in log files. Each test generates a test run log, and any test with transactions generates an additional transaction summary.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Viewing the Test Run Log:&lt;/strong&gt; The test run log is saved as output.txt in the &lt;quicktest professional=""&gt;\Tests\&lt;test name=""&gt; folder. A log file is saved for each test run with Silent Test Runner and is overwritten when you rerun the test. To open the log file, click Test Run Log.&lt;br /&gt;&lt;br /&gt;The log file displays information about the test run. For example, information is shown about each iteration, action call, step transaction, failed step, and so forth. Each line displays a message or error ID.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Viewing the Transaction Summary:&lt;/strong&gt; The transaction summary is saved as transactions.txt in the &lt;quicktest professional=""&gt;\Tests\&lt;test name=""&gt; folder. A transaction summary is saved for each test that includes transactions and is overwritten when you rerun the test. To open the log file, click Transaction Summary. The transaction summary displays a line for each transaction in the test. For each transaction, the status is displayed together with the total duration time and any wasted time (in seconds). The transaction measurements in Silent Test Runner are exactly the same as if the test was run from LoadRunner or Business Availability Center. A  transaction summary is available only for a test that contains transactions ending with an EndTransaction statement. If a transaction started but did not end because of test failure, it is not included in the transaction summary.&lt;br /&gt;&lt;br /&gt;Distributed transactions (transactions that start in one test and end in another) are not reported in the transaction summary but are included in the test run log.&lt;br /&gt;&lt;br /&gt;Any transaction information included in the transaction summary is also included in the test run log.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Also See:&lt;/span&gt; Other &lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;LoadRunner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/test&gt;&lt;/quicktest&gt;&lt;/test&gt;&lt;/quicktest&gt;&lt;/quicktest&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-4489929472538904934?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/4489929472538904934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2008/11/silent-test-runner.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4489929472538904934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/4489929472538904934'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/11/silent-test-runner.html' title='Silent Test Runner'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-5406980107227516187</id><published>2008-11-29T08:11:00.000-08:00</published><updated>2009-10-05T10:49:28.367-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>Measuring Transactions</title><content type='html'>You can measure how long it takes to run a section of your test by defining transactions. A transaction represents the process in your application that you are interested in measuring. Your test must include transactions to be used by &lt;strong&gt;LoadRunner &lt;/strong&gt;or the &lt;strong&gt;Business Process Monitor&lt;/strong&gt;. &lt;strong&gt;LoadRunner &lt;/strong&gt;and the &lt;strong&gt;Business Process Monitor&lt;/strong&gt; use only the data that is included within a transaction, and ignore any data in a test outside of a transaction.&lt;br /&gt;&lt;br /&gt;You define transactions within your test by enclosing the appropriate sections of the test with start and end transaction statements. For example, you can define a transaction that measures how long it takes to reserve a seat on a flight and for the confirmation to be displayed on the client's terminal.&lt;br /&gt;&lt;br /&gt;During the test run, the StartTransaction step signals the beginning of the time measurement. The time measurement continues until the EndTransaction step is reached. The test report displays the time it took to perform the transaction.&lt;br /&gt;&lt;br /&gt;Note: If you start a transaction while there is already open transaction with the same name, the previous transaction is ended with Fail status and then the new transaction is started.&lt;br /&gt;&lt;br /&gt;There is no limit to the number of transactions that can be added to a test. You can also insert a transaction within a transaction.&lt;br /&gt;&lt;br /&gt;You can insert a variety of transaction-related statements using the Step Generator or Expert View. You can also enter Start Transaction and End Transaction steps using options in the &lt;strong&gt;QuickTest &lt;/strong&gt;window.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Inserting Transactions:&lt;/strong&gt;During the test run, the Start Transaction signals the beginning of the time measurement. You define the beginning of a transaction in the Start Transaction dialog box.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;To insert a transaction: &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. Click the step where you want the transaction timing to begin. The page is displayed in the Active Screen tab.&lt;br /&gt;&lt;br /&gt;2. Click the Start Transaction button or choose Insert &gt; Start Transaction. The Start Transaction dialog box opens.&lt;br /&gt;&lt;br /&gt;3. Enter a meaningful name in the Name box.&lt;br /&gt;&lt;br /&gt;4. Decide where you want the transaction timing to begin. To insert a transaction before the current step, select Before current step and To insert a transaction after the current step, select After current step.&lt;br /&gt;&lt;br /&gt;5. Click OK. A Start Transaction step is added to the Keyword View.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Ending Transactions:&lt;/strong&gt; During the test run, the End Transaction signals the end of the time measurement. You define the end of a transaction in the End Transaction dialog box.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note: &lt;/strong&gt;There may be cases in which you want to instruct QuickTest to perform all the steps in a transaction, even though an error occurs during the run session. In the Run tab of the Test Settings dialog box (File &gt; Settings), select proceed to next step from the When error occurs during run session list.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;To end a transaction&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;1. Click the step where you want the transaction timing to end. The page opens in the Active Screen.&lt;br /&gt;&lt;br /&gt;2. Click the End Transaction button or choose Insert &gt; End Transaction. The End Transaction dialog box opens.&lt;br /&gt;&lt;br /&gt;3. The Name box contains a list of the transaction names you defined in the current test. Select the name of the transaction you want to end.&lt;br /&gt;&lt;br /&gt;4. Decide where to insert the end of the transaction. To insert a transaction before the current step, select Before current step and to insert a transaction after the current step, select After current step.&lt;br /&gt;&lt;br /&gt;5. Click OK. An End Transaction step is added to the Keyword View.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Also See:&lt;/span&gt; Other &lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;LoadRunner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-5406980107227516187?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5406980107227516187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5406980107227516187'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/11/measuring-transactions.html' title='Measuring Transactions'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-5708479674233438663</id><published>2008-11-29T08:02:00.000-08:00</published><updated>2009-10-05T10:50:04.700-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>Inserting and Running Tests in LoadRunner or Business Process Monitor</title><content type='html'>Before you insert and run your QuickTest test in LoadRunner or Business Process Monitor, you should consider the guidelines below.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Inserting and Running Tests in a LoadRunner Scenario: &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. You can run only one GUI Vuser concurrently per computer. (A GUI Vuser is a Vuser that runs a QuickTest test.)&lt;br /&gt;&lt;br /&gt;2. To insert a QuickTest test in a LoadRunner scenario, in the Controller Open Test dialog box, browse to the test folder and select Astra Tests in the Files of type box. This enables you to view QuickTest tests in the folder.&lt;br /&gt;&lt;br /&gt;3. Ensure that QuickTest is closed on the QuickTest computer before running a QuickTest test in LoadRunner.&lt;br /&gt;&lt;br /&gt;4. Transaction breakdown is not supported for tests (scripts) recorded with QuickTest.&lt;br /&gt;&lt;br /&gt;5. QuickTest cannot run on a computer that is logged off or locked. In these cases, consider running QuickTest on a terminal server or Make sure that the test is finished before starting to run another QuickTest test.&lt;br /&gt;&lt;br /&gt;6. The settings in the LoadRunner Run-time Settings dialog box are not relevant for QuickTest tests.&lt;br /&gt;&lt;br /&gt;7. You cannot use the ResultDir QuickTest environment variable when running a test in LoadRunner.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Inserting and Running Tests from Business Process Monitor:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. Before you try to run a QuickTest test in Business Process Monitor, check which versions of QuickTest are supported by your version of Business Process Monitor.&lt;br /&gt;&lt;br /&gt;2. Business Process Monitor can run only one QuickTest test at a time. Make sure that the previous QuickTest test is finished before starting to run another QuickTest test.&lt;br /&gt;&lt;br /&gt;3. Ensure that QuickTest is closed on the QuickTest computer before running a QuickTest test in Business Process Monitor.&lt;br /&gt;&lt;br /&gt;4. Transaction breakdown is not supported for tests recorded with QuickTest.&lt;br /&gt;If you make changes to your local copy of a QuickTest test after uploading it to Business Availability Center, you will need to upload the zipped test again to enable Business Process Monitor to run the test with your changes.&lt;br /&gt;&lt;br /&gt;5. QuickTest cannot run tests on a computer that is logged off, locked, or running QuickTest as a non-interactive service.&lt;br /&gt;&lt;br /&gt;6. You cannot use the ResultDir QuickTest environment variable when running a test in Business Process Monitor.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note: &lt;/strong&gt;You can simulate how the test will run from LoadRunner or Business Process Monitor by using Silent Test Runner.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Also See:&lt;/span&gt; Other &lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;Load Runner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-5708479674233438663?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5708479674233438663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/5708479674233438663'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/11/inserting-and-running-tests-in.html' title='Inserting and Running Tests in LoadRunner or Business Process Monitor'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-1981735939548866096</id><published>2008-11-29T07:59:00.000-08:00</published><updated>2009-08-08T00:42:01.054-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>QuickTest Tests for Use with LoadRunner or Business Process Monitor</title><content type='html'>&lt;strong&gt;QuickTest Tests for Use with LoadRunner or Business Process Monitor: &lt;/strong&gt;The QuickTest tests you use with LoadRunner or Business Process Monitor should be simple, designed to pinpoint specific operations, and should avoid using external actions and references to other external files (including resources stored in Quality Center). Also, when working with action iterations, corresponding StartTransaction and EndTransaction statements must be contained within the same action. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Designing Tests for LoadRunner:&lt;/strong&gt; Consider the following guidelines when designing tests for use with LoadRunner: &lt;br /&gt;&lt;br /&gt;1. Do not include references to external actions or other external resources (including resources stored in Quality Center), such as an external Data Table file, environment variable file, shared object repositories, function libraries, and so forth. This is because LoadRunner may not have access to the external action or resource. (However, if the resource can be found on the network, QuickTest will use it.)&lt;br /&gt;&lt;br /&gt;2. Every QuickTest test must contain at least one transaction to provide useful information in LoadRunner. &lt;br /&gt;&lt;br /&gt;3. Make sure that the last step(s) in the test closes the application being tested, as well as any child processes that are running. This enables the next iteration of the test to open the application again.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Designing Tests for Business Process Monitor: &lt;/strong&gt;Consider the following guidelines when designing tests for use with Business Process Monitor:&lt;br /&gt;&lt;br /&gt;1. Every QuickTest test must contain at least one transaction to provide useful information in Business Process Monitor.&lt;br /&gt;&lt;br /&gt;2. When measuring a distributed transaction over two different Business Process Monitor profiles, the profile with the StartDistributedTransaction statement must be run before the profile with the associated EndDistributedTransaction.&lt;br /&gt;&lt;br /&gt;3. When measuring distributed transactions, make sure that you relate the tests to a single Business Process Monitor instance. Business Process Monitor searches for the end transaction name in all instances, and may close the wrong distributed transaction if it is included in more than one instance.&lt;br /&gt;&lt;br /&gt;4. When measuring a distributed transaction over two Business Process Monitor profiles, make sure that the timeout value you specify is large enough so that the profile that contains the StartDistributedTransaction step and all the profiles that run before the profile that contains the EndDistributedTransaction step, will finish running in a time that is less than the value of the specified timeout.&lt;br /&gt;&lt;br /&gt;5. Business Process Monitor does not support running QuickTest Professional tests that require access to external resources, including resources stored in Quality Center (such as a shared object repository, function library, external Data Table, external actions, and so forth). Tests that require external resources may fail to run on Business Process Monitor. (However, if the resource can be found on the network, QuickTest will use it.)&lt;br /&gt;&lt;br /&gt;6. Make sure that the last step(s) in the test closes the application being tested, as well as any child processes that are running. This cleanup step enables the next test run to open the application again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-1981735939548866096?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1981735939548866096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/1981735939548866096'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/11/quicktest-tests-for-use-with-loadrunner.html' title='QuickTest Tests for Use with LoadRunner or Business Process Monitor'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-6410027403943710492</id><published>2008-11-29T07:51:00.000-08:00</published><updated>2009-10-05T10:50:50.230-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>Mercury Performance Testing and Business Availability Center Products</title><content type='html'>After you use QuickTest to create and run a suite of tests that test the functional capabilities of your application, you may want to test how much load your application can handle or to monitor your application as it runs.&lt;br /&gt;&lt;br /&gt;Mercury LoadRunner tests the performance of applications under controlled and peak load conditions. To generate load, LoadRunner runs hundreds or thousands of virtual users. These virtual users provide consistent, repeatable, and measurable load to exercise your application just as real users would.&lt;br /&gt;&lt;br /&gt;Mercury Business Availability Center enables real-time monitoring of the end user experience. Business Process Monitor runs virtual users to perform typical activities on the monitored application.&lt;br /&gt;&lt;br /&gt;If you have already created and perfected a test in QuickTest that is a good representation of your users' actions, you may be able to use your QuickTest test as the basis for performance testing and application management activities. You can use Silent Test Runner to check in advance that a QuickTest test will run correctly from LoadRunner and Business Process Monitor.&lt;br /&gt;&lt;br /&gt;QuickTest enables you to create complex tests that examine the full spectrum of your application's functionality to confirm that every element of your application works as expected in all situations.&lt;br /&gt;&lt;br /&gt;The run mechanisms used in all Mercury Performance Testing and Mercury Business Availability Center products are the same. This means that you can create tests that are compatible with LoadRunner and Business Process Monitor, enabling you to take advantage of tests or test segments that have already been designed and debugged in QuickTest.&lt;br /&gt;&lt;br /&gt;For example, you can add QuickTest tests to specific points in a LoadRunner scenario to confirm that the application's functionality is not affected by the extra load at those sensitive points. You can also run QuickTest tests on Business Process Monitor to simulate end user experience and ensure that your application is running correctly and in a timely manner.&lt;br /&gt;&lt;br /&gt;QuickTest also offers several features that are designed specifically for integration with LoadRunner and Business Process Monitor. However, since LoadRunner and Business Process Monitor are designed to run tests using virtual users representing many users simultaneously performing standard user operations, some QuickTest features may not be available when integrating these products with QuickTest.&lt;br /&gt;&lt;br /&gt;If you do plan to use a single test in both QuickTest and LoadRunner and/or Business Process Monitor, you should take into account the different options supported in each product as you design your test.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;QuickTest Performance Testing and Business Availability Center Features: &lt;/strong&gt;You can use the Services object and its associated methods to insert statements that are specifically relevant to Performance Testing and Business Availability Center. These include AddWastedTime, EndDistributedTransaction, EndTransaction, GetEnvironmentAttribute, LogMessage, Rendezvous, SetTransaction, SetTransactionStatus, StartDistributedTransaction, StartTransaction, ThinkTime, and UserDataPoint. For more information on these methods, refer to the Services section of the QuickTest Professional Object Model Reference and your LoadRunner or Business Availability Center documentation.&lt;br /&gt;&lt;br /&gt;You can also insert StartTransaction and EndTransaction statements using the Insert &gt; Start Transaction and Insert &gt; End Transaction menu options or toolbar buttons to insert the statement.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note: &lt;/strong&gt;LoadRunner and Business Process Monitor use only the data that is included within a transaction, and ignore any data in a test outside of a transaction.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Also See:&lt;/span&gt; Other &lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;LoadRunner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-6410027403943710492?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6410027403943710492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/6410027403943710492'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/11/mercury-performance-testing-and.html' title='Mercury Performance Testing and Business Availability Center Products'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-2178310182124359713</id><published>2008-11-29T06:59:00.000-08:00</published><updated>2009-11-01T09:11:19.131-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Director and Quality Center'/><title type='text'>BPT Methodology in QTP and Quality Center</title><content type='html'>Each scenario that the Subject Matter Expert creates is a business process test. A business process test is composed of a serial flow of components. Each component performs a specific task. A component can pass data to a subsequent component. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Understanding Components:&lt;/strong&gt; Components are easily-maintained reusable scripts that perform a specific task, and are the building blocks from which an effective business process testing structure can be produced. Components are parts of a business process that has been broken down into smaller parts. For example, in most applications users need to log in before they can do anything else. A Subject Matter Expert can create one component that represents the login procedure for an application. Each component can then be reused in different business process tests, resulting in easier maintenance, updating, and test management. &lt;br /&gt;&lt;br /&gt;Components are comprised of steps. For example, the login component's first step may be to open the application. Its second step could be entering a user name. Its third step could be entering a password, and its fourth step could be clicking the Enter button. &lt;br /&gt;&lt;br /&gt;You can create and edit components in QuickTest by adding steps on any supported environment, parameterizing selected items, and enhancing the component by incorporating functions (operations) that encapsulate the steps needed to perform a particular task. In Quality Center, a Subject Matter Expert creates components and combines them into business process tests, which are used to check that the application behaves as expected. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Creating Components in the Quality Center Business Components Module:&lt;/strong&gt;The Subject Matter Expert can create a new component and define it in the Quality Center Business Components module. The Business Component module includes the following:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Details:&lt;/strong&gt; Provides a general summary of the component's purpose or goals, and the condition of the application before and after a component is run (its pre-conditions and post-conditions).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Snapshot:&lt;/strong&gt; Displays an image that provides a visual cue or description of the component's purpose or operations.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Parameters:&lt;/strong&gt; Specifies the input and output component parameter values for the business component. Implementing and using parameters enables a component to receive data from an external source and to pass data to other components in the business process test flow.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Design Steps:&lt;/strong&gt; Enables you to create or view the manual steps of your business component, and to automate it if required.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Automation:&lt;/strong&gt; Displays or provides access to automated components. For keyword-driven components, enables you to create and modify the steps of your automated business component in a keyword-driven, table format, and provides a plain-language textual description of each step of the implemented component. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Used by:&lt;/strong&gt; Provides details about the business process tests that include the currently selected business component. The tab also includes a link to the relevant business process test in the Test Plan module.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Component Requests pane:&lt;/strong&gt; Enables you to handle new component requests that were generated in the Test Plan module. Component requests are requests to add a new business component to the project.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Implementing Components in &lt;strong&gt;QuickTest Professional&lt;/strong&gt;:&lt;/strong&gt; Generally, components are created by Subject Matter Experts in Quality Center, although they can also be created and debugged in QuickTest. &lt;br /&gt;&lt;br /&gt;In &lt;strong&gt;QuickTest&lt;/strong&gt;, you create components by recording steps on any supported environment or by adding steps manually (if the object repository is populated and the required operations are available). You can parameterize selected items. You can also view and set options specific to components. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;QuickTest &lt;/strong&gt;enables you to create and modify two types of components: business components and scripted components. A business component is an easily-maintained, reusable unit comprising one or more steps that perform a specific task. A scripted component is an automated component that can contain programming logic. Scripted components share functionality with both test actions and business components. For example, you can use the Keyword View, the Expert View, and other QuickTest tools and options to create, view, modify, and debug scripted components in QuickTest. Due to their complexity, scripted components can be edited only in QuickTest. (If needed, you can convert test actions to scripted components. For more information, click the Help button in the Action Conversion Tool window.) &lt;br /&gt;&lt;br /&gt;In &lt;strong&gt;Quality Center&lt;/strong&gt;, the Subject Matter Expert can open components created in QuickTest. The Subject Matter Expert can then view and edit business components, but can only view the details for scripted components.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Creating Business Process Tests in the &lt;strong&gt;Quality Center Test Plan Module&lt;/strong&gt;: &lt;/strong&gt;To create a business process test, the Subject Matter Expert selects (drags and drops) the components that apply to the business process test and configures their run settings. &lt;br /&gt;&lt;br /&gt;Note: When you run a business process test from &lt;strong&gt;Quality Center&lt;/strong&gt;, the test run may also be influenced by settings in the QuickTest Remote Agent.&lt;br /&gt;&lt;br /&gt;Each component can be used differently by different business process tests. For example, in each test the component can be configured to use different input parameter values or run a different number of iterations. &lt;br /&gt;&lt;br /&gt;If, while creating a business process test, the Subject Matter Expert realizes that a component has not been defined for an element that is necessary for the business process test, the Subject Matter Expert can submit a component request from the Test Plan module.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Running Business Process Tests and Analyzing the Results:&lt;/strong&gt; You can use the run and debug options in QuickTest to run and debug an individual component. &lt;br /&gt;&lt;br /&gt;You can debug a business process test by running the test from the Test Plan module in Quality Center. When you choose to run from this module, you can choose which components to run in debug mode. (This pauses the run at the beginning of a component.) &lt;br /&gt;&lt;br /&gt;When the business process test has been debugged and is ready for regular test runs, the Subject Matter Expert runs it from the Test Lab module similar to the way any other test is run in Quality Center. Before running the test, the Subject Matter Expert can define run-time parameter values and iterations using the Iterations column in the Test Lab module grid. &lt;br /&gt;&lt;br /&gt;From the Test Lab module, you can view the results of the entire business process test run. The results include the value of each parameter, and the results of individual steps reported by QuickTest. &lt;br /&gt;&lt;br /&gt;You can click the Open Report link to open the complete QuickTest report. The hierarchical report contains all the different iterations and components within the business process test run.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Understanding the Differences Between Components and Tests:&lt;/strong&gt; If you are already familiar with using QuickTest to create action-based tests, you will find that the procedures for creating and editing components are quite similar. However, due to the design and purpose of the component model, there are certain differences in the way you create, edit, and run components. The guidelines below provide an overview of these differences. &lt;br /&gt;&lt;br /&gt;- A component is a single entity. It cannot contain multiple actions or have calls to other actions or to other components.&lt;br /&gt;&lt;br /&gt;- When working with components, all external files are stored in the Quality Center project to which you are currently connected.&lt;br /&gt;&lt;br /&gt;- The name of the component node in the Keyword View is the same as the saved component. You cannot rename the node.&lt;br /&gt;&lt;br /&gt;- Business components are created in the Keyword View, not the Expert View.&lt;br /&gt;You add resources via the component's application area, and not directly to the component.&lt;br /&gt;&lt;br /&gt;- Components use custom keywords created in function libraries to perform operations, such as verifying property values and opening the application you are testing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-2178310182124359713?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2178310182124359713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2178310182124359713'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/11/bpt-methodology-in-qtp-and-quality.html' title='BPT Methodology in QTP and Quality Center'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-2009141764482861585</id><published>2008-11-29T06:49:00.000-08:00</published><updated>2009-11-01T09:11:40.380-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Director and Quality Center'/><title type='text'>Business Process Testing</title><content type='html'>The &lt;strong&gt;Business Process Testing &lt;/strong&gt;model is role-based, allowing non-technical Subject Matter Experts (working in &lt;strong&gt;Quality Center&lt;/strong&gt;) to collaborate effectively with Automation Engineers (working in QuickTest Professional). Subject Matter Experts define and document business processes, business components, and business process tests, while Automation Engineers define the required resources and settings, such as shared object repositories, function libraries, and recovery scenarios. Together, they can build, data-drive, document, and run &lt;strong&gt;business process tests&lt;/strong&gt;, without requiring programming knowledge on the part of the Subject Matter Expert.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; The role structure and the tasks performed by various roles in your organization may differ from those described here according to the methodology adopted by your organization. These roles are flexible and depend on the abilities and time resources of the personnel using Business Process Testing. For example, the tasks of the Subject Matter Expert and the Automation Engineer may be performed by the same person. There are no product-specific rules or limitations controlling which roles must be defined in a particular organization, or which types of users can do which Business Process Testing tasks (provided that the users have the correct permissions).&lt;br /&gt;&lt;br /&gt;The following user roles are identified in the Business Process Testing model: &lt;br /&gt;&lt;br /&gt;Subject Matter Expert. The Subject Matter Expert has specific knowledge of the application logic, a high-level understanding of the entire system, and a detailed understanding of the individual elements and tasks that are fundamental to the application being tested. This enables the Subject Matter Expert to determine the operating scenarios or business processes that must be tested and identify the key business activities that are common to multiple business processes. &lt;br /&gt;&lt;br /&gt;Using the Business Components module in &lt;strong&gt;Quality Center&lt;/strong&gt;, the Subject Matter Expert creates business components that describe the specific tasks that can be performed in the application, and the condition or state of the application before and after those tasks. The Subject Matter Expert then defines the individual steps for each business component comprising the business process in the form of manual, or non-automated steps. &lt;br /&gt;&lt;br /&gt;During the design phase, the Subject Matter Expert works with the Automation Engineer to identify the resources and settings needed to automate the components, enabling the Automation Engineer to prepare them. When the resources and settings are ready, the Subject Matter Expert automates the manual steps by converting them to keyword-driven components. Part of this process entails choosing an application area for each component. The application area contains all of the required resource files and settings that are specific to a particular area of the application being tested. Associating each component with an application area enables the component to access these resources and settings. &lt;br /&gt;&lt;br /&gt;Using the Quality Center Test Plan module, the Subject Matter Expert combines the business components into business process tests, composed of a serial flow of the components. For example, most applications require users to log in before they can access any of the application functionality. The Subject Matter Expert could create one business component that represents this login procedure. This component procedure can be used in many business process tests, resulting in easier and more cost-efficient maintenance, updating, and test management. &lt;br /&gt;&lt;br /&gt;The Subject Matter Expert configures the values used for business process tests, runs them in test sets, and reviews the results. The Subject Matter Expert is also responsible for maintaining the testing steps for each of the individual business components. &lt;br /&gt;&lt;br /&gt;While defining components, Subject Matter Experts continue collaborating with the Automation Engineer. For example, they may request new operations (functions) for a component or discuss future changes planned for the component.&lt;br /&gt;&lt;br /&gt;Automation Engineer. The Automation Engineer is an expert in using an automated testing tool, such as &lt;strong&gt;QuickTest Professional&lt;/strong&gt;. The Automation Engineer works with the Subject Matter Expert to identify the resources that are needed for the various business process tests.&lt;br /&gt;&lt;br /&gt;The Automation Engineer then prepares the resources and settings required for testing the features associated with each specific component, and stores them in an application area within the same &lt;strong&gt;Quality Center&lt;/strong&gt; project used by the Subject Matter Experts who create and run the business process tests for the specific application.&lt;br /&gt;&lt;br /&gt;Each application area serves as a single entity in which to store all of the resources and settings required for a component, providing a single point of maintenance for all elements associated with the testing of a specific part of an application. Application areas generally include one or more shared object repositories, a list of keywords that are available for use with a component, function libraries containing automated functions (operations), recovery scenarios for failed steps, and other resources and settings that are needed for a component to run correctly. Components are linked to the resources and settings in the application area. Therefore, when changes are made in the application area, all associated components are automatically updated.&lt;br /&gt;&lt;br /&gt;The Automation Engineer uses &lt;strong&gt;QuickTest &lt;/strong&gt;features and functionality to create these resources from within &lt;strong&gt;QuickTest&lt;/strong&gt;. For example, in QuickTest, the Automation Engineer can create and populate various object repositories with test objects that represent the different objects in the application being tested, even before the application is fully developed. The Automation Engineer can then add repository parameters, and so forth, as needed. The Automation Engineer can manage the various object repositories using the Object Repository Manager, and merge repositories using the Object Repository Merge Tool. Automation Engineers can also use QuickTest to create and debug function libraries containing functions that use programming logic to encapsulate the steps needed to perform a particular task.&lt;br /&gt;&lt;br /&gt;Using the resources created by the Automation Engineer, the Subject Matter Experts can automate component steps, and create and maintain components and business process tests.&lt;br /&gt;&lt;br /&gt;Automation Engineers can also create, debug, and modify components in QuickTest, if required.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-2009141764482861585?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2009141764482861585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2009141764482861585'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/11/business-process-testing.html' title='Business Process Testing'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAAAAWA/1XlJai1L9uM/s220/puneet_kalra.PNG'/></author></entry><entry><id>tag:blogger.com,1999:blog-1020744786956020830.post-2549575111650404374</id><published>2008-11-22T18:32:00.000-08:00</published><updated>2009-10-05T10:51:32.700-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LoadRunner'/><title type='text'>Mercury LoadRunner and Citrix</title><content type='html'>Mercury Interactive (Mercury) is the leading provider of enterprise testing and performance management. Citrix and Mercury have teamed to jointly develop the first native performance testing and monitoring solution for Citrix-deployed applications.&lt;br /&gt;&lt;br /&gt;Mercury’s industry standard load testing product LoadRunner, and application performance management product Topaz, have both been customized to support Citrix environments. This means that customers can now accurately test and monitor their Citrix-based systems before and after deployment to ensure high performance, scalability and availability.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;LoadRunner for Citrix Solution&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;LoadRunner works by emulating hundreds or thousands of ICA clients with just a handful of machines to create a scalable MetaFrame XP load testing solution. Up to 100 connections can be made from a single workstation (dependent on machine hardware) using the LoadRunner for Citrix integration. Sessions are initiated and workflow scripts are executed on client machines; simulating real life scenarios and generating realistic network and resource loads. Since scripts controlling user sessions are executed on the client machines, no additional overhead is placed on the MetaFrame XP servers eliminating the potential inaccuracies that are inherent when testing with the CTSK.&lt;br /&gt;&lt;br /&gt;The virtual users are created using a recording technology that captures the ICA traffic between the client and server into a high level, easy to read, maintainable test script. These scripts can be easily modified to represent real users with their own sets of data and replay speeds. By licensing key Citrix technology, LoadRunner’s virtual users generate exactly the same traffic as the ICA client and “fool” the system into believing it is under the load of real production users.&lt;br /&gt;&lt;br /&gt;By measuring the end-to-end response time of user transactions, LoadRunner helps identify performance problems from the end users perspective. Using a suite of real-time performance monitors that measure the system performance across all the tiers, LoadRunner can also help isolate these problems wherever they lie in the system. Finally, all the test scripts created in pre-deployment load testing with LoadRunner can be reused as-is in Topaz for performance monitoring once the application goes live.&lt;br /&gt;&lt;br /&gt;As with all testing strategies, tests are only as accurate at the workflows utilized to emulate real life scenarios. For example, scripts that emulate users running a word processing program for typing and saving of files may not produce accurate results if printing is usually performed but not incorporated into the script’s workflow. Thus, when developing virtual user scripts, it is important that the scripts replicate the actions of real users to obtain accurate results.&lt;br /&gt;&lt;br /&gt;Client machines running LoadRunner virtual users can emulate real users accessing the Citrix MetaFrame XP farm and backend resources. All scripts are run from the client machines, eliminating any server side overhead producing realistic measurements. A LoadRunner Controller is used to administer the test and aggregate performance measurements.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Also See:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="font-weight: bold; color: rgb(0, 0, 153);"&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/citrix-ica-client-integration-with.html" slrnp="0" ljfbq="1"&gt;Citrix ICA Client Integration with LoadRunner&lt;/a&gt;&lt;/li&gt;&lt;li style="font-weight: bold; color: rgb(0, 0, 153);"&gt;&lt;a href="http://www.softwaretestingstuff.com/2008/11/citrix-load-testing-challenges.html" slrnp="0" ljfbq="1"&gt;Citrix Load Testing Challenges&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwaretestingstuff.com/2009/10/important-loadrunner-tutorials.html"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;Other Load Runner Tutorials&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1020744786956020830-2549575111650404374?l=www.softwaretestingstuff.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.softwaretestingstuff.com/feeds/2549575111650404374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.softwaretestingstuff.com/2008/11/mercury-loadrunner-and-citrix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2549575111650404374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1020744786956020830/posts/default/2549575111650404374'/><link rel='alternate' type='text/html' href='http://www.softwaretestingstuff.com/2008/11/mercury-loadrunner-and-citrix.html' title='Mercury LoadRunner and Citrix'/><author><name>.</name><uri>http://www.blogger.com/profile/11295088633938021751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-yztb1lI9btQ/Tez5qE1NyHI/AAAAAAA
