<?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:blogger='http://schemas.google.com/blogger/2008' 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-8291059916253528224</id><updated>2025-05-01T23:19:51.707-07:00</updated><category term="HP QTP Best Practices"/><category term="HP QTP"/><category term="QTP Checkpoint"/><category term="QTP Tutorial"/><category term="Reliability"/><category term="requirement"/><category term="Active Screen"/><category term="Advance Technology"/><category term="Agile testing"/><category term="Automation Framework"/><category term="BCI"/><category term="Estimation"/><category term="QTP Action"/><category term="QTP Function"/><category term="QTP XML"/><category term="Test Driven Development"/><category term="debugging"/><category term="design"/><category term="prevention"/><category term="$g_database_name"/><category term="1NF"/><category term="2NF"/><category term="3NF"/><category term="AI"/><category term="AIinSoftware"/><category term="ANSI Style"/><category term="ATC Template"/><category term="Accessibility Checkpoint"/><category term="Action"/><category term="Action Parameter"/><category term="Aggregare Function"/><category term="Agile Nature"/><category term="Agile Reporting"/><category term="Agility"/><category term="Alter Table"/><category term="Analog Recording"/><category term="Arithmetic Operator"/><category term="Artificial Intelligence"/><category term="Associate Repository"/><category term="Automation"/><category term="Between Operator"/><category term="Bitmap Checkpoint"/><category term="Blockchain"/><category term="Brain Computer Interface"/><category term="Brain Control"/><category term="Breakpoint"/><category term="Business Component"/><category term="Business Layer"/><category term="Capability"/><category term="Challenges"/><category term="Check Constraint"/><category term="ChildObject"/><category term="Codds Rule"/><category term="Complexity and Testing"/><category term="Correlated Subquery"/><category term="Coverage Testing"/><category term="Craftsmanship to engineering"/><category term="Create Table"/><category term="Customer"/><category term="DBMS"/><category term="DCL"/><category term="DDL"/><category term="DML"/><category term="DQL"/><category term="DUAL function"/><category term="Data Constraint"/><category term="Data Driver"/><category term="Database Checkpoint"/><category term="Database Concept"/><category term="Database Layer"/><category term="Date Function"/><category term="Debug"/><category term="Debug from Step"/><category term="Default Value"/><category term="Defect Assignment"/><category term="Defect Closure"/><category term="Defect Life Cycle"/><category term="Defect Management Tool"/><category term="Defect Reporting"/><category term="Defects"/><category term="Delete"/><category term="Delete QTP Action"/><category term="Delete Table"/><category term="Delgado"/><category term="Delphi"/><category term="Describe Table"/><category term="Difference Between Primary Key and Foreign Key"/><category term="Drop Table"/><category term="Email Configuration"/><category term="Environment Variable"/><category term="Equi Join"/><category term="Estimation Risk"/><category term="EthicsInTech"/><category term="Export QTP Test"/><category term="Extensibility Accelerator"/><category term="FP"/><category term="Feature Point"/><category term="Foreign Key"/><category term="Free Automation"/><category term="Function Generator"/><category term="Function Point"/><category term="GROUP BY"/><category term="HP QTP Tutorial"/><category term="Having"/><category term="HumanExpertise"/><category term="IN Predicate"/><category term="INTERSECT Clause"/><category term="ITC Template"/><category term="Inner Join"/><category term="Insert Table"/><category term="Integration Testing"/><category term="Internet of thoughts"/><category term="IoT"/><category term="Left Join"/><category term="Like Predicate"/><category term="Line of Code"/><category term="Link"/><category term="Logical Operator"/><category term="Low Level Recording"/><category term="MINUS Clause"/><category term="Mantis Email Configuration"/><category term="Mantis Installation"/><category term="Metrics"/><category term="Mind Control"/><category term="Nested Query"/><category term="Normalization"/><category term="Not Null Constraint"/><category term="OR Manager"/><category term="Object Identification"/><category term="Object Repository"/><category term="Object Spy"/><category term="Open Source"/><category term="Optional Steps in QTP"/><category term="Options"/><category term="Oracle Constraint"/><category term="Oracle Operation"/><category term="PERT"/><category term="Page Checkpoint"/><category term="Pause"/><category term="Performance Testing"/><category term="Pixel Ruler"/><category term="Presentation Layer"/><category term="Primary Key"/><category term="Priority List"/><category term="Productivity"/><category term="Project Creation"/><category term="QC Connection"/><category term="QTP Addins"/><category term="QTP Advance Commands"/><category term="QTP Database Output"/><category term="QTP Datatable"/><category term="QTP Debugging"/><category term="QTP Edit"/><category term="QTP Environment Variables"/><category term="QTP Framework"/><category term="QTP Function Library"/><category term="QTP Insert Commands"/><category term="QTP Insert Menu Command"/><category term="QTP New Test"/><category term="QTP Object Property"/><category term="QTP Output"/><category term="QTP Parameter"/><category term="QTP Record &amp; Run"/><category term="QTP Resources"/><category term="QTP Result"/><category term="QTP Run Option"/><category term="QTP Settings"/><category term="QTP Settings Best Practices"/><category term="QTP Split Action"/><category term="QTP Start Transaction"/><category term="QTP Text Output"/><category term="QTP TextArea Output"/><category term="QTP Toolbars"/><category term="QTP XML Output"/><category term="Quality"/><category term="Quality Management"/><category term="Quality vs Cost"/><category term="Quantum Computing"/><category term="RDMS"/><category term="Rational Quality Management Solutions"/><category term="Record and Run Settings"/><category term="Recovery Scenario"/><category term="Report"/><category term="Repository Parameter"/><category term="Reusable Function"/><category term="Right Join"/><category term="Risk Based Testing"/><category term="Run"/><category term="Run Options"/><category term="Run to Step"/><category term="SQL Commands"/><category term="SQL Query"/><category term="SaaS"/><category term="Scalar Function"/><category term="Security"/><category term="Selenium"/><category term="Self Join"/><category term="Shop Online"/><category term="Software Books"/><category term="Software Development"/><category term="Software Testing"/><category term="SoftwareDevelopment"/><category term="SoftwareTesting"/><category term="Solution"/><category term="Source Code"/><category term="Standard Checkpoint"/><category term="Standard Output"/><category term="Step Into"/><category term="Step Over"/><category term="Stimoceiver"/><category term="Stop Testing"/><category term="Subquery"/><category term="Synchronization Point"/><category term="TAW-it"/><category term="THETA Style"/><category term="Table Checkpoint"/><category term="Test Automation"/><category term="Test Estimation Template"/><category term="Test Factor Matrix"/><category term="Test First Then Code"/><category term="Test Lab"/><category term="Test Plan"/><category term="Test Plan Template"/><category term="Test Set"/><category term="Test Strategy"/><category term="TestProject"/><category term="Tester Database Knowledge"/><category term="Testing Books"/><category term="Testing Certification"/><category term="Testing Expert"/><category term="Testing Practices"/><category term="Testing issues"/><category term="TestingWithAI"/><category term="Text Area Checkpoint"/><category term="Text Checkpoint"/><category term="Tools"/><category term="Truncate"/><category term="Truncate Table"/><category term="UAT"/><category term="UNION Clause"/><category term="UTC Template"/><category term="Unique Key"/><category term="Unit Testing"/><category term="Update Table"/><category term="Usability"/><category term="VBScript"/><category term="Validation"/><category term="Verification"/><category term="Virtual Object"/><category term="Watch Window"/><category term="Web Developer"/><category term="Web Event Recording"/><category term="Website Testing Tool"/><category term="Whitepaper"/><category term="Wide Band Delphi"/><category term="Workshop for HP Mercury QTP"/><category term="XML Checkpoint"/><category term="XML File"/><category term="XP Framework"/><category term="blackbox"/><category term="brain implant"/><category term="budget"/><category term="correctness"/><category term="free ebook"/><category term="free stuff"/><category term="makeuseof"/><category term="mood loop"/><category term="mood ring"/><category term="program"/><category term="tartube"/><category term="testing cost"/><category term="testing history"/><category term="time and quality"/><category term="video download"/><category term="whitebox"/><category term="youtube download"/><title type='text'>Technovation By SKS</title><subtitle type='html'>This blog contain my views on latest technology trends in the area of AI, Software Testing, Security &amp;amp; Data Analysis</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/posts/full'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/full'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/full?start-index=26&amp;max-results=25'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>53</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-4082561114883555274</id><published>2023-04-28T09:43:00.003-07:00</published><updated>2023-04-28T09:43:48.380-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="SoftwareTesting"/><category scheme="http://www.blogger.com/atom/ns#" term="TestingWithAI"/><title type='text'>Revolutionize software testing with AI! 🤖💻 Share your thoughts on ethical implications in the comments. </title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://media.licdn.com/dms/image/D4E12AQFsoJbMxd4AkQ/article-cover_image-shrink_423_752/0/1679955668869?e=1687996800&amp;amp;v=beta&amp;amp;t=pDsj_KE44AzR4SRaM61uJC1XSVTN28ObcYL44w5XbTc&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;384&quot; data-original-width=&quot;512&quot; height=&quot;384&quot; src=&quot;https://media.licdn.com/dms/image/D4E12AQFsoJbMxd4AkQ/article-cover_image-shrink_423_752/0/1679955668869?e=1687996800&amp;amp;v=beta&amp;amp;t=pDsj_KE44AzR4SRaM61uJC1XSVTN28ObcYL44w5XbTc&quot; width=&quot;512&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: var(--font-size-large);&quot;&gt;As technology evolves, so too does the field of software testing. One exciting development in recent years is the use of AI (Artificial Intelligence) to automate repetitive tasks and improve testing accuracy.&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;reader-text-block__paragraph&quot; style=&quot;--artdeco-reset-typography_getfontsize: 1.6rem; --artdeco-reset-typography_getlineheight: 1.5; background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: var(--font-size-large); line-height: 1.75; margin: 1.6rem 0px; padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);&quot;&gt;Through analyzing large amounts of data and identifying patterns, AI can help identify potential defects or vulnerabilities in software. AI-powered tools can also generate test cases and scenarios by simulating user behavior and input, allowing for more efficient and effective testing.&lt;/p&gt;&lt;p class=&quot;reader-text-block__paragraph&quot; style=&quot;--artdeco-reset-typography_getfontsize: 1.6rem; --artdeco-reset-typography_getlineheight: 1.5; background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: var(--font-size-large); line-height: 1.75; margin: 1.6rem 0px; padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);&quot;&gt;In addition, machine learning algorithms can analyze and learn from past testing data, leading to better predictions and more streamlined testing. AI-powered tools can also help identify and prioritize critical bugs and defects, saving valuable time and effort in manual testing.&lt;/p&gt;&lt;p class=&quot;reader-text-block__paragraph&quot; style=&quot;--artdeco-reset-typography_getfontsize: 1.6rem; --artdeco-reset-typography_getlineheight: 1.5; background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: var(--font-size-large); line-height: 1.75; margin: 1.6rem 0px; padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);&quot;&gt;But it&#39;s important to note that AI-powered testing is not a replacement for human testers. While AI can automate certain tasks and help identify potential issues, it&#39;s still necessary for human testers to provide a qualitative analysis of the software under test.&lt;/p&gt;&lt;p class=&quot;reader-text-block__paragraph&quot; style=&quot;--artdeco-reset-typography_getfontsize: 1.6rem; --artdeco-reset-typography_getlineheight: 1.5; background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: var(--font-size-large); line-height: 1.75; margin: 1.6rem 0px; padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);&quot;&gt;The use of AI in software testing also raises concerns around the reliability and security of AI-powered tools, as well as the potential for bias in testing results. It&#39;s important for those implementing AI-powered testing to take ethical considerations into account, such as ensuring user data is not being misused or compromised during testing.&lt;/p&gt;&lt;p class=&quot;reader-text-block__paragraph&quot; style=&quot;--artdeco-reset-typography_getfontsize: 1.6rem; --artdeco-reset-typography_getlineheight: 1.5; background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: var(--font-size-large); line-height: 1.75; margin: 1.6rem 0px; padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);&quot;&gt;Implementing AI-powered testing requires a high degree of technical expertise and specialized training, but the benefits can be significant. It&#39;s important to approach the implementation of AI-powered testing with caution and care, but the potential for improved testing efficiency and accuracy is exciting.&lt;/p&gt;&lt;p class=&quot;reader-text-block__paragraph&quot; style=&quot;--artdeco-reset-typography_getfontsize: 1.6rem; --artdeco-reset-typography_getlineheight: 1.5; background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: var(--font-size-large); line-height: 1.75; margin: 1.6rem 0px; padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);&quot;&gt;Overall, the use of AI in software testing is an exciting development that has the potential to revolutionize the way we approach testing. By embracing new technologies and staying up-to-date on the latest developments, we can improve our testing methods and ensure software is of the highest quality.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/4082561114883555274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/4082561114883555274?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/4082561114883555274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/4082561114883555274'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2023/04/revolutionize-software-testing-with-ai.html' title='Revolutionize software testing with AI! 🤖💻 Share your thoughts on ethical implications in the comments. '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-7832691668051699367</id><published>2023-04-28T09:32:00.004-07:00</published><updated>2023-04-28T09:32:47.616-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AIinSoftware"/><category scheme="http://www.blogger.com/atom/ns#" term="EthicsInTech"/><category scheme="http://www.blogger.com/atom/ns#" term="HumanExpertise"/><category scheme="http://www.blogger.com/atom/ns#" term="SoftwareDevelopment"/><title type='text'> Is AI taking over your job in software development and testing? 😱&quot;</title><content type='html'>&lt;p&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;Are you a software developer or tester feeling threatened by the rise of AI in your industry? 😰 You&#39;re not alone. Many professionals in the field are concerned about the potential consequences of AI&#39;s integration into software development and testing.&lt;/span&gt;&lt;/p&gt;&lt;br style=&quot;background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;While some experts believe that AI can bring significant benefits to the industry, others worry that it could replace human expertise altogether. 🤔 AI algorithms can analyze massive amounts of data and automate many tasks, but they cannot replace the critical thinking and creativity of human beings. Additionally, there are ethical concerns associated with the use of AI in software development and testing.&lt;/span&gt;&lt;br style=&quot;background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;&quot; /&gt;&lt;br style=&quot;background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;So, what can you do to ensure that you&#39;re not replaced by AI in your job? 💪 First, it&#39;s essential to recognize that AI is not a replacement for human expertise but rather a tool to augment it. Therefore, it&#39;s essential to learn how to work with AI-powered systems to increase your efficiency and productivity. Additionally, it&#39;s vital to stay up-to-date with the latest developments in AI and software development to remain competitive in the industry. 🔍&lt;/span&gt;&lt;br style=&quot;background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;&quot; /&gt;&lt;br style=&quot;background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;In conclusion, the rise of AI in software development and testing can be both a blessing and a curse. However, as a software developer or tester, you have the power to ensure that AI is used ethically and responsibly and that your expertise is not rendered obsolete. 💻 So, don&#39;t panic, but rather embrace the change and learn how to work alongside AI to ensure your continued success in the industry. 💪&lt;/span&gt;&lt;br style=&quot;background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;&quot; /&gt;&lt;br style=&quot;background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;&quot; /&gt;&lt;a data-attribute-index=&quot;0&quot; href=&quot;https://www.linkedin.com/feed/hashtag/?keywords=aiinsoftware&amp;amp;highlightedUpdateUrns=urn%3Ali%3Aactivity%3A7052403461518163969&quot; style=&quot;background-color: white; border: var(--artdeco-reset-link-border-zero); box-sizing: inherit; font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; font-weight: var(--font-weight-bold); line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); overflow-wrap: normal; padding: var(--artdeco-reset-base-padding-zero); position: relative; text-decoration: var(--artdeco-reset-link-text-decoration-none); touch-action: manipulation; vertical-align: var(--artdeco-reset-base-vertical-align-baseline); word-break: normal;&quot;&gt;#AIinSoftware&lt;/a&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a data-attribute-index=&quot;1&quot; href=&quot;https://www.linkedin.com/feed/hashtag/?keywords=humanexpertise&amp;amp;highlightedUpdateUrns=urn%3Ali%3Aactivity%3A7052403461518163969&quot; style=&quot;background-color: white; border: var(--artdeco-reset-link-border-zero); box-sizing: inherit; font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; font-weight: var(--font-weight-bold); line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); overflow-wrap: normal; padding: var(--artdeco-reset-base-padding-zero); position: relative; text-decoration: var(--artdeco-reset-link-text-decoration-none); touch-action: manipulation; vertical-align: var(--artdeco-reset-base-vertical-align-baseline); word-break: normal;&quot;&gt;#HumanExpertise&lt;/a&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a data-attribute-index=&quot;2&quot; href=&quot;https://www.linkedin.com/feed/hashtag/?keywords=ethicsintech&amp;amp;highlightedUpdateUrns=urn%3Ali%3Aactivity%3A7052403461518163969&quot; style=&quot;background-color: white; border: var(--artdeco-reset-link-border-zero); box-sizing: inherit; font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; font-weight: var(--font-weight-bold); line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); overflow-wrap: normal; padding: var(--artdeco-reset-base-padding-zero); position: relative; text-decoration: var(--artdeco-reset-link-text-decoration-none); touch-action: manipulation; vertical-align: var(--artdeco-reset-base-vertical-align-baseline); word-break: normal;&quot;&gt;#EthicsInTech&lt;/a&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a data-attribute-index=&quot;3&quot; href=&quot;https://www.linkedin.com/feed/hashtag/?keywords=softwaredevelopment&amp;amp;highlightedUpdateUrns=urn%3Ali%3Aactivity%3A7052403461518163969&quot; style=&quot;background-color: white; border: var(--artdeco-reset-link-border-zero); box-sizing: inherit; font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; font-weight: var(--font-weight-bold); line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); overflow-wrap: normal; padding: var(--artdeco-reset-base-padding-zero); position: relative; text-decoration: var(--artdeco-reset-link-text-decoration-none); touch-action: manipulation; vertical-align: var(--artdeco-reset-base-vertical-align-baseline); word-break: normal;&quot;&gt;#SoftwareDevelopment&lt;/a&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;&amp;nbsp;🤖💻👨‍💼🌍&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/7832691668051699367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/7832691668051699367?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/7832691668051699367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/7832691668051699367'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2023/04/is-ai-taking-over-your-job-in-software.html' title=' Is AI taking over your job in software development and testing? 😱&quot;'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-1515240152360683071</id><published>2020-09-19T12:16:00.001-07:00</published><updated>2020-09-19T12:16:16.887-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="free ebook"/><category scheme="http://www.blogger.com/atom/ns#" term="free stuff"/><category scheme="http://www.blogger.com/atom/ns#" term="makeuseof"/><title type='text'>Make use of free tech stuff, ebook  and tutorial at Makeuseof.com</title><content type='html'>&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisE1DtF2ilG5ZVuwMQEwY2xjT2iEy-9TwdZ0ogW9ZaMIPSCAitmPu_AgbjqLukRZdHpnhBPupv96_VhkKy9UDXtdpJyFoewsOyJH4szyEiRmwW2kUKRGswPvUo9pT5HX-ql8pfHgpYXu57/s1078/makeuseof.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;381&quot; data-original-width=&quot;1078&quot; height=&quot;226&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisE1DtF2ilG5ZVuwMQEwY2xjT2iEy-9TwdZ0ogW9ZaMIPSCAitmPu_AgbjqLukRZdHpnhBPupv96_VhkKy9UDXtdpJyFoewsOyJH4szyEiRmwW2kUKRGswPvUo9pT5HX-ql8pfHgpYXu57/w640-h226/makeuseof.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;I came across a great website which is one of the leading tech news and advice website. The site offers easy to use tips, tricks, and techniques to make maximum use of your devices – a PC, a laptop, mobile, or a tablet. The site has a section of Free Stuff, which provides you following free items.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1.&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;Free Ebooks&lt;/div&gt;&lt;div&gt;2.&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;Giveaways&lt;/div&gt;&lt;div&gt;3.&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;Tops Lists&lt;/div&gt;&lt;div&gt;4.&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;Free Cheatsheet&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The videos sections list videos on hardware reviews and tips &amp;amp; tricks. The videos are worth watching. My favorite video is “10 eBay SCAMS You Should Know About!” under the Tips and Tricks section.&lt;/div&gt;&lt;div&gt;I hope you will find the site helpful for your tech need and any useful tips to make your life easy.&amp;nbsp;&lt;/div&gt;&lt;div&gt;I got a deal on The Complete 2020 CompTIA Certification Training Bundle at just 60$ instead of the original price of 3,486$. If you want to start a career in Cybersecurity, you can also avail the above offer at &lt;a href=&quot;https://stacksocial.com/sales/comptia-linux-bundle?aid=a-rmfxc9l6&quot;&gt;https://stacksocial.com/sales/comptia-linux-bundle?aid=a-rmfxc9l6&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/1515240152360683071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/1515240152360683071?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/1515240152360683071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/1515240152360683071'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2020/09/make-use-of-free-tech-stuff-ebook-and.html' title='Make use of free tech stuff, ebook  and tutorial at Makeuseof.com'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisE1DtF2ilG5ZVuwMQEwY2xjT2iEy-9TwdZ0ogW9ZaMIPSCAitmPu_AgbjqLukRZdHpnhBPupv96_VhkKy9UDXtdpJyFoewsOyJH4szyEiRmwW2kUKRGswPvUo9pT5HX-ql8pfHgpYXu57/s72-w640-h226-c/makeuseof.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-7909071208563494103</id><published>2020-05-15T08:52:00.001-07:00</published><updated>2020-05-15T08:52:59.607-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="tartube"/><category scheme="http://www.blogger.com/atom/ns#" term="video download"/><category scheme="http://www.blogger.com/atom/ns#" term="youtube download"/><title type='text'>How to download Youtube videos free of charge? 🌝🌝🌝📹📹</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;img alt=&quot;Tartube&quot; border=&quot;0&quot; data-original-height=&quot;709&quot; data-original-width=&quot;834&quot; height=&quot;544&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipSC1jqw0JNR0xuyQgLokMrG0pYgw2zOAMnLMV_2uEryNGfrOHA-E9vXQQHBfA-yW27VlXwZva5-exxLDjop2jttuAuAt5v1CEgOqbfPHts05msfRgcflSRNv3gwKTAyNrfJb0m1ddb-r2/s640/tartube.png&quot; title=&quot;Tartube&quot; width=&quot;640&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
You always wish to download your favourite videos from youtube and found it very cumbersome. But not anymore.&amp;nbsp; In this article, I am happy to share about Tartube 2. A tool which is free to download as a window desktop app. Tartube is a wonderful tool using which you can:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;/div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;You can download single videos, and even full channels contents including playlists, from YouTube and hundreds of other websites (see &lt;a href=&quot;https://ytdl-org.github.io/youtube-dl/supportedsites.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;here &lt;/a&gt;for a full list)&lt;/li&gt;
&lt;li&gt;You can fetch information about those videos, channels and playlists, without actually downloading anything&lt;/li&gt;
&lt;li&gt;Tartube will organise your videos into convenient folders (if that&#39;s what you want)&lt;/li&gt;
&lt;li&gt;Tartube can alert you when livestreams are starting (YouTube only)&lt;/li&gt;
&lt;li&gt;If creators upload their videos to more than one website (YouTube and BitChute, for example), you can download videos from both sites without creating duplicates&lt;/li&gt;
&lt;li&gt;Certain popular websites manipulate search results, repeatedly unsubscribe people from their favourite channels and/or deliberately conceal videos that they don&#39;t like. Tartube won&#39;t do any of those things&lt;/li&gt;
&lt;li&gt;Tartube can, in some circumstances, see videos that are region-blocked and/or age-restricted&lt;/li&gt;
&lt;li&gt;Tartube is a free and open-source software&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
You can download the tool by following this&amp;nbsp;👉 &lt;a href=&quot;https://bit.ly/techBlog_tartube&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
If you like this article, please feel free to share with others.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/7909071208563494103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/7909071208563494103?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/7909071208563494103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/7909071208563494103'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2020/05/how-to-download-youtube-videos-free-of.html' title='How to download Youtube videos free of charge? 🌝🌝🌝📹📹'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipSC1jqw0JNR0xuyQgLokMrG0pYgw2zOAMnLMV_2uEryNGfrOHA-E9vXQQHBfA-yW27VlXwZva5-exxLDjop2jttuAuAt5v1CEgOqbfPHts05msfRgcflSRNv3gwKTAyNrfJb0m1ddb-r2/s72-c/tartube.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-4918619861848433323</id><published>2020-03-28T07:00:00.000-07:00</published><updated>2020-03-28T07:00:09.652-07:00</updated><title type='text'>Announcement of newly launched news reader</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://365newsx.com/in/images/logo_new.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;55&quot; data-original-width=&quot;211&quot; src=&quot;https://365newsx.com/in/images/logo_new.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 14.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 14.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 14.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;Dear Readers/Partners,&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;Happy to announce the launch
of &lt;a href=&quot;https://bit.ly/365newsxIn&quot;&gt;India &lt;/a&gt;and &lt;a href=&quot;http://bit.ly/365newsxRU&quot;&gt;Russia &lt;/a&gt;locale (in the Russian language) of &lt;b&gt;365NEWSX.&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;All news related to India and
Russia is aggregated from 500+ news sources, processed using TextRank and
Sentiment AI algorithm so that we can bring the best of the best news and save
your reading time. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;You can:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ol start=&quot;1&quot; type=&quot;1&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;Read your favourite news &lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;u&gt;under 60 secs&lt;/u&gt;&lt;/i&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;Read-&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;u&gt;only important parts&lt;/u&gt;&lt;/i&gt; of a long news article&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;Take full &lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;u&gt;control of your privacy&lt;/u&gt;&lt;/i&gt; and
     interests&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;Browse &lt;a href=&quot;https://bit.ly/365newsxIn&quot;&gt;India &lt;/a&gt;news under most popular
     category:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ol start=&quot;1&quot; type=&quot;1&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level2 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;http://bit.ly/IndiaPol&quot;&gt;Politics&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level2 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;http://bit.ly/technewsIndia&quot;&gt;Technology&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level2 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;http://bit.ly/indianScience&quot;&gt;Science&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level2 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;http://bit.ly/healthInd&quot;&gt;Health&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level2 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;http://bit.ly/entIndia&quot;&gt;Entertainment&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: red; line-height: normal; mso-list: l0 level2 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;https://bit.ly/Covid19news&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;COVID-19&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;Browse &lt;a href=&quot;http://bit.ly/365newsxRU&quot;&gt;Russian&lt;/a&gt; news under most popular
     category:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ol start=&quot;1&quot; type=&quot;1&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level2 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;http://bit.ly/russiaPol&quot;&gt;Politics&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level2 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;http://bit.ly/RussTech&quot;&gt;Technology&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level2 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;http://bit.ly/russcience&quot;&gt;Science&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level2 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;http://bit.ly/russhealth&quot;&gt;Health&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level2 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;http://bit.ly/rusentertain&quot;&gt;Entertainment&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: red; line-height: normal; mso-list: l0 level2 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;https://bit.ly/Covid-19Russia&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;COVID-19&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;Please share this good&amp;nbsp;news with your
channels/friends/family/community.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;More locale coming soon &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;- #Australia #Canada #Germany #France&lt;/b&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;Subscribe to our newsletter at: &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;https://www.365newsx.com/us/email/&quot;&gt;SUBSCRIBE&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;Email us your suggestions at &lt;a href=&quot;mailto:info@365newsx.com&quot;&gt;info@365newsx.com&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;=============================================&lt;br clear=&quot;all&quot; /&gt;
Best Regards,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;Media Communication Team&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;&lt;a href=&quot;http://www.365newsx.com/&quot; target=&quot;_blank&quot;&gt;www.365newsx.com&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,sans-serif; font-size: 12.0pt; letter-spacing: 1.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-GB;&quot;&gt;==============================================&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/4918619861848433323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/4918619861848433323?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/4918619861848433323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/4918619861848433323'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2020/03/announcement-of-newly-launched-news.html' title='Announcement of newly launched news reader'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-2096231895587175473</id><published>2019-12-30T12:40:00.001-08:00</published><updated>2019-12-31T00:01:58.755-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Free Automation"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="SaaS"/><category scheme="http://www.blogger.com/atom/ns#" term="Selenium"/><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation"/><category scheme="http://www.blogger.com/atom/ns#" term="TestProject"/><title type='text'>What about Selenium ecosystem as SaaS?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpwmVwRzu67uQgR4X79UMGnl0CyuXtfvoTzwmhsQ-7I-7PmWxXpFFAh0_4lB8pZiwdeDyLzhshdww1H9QH_SepIYaM6WSxPfTJwtVztF_f6tkoYeEYqHPQiWr_6baYc85JxGG-FgNGMDjH/s1600/Selenium.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;768&quot; data-original-width=&quot;1536&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpwmVwRzu67uQgR4X79UMGnl0CyuXtfvoTzwmhsQ-7I-7PmWxXpFFAh0_4lB8pZiwdeDyLzhshdww1H9QH_SepIYaM6WSxPfTJwtVztF_f6tkoYeEYqHPQiWr_6baYc85JxGG-FgNGMDjH/s640/Selenium.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;/div&gt;
I am happy to share that recently I came across a Free Test Automation Platform built on cloud and well supported by a large testing community. The platform is called &lt;i&gt;TestProject&lt;/i&gt; which is based on Selenium ecosystem. When I started analyzing the platform, I found it worth giving a try and also to know more about the open-source system.&lt;br /&gt;
The three things which I really liked about the TestProject are:&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;The tool and platform is free to use and right fit for the Agile way of working&lt;/li&gt;
&lt;li&gt;The platform is built on &quot;&lt;i&gt;Anybody can automate&quot;&lt;/i&gt; concept&lt;/li&gt;
&lt;li&gt;The running force behind the whole ecosystem is &lt;i&gt;WE - our testing community&lt;/i&gt;&lt;/li&gt;
&lt;/ol&gt;
In the coming weeks and 2020, I will be sharing more information on how to get started on TestProject.&lt;br /&gt;
Meanwhile, you can explore more information about &lt;a href=&quot;https://link.testproject.io/6hl&quot;&gt;TestProject.io&lt;/a&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/2096231895587175473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/2096231895587175473?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/2096231895587175473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/2096231895587175473'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2019/12/what-about-selenium-ecosystem-as-saas.html' title='What about Selenium ecosystem as SaaS?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpwmVwRzu67uQgR4X79UMGnl0CyuXtfvoTzwmhsQ-7I-7PmWxXpFFAh0_4lB8pZiwdeDyLzhshdww1H9QH_SepIYaM6WSxPfTJwtVztF_f6tkoYeEYqHPQiWr_6baYc85JxGG-FgNGMDjH/s72-c/Selenium.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-9036384358084369395</id><published>2019-08-24T08:27:00.000-07:00</published><updated>2019-08-24T08:30:57.019-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Advance Technology"/><category scheme="http://www.blogger.com/atom/ns#" term="BCI"/><category scheme="http://www.blogger.com/atom/ns#" term="Brain Computer Interface"/><category scheme="http://www.blogger.com/atom/ns#" term="brain implant"/><category scheme="http://www.blogger.com/atom/ns#" term="Internet of thoughts"/><category scheme="http://www.blogger.com/atom/ns#" term="IoT"/><category scheme="http://www.blogger.com/atom/ns#" term="mood loop"/><category scheme="http://www.blogger.com/atom/ns#" term="mood ring"/><title type='text'>Is BCI (Brain Computer Interface) a road to immortality?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicf5pjaSfdUwCS0fJBU-65s7X7frJDvCBo0ntsRX86mFN1QrjpeJB2-tRM5w5_2Sow66Nn8eByFU58QoLYc9D1bt6K2VKMB3eIgQ0RijoBEVeTTsDVRdFFYTgfbZyf47nIR4aWuVPmjZCX/s1600/BrainHackgoodorEvil.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Brain Computer Interface&quot; border=&quot;0&quot; data-original-height=&quot;768&quot; data-original-width=&quot;1536&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicf5pjaSfdUwCS0fJBU-65s7X7frJDvCBo0ntsRX86mFN1QrjpeJB2-tRM5w5_2Sow66Nn8eByFU58QoLYc9D1bt6K2VKMB3eIgQ0RijoBEVeTTsDVRdFFYTgfbZyf47nIR4aWuVPmjZCX/s400/BrainHackgoodorEvil.png&quot; title=&quot;Brain Computer Interface&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;text-align: justify;&quot;&gt;What is a Brain-Computer Interface?&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Brain-computer interface is a technology which can read your mind and display it on a device - a mobile, laptop or TV screen. It means what data is being carried by our billion neurons are prone to hack.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
When combined with other mechanical devices, can also be used to control the device.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
So in future, if you want to switch on your TV or light, you just have to think and that&#39;s all.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Google and Alexa home will be replaced by BMI controlled devices.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
I am not an expert in this field but based on my research and analysis, I can predict that when BMI tech will get matured, the human can do brain to brain talk and many other magical things - in future Telepathy will be a day to day affair.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
BCI can give you all kind of experience from the comfort of your home.&amp;nbsp;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
You can go on vacation without leaving your bedroom. You can have romantic experience without having a partner and many more such experiences.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
After all, every experience is a simulation in certain areas of our brain.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
I am thinking about what will happen to our economy or democracy then?&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
The brain tech is now gaining momentum and on July 16, Elon Musk announced that his company Neuralink is planning to implants electrodes into the brains of people with paralysis by 2020. BCI or BMI (Brain Machine Interface) is indeed a revolutionary tech and can benefit people suffering from motor disorders disease or Parkinson or Depression or Blindness etc.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
What are the key Breakthroughs in Brain Tech?&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
With Quantum computer becoming a reality, BCI tech will get tremendous momentum and in the next 15 to 20 years, BCI will be part of our day to day life.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Today we are talking about the Internet of Things.&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Tomorrow it will be the Internet of Thoughts.&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
Can you imagine the impact if someone hacks an IoT (T for thought)?&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&amp;nbsp;Few of recent breakthrough in the area of BCI are worth reading and also mind-boggling:&lt;/div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;This device - &lt;a href=&quot;https://futurism.com/the-byte/brainwaves-guessing-mood&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;MOOD RING&lt;/a&gt; - read your brainwaves to know your mood - It’s more than just a party trick — it’s first time scientists have made an explicit connection between brainwaves and emotional states, and it could have far-reaching implications for the future of treatments for mood disorders.&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;The US Military is Testing Mood Altering, AI-Controlled Brain Implants in Humans (&lt;a href=&quot;https://futurism.com/military-testing-mood-altering-ai&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Mood loop&lt;/a&gt;)- The implanted electrodes are being used to track brain activity related to the mood in order to develop algorithms that can observe patterns.&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;A &lt;a href=&quot;https://futurism.com/4-theres-a-brain-implant-that-could-restore-vision-to-the-blind&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;New Vision-Restoring Brain Implant Could Give Sight to the Blind&lt;/a&gt; -&amp;nbsp; The vision-restoring implant will work by stimulating the visual cortex, as it tries to recreate the activity usually triggered by neuron signals from the eyes&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://futurism.com/a-paralyzed-man-just-regained-the-sense-of-touch-thanks-to-a-brain-implant&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;A Paralyzed Man Just Regained the Sense of Touch&lt;/a&gt;, Thanks to a Brain Implant - Researchers from the University of Pittsburgh have developed a set of brain implants that allowed a paralyzed man to feel sensations through a robot arm.&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://futurism.com/paralyzed-monkeys-able-to-walk-again-with-brain-implant-human-trials-are-next&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Paralyzed Monkeys Able to Walk Again With Brain Implant.&lt;/a&gt; Human Trials Are Next - The neurologists behind the study reported that the implants restored function in the primates’ legs almost instantaneously.&lt;/li&gt;
&lt;/ol&gt;
&lt;span style=&quot;text-align: justify;&quot;&gt;Every major organization and university are investing a lot in the development of BCI. Few prominent organization are DARPA (US military Organization), Neuralink (Elon Musk funded company), MIT, Leading University in Asia and Europe.&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
The ethical application of BCI are many-fold but the danger is also many-fold.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
What will happen if such invasive technology can steal our thoughts and who knows it can also hack our consciousness.&amp;nbsp;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
If BCI promises a positive future for humanity, then we must embrace this new tech in future. The future of any technology depends on the hand of its users.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;
Who knows BCI might hold the key to immortality?&lt;/h3&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
If you love my reading, please like, comment and share. If you want to work with me as a collaborator, drop me a note.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/9036384358084369395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/9036384358084369395?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/9036384358084369395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/9036384358084369395'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2019/08/is-bci-brain-computer-interface-road-to.html' title='Is BCI (Brain Computer Interface) a road to immortality?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicf5pjaSfdUwCS0fJBU-65s7X7frJDvCBo0ntsRX86mFN1QrjpeJB2-tRM5w5_2Sow66Nn8eByFU58QoLYc9D1bt6K2VKMB3eIgQ0RijoBEVeTTsDVRdFFYTgfbZyf47nIR4aWuVPmjZCX/s72-c/BrainHackgoodorEvil.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-279818930618875177</id><published>2019-06-09T11:59:00.003-07:00</published><updated>2019-06-09T11:59:26.671-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="BCI"/><category scheme="http://www.blogger.com/atom/ns#" term="Brain Control"/><category scheme="http://www.blogger.com/atom/ns#" term="Delgado"/><category scheme="http://www.blogger.com/atom/ns#" term="Mind Control"/><category scheme="http://www.blogger.com/atom/ns#" term="Stimoceiver"/><title type='text'>How an electrode (#Stimoceiver) can control your mind?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8XxSifUiSzwz-ifhYGlZvnzoPyMH0R71gZArMou-4yIuZ-rHXdPnCNgnmw_qc4vHqUC8tv91PlUIhv13xPaB6Zvsya85TIpS5Pc-dj8vOcdvzNRmlLb22sDomm9rBqm6-n8hpiqwPqNly/s1600/Stimoceiver.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;768&quot; data-original-width=&quot;1536&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8XxSifUiSzwz-ifhYGlZvnzoPyMH0R71gZArMou-4yIuZ-rHXdPnCNgnmw_qc4vHqUC8tv91PlUIhv13xPaB6Zvsya85TIpS5Pc-dj8vOcdvzNRmlLb22sDomm9rBqm6-n8hpiqwPqNly/s400/Stimoceiver.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
As I promised I am happy to share this article on mind control using a machine. I am very confident that after reading this article, you will know how mind control can be possible in the near future. This subject is always debatable on moral grounds and if I analyzed this technology in the context of AI Threat, then it seems like a nightmare when AI get hold of our own invention and research to turn against us. This is why many great scientists and people like Stephen Hawking or Elon Musk are fearful of AI Advancement.&lt;br /&gt;
&lt;br /&gt;
To better understand this article, let&#39;s understand a few terms and their meaning:&lt;br /&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
STIMOCEIVER&lt;/h2&gt;
The Stimoceiver is a tiny transceiver implanted in the head of a control subject, which can then be used to modify emotions and control behaviour. (source -&amp;nbsp; &lt;a href=&quot;https://findwords.info/term/stimoceiver&quot;&gt;https://findwords.info/term/stimoceiver&lt;/a&gt;).&lt;br /&gt;
When we discuss Stimoceiver, the first name which pops our mind is of Dr José Manuel Rodríguez Delgado, José Manuel Rodríguez Delgado was a Spanish professor of physiology at Yale University, famed for his research on mind control through electrical stimulation of the brain. You can read his biography at&amp;nbsp; &lt;a href=&quot;https://en.wikipedia.org/wiki/Jos%C3%A9_Manuel_Rodr%C3%ADguez_Delgado&quot;&gt;https://en.wikipedia.org/wiki/Jos%C3%A9_Manuel_Rodr%C3%ADguez_Delgado&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
As per Wikipedia, the most famous example of the stimoceiver in action occurred at a Córdoba bull breeding ranch. Rodríguez Delgado stepped into the ring with a bull which had had a stimoceiver implanted within its brain. The bull charged Delgado, who pressed a remote control button which caused the bull to stop its charge. Always one for theatrics, he taped this stunt and it can be seen today. The region of the brain Rodríguez Delgado stimulated when he pressed the hand-held transmitter was the caudate nucleus. This region was chosen to be stimulated because the caudate nucleus is involved in controlling voluntary movements. Rodríguez Delgado claimed that the stimulus caused the bull to lose its aggressive instinct.&lt;br /&gt;
Watch this video below:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; class=&quot;YOUTUBE-iframe-video&quot; data-thumbnail-src=&quot;https://i.ytimg.com/vi/23pXqY3X6c8/0.jpg&quot; frameborder=&quot;0&quot; height=&quot;366&quot; src=&quot;https://www.youtube.com/embed/23pXqY3X6c8?feature=player_embedded&quot; width=&quot;420&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
One of the direct clinical applications of Delgado’s work, deep-brain stimulation is a recently FDA-approved approach towards treating Parkinson’s disease and depression. A long electrode is surgically inserted into a targeted region of the brain, such as the basal ganglia in Parkinson’s, where a pulse generator steadily sends bursts of electricity to stimulate that region. It is now known that the electrical pulses from deep brain stimulation stimulate certain neurons to secrete compounds that suppress the symptoms associated with a disease such as Parkinson’s. They act as pacemakers, regulating the chemical balance of the brain without resorting to drugs. Although not a cure, they serve to significantly reduce symptoms and improve the quality of life for the patient. Delgado’s dream of using his stimoceivers to cure disease has finally been realized.&lt;br /&gt;
&lt;br /&gt;
Delgado dreamed of using his electrodes to tap directly into human thoughts: &lt;b&gt;&lt;u&gt;&lt;i&gt;to read them, edit them, improve them&lt;/i&gt;&lt;/u&gt;&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
He once told a newspaper that the human race is at an evolutionary turning point. &lt;i&gt;We’re very close to having the power to construct our own mental functions or we will be able to “construct thyself.”&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
We are now understanding how useful can Stimoceiver be, for various technological advancement. I will talk about one of its current application in the area of BCI - Brain control interface in my next article.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
1. &lt;a href=&quot;https://en.wikipedia.org/wiki/Jos%C3%A9_Manuel_Rodr%C3%ADguez_Delgado&quot;&gt;https://en.wikipedia.org/wiki/Jos%C3%A9_Manuel_Rodr%C3%ADguez_Delgado&lt;/a&gt;&lt;br /&gt;
2. &lt;a href=&quot;http://www.yalescientific.org/2011/02/the-brain-machine-connection-humans-and-computers-in-the-21st-century/&quot;&gt;http://www.yalescientific.org/2011/02/the-brain-machine-connection-humans-and-computers-in-the-21st-century/&lt;/a&gt;&lt;br /&gt;
3. &lt;a href=&quot;https://www.wired.com/2016/01/phil-kennedy-mind-control-computer/&quot;&gt;https://www.wired.com/2016/01/phil-kennedy-mind-control-computer/&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/279818930618875177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/279818930618875177?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/279818930618875177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/279818930618875177'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2019/06/how-electrode-stimoceiver-can-control.html' title='How an electrode (#Stimoceiver) can control your mind?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8XxSifUiSzwz-ifhYGlZvnzoPyMH0R71gZArMou-4yIuZ-rHXdPnCNgnmw_qc4vHqUC8tv91PlUIhv13xPaB6Zvsya85TIpS5Pc-dj8vOcdvzNRmlLb22sDomm9rBqm6-n8hpiqwPqNly/s72-c/Stimoceiver.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-3247857464517894383</id><published>2019-05-18T11:42:00.005-07:00</published><updated>2019-05-18T11:44:54.345-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Advance Technology"/><category scheme="http://www.blogger.com/atom/ns#" term="Artificial Intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Blockchain"/><category scheme="http://www.blogger.com/atom/ns#" term="Quantum Computing"/><title type='text'>How AI, Blockchain and QC (Quantum Computing) will work together?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ06kw5fU5snMto5gRyUqOSZnsTVEJU4PlB66Y2ccbtfRp5003POkGVX8kW0yNIM7sqU5kXviwDZCyNrSMX9pJgtGnvBB4Ax_b2jAhuR7X057lfHVLIOJu83nYUcY33phV0UjPOTwJsqMm/s1600/BT%252BQC%252BAI.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;768&quot; data-original-width=&quot;1536&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ06kw5fU5snMto5gRyUqOSZnsTVEJU4PlB66Y2ccbtfRp5003POkGVX8kW0yNIM7sqU5kXviwDZCyNrSMX9pJgtGnvBB4Ax_b2jAhuR7X057lfHVLIOJu83nYUcY33phV0UjPOTwJsqMm/s400/BT%252BQC%252BAI.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Our techno think tank started the debate on the future of our world when we will move into an era of&lt;br /&gt;
Artificial Intelligence, Quantum Technology and Blockchain. In this article, I invite all my readers to share their views on these technologies.&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
AI (Artificial Intelligence)&lt;/h2&gt;
AI is a very hot topic these days and everyone is upgrading their skills in machine learning, python, statistics, mathematics, Tensorflow etc. to use and get employed in the field of AI.&lt;br /&gt;
No one wants to miss the boat of AI!&lt;br /&gt;
We are seeing a lot of development in the area of AI. How AlphaGo beating the world&#39;s best GoPlayer, how AI is writing a persuasive article (scary) - New AI fake text generator may be too dangerous to release, say creators&lt;br /&gt;
AI is now everywhere and increasing at very fast speed.&lt;br /&gt;
Like any other technology or advancement, AI has its advantages and disadvantages. AI is doing very well in the area of medical science, space exploration, image classification etc. While many human jobs are also at loss, but this is not the first time in known human history when the machine will replace humans. During the Industrial Revolution, machine displaces many workers but over time human-adapted or up skilled in new areas where they become employed.&lt;br /&gt;
Many think tanks are debating about what AI means for the future of humanity and earth. There is extreme employment prediction such as job-free society or existential threat such as human-free earth. Most of the think tank agrees that AI development should include the opinion of different scholarly disciplines apart from science &amp;amp; technology, most importantly - Social Science expert.&lt;br /&gt;
Cross disciplines will bring diverse insights into the usage of AI and will help in the evolution of AI in a more pragmatic way.&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Quantum technologies&lt;/h2&gt;
Quantum technologies (QT) offer fascinating possibilities which have yet to be fully explored. Companies are making a huge investment in developing quantum computers and technology around quantum computing.&amp;nbsp; There are several known applications of a quantum computer: calculating how other quantum systems behave, which could be very useful in the development of new chemicals, medicines and materials; another application is in breaking our existing cryptography protocols.&lt;br /&gt;
The most commonly used protocol, RSA protocol is vulnerable to attack from a hacker with a quantum computer. A hacker with a quantum computer could not only decrypt current transmissions, but also data that were intercepted and recorded in the past, which may include the majority of all communications passed over the internet and even by satellite transmission.&lt;br /&gt;
At the same time, new forms of quantum cryptography will emerge which will prevent us from future attacks. But historical data will remain vulnerable.&lt;br /&gt;
&lt;br /&gt;
Quantum computers and quantum cryptographic systems can only safeguard future information.&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Blockchain technologies&lt;/h2&gt;
Blockchains (BC) is a transparent and decentralized way of recording lists of transactions. The best-known use of BC is Bitcoin and digital currencies. Blockchains are well suited to situations where it is necessary to record transactions. For example, they could help manage supply chains better, certify the origin of products, and resolve the problem of music and video piracy, while also presenting opportunities in public services such as health and welfare payments.&lt;br /&gt;
In current elections, a central authority record counts and checks the votes. Blockchain could be applied to allow all citizens to hold a copy of the full voting record on their own devices. While the identity of individual voters would be protected, anyone could check that all the votes comply with the rules and are counted properly. Because blockchains are immutable, the historical record cannot be changed.&lt;br /&gt;
It has been suggested that blockchain could help voters to engage more deeply and could make decision-making more fluid. People could vote regularly.&lt;br /&gt;
However, the need to ensure all citizens have suitable devices and the opportunity to vote in private could limit the degree of decentralisation possible. Furthermore, voting systems have to be understandable and trustworthy enough so that, even when voters are disappointed with the result, they can accept it as fair and valid. The complexity of blockchain is a serious barrier to its implementation for essential democratic services such as vote management.&lt;br /&gt;
While reading a report from EPTA 2018 (European Parliament Technology Association), I was very much convinced about how AI can change the trend from programming computers to programming humans.&lt;br /&gt;
Programming Humans means using AI to build individual or group opinions. We are seeing how over-customization and the echo chamber effect of our own opinions impacting our election and creating a social polarization. We no longer understand or respect each other viewpoints and are increasingly at conflict with each other.&lt;br /&gt;
You must have read in the news on how Cambridge Analytica uses our social media information to win votes for the politicians. Brexit and US election were live examples of how personalized information can intentionally and unintentionally destroy social cohesion. I found a good link on echo chambers effect on us. You can read it here!&lt;br /&gt;
&lt;br /&gt;
I have picked a few of the questions from EPTA 2018 report which were really important for safety and continuation of human society and political system.&lt;br /&gt;
&lt;br /&gt;
The question which must be answered when AI, Blockchain and QC will interact with each other while evolving or after evolution:&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;If BC data is immutable and encrypted, what happens if QT enables mass decryption of historical data?&lt;/li&gt;
&lt;li&gt;Could an advanced AI find a way of hacking a blockchain?&lt;/li&gt;
&lt;li&gt;Are QT and AI development synergetic, so that AI agents could help us to develop QT, and vice versa?&lt;/li&gt;
&lt;li&gt;Could AI help us to decide whether it is a good idea to proceed with transformative technologies, such as BC and QT&lt;/li&gt;
&lt;li&gt;What are the implications of the three technologies and their interactions for our democracies and democratic processes?&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
Apart from the above questions, the following questions are also important to ensure these technologies evolve for our betterment.&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Do we have any legislation on these technologies in the country or region? If so at which level does it apply (national, regional or local) and what is its scope and implementation strategy.&lt;/li&gt;
&lt;li&gt;Will these technologies will make the political system more decentralised?&lt;/li&gt;
&lt;li&gt;Will these technologies pose a threat to political representatives and parties?&lt;/li&gt;
&lt;li&gt;What will be the possible impacts of these new technologies on the democratic system?&lt;/li&gt;
&lt;li&gt;How can the recent fake-news initiatives possibly affect the exercise of the freedom of speech, freedom of expression, media pluralism and democracy? What are the possible remedies (technical, educational, societal, and regulatory)?&lt;/li&gt;
&lt;li&gt;Could automated content recognition (ACR) technologies poses a threat to freedom of expression and media pluralism, rather than protect it?&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
References:&lt;/h2&gt;
1. &lt;a href=&quot;https://www.theguardian.com/science/blog/2017/dec/04/echo-chambers-are-dangerous-we-must-try-to-break-free-of-our-online-bubbles&quot;&gt;https://www.theguardian.com/science/blog/2017/dec/04/echo-chambers-are-dangerous-we-must-try-to-break-free-of-our-online-bubbles&lt;/a&gt;&lt;br /&gt;
2. &lt;a href=&quot;https://eptanetwork.org/images/documents/minutes/EPTA-Report2018.pdf&quot;&gt;https://eptanetwork.org/images/documents/minutes/EPTA-Report2018.pdf&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/3247857464517894383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/3247857464517894383?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/3247857464517894383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/3247857464517894383'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2019/05/how-ai-blockchain-and-qc-quantum.html' title='How AI, Blockchain and QC (Quantum Computing) will work together?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ06kw5fU5snMto5gRyUqOSZnsTVEJU4PlB66Y2ccbtfRp5003POkGVX8kW0yNIM7sqU5kXviwDZCyNrSMX9pJgtGnvBB4Ax_b2jAhuR7X057lfHVLIOJu83nYUcY33phV0UjPOTwJsqMm/s72-c/BT%252BQC%252BAI.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-2491069635444592934</id><published>2014-11-13T07:24:00.001-08:00</published><updated>2018-06-15T15:39:34.876-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Active Screen"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Driver"/><category scheme="http://www.blogger.com/atom/ns#" term="Extensibility Accelerator"/><category scheme="http://www.blogger.com/atom/ns#" term="Object Identification"/><category scheme="http://www.blogger.com/atom/ns#" term="Object Spy"/><category scheme="http://www.blogger.com/atom/ns#" term="Options"/><category scheme="http://www.blogger.com/atom/ns#" term="Run Options"/><category scheme="http://www.blogger.com/atom/ns#" term="Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Virtual Object"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Event Recording"/><title type='text'>HP QTP Tutorial – Chapter 11</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h3&gt;
1 Tools&lt;/h3&gt;
In my previous chapter, I discussed about the features available in Debug Menu such as Pause, Step Into, Watch Window, Run to Step etc. This chapter covers the features available under Tools Menu option. This chapter explains the following features available under &lt;u&gt;Tools Menu&lt;/u&gt;:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiHFF6tvOp8K54E3yxbFkhSNYsLkIptC-03vxm-2tWKyKku_Kkl2w881HOX0jGrifrI8J5UN4f3-TBO1bjPOcUiHLJCWv9ec8bwoIpLZ4iUUhgD3uP9bSCoZebyGCoZo5a_vdqqDJ7LL71/s1600-h/clip_image002%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image002&quot; border=&quot;0&quot; height=&quot;162&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzn-sFuCmg0uMEGUMXI-bq2G3LwXzndkfEinjwZgf8Li8v4fICiqc1P8t2O0rblN-lKqmb1DxGGZ-cbebxmq9s9VXJlSMj6u-r85lVpgSGirswm5fD0s3hilP3bpRsRo-QfMVED5TqBsVS/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image002&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
The features under Tools menu are very useful and also frequently used. The various options available under tools menu change the QTP settings and easy how we work with QTP.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.1 Options&lt;/h3&gt;
The first feature available under Tools menu is Options which help in changing the QTP settings at global level. The changes made here are globally applied in all the Test Script and hence you must know the impact of those changes and also the best practices for making changes using Tools feature of QTP.&lt;br /&gt;
You can access &lt;b&gt;&lt;i&gt;Options&lt;/i&gt;&lt;/b&gt; by navigating to &lt;b&gt;&lt;i&gt;Tools-&amp;gt;Options&lt;/i&gt;&lt;/b&gt;. The Options screen and various settings under Options are explained shown below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht6a85cjFSR3OuqCC6mn1Xzb6omLxmkPuvHyfJif8Ur3hka2330P5WawWTT6JoVpBguCLjStFk2DA4oKuZdFOx7-ofRw3qBSKHxr8W3B-Ok8zQlKSW8Ma-K9OO1yg6CIx0WQSsKJi41ZE7/s1600-h/clip_image004%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image004&quot; border=&quot;0&quot; height=&quot;196&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBB5NZ3qmK12Zx8corcfX-5Cs1XENnE2Dx0XJx3GMxkIlGYwyhZu5cALMTREk5L_1l2hqe_CDudAlZaJ3BZYXt9bXwqh-ay5UO_r7idj8S8r5mf6Bhakr0w0uG6xaNy4YGu-uYWkXGW8vg/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image004&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;    &lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;&lt;i&gt;Settings &lt;/i&gt;&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;489&quot;&gt;&lt;b&gt;&lt;i&gt;Description&lt;/i&gt;&lt;/b&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;General&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;Display Add-In Manager on Startup&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;Check this option when you want to see the Add-In Manager window while starting the QTP. This will ensure and also give you an option to check which all add-ins are available, enables or disabled. Based on your need you can enable or disable the add-ins at the launch of QTP. &lt;i&gt;&lt;u&gt;As a best practice, always keep this option as Checked&lt;/u&gt;&lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;Display Start Page on startup&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;You also noticed that when QTP load, you see a Start Page which displays some text. If you want to hide the start page you can uncheck this option. &lt;i&gt;&lt;u&gt;As a best practice you can uncheck this option so that loading time of QTP will be reduced.&lt;/u&gt;&lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;Display warnings if associated add-ins are not loaded&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;If you want to see a warning message to know if associated add-ins are loaded with test or not, you can enabled this option. &lt;br /&gt;
&lt;i&gt;&lt;u&gt;Keep this option checked&lt;/u&gt;&lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;Disable recognition of virtual objects while recording&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;QTP might treat unrecognized object as virtual objects while recording. To avoid it, you can uncheck this option.&lt;br /&gt;
&lt;i&gt;&lt;u&gt;As a best practice, let it be unchecked.&lt;/u&gt;&lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;Automatically update test and component steps when you rename test object&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;This is a very nice feature of QTP which eases your maintenance when you need to change the name of your test object in Object Repository. You do not need to worry about updating the Test Script with new test object name as QTP will automatically update the references in all the Test Script wherever Test object is being used. &lt;br /&gt;
&lt;i&gt;&lt;u&gt;Always keep this option checked.&lt;/u&gt;&lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;Display keyword view for tests and scripted components&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;In case you want to hide Keyword view, you can uncheck this option and you will only see Expert View and Not Keyword View.&lt;br /&gt;
&lt;i&gt;&lt;u&gt;Keep this option as checked as sometime a non-technical person will better understand the Keyword view rather than expert view.&lt;/u&gt;&lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;Automatically parameterize steps using&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;&lt;i&gt;&lt;u&gt;The best practice is to keep this option unchecked as you do not want to parameterize everything in your test script and want to work within your Framework.&lt;/u&gt;&lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;Automatically generate “With” statement after recording&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;To make code more readable you can keep this option checked but there is different approach so I will not recommend and leave it on the scripting guideline for your project. &lt;i&gt;&lt;u&gt;But I will recommend this as a best practice to keep this option checked&lt;/u&gt;&lt;/i&gt;.&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;Restore Layout&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;If you want to restore the default layout or option you can reset the settings to default one by clicking on Restore Layout button&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;Generate Script&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;You also want to ensure that all the Test Machines where scripting will happen should have same settings. To ensure that you can generate a script using “Generate Script” button and then save that script and ask each of your Test Engineer to run this script before they begin their scripting. You can also include this as mandatory steps in your Test Scripting Guideline. &lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;General-&amp;gt;Text Recognition&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjTmK0rYaRQ3xnrWtQfHQzrsto-4_afj3kBE9Nj2UkIth0Su_Cvghmd0OCE0xGEyQB7Kxrd1t0Euu8wFQpbra5QnaSSxxUzF1Klolw6-ZrtZs08OG-EDtUxP-0RJUNUOrfziUqIwqg9ZqS/s1600-h/clip_image006%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image006&quot; border=&quot;0&quot; height=&quot;196&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWbQ595u-E38_Ylvyi1-RiSVjlMBJ11Lo9RFSDa6yUhM8q1XcdANBY0Eg33nfflOsggo9n2v8JRJePbjcowZDw2-pSUKfurIuYNbUFE63RJCg_srGFrzKRH6i5Go6yyp7RHQmz5zneV0al/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image006&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;Please do not make any changes here and let it be default. This is mostly used when you are using Text Checkpoint in your test. &lt;i&gt;&lt;u&gt;In real time scripting we hardly use checkpoint and hence we do not need to make any changes in this option.&lt;/u&gt;&lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;Folders&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8nu1_QdmAKZt3IZY_I2q9iPMM5oBaCZbwzq8VGdkaDpVJ-YzdhxXlUuWx__UFem5i8XBMcm5q2GObQJJUeZ2sD-slM8lnj8-j7nHhpKBAKuIuiQddsH-jdcvdq9f7N3QmCt4mNMMwE1Bj/s1600-h/clip_image008%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image008&quot; border=&quot;0&quot; height=&quot;196&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDjXqeTGWR4we5IJ_qrVsXKGhhGSMSw01nnxSxhJ1Z1WJsdfMCouJVDgg0vEuk2yKlX00hU0oCaZZVpoGMhrPlKSHllMhr1FEgM2pZCWuoJi4z8ui8OSqysMzB8MB8NUHBeApP1aIhZXPN/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image008&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;In this option you can define a folder path which will be used by QTP to find files. &lt;i&gt;&lt;u&gt;As a good practice, do not provide any folder location over here and leave it blank.&lt;/u&gt;&lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;Active Screen&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtTl7IgSP6ycimDwVFAglo2cdRnuwFXPZELiSP7KBj5QKuC3W06XEphtrDdySRHGMksZ0VP3EEDXtym8zSNnUke_ZHVA9TmNF_caM0xlXq_FKCQobLyMAtTD8Dpvg0YV5EP-XrsOExeZYI/s1600-h/clip_image010%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image010&quot; border=&quot;0&quot; height=&quot;196&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBKH_Z7SVsRmCGC0u5C1IoTiMPMY4FKUqT2Kl8KeMswQeaU2ZsNLWIeuqUJwWrIjIWuTXDcyKWo7XEtgV2AEZVRRKSqqJO8TG7e5oaslbPTPdeEOijcb1P9w8qEOlYLW0VuRtWWebBfdaZ/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image010&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHPhPB-fNa7bfkYuFYZ0dKjgVnnnOJx_JbQ2VSmDl4sjU_PEEfZDYwnEgnxpY8N-T6Ic31OpvQlBwyl-JGm1wHXd-soS9t3-fSWAWD9x9gcZQrYBGkAIVqjTXJwedrHNSSlPwYOj2mB7yc/s1600-h/clip_image012%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image012&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLiYUk5k8m5n5KrruN6LgR_oycHwG7Jp7ONZznpYe22F7a0s5lsNn07PMp4y4EsbiBuWYegqGvHh7Ozrk4sfMGhZ6lTOk8-phHywBQJr107njSgrjue7OpvIwPqWUmWEagIGcgvhTM8zCo/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image012&quot; width=&quot;191&quot; /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;To change the settings of the active screen you can use this tab. &lt;i&gt;&lt;u&gt;The good practice is to disable the Active screen capture to save QTP resources while saving the test. In real time, Active Screen are rarely used and good when you are learning QTP&lt;/u&gt;&lt;/i&gt;.&lt;br /&gt;
&lt;i&gt;Please change your Active Screen settings from Custom Level window &lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;Run&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6DqBGqvqsrEEHq-9w_jupB-tRXT_1Ckpon650Y6tD1m6U0NSqF4d0coUnXhiEuSnUaW9VKoeGdczlc68hyphenhyphenocm61CM0qghPvUkwLoLtKpRg316PmuQYku1PeppEf7vBTjIvZeGtFUlKjgU/s1600-h/clip_image014%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image014&quot; border=&quot;0&quot; height=&quot;196&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfKaOLwusvjs-19OO8nwVOoJVMBhSr5tZVcI_jTG-hpWICMSusI5OgBV0swlJKwuJA7Kxm6MuEJHW8xQVuNbT7IQRH5b3Cv-3EjXKoWn0C7_zCpC2xQzNqulT-oKWbZsIipzObi70fFiEU/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image014&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;The run setting under options allow to change the execution of the script.&lt;br /&gt;
&lt;i&gt;&lt;u&gt;Best practice is to select Run Mode as Fast and Uncheck “View Results when run session ends”&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;
This will increase the speed of your test execution and hence increase efficiency.&lt;br /&gt;
&lt;i&gt;&lt;u&gt;Also ensure that “Allow other HP Products to run tests and components” – this should be checked if you are integrating QTP with ALM or other HP tools. If this checkbox is not checked then other HP tool such as ALM might not work with QTP.&lt;/u&gt;&lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;Run-&amp;gt;Screen Capture&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5_59hiCWGYrJ3EwXYWTriRDm4i3SpbaBf1QE2M1Hh7n2VafJSTBuPGPGP5IyH6vIMQ5IJaMXoePy7sHoefAJCCbaJxcPJhyphenhyphenAr0sdsO7lv5xKUmo7g5E4GHvfbKImxTEIDRixYhEzpyoE3/s1600-h/clip_image016%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image016&quot; border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKWAXBAY53zLzdo2HaKCQftgCfd_PbxPRucNGbj4O6bxau0rTvQFCDm-uExbpwespbJ_EOWvG-SfHEEaemie4-LTTEu_f46leZL2FxDzPHO737cxRCshYRcaDeUG47gydssbdp9bGgh7il/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image016&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;The setting under Screen Capture controls the Screen Shot and Replay of Test Steps (movie) while Test is running.&lt;br /&gt;
You can set the conditions when to Capture the Screen Shot and when to Capture the movie clip.&lt;br /&gt;
&lt;i&gt;&lt;u&gt;The best practice is to Capture the screen shot when error occurs during Run&lt;/u&gt;&lt;/i&gt;.&lt;b&gt;&lt;i&gt;&lt;/i&gt;&lt;/b&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;Windows Applications&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF-ohUYguCdCrBnDRbu8wE2sQvroI81XMDYP5JwEldC6CELwKt2E9SlpZB9X3y1ObFr1HL5Os2gA-xhMZpAy-OFcU1sUZ01FR4O-sW96aZ8ciAwISSdQBQ7p8zXXPLWcbU-JQmwL-Zo_Zl/s1600-h/clip_image018%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image018&quot; border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOTCPjidkL_eWefMCIoO2nC5wbnJ3YWNLAwOFCidL63qv1Hb8NjGKnzP55WMyIHPi6cYrCBH0KO6RxD5y285YeqmP1HdrpQy1mmsMLKfu78ZujXziNakVJ1xgGDm8w4iMix0T__Z5NM7Nh/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image018&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;Using Windows Applications settings, one can control the behavior of QTP while working with Windows Based Applications.&lt;br /&gt;
The important part is listed in the Advanced section of the Tab where you have more ways to control the settings of Windows Applications&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;Window Applications-&amp;gt;Advanced&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirG995YS6WLolpLqeAdDCKwHWXpMhFrgFg7W5fX5ilv8rFLXjQcq5kxmLCJRZuSPpi9HvrCNeko7Xp4KD8nwJu6V2bobKTXO0osT6mYzPHUADeDNrX4PBSi8JWatmz1bk6jDjNCl6xl0dP/s1600-h/clip_image020%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image020&quot; border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgymQAXX2cUof5bZm3exuqGjXsLoVqXCUmyhWKlN92D1Hq7vai5QTnwB9bqFFOtY1JiFY0CWiI5KdpfyD4X9ezsWO3wUJ0cPl0daacQlKXI7UMtXIQaoj4J7ViJJYnLcQcM5ci3nHUsVrqB/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image020&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;You can check or uncheck the options available in a tree like structure to capture the events on Windows Based Applications. &lt;br /&gt;
&lt;i&gt;&lt;u&gt;When you are working with Windows Based Application, do check the best practices which need to be followed as per your Automation Project or Organization. If no standard or guideline is available, it is advisable to create one and followed by all in the team&lt;/u&gt;&lt;/i&gt;.&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;Web&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOMhzS30aOXBtOtNOW_lCqnKEDayh5vbtY_sJ2mVfhuwTl2x4htDopDhFqgX-141FRc0lfa_0vYdB_OKS4J-pwIVgyfQO0w8wABTEAG3ie7QIe3T9Xx7Tr0TZoboAALoj-Zb_QvdT1FVQX/s1600-h/clip_image022%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image022&quot; border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixEYq0FoZM770wEEuY8-DgShJfYOFpML0wgetdFVI0uITKGs3liWeOasPEx4TzXbo4zkWmM_-IMKXHpcqsLcnumPSafAVZChu6ZanIvXnylNidELU7sShEExAlDrrYSPSRuRbzUkVjFWF7/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image022&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;The Web settings will allow you to control the capture of events when working with Web Based Applications. Since you are working most of the time with Web Based Applications, you must know the feature of Web Options. &lt;br /&gt;
&lt;i&gt;&lt;u&gt;As a best practice, please check Ignore ALM/QC so that the AUT should not conflict with ALM/QC when you are running your test.&lt;/u&gt;&lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;Web- &amp;gt; Page/Frame Options&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQf5bJCs7eZF9o_Tv0dPNOvD0N4zSjSIn9fzbIvKbbiJXEn7hTiqbpTSOF8UEtdtbkBmQKN2sg_C1BI2HjIcWAeK1FBHPt6icFhTd35Ut0-L7o6Tp7sMdI_3K_Ah0fbzDcvn1CV1YhrACR/s1600-h/clip_image024%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image024&quot; border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5YhPOVE0IF4ETUX4SshWSkkhGzbicf-lBUtF6o9zBZpMiAMpOUNZySwKCg4bH5HpUpWaHDiFaRkQFQigLdnqrr-iLZNgmwn8jf7tW1m0IEit7cKeV71H0JL0ManjFtPYibIKvyJ8uzDGX/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image024&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;The Page/Frame Options will allow how QTP will manage the Test Objects in your Object Repository. &lt;br /&gt;
You can define the conditions for 2 events:&lt;br /&gt;
- When to create a new Page Test Object&lt;br /&gt;
- When to create a new Frame Test Object&lt;br /&gt;
&lt;i&gt;&lt;u&gt;Best practice is not to make any changes in the default settings until your application need is very specific.&lt;/u&gt;&lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;99&quot;&gt;&lt;b&gt;Web-&amp;gt; Advanced&lt;/b&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;294&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSigWGSQxqYyF-gm9G7ngKzQ5IG8CCY__ivNlBv0zYb-_ZyqDXf7JQa3UdgpiFrx8DYregMEn8t-5oThQfF8WqD90PxsWMDDoVsR4NimRcSiEAZWyNEXcek9xOmRqeMptGPst1n59CW9Ah/s1600-h/clip_image026%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image026&quot; border=&quot;0&quot; height=&quot;196&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFMDZIzKl85tiBAWgc8aKrZWiCRqgpnrSyRSsHeisUWmxmlvXbBhMWW2pciI-zw8JUFoqoHWgBkifEfxctaIiImKGQMiWVuLv8gwJeuV8vkofgh24fC9bAYuF_zgd6B1ivaH3wxr4df8g8/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image026&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;195&quot;&gt;The Web Advance option give you control the Web settings while script creation and when running the script.&lt;br /&gt;
&lt;i&gt;&lt;u&gt;The best practice is to leave these settings as it is and do not make any changes until and unless the changes make sense for your Automation Requirement.&lt;/u&gt;&lt;/i&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;i&gt;&lt;u&gt;The Options feature under Tools menu is a very important feature which is normally used when you are preparing the Test harness before scripting. You do not revisit the Options feature again and again once you are done with the Final recommended settings as per your project requirement.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;u&gt;Another important point to note here is related to Third Party Addins such as SAP, PeopleSoft, Siebel etc. If you are working with these Add-Ins, then you might notice settings pertaining to these kind of applications. In that case you have to refer the user or technical manual of 3&lt;sup&gt;rd&lt;/sup&gt; Party Add-Ins to learn more about the settings feature.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.2 View Options&lt;/h3&gt;
The View Options provide the feature to control how the Script will look in the Expert View (QTP Script Editor Area). You can change text Color, font type, Switch on/off the line numbers etc. You can access View Options by navigating to &lt;b&gt;Tools-&amp;gt;View Options&lt;/b&gt;&lt;br /&gt;
Please refer the below screen shots to understand the features available under View Options Window:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYqQG0-FyekkX4O-XVAGsyvtPq-Q2NuVbtr6vPgtCU6_NZDw0CHEDRdD4c3bpfwcW16JKneVoCmjlzA5dg0ZJojSKsscxSQrV4f1yiTlHQNPmrmXKkGjsv0-vmnI8KM2p5NjJqFEEWIhW2/s1600-h/clip_image028%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image028&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwTO8JkOjU-ueyA3lYsvD6kaMxXPZvcnVbCRpizh90-cjxA4v6J_eZqY7pV2yme6xdsSM-MJyxBpEgV5GIQfoUFzne6CjAZlmLvmxwgeZpfNpQ-uDhhYJW9IZB4trRM39eYUo9pXrVWQV-/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image028&quot; width=&quot;220&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHGAq7Fgux2YZXMMQNETRRIZvFvXLtNpLwWXTL8hzXrikCJRRTMPoyZ_fDw5L62BuBhU4vB7A8fw8b7poAFBYOia6io2e7BbJKFIoBKS19csT0NJek2xCz_UHf74TmcqQzaD4iPZLlS38O/s1600-h/clip_image030%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image030&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5mLHh0Knh72lAuWw725S22RjC89NgmMsMzRmLAJzaBVWWthHJwgwG0knLpEm_ABf3onoyyg0-dpTZrfHUXh5ShIMEkjc7lnNzENIeKM31Wb2pIKhGAXhcDxfYMtW1KbFnd1MHKSfxjsIb/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image030&quot; width=&quot;220&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi69B5yrEdUdL_vf1B1jEugWMIlw0lHLoGhihWW29HNF2dwYynM9Whmgy74KTMKK1Y0VW6XSqyzSj3M6VTG6ZrTBQ1ssYkZjo12bjuBEsFPdPvCR3QIAXdhtiiCbnxMuWsHrE_UDWupxXEk/s1600-h/clip_image032%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image032&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoq3GHBBbTiVOgl_2xxNDHyCshDmSR2KaUdcJ7TGmm6gm92SUIG_WWvxHMsXPcTv49YBA3qn-OuyU9VzR8dPPp7UsVTp72MQao7FbUDndAJ0nkt_0qvHc3PjjOPWUafqvZCkah4eXVi2hu/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image032&quot; width=&quot;219&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
You can define the Shortcut Keys using Key Binding tab of View Options. You can also use Key Binding Tab to learn about the current shortcut key commands.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.3 Check Syntax&lt;/h3&gt;
This is a very commonly used command while doing the scripting. You must use “Check Syntax” command before executing your test script. You can either Press “&lt;b&gt;Ctrl+F7&lt;/b&gt;” or navigate to &lt;b&gt;Tools-&amp;gt;Check Syntax &lt;/b&gt;to run a Syntax check on the QTP Script. If there are any errors the command will tell you about all the errors.&lt;br /&gt;
You can see all the error and success condition in the Information View Pane.&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Syntax Error in Test Script&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7xue14ARwGI05GYp9laQrRkcjcMZtTNZYecv7f2X6Ja7f_jZYW4RHRaglFZ-VB3-M4Pq-i_2xK_CvDk_JNAYN2bdFvDvpvpvD4p4WSyfPAAir517ysG5GzspxeKs1gHWC96Msl9Ke11RD/s1600-h/clip_image034%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image034&quot; border=&quot;0&quot; height=&quot;53&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV68fyLnHK5LsbERaMu5xyo8laSNu-7l-XlFXU4LfnDyKYt_F2JvtbFgPdVQU3XdRJwBXUyxQwAFBeRwDcyYeVHxsH4gtHh18J2gLSlYLe9Jdzuq8b2oEWFwxTfDm1jRKQs-8e81urmk3x/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image034&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Valid Syntax&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;u&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiECbVPxitStCMa9Wt69wWVm86-kLWFuHX_lVFC-fp6p4LrnIki7ikbBGIccllDd_3T7scBhSLJk_JQmdce9jxgGBb0e3tK-yedF2vxhfZ0hUm0W4mONjdNMZOmzHsy-FDOJV14PzAWLP6E/s1600-h/clip_image036%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image036&quot; border=&quot;0&quot; height=&quot;60&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUMEs6ZsvlsEVUqnCGYusQ9inHlWJxmhkZsZ_73X21tvgcuLeCtlhB5eA_uwAJZCM0ULfm1g4uocsErHAwCAvFBUR_CjjHTmMdqusfUyCDHMWB0H8m3-emNgowToEbEVlQC6TNLKEND8tn/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image036&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/u&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.4 Extensibility Accelerator&lt;/h3&gt;
This is a feature introduced in QTP 11 as a solution to automated Web 2.0 application which involves AJAX, GWT, YahooUI etc. If you want to explore more about Extensibility Accelerator you can check the HP Technical Manual, Online resources. This is used by Advance user of QTP. This feature is also not extensively used. This tool comes as a separate installer and must be installed to use with QTP. &lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.5 Regular Expression Evaluator&lt;/h3&gt;
This is a very handy tool available from QTP 11. You can develop and Test your regular expression before putting it into use. To access the Regular Expression, navigate to &lt;b&gt;Tools-&amp;gt;Regular Expression Evaluator&lt;/b&gt;. &lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHJiX21711KzS9s_Re3wq0AKedD09cZDV_mSvasrlL5L6X5Koc745yB1fMcIUoLV1mzQeW7IjABOJnIMUWBs4RPePE_lYBLLSSgnkgYynJCvxatXi66PltO_r5R3GTEK3K1pXTqqvTZLDk/s1600-h/clip_image038%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image038&quot; border=&quot;0&quot; height=&quot;191&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6G93yO8AuBwblTJyxByVEJtk1UizxLBwgLUvXV9vkA46ulwjcliuxXvg657BWypkUpoGJ2GE6GH537CwbmB9gVaUwLf5uwLYchJCT4i_nWLcOxdOEqseko_MYZFVaka8QEyIENH27ThRo/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image038&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.6 Object Identification&lt;/h3&gt;
The object identification window allows you to make the changes in the definition of object so that QTP will make use of the changed definition to recognize the objects. You will see the object details of other environment such as Peoplesoft, Siebel, SAP etc if you have the necessary add-ins installed. To access Object Identification window, you can navigate to &lt;b&gt;Tools-&amp;gt;Object Identification. &lt;/b&gt;You will see a below window which will display the various windows or web objects and their Mandatory or Assistive Properties on the right side of the screen. &lt;i&gt;&lt;u&gt;As a best practice, please ensure that Smart Identification flag is un-checked for all the objects depending on the application&lt;/u&gt;&lt;/i&gt;. &lt;i&gt;&lt;u&gt;For e.g if you are working with Web Based, then you select all the object one after another and uncheck Enable Smart Identification property&lt;/u&gt;&lt;/i&gt;. &lt;i&gt;&lt;u&gt;Later on you can generate a script (&lt;b&gt;Generate Script button&lt;/b&gt;) which you will run on all the machines where QTP is installed. This will ensure that QTP settings are same on all the machine for Object Identification.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;
Once you are done with above mentioned Object settings you can start building your Object Repository. You can also refer the project documentation or best practices for defining the object specific to your business need.&lt;br /&gt;
&lt;i&gt;&lt;u&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQjTK-xvjN1e7KSBvrcmIdqRPNNo7z_5apjI5SijkBXArZ_aDi21XtaBCp6KdSe74UPU7_iV2P5EZlc3dzX_E2NvR0gCiZPmMGwecWFo7Z6qdgetjiTAXUcZ_O3xDJpACflW36fQFyCowH/s1600-h/clip_image040%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image040&quot; border=&quot;0&quot; height=&quot;172&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG04uZscPO3cJXQK62RlKoJliZejvttoslWt9amnvDXUFNNgSyLC1mxbKSRO38rXQ4wFdcjggaC1i1gK5VlYoq3fk63tR2E_30aclvZuCq08wA_OpgY-52JS8NZer1xibKQi6UWgFKWMzT/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image040&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.7 Object Spy&lt;/h3&gt;
The object spy is a very handy utility and very frequently used while doing scripting. This is a tool which gives you a view of the Test Object Property, Events etc for the selected object. By going through the object property you can build business rules for smart scripting. These properties will also help you in achieving or defining the expected result of the test cases.&lt;br /&gt;
You can access Object Spy feature by navigating to &lt;b&gt;Tools-&amp;gt;Object Spy&lt;/b&gt; or &lt;b&gt;Click the image icon&lt;/b&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLc4zC_iwomU1bLgXVip97AdEDay0TsoNZS0MGcTS-n7SnuyMUZT8O9c-fF4YPM2tDDKAr4i8087gEpRxYAq4b5GyVeTic7togwP7kVg3Th2E_l6_l89s15zktGvu3eloMGQIM_Au4Y5SP/s1600-h/clip_image042%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image042&quot; border=&quot;0&quot; height=&quot;28&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjemgdIamghNueSo5aOEAU4QBZ9LHojB0bYD5_VwhLJfUo4_ZM9hQes5DVR0JyR-gmS4y-qJOYEZdszdAtbPGUDHP2S43N4MpkCATUnA_ddIFq5QsjPB6hMjtrP5R_W6mKjDuqUIcQn0NrC/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image042&quot; width=&quot;27&quot; /&gt;&lt;/a&gt; on the tool bar.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj7aUOgMl29rAaiZYeD1opWRvXhG0g340vUpQtFddk3LQO5YdN5_e04p3cBW75uHclhq-uXavZTR4kGSaNBcU1MwqHK_y_wy-3zwA1p1yyEvsxn5UJgAPAAlUgPcbkRDyowteJ8h-Lstur/s1600-h/clip_image044%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image044&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVBZ6Gg6WItyeBmLK3Z7m_AsXzr4FjIYmLgud-1VesSW6EymZYc7063JdO2pjBSlMQKV_VrTjweHRv7j2ZUeGM6DZdf4afXMCz0hEG9Cc5qc4joSfX9fTErm2fnKn8IQAJcuz2fyn6ewxA/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image044&quot; width=&quot;216&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.8 Web Event Recording Configuration&lt;/h3&gt;
The Web Event recording Configuration will give you the power of changing the behavior how QTP will record the events on the test object. In real time, you hardly need to change the settings in this window. But you should know the usage of this QTP feature in case if it is needed for your application. To access the feature, navigate to &lt;b&gt;Tools-&amp;gt;Custom Event Recording Configuration&lt;/b&gt;.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWDuyGoi6Ek8YmOEwYF7hcTVx2ErnSSCGaMc94GfnHInMQd6SjH1tGtUKHLTHFYZrS1BjFXA6yWwKoJQB4ApuWiMJ0tKOavBVr60f8VAUtbomrgq9iLNH1lWDvPvPNhL4kAYM58S4dkJ90/s1600-h/clip_image046%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image046&quot; border=&quot;0&quot; height=&quot;199&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAy6vlTgB6H3HTYaJRfx2GBGGGZeN6jSs47Gj2dwB1xtcXZJTMV_Q2wbnUWOLp6l8odxCiU1VkzPQBXTL9Ov239PmzfNAubEzZ0MicJAgEso3aV_hT0lDunqaDTkscg43tQxpsekAIMw-i/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image046&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
You can click the Custom Settings button to see the Custom Web Event Recording Configuration window.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoON3iq1qL9mIf6RsCTcQu9haBs1TJpgkvpuMgxN9MnCAu204dh0rSbwUYVJP79w8CMwlq0Gicr-UyA5prCBts_HRQRy5u_g4GmFTF3tahUXOQAyXN4lvHkM1OEjixzueAQNjH1neEMs7s/s1600-h/clip_image048%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image048&quot; border=&quot;0&quot; height=&quot;159&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjybSwbMtyNSZnf4mL3kbLEt3Q7w6QVYz194aSie_dDo1qhmoL_Vyw0wzYfatKeCZ7SEnSSszb0UJCMrFC6vqMfmOfAuhjAi_OCcalr8oea5xmz78uSWyPgVWPk_HIW1ugBlllqrCn9cSdq/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image048&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
You can define New Tag Objects in HTML Tag Objects and then add Listen Handler and Record mode as Enabled or Disabled. &lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.9 Data Driver&lt;/h3&gt;
The Data Driver utility is handy when you are scripting with constant values and then want to parameterize all the constant at one go. You can use Data Driver feature which will scan your test script for constant value which are being used and help you in parameterizing the constant values. You can access Data Driver feature by navigating to &lt;b&gt;Tools-&amp;gt;Data Driver&lt;/b&gt;&lt;i&gt;&lt;u&gt;. If you see constant value in the Data Driver window, then it means your script is using Constant Value else your script is not using any hardcoded or constant values. This is also a good tool to check whether your script contain hard coded values or not.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJgzh0GEqXdR6y632xAF4o0TDL1X6HsILbObIaVm3rWW8saMuBPC2AbVKUqKb6o4X0oKNnLiv_CsNmD8kOOtJ8gWmJ_Gcskel13TsiLAHU_v2ZP8GKVKFmtDKYbtZc8DuJ4o8QkpTG_Ogw/s1600-h/clip_image050%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image050&quot; border=&quot;0&quot; height=&quot;188&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj-28F3us8rxZieU3v1EpEtd6CHKvre6h-ISbHfRP2YJCPQ3A0emkmpqrzNqctug3GY2UP0GLA7HRl_MXQbliODK5-NGBsTIR0xM3L4qXRnQzXOeHppuFkFrBYoVaspG01ZOvTUKNlm0af/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image050&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
As soon as you select Parameterize, you will see a Data Driver Wizard which will guide you through the complete parameterization process.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgES_YAbPpi3Q3TotZlT3DsjiPHYADkxfYq8xk_cRBdC9S1ZkbnoHWHNo8vb1dkEpHWfUB6SSj0kHch8fgKgm8vZ9nh8iT4Glh7ltJv7MsVpLe0-iPvAuHZXkvdNRCe1EQuVDz7F2XYMxXw/s1600-h/clip_image052%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image052&quot; border=&quot;0&quot; height=&quot;171&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlvN7qmwNIWwl7HPRsUsTsNe_UCBrb0fH7Y_ZRdmvtLtU423JeWpF1wEf3hjsSTam5Ja_PWkRqoQSabMyyiFZNOkym5b58q9td7IVTGBf-JyasZwp79KlUD3WoDappIei2vbPCDR177Xtl/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image052&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.10 Change Active Screen&lt;/h3&gt;
The Change Active Screen is a feature which will help you in updating the Active Screen associated with a QTP test. If you are using Active Screen with your test and want to ensure that Active Screen is up to date as per application changes, then you can use Change Active Screen feature to update the old screen with the updated or latest screen of the application functionality.&lt;br /&gt;
&lt;i&gt;&lt;u&gt;&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;u&gt;As a best practice it is not recommended to save the active screen with your test as it increases the size of Test Script and need more storage space&lt;/u&gt;&lt;/i&gt;.&lt;br /&gt;
To access Change Active Screen, you navigate to &lt;b&gt;Tools-&amp;gt;Change Active Screen&lt;/b&gt;. The mouse icon will change into Hand and QTP will ask you to highlight the screen in your application and once you highlight the screen, your old Active Screen will be replaced with latest screen.&lt;br /&gt;
&lt;i&gt;&lt;/i&gt;&lt;br /&gt;
This feature is hardly used in real time test scripting.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.11 Virtual Objects&lt;/h3&gt;
Let me first explain what is a Virtual Object? Any object which is not a standard windows object or web object but is a third party object being used in the application under test. To automate such third party object you map these 3&lt;sup&gt;rd&lt;/sup&gt; Party Object with Standard Windows or Web Object. For e.g. if I have a window application where I am using a Third Party Grid View, then QTP will not be able to identify this object and I cannot proceed with the Automation. In such a case a solution is to map the Grid View Object with Standard Window Grid Object so that QTP will recognize the events performed on the Grid Object and automation can be achieved.&lt;br /&gt;
&lt;i&gt;&lt;u&gt;The recommendation is not to use Virtual Object mapping as a workaround or permanent solution to automated unrecognized object as this is not a fool proof solution. This is hardly used in real time scenario.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;
To access Virtual Object, you navigate to &lt;b&gt;Tools-&amp;gt;Virtual Object-&amp;gt;New Objects or Virtual Object Manager&lt;/b&gt; depending on your need. If you already added Virtual Object and want to modify any of the properties, then use Virtual Object Manager. If you want to define a new virtual object, then use New Object option. You can also define New Object from Virtual Object Manager window. See the below screen shots.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIW8OgS83PM7CyyYhUak2_Oc5vNB4tf0KqGSwLgU7j0BfushckinZZBLFj6N4ZVyNucDGqlpDvI87oFlEjW5NhnuIYdbsvx7mk1QtSbeUxfHXTHaHnF7sXMJIpSOmeDY0_129J2-NVr2Ml/s1600-h/clip_image054%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image054&quot; border=&quot;0&quot; height=&quot;189&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_6Ynz8gF6umf95v4_F5UZmVUPa_JkZX98y2IZOdfzna_Z8RJMIFUvT7JXHP7EVSLjCQiokEETZaPBjSDgbxT9MVEG7a1psrm-CCQ_AhKPbJrE3ongANywn79nZfRmAbZeikMLx0Xf4is9/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image054&quot; width=&quot;244&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDdS7JYGyYNYO1uIwwC-DJQJOZjxvlZYfFVX7K7bt6Lh2bpmSw7axUo5ruRnQdfwjU6grEVxFsdtw3je7Oycej6rH9zFySv33LnDmn9cMFJmrgDRnNnRKZ7v7S4YVWTYaP8wvIOA6qzNH6/s1600-h/clip_image056%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image056&quot; border=&quot;0&quot; height=&quot;161&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgCQcTcxS7OYa8n7z5VUoXSRahHsOkehIHHtC4FFYo1ov3Jxk2T-2BUZSpzfLxNKKjW2HW5lnOjWPoS1pS3x1uvqu48mGJMxL5sdwgcupCB52N-jofSflh6qdl-8j8RCEnPEiIj2YEivjQ/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image056&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
The Virtual Object Wizard will guide you through the whole process of defining and mapping a virtual object to standard windows or web object.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.12 Customize&lt;/h3&gt;
To add additional and more frequently used commands on the tool bar you can use Customize Window. To access the Customize Window, you navigate to &lt;b&gt;Tools-&amp;gt;Customize&lt;/b&gt;. &lt;br /&gt;
You just need to drag and drop the required commands on the QTP tool bar. Using the Toolbars tab you can customize the availability of various handy command such as Automation, Debug etc. Please refer the below screen shots:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXjhn7BSEtE3N2o5ahHGMyMgISdpPsNTTmKIUQLcmpjUMFhxlIovZYDfwmkRIWowt0DgefCALNis5NmF2znzFkr8TL0Nn49R3qR7eAfAFQ547uNW5ionlZAkbCszxN_tPeL3zd-8eNRWqc/s1600-h/clip_image058%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image058&quot; border=&quot;0&quot; height=&quot;206&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjET25-2sGJudYZAxH9b-q8aYyuDoqgGJ0bmwSyAWo403mnjDyB5SXB8fQtiExSHCsjQlYtZS81hq_V8aSfziOip4wUbeEdoXVvG3ysdrVfx308rlcd7yfKfs5dS20RQp6ZVlkzc93amMLE/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image058&quot; width=&quot;244&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHzCdeaF-wjtHjdtSpSLwfnJKcnLd3qDjixgpe-avfkBTXwyBZCO9014cc5uUe6LFnKoUZiZ6Q7YJJPXkh4qgsPP2jhOnO4DsHYfa6wctGreFyF7JiGHGc9YDPh0lSOnWgN2ZcdqfdUc2P/s1600-h/clip_image060%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image060&quot; border=&quot;0&quot; height=&quot;206&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheBkhATxIF4W2q5iXRhvnwR-Bw3F6Ka3-gkqSgwwo1EJDenS-hkoWGa7sIJQkbSJVKmoQENK09A_XmiuwmGv3Ucl1nrofG-18vwbiZxNMGBr7Rx3N8S9pluETytrv1VKDUFtSndqQFFrWZ/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image060&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
We normally change anything here in real time. Most of the people go with default QTP settings until you are used to some other way of usage.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;2 References&lt;/h3&gt;
Quick Test Professional Tool.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;3 Additional information&lt;/h3&gt;
You can email me on &lt;a href=&quot;mailto:Sachin.vasudha@gmail.com&quot;&gt;Sachin.vasudha@gmail.com&lt;/a&gt; with any query.&lt;br /&gt;
&lt;h3&gt;
4 What Next?&lt;/h3&gt;
In my next Chapter I will explain the features of Object Repository Manager and Map Repository Parameters.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/2491069635444592934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/2491069635444592934?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/2491069635444592934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/2491069635444592934'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2014/11/hp-qtp-tutorial-chapter-11.html' title='HP QTP Tutorial – Chapter 11'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzn-sFuCmg0uMEGUMXI-bq2G3LwXzndkfEinjwZgf8Li8v4fICiqc1P8t2O0rblN-lKqmb1DxGGZ-cbebxmq9s9VXJlSMj6u-r85lVpgSGirswm5fD0s3hilP3bpRsRo-QfMVED5TqBsVS/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-1163739588532069994</id><published>2014-10-30T09:13:00.001-07:00</published><updated>2018-06-15T15:40:57.241-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Breakpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="Debug"/><category scheme="http://www.blogger.com/atom/ns#" term="Debug from Step"/><category scheme="http://www.blogger.com/atom/ns#" term="debugging"/><category scheme="http://www.blogger.com/atom/ns#" term="Pause"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Debugging"/><category scheme="http://www.blogger.com/atom/ns#" term="Run"/><category scheme="http://www.blogger.com/atom/ns#" term="Run to Step"/><category scheme="http://www.blogger.com/atom/ns#" term="Step Into"/><category scheme="http://www.blogger.com/atom/ns#" term="Step Over"/><category scheme="http://www.blogger.com/atom/ns#" term="Watch Window"/><title type='text'>HP QTP Tutorial - Chapter 10</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h3&gt;
1 Debug&lt;/h3&gt;
In my previous chapter, I discussed about the features available in Resources Menu such as Object Repository, OR Manager, and Associate Repositories etc. This chapter covers the features available under Debug Menu option. This chapter explains the following features available under &lt;u&gt;Debug Menu&lt;/u&gt;:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhycKlv6_Qb6nE5NBClgTYdS0goFLRxzqq8AhY3DbteRKW2PdtYK0z-TCsc75rSk7FU3fQjmNZmifV45uv90Vbe88sZXc-HsG3YJJOt74c83PRHxUER9nl3qqZlANEx3fNhpS8LPcOpeNm_/s1600-h/clip_image0023.jpg&quot;&gt;&lt;img alt=&quot;clip_image002&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjHpj9i9G0P8e9nJP1tAgYhvFaeB9jn8dN8rPbBa2KN9epTgvpJ0ZVb-pXg3w8di4Tz-Cm_OY2dWmhUQCO3ckhD19v9DvTXaaeasjeRLMSE1oK2rWKIudCUbmFjDcZn-lL-3qpp2iSrhe/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image002&quot; width=&quot;229&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
The features under Debug menu are very useful and also frequently used. Although in most of the cases you use Short Keys. We will cover all these features in detail in this chapter. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.1 Pause&lt;/h3&gt;
&amp;nbsp;There could be case when are you running your script and want to pause (remember Pause and Stop are different things), then you can navigate to &lt;b&gt;Debug&lt;i&gt;-&amp;gt;Pause. &lt;/i&gt;&lt;/b&gt;The script will be paused at the current execution step. You can then do your analysis and then continue with your run by clicking on Automation-&amp;gt;&lt;b&gt;&lt;i&gt;Run. &lt;/i&gt;&lt;/b&gt;Alternatively you can also Press F5 or Run button from the tool bar.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf7nBs1i9-9M4Dl0T4dQWdTdy83Mce-KyZ9oLYtB_kboXEjxTNihoodrA8L9Qzd3e1zwdIKF43HC2W8ayPx46YZ6qncA-00_9KlzwPNNTpb_JiaNlaig0SU1PdyvdRd5ZPJbAVkPPefsI7/s1600-h/clip_image0043.jpg&quot;&gt;&lt;img alt=&quot;clip_image004&quot; border=&quot;0&quot; height=&quot;29&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkO0-aL7w22JnqqOgrX04uHXfgEtMWlsIk2nahJ_SQdD2GIa2DQ-J-g2dlCip_AAgDQYze1U4Jtx40eu1ND5t6G_xwhcJk2xiOiXCN0M9ROIhWnsLrn2cL4pyiIBnv1Es9Mgx-FZjB53Kf/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image004&quot; width=&quot;198&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.2 Step Into&lt;/h3&gt;
&amp;nbsp;There are situation in a script which makes call to other Action or Function. While debugging the Test Script, if we want to navigate to called action or function, then use Step Into debug feature. You can use this feature either by navigating to &lt;b&gt;&lt;i&gt;Debug-&amp;gt;Step Into&lt;/i&gt;&lt;/b&gt;&lt;i&gt; &lt;/i&gt;or Press &lt;b&gt;F11. &lt;/b&gt;This is also very frequently used debug feature of QTP.&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.3 Step Over&lt;/h3&gt;
&amp;nbsp;This is one of the most frequently Debug Feature of QTP. When you are running the script in Debug mode and want to execute each step at a time, then Step Over feature is used. You can either Press F10 (which most test engineer used to do) or navigate to &lt;b&gt;&lt;i&gt;Debug-&amp;gt;Step Over.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.4 Step Out&lt;/h3&gt;
&amp;nbsp;There could be situation where while debugging you went to Called Action or Function using &lt;b&gt;&lt;i&gt;Step Into&lt;/i&gt;&lt;/b&gt; and now want to come back into Original Action then you can use &lt;b&gt;Step Out&lt;/b&gt; to return to your Main Action. You can either Press &lt;b&gt;&lt;i&gt;Shift+F11&lt;/i&gt;&lt;/b&gt; or navigate to &lt;b&gt;&lt;i&gt;Debug-&amp;gt;Step&lt;/i&gt;&lt;/b&gt; Out.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.5 Run to Step&lt;/h3&gt;
&amp;nbsp;You can use this feature when you want to execute the code from start point to a point in between. For e.g. if you have a action having 100 lines of code and you want to execute from Line 1 to Line 50, then you can use Run to Step feature to execute your code up to Line 50. You can do this by putting cursor to Line 50 and navigate to &lt;b&gt;&lt;i&gt;Debug-&amp;gt;Run To Step &lt;/i&gt;&lt;/b&gt;or&lt;b&gt;&lt;i&gt; &lt;/i&gt;&lt;/b&gt;press &lt;b&gt;Ctrl+F10 &lt;/b&gt;or &lt;i&gt;right click on the expert view at line 50 and select Run to Step from Inline menu&lt;/i&gt;.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjihMnJjX2Xvv4-2bqFXMwojR7SrqXsg4Opua2DZRcjcjVHAC0HRPFHeA-jnsUYXUD5oSKguy9kahPRDZ5O_MTMKXandIiY2Aguv3fr623K8cn-9YD4EJGTgB3DKL3kgb1Fd0baz_a-1gW9/s1600-h/clip_image0063.jpg&quot;&gt;&lt;img alt=&quot;clip_image006&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTcQ_QpmPJtZbbjjpaADlltSJS_wEJJzMGzktXGhcB8AK0S86AJT0wXrdCZHd45CVi6eAfSnPc99-zkakmJfEiQD3WeCAmMo4ElQKPh9NM4r9l_upBbw0i_0vEgNvXAM4oPsBXc5nb-FLk/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image006&quot; width=&quot;130&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.6 Debug from Step&lt;/h3&gt;
&amp;nbsp;The debug from step is also a good feature which will do your script execution till the point where you want to start your debugging. For e.g. if a Test Script is having 100 line of code and you want to start your execution from Step 30, then you can choose &lt;b&gt;&lt;i&gt;Debug-&amp;gt;Debug from Step &lt;/i&gt;&lt;/b&gt;at line 30. You can also start from Line 1 depending on your need. This is also a very good feature.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.7 Add to Watch&lt;/h3&gt;
&amp;nbsp;Add to Watch is a good feature when you want to analyze the value of the variables during the run and then validate your logic etc. You can add the variable in a watch list and do your analysis during debug process. You normally use Add to Watch in combination with Breakpoint, Debug mode. To use this feature select the value that you want to watch and then either press &lt;b&gt;&lt;i&gt;Ctrl+T&lt;/i&gt;&lt;/b&gt; or navigate to &lt;b&gt;&lt;i&gt;Debug-&amp;gt;Add&lt;/i&gt;&lt;/b&gt; to Watch. As soon as the variable is added for watch you can see the value in Debug Viewer. See the below screen shot:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPO8HiIxGADvRPKddlHeFi8JFqGvDhle0G12EZs2jTvFPipPCLUV6cNEYjB2w4wgOU-bNPR1X-y5ZKiGngTiHX6qN4BqvRiXHuB2F3FhB9TpX3zeTMEu_C2hydN0XfBrh_U3x05R_jnAOI/s1600-h/clip_image0083.jpg&quot;&gt;&lt;img alt=&quot;clip_image008&quot; border=&quot;0&quot; height=&quot;92&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBnq84Q_Cp2cEN3xmymIlB3krSSPx45yzXveB29zgK44hgizHT3c-jqySOgtKouKTUf2wPilSjPUT4uRRHuR1rK6J4sakqqMCUq0_kiKNQG8EtqgTig0u9fgnmoPIQSt5274B9KhdHboio/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image008&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
This is a very good tool for debugging the test script. As you can see that there are 3 tabs in the debug viewer - &lt;b&gt;&lt;i&gt;Watch, Variable and Command&lt;/i&gt;&lt;/b&gt;. The usage of these 3 tabs is mentioned below:&lt;br /&gt;
&lt;b&gt;Watch – &lt;/b&gt;&lt;i&gt;In this tab you can see the value of the variable which you have added to watch. It will show name of the variable, its value and type (what type of variable it is). The value on other 2 fields will be seen when you are in Debug mode&lt;/i&gt;.&lt;br /&gt;
&lt;b&gt;Variables – &lt;/b&gt;&lt;i&gt;In this tab you can see the value of all the variables in the current test script. You do not add it to see the value. This is the default feature of QTP which display the detail of all the variables used in the script. The values are visible only in Debug mode&lt;/i&gt;.&lt;br /&gt;
&lt;b&gt;Command – &lt;/b&gt;&lt;i&gt;In this tab you can overwrite the value of any variable during run time but in debug mode. This is a very handy debug utility and when used appropriately is going to be a boon for test engineers. For e.g. if I want to override default value of a variable during run time then I can use Command tab to override such value.&lt;/i&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.8 Breakpoint – Insert/Remove/Clear&lt;/h3&gt;
&amp;nbsp;Breakpoints are the point where script execution will be halted for further debugging. This is also a very handy debug utility and very frequently used by Test engineers. To insert a break point in a script you just place your blinking cursor on that line of code and either Press &lt;b&gt;&lt;i&gt;F9&lt;/i&gt;&lt;/b&gt; or navigate to &lt;b&gt;&lt;i&gt;Debug-&amp;gt;Insert/Remove Breakpoint&lt;/i&gt;&lt;/b&gt;. As soon as you press &lt;b&gt;F9&lt;/b&gt; you will see a red dot circle on the line of code in the test script&lt;br /&gt;
.&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9MbEKI7rEaZoutjblU9Gx6cFKW0aGI_3pmzmnKtLVWHatOg_I_DRhwq7uFWZ8ds8ZuvIM-fOA5TretZoSNfmzYFzbs3axCzJRGJD9p9OAOdSLzWawXkH11kf0YhMPTYDeS3xWEwZPofrR/s1600-h/clip_image0103.jpg&quot;&gt;&lt;img alt=&quot;clip_image010&quot; border=&quot;0&quot; height=&quot;40&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWLSr_3kdKHALrAZjdt12T0dg1ZHurjQHiTiFrowauq6mdWEzQSvDexh_uAteX3fADWKulVJSRUkCr0ZlcvYQFKR9sUYbxPJNmuIPx9Jp0hY2hfIrL211_kkWbRzB8gucszBMu-_9vohFO/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image010&quot; width=&quot;197&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
To clear the breakpoint you have to again press F9 on that line of code. There could be instances when you want to clear all the breakpoints in the test script, then you can navigate to &lt;b&gt;&lt;i&gt;Debug-&amp;gt;Clear All Breakpoints&lt;/i&gt;&lt;/b&gt; or press &lt;b&gt;&lt;i&gt;Ctrl+Shift+F9&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.9 Breakpoint – Enable/Disable&lt;/h3&gt;
&amp;nbsp;You can also disable breakpoints instead of removing it. This is needed when you want to execute your script in complete but still want to keep your existing breakpoints. In that case instead of clearing the break points you can disable the breakpoint. You can either disable all breakpoints or specific breakpoints. To disable all break points, navigate to &lt;b&gt;&lt;i&gt;Debug-&amp;gt;Enable/Disable All Breakpoints&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRvBooBBokVFWCxsvFym8gQdx5J0OOV2k_NixFyTYLtwlTn4axO2HA6q70gqBwL03EuF2o_9Yh8c1MPR2l846-I4ib3mBK4Iek9ZI-W2nD5CCSMFLyROY4nJjOUEYxOSkQYlAjNDoS0Fz-/s1600-h/clip_image0123.jpg&quot;&gt;&lt;img alt=&quot;clip_image012&quot; border=&quot;0&quot; height=&quot;47&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwrhu_-IWxFHiNCtCd-s23bPeEk4-WB0FWwZc8SuzMtjLfLr43RW9E_5jlDGe1oMfDsZCd40WP2P0BRhBEaH-OgGyff9VJpvZKqwydWTPXBLzDOzaO7guopIpXIGKxPwVsPdTOzqGHt08n/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image012&quot; width=&quot;175&quot; /&gt;&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;
A disable breakpoint will be shown as a red bordered circle. &lt;br /&gt;
To disable an individual break point you can navigate to breakpoint line of code and press &lt;b&gt;&lt;i&gt;Ctrl+F9&lt;/i&gt;&lt;/b&gt; or navigate to &lt;b&gt;&lt;i&gt;Debug-&amp;gt; Enable/Disable Breakpoints&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;&lt;/i&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;2 References&lt;/h3&gt;
&amp;nbsp;Quick Test Professional Tool.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;3 Additional information&lt;/h3&gt;
&amp;nbsp;You can email me on &lt;a href=&quot;mailto:Sachin.vasudha@gmail.com&quot;&gt;Sachin.vasudha@gmail.com&lt;/a&gt; with any query.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;4 What Next?&lt;/h3&gt;
&amp;nbsp;In my next Chapter I will explain the features of Tool Menu options.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/1163739588532069994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/1163739588532069994?isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/1163739588532069994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/1163739588532069994'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2014/10/hp-qtp-tutorial-chapter-10.html' title='HP QTP Tutorial - Chapter 10'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjHpj9i9G0P8e9nJP1tAgYhvFaeB9jn8dN8rPbBa2KN9epTgvpJ0ZVb-pXg3w8di4Tz-Cm_OY2dWmhUQCO3ckhD19v9DvTXaaeasjeRLMSE1oK2rWKIudCUbmFjDcZn-lL-3qpp2iSrhe/s72-c?imgmax=800" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-5537631585405772648</id><published>2014-10-07T01:41:00.001-07:00</published><updated>2018-06-15T15:42:14.124-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Associate Repository"/><category scheme="http://www.blogger.com/atom/ns#" term="HP QTP Best Practices"/><category scheme="http://www.blogger.com/atom/ns#" term="HP QTP Tutorial"/><category scheme="http://www.blogger.com/atom/ns#" term="Object Repository"/><category scheme="http://www.blogger.com/atom/ns#" term="OR Manager"/><category scheme="http://www.blogger.com/atom/ns#" term="Recovery Scenario"/><category scheme="http://www.blogger.com/atom/ns#" term="Repository Parameter"/><title type='text'>HP QTP Tutorial - Chapter 9</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h3&gt;
1 Resources&lt;/h3&gt;
In my previous chapter, I discussed about the features available in Automation Menu including Run and Record Settings. This chapter covers the features available under Resource Menu option. This chapter explains the following features available under &lt;u&gt;Resource Menu&lt;/u&gt;:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgckEUoxbie15MiXxHXSJa_WdbEtajIGZaGHbb3YeQY4PlTZz5wOjjJoPsQ8MQoFNJilhx2PZ-AMmedTSDjthfKPTulvqd-XXCTrzIRHmn2W1CSrmVJpVZLXSkFjcwgRHUONfYcPjVxZCCN/s1600-h/clip_image002%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image002&quot; border=&quot;0&quot; height=&quot;169&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhl3k9mtFBk4LsFKktHZJFnkXiQq6AvKtjnZex2Jd-UQAX7oeBXl8zSzo-xqjNspagBEyTO1ozzhyphenhyphenFLnl01KNVqAE6kWwOCeceJ3Syhrmq7l9afT41RgMYC_Pf_eRWHuHkRxPRfcFKlbAgr/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image002&quot; width=&quot;234&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
Some of the features under Resources are very frequently used when you need to do the scripting and manage your Shared or Local Object Repository. You can manage your Object Repository; Associate your OR, Add Recovery Scenario etc. We will cover most of these features in detail in this chapter. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.1 Object Repository&lt;/h3&gt;
When you are doing your scripting and want to view the Object Repository which is attached with the current Test Script, you can access it using &lt;b&gt;Ctrl+R&lt;/b&gt; or by navigating to &lt;b&gt;&lt;u&gt;Resources-&amp;gt;Object Repository.&lt;/u&gt;&lt;/b&gt;: You will see a below screen which is having multiple commands for modifying and adding new test object in your local or shared object repository. This is one of the screens which is very frequently used during scripting and you must be aware about the usage of this functionality.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis2arT6JaE8CfKV2ywyduZxB1H3PLeZjR1mzKjdiIbBngWu1lWYuXqBY175jcAr5Kfj1-HaXQLV02u9Ymng0ZKzMOW7g_hz4GuFglFAgR5-q5C3ZnYMEU0yBWCDRy9Qb1W_HeIIg30V5t0/s1600-h/clip_image004%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image004&quot; border=&quot;0&quot; height=&quot;134&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkJ_ivRuOsIgIRtqBukjV69rx2BSxAqdmwCGU7sKS-JOfbwG-salyMrf05eS297lSmxVxYqgj6DpPyCsrkTpRBpxwB4aooVbLqwRbGd3XVbIR6p0ScOXIDEPg0b4BGK8vAW-KN9Hh3T551/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image004&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
As you can see that on the left hand side you have the detail of the entire test object in a tree like structure and on the right the object properties details where you can add or modify the detail of existing or new objects. We will cover Object Repository and Object Repository Manager in a separate Chapter as there are various useful features which cannot be explained in this Chapter.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.2 Object Repository Manager&lt;/h3&gt;
Object Repository Manager is the place where you can Open an existing OR and you can add or modify the OR properties. This again is a very frequently used feature of QTP.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv8GsrTWm3U-gEJH5rHZ7xjeFqJteKxhhyKb4IPplZQDhaYD5waWK0pxfXYJyDJ1Wm-qQ6xf3BmGSAveWe61Fevd0tma2E9iqRa2GEofrjOkB8aHLPDM6uXZIVY7Can9PXSoIePVWHljUh/s1600-h/clip_image006%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image006&quot; border=&quot;0&quot; height=&quot;175&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzAAYwbw75Kg2IXM6_TrUXu9_vFi_0TPJA88ezXUBxbejaKDIskCRkX9j8K4V3-F8BaxDJkVXePbGWeu1Ij_AigPblJlOv706hcqwZhv5lO1zfGds1ECxifD8FuGZr0WXNOSWsN4TEkYtg/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image006&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
There are features which are common to OR Manager and Object Repository screen. To access Object Repository Manager, navigate to &lt;b&gt;&lt;u&gt;Resources-&amp;gt;Object Repository Manager&lt;/u&gt;&lt;/b&gt;. &lt;br /&gt;
&lt;i&gt;&lt;u&gt;As a best practice while modifying the Object Repository, please ensure that you are opening the OR for modification when no one is modifying it at the same time. One of the mistake which people do is they will not open the latest version of OR and they might have opened an old version and modify it and then save it. If you will do like this, the changes done by other will be lost. So never modify your OR which was open earlier and then you press the edit button. Always make a practice to Open and then edit and not opened and edit.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;
&lt;em&gt;&lt;u&gt;&lt;/u&gt;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.3 Associate Repositories&lt;/h3&gt;
This feature is also very frequently used and when you need to associate a shared OR with your current Test, you need to do it by Associate Repositories. You can access this feature by navigating to &lt;b&gt;&lt;u&gt;Resources-&amp;gt;Associate Repositories&lt;/u&gt;&lt;/b&gt;.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5BZxlI60xcjnHrEi75ye3G9MPFaO3hZ6byERRtvhKPUR6Vrl3L5PqT9OhAr8j5uH4UmvScaz1bCwsC33Kj7BswT_d5_GO_-fbDxVQU8Sgea9LluLccCwWAi_6K4nFqwyjEIuEX5baa6DB/s1600-h/clip_image008%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image008&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXPdUWgBuIW8GpjKSWsKLsu3rFUf2XiYWo23Lxe2YkP3qqy_2AT4MtZGL3k57QeH5fzncHZOMQnvmJc_py_YpbVaBs1-FlLTdePMrW7FaTVhOUsNuzgbPzq0sEaHE3-YuPpo33MckFJKMN/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image008&quot; width=&quot;220&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq-RHX2caTpbBjjJlVjaBgnL3Lx8_Fb7w32b-P4QuHdWjTAjmT-ketoQRcA0UTEl9p2B6iCaO9ipYJz-mwjsMMuIQapez9yWwk4PVaiHHeSNKA7d42D3hvZczG1t6B2Uly-8_h9R9XOLyT/s1600-h/clip_image010%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image010&quot; border=&quot;0&quot; height=&quot;227&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZcsCyOuqcU7zJLSzMMuRhehGhKuGPdNboHARSBzWxTxPgo6Q18iE_DlCF2Ms4GfpYqd4p3Iw5k3bUSbnSxjzl90ssEQ4nUTAMQdQSxKD1fWaVnhjF3aBFmG5E5paX2JLWyHgqssfIaCQt/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image010&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAApPqongDLBCien_GevvMd46OA030ZU4mk8pJvKi_UBjZ6lMnqeVHk4MoBCPnCrHIcIg7jpuQsN8L3T2375ypJ35na8dL4WxuSV9wweWZSv3kadRKBNfbDTlIuY64slXij9EOE-esE28O/s1600-h/clip_image012%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image012&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvLhgXQb81vfeU89roDqu2ohepAkUVpbq52RadkDTYudswb2-n5o2yaKKdBdrf4Dh7RuSL6ZlKAdBKC0PmVff8mHrItVd-XwrXi_d02lWdkIkMPyWlMJSEnLHqZPp_ekJMfvbHSNk6PpXe/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image012&quot; width=&quot;220&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
To associate an OR you can click on &lt;b&gt;+&lt;/b&gt; icon and navigate to OR location and then click OK. The selected OR will be visible in the Repositories Section. You can repeat the same process to associate multiple ORs. Once you selected the OR, then click on &lt;b&gt;&amp;gt; &lt;/b&gt;button so that available actions will move to Associated Actions. Once you performed these actions, then click on OK. This will complete the process of associating OR to your Test. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.4 Map Repository Parameters&lt;/h3&gt;
Map Repository Parameters feature can be used when you want to parameterize the property values of an object. You can access this feature from &lt;b&gt;Resources-&amp;gt;Map Repository Parameters&lt;/b&gt;. Let’s take an example to better understand the concept of Repository parameters. Suppose I have an object say Edit Box and the property of this edit box changes dynamically following some pattern such as txt001, txt002 etc. In such a case you can parameterize this property value. In real time, test scripter hardly used this feature of QTP as they manage such changes using Regular expression. &lt;br /&gt;
Before mapping the parameter, you must define the parameter for the Object Repository. You can do this from Object Repository Manager. Open OR Manager and then navigate to &lt;b&gt;Tools-&amp;gt;Manage Repository Parameters&lt;/b&gt;. See below screen shot &lt;b&gt;     &lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXS-lStqksq8B36_SyAV8nmign6WCDkUwyUFIo_muk2Q-ZZg9f4F_VvOq1sitM10rU0crznLMGU0wfOE74HewNxyeIwh7HJS2tk4Ej02jFSHGQy9NKbcXY8YX9CzAlU6lEpET4iPTAkdZx/s1600-h/clip_image014%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image014&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy_HSeqjNBP_3g7FRQiP_Kp9SEtlnXM6jjchlhC_fjuQ-PmJ04vZPwbROYuPb0texlkThOcskVJ_PCHfaqU6h5LRdvUr_i4eHVxnOGT2j8lReiqjZ_5Rcl7EAJsqwYHcsSHvipxWXiDadC/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image014&quot; width=&quot;229&quot; /&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
Click on &lt;b&gt;+&lt;/b&gt; icon to define new parameter. The screen is self explanatory. Once this is done then you can view all the Repository parameter from Manage Repository Parameters feature of Resources Tab. See below screen:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAsT657h3rrByhmu7DgQEoPFtwg_-iI0DVeG_N-5eZ1w_qwec0-BbqwDniiylvXmAuNv_j5XxyXh1GrLCsVmIZuu_an9DB2-TU7ECMo5TOWNubhNhmJebkfN1P-K5UOkuHHqgicKHRE1n_/s1600-h/clip_image016%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image016&quot; border=&quot;0&quot; height=&quot;223&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsNMlQ3qGKv1TKw1fcg_8A1EY0eSgUjrRzFVsVhhJ6buoRuNoxeZ-IYUVv5YVHSYXVK0F-LJb9Pk5mNTFb2OkEkhbK0ZCJ1c4mfiZYOoZr6i_FhyphenhyphenEL8Ka0KC1iH2l59gPma-hWI5jhdbbf/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image016&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;Note: This feature of QTP is not used in real time but you should know why this feature exists in QTP.&lt;/b&gt;&lt;br /&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;h3&gt;
1.5 Recovery Scenario Manager&lt;/h3&gt;
Recovery Scenario Manager is the feature which decides the action which will be taken by QTP when it encountered any expected or unexpected error. You must define a Recovery Scenario for your Automation Framework and will ensure that each of the Tests is calling the Recovery Scenario to handle error conditions. This is error handling mechanism for QTP Script.&lt;br /&gt;
You can access Recovery Scenario Manager from &lt;b&gt;&lt;u&gt;Resources-&amp;gt;Recovery Scenario Manager&lt;/u&gt;&lt;/b&gt;. Refer below screen shot for Recovery Scenario Manager. I will dedicate a separate chapter on this functionality.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFe-_WCNUGV5A8LAKCrkLyE8OEP4TV1G29IH8yz8g6PddmfIamRmKRTOw7uP6iWYT2xF2l6HFjheeizvqJgKwgHAWmk2CNS3jYl3sv1ftgmUodpU5iaZ872kW8ovUA5LIM-__A1EHBcjXD/s1600-h/clip_image018%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image018&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj68I3kP1abdRGH8DHXF9ZqZfgIYOD-AAIp9rYn92a0JvhGT4zeN633CTkHK2Xdw74-IwWe3RklxlKkcX0zbE_7PvG5f8ERAyO7_FSGpMgPJAqcArFuYXF_AVVKt8Qoj4kGMRSqqF1lUZxo/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image018&quot; width=&quot;201&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;u&gt;As a best practice, define Recovery Scenario for Global Error Condition which is Exceptional in nature such as QTP Tool Error, System Error etc. Do not replace Script error handling with the use of Recovery Scenario. I will not recommend the use of Recovery Scenario for Object State, Pop-up Window or Test Run error. But you can use it for Application Crash Conditions which is exceptional in nature.&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.6 Associated Function Libraries&lt;/h3&gt;
Sometime when you are doing scripting in a big team and there are functional libraries, OR which need to be included in the test script and you want to check whether Function is associated with Test or not, you can use Associate Functional Libraries feature to see what function library is associated with your Test. &lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv8V19WZ8i5gZHRRMm3wck7mqb2xFcg8uLj7l7QFFyfveihboKCzluTPzY58G-UOTTTjQ8WCQb8gzUAp1mNpbmI_A6wIwglWf2Izat81Ksh9yWpQV3sfSUFPpIjgpUz27dXMUwVzlDFoB0/s1600-h/clip_image020%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image020&quot; border=&quot;0&quot; height=&quot;90&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQh-05UwBaUkEVSfgV5zFYbGV1CEklAUnJjkOFYHDx5HOQEfhTVqEtOq5sFnLVJNU3A7-DYp78QSnG42c1ldAycS__3a3kRI2SZnbvdboj9A_Hbj4vma4Zrwq-34jli-2xMscfoawSAM56/?imgmax=800&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image020&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
2 References&lt;/h3&gt;
Quick Test Professional Tool.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
3 Additional information&lt;/h3&gt;
You can email me on &lt;a href=&quot;mailto:Sachin.vasudha@gmail.com&quot;&gt;Sachin.vasudha@gmail.com&lt;/a&gt; with any query.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
4 What Next?&lt;/h3&gt;
In my next Chapter I will explain the features of Object Repository Manager.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/5537631585405772648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/5537631585405772648?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/5537631585405772648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/5537631585405772648'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2014/10/hp-qtp-tutorial-chapter-9.html' title='HP QTP Tutorial - Chapter 9'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhl3k9mtFBk4LsFKktHZJFnkXiQq6AvKtjnZex2Jd-UQAX7oeBXl8zSzo-xqjNspagBEyTO1ozzhyphenhyphenFLnl01KNVqAE6kWwOCeceJ3Syhrmq7l9afT41RgMYC_Pf_eRWHuHkRxPRfcFKlbAgr/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-3968229787894062442</id><published>2013-10-29T18:26:00.001-07:00</published><updated>2018-06-15T15:42:53.446-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Action"/><category scheme="http://www.blogger.com/atom/ns#" term="Analog Recording"/><category scheme="http://www.blogger.com/atom/ns#" term="Automation"/><category scheme="http://www.blogger.com/atom/ns#" term="Low Level Recording"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Record &amp; Run"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Result"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Tutorial"/><category scheme="http://www.blogger.com/atom/ns#" term="Record and Run Settings"/><title type='text'>HP QTP Tutorial Chapter 8</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h3&gt;
1 Automation&lt;/h3&gt;
In my previous chapter, I discussed about the features available in Insert Menu, QTP Checkpoints and usage of Output Value features. This chapter covers the features available under Automation Menu option. This chapter explains the following features available under &lt;u&gt;Automation Menu&lt;/u&gt;:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv6q8ZGaBYUWIi2-ISfLdZ9ngyFGLRir3DQe_Ma41EfnGp8EjJDTzDOeDZPu5scmdKddK_0DZljSZQlGbM2SVjxlR0G-NiQ5uVjcqw_iyaHMg2LNLwkstRA4tfAf7jlCjW7EwWnJ1x8wFb/s1600-h/clip_image002%25255B4%25255D%25255B2%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image002[4]&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirP1D0ZzgNxif3f1SlzqPUstyqg5gQhhg-wJiSTOdKlLRVwwzm1DKDf_dFBElrGZhKMLeWMSRt6Oimrs0l2KQtMYfRWsecoCBL9CEAEiIAmB770V2-2jx1e6RJTU7s9lFkTF6GPydfL5tO/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image002[4]&quot; width=&quot;213&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
The features under Automation are very frequently used when you need to do the scripting. You can control your recording, run your test, and update your Test. We will cover most of the features in detail in this chapter. &lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.1 Record&lt;/h3&gt;
Recording features work in 2 ways. One when you are starting a new test and want to start recording for generating the Test Script and when you want to enhance existing script for new features in your AUT. I will explain both the mode. We will start with &lt;b&gt;Record&lt;/b&gt; for New Test. When you are starting with New Test, and about to start with recording of your scenario, you have to either press &lt;b&gt;F3 or &lt;/b&gt;navigate to &lt;b&gt;Automation=&amp;gt;Record.&lt;/b&gt; As soon as you have initiated either of these commands, you will see a &lt;b&gt;&lt;u&gt;Record and Run Settings&lt;/u&gt; &lt;/b&gt;Dialog (I will discuss about Record and Run Settings in Chapter 9). As of now you need to know basic things which I am explaining below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH28zUOuepvcosjdsvobP6wl72iAC1iO_hLz0kgAicp5JfZR5fKXjNj5jIKnWJ1L1M8nOxYW6f1yGDKwQahSkIWJlxrGCk-pzOTdaSNsBVocq2WC20KA0pewmubpBOLQLQeIIsX3XbhhyM/s1600-h/clip_image004%25255B4%25255D%25255B2%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image004[4]&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVyJekLU2Qp75-CVJQjVedx6E0Iz97tWv_S6aDWkyuZjtztp7T3L2AL6i7jS9JrZXuCdsvK7Bj0cnmeDiSHALX7h4A3seAHOriMQnsk3_d2SknWiLcTNf-Klk4fZGvXJTpClYL9JpGuFLE/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image004[4]&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Based on your need, you have to provide the settings for your recording so that AUT script can be generated as you navigate or explore your AUT. You are seeing 2 Tabs – Web and Windows which are default. You might see other Tabs if you have different application such as SAP, Siebel, PeopleSoft etc. Based on your need, you have to choose either of the options. For our sake, we will choose “&lt;i&gt;Record and Run test on any open browser&lt;/i&gt;”. But before that we will ensure &lt;i&gt;&lt;u&gt;we do not have any other browser opened with other application or website. When we choose this option we are going to open only the application under test&lt;/u&gt;.&lt;/i&gt; After your settings, you need to click OK. As soon as you click OK, you are into recording mode and whatever action you are performing on AUT, all these actions are getting logged or recorded. You can see the script or steps generated automatically in Keyword or Expert View. &lt;u&gt;Another important point is that of Analog Recording and Low Level Recording which only get enabled when you start your recording&lt;/u&gt;. I will discuss these 2 additional types of recording in later part of this chapter. If your “Capture Screen Images while Recording” is enabled, then you can also see the recorded screen shot in Active Screen section. At any point of time, press &lt;b&gt;F4&lt;/b&gt; to stop the recording.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.2 Run&lt;/h3&gt;
As part of scripting and to do unit test and debugging, you need to run your script. You can do so by opening the Test Script and then either press &lt;b&gt;F5&lt;/b&gt; or navigate to &lt;b&gt;Automation=&amp;gt;Run. &lt;/b&gt;When you press F5, you see a Run Dialog box having 2 tabs – Result Location and Input Parameters (More detail will be covered in Chapter 9). As of now let the Result location set as Temporary without making any changes. After you click OK, your test execution will get started and you can either &lt;b&gt;Pause&lt;/b&gt; your test- press PAUSE key or stop by pressing &lt;b&gt;F4. &lt;/b&gt;Once your test completes, you can see the Test result after execution.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh7-SilVzFd8vfHKveqb5dPCodQc3TbiOoxu0DFy3eiebzyscctUM93JAUajDgGj4XudNyPzQY12aCCTFXLFwYTY_-2otjPNh7VTwk__jUOOlbaKcIRza3ownxG4e2-Uhs7HVqTGojhgr3/s1600-h/clip_image006%25255B4%25255D%25255B2%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image006[4]&quot; border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicP0CI0CJ4q7fpB_rlC-gxqXd1Iawij8NssM89Le5yWgV6R842fqOVButRX4ho90rEw35cKDBezi9rNputT_UB5SGE3tUX8KY5c5qDLgcKZXQn9cFE1AAUPGp6VXjRgqavtkYHqTxzU-eP/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image006[4]&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.3 Stop&lt;/h3&gt;
As the name suggests, whenever you want to completely stop your test execution, you can press &lt;b&gt;F4&lt;/b&gt; or navigate to &lt;b&gt;Automation=&amp;gt;Stop&lt;/b&gt;. &lt;u&gt;Please remember this option is enabled only when your Test is in execution mode&lt;/u&gt;.&lt;u&gt; You can also press F4 when your AUT is taking too much time to respond.&lt;/u&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.4 Run Current Action&lt;/h3&gt;
You might come up with cases, while you are doing debugging of the script where in you just need to run a particular action in your Test Script. I am considering that you are having more than 1 action in your script. What to do in such a scenario? Well, QTP have solution to this, you need to select the action which you want to execute and then click &lt;b&gt;Automation=&amp;gt;Run Current Action. &lt;/b&gt;This will execute the current action only but if current action have further reusable nested actions, then those will also get executed as part of run. But you always have option to &lt;b&gt;PAUSE &lt;/b&gt;or &lt;b&gt;STOP – F4.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;     &lt;/b&gt;&lt;br /&gt;
&lt;h3&gt;
1.5 Run from Step&lt;/h3&gt;
When you are writing your script, there might be certain situation where you want your script to be executed from a particular line of code. In such cases you need to place cursor on that line and choose Run from Step. You can also right click on that line, and choose Run from Step. The shortcut key is &lt;b&gt;Ctr+F5. &lt;/b&gt;I will say, that this is also very frequent command which you will be using when you are developing your script, debugging your script or enhancing your script. This command will ignore all the script above the line from where you have initiated the &lt;b&gt;Run from Step&lt;/b&gt;. For e.g. See below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTKRPbub-34qj0B45qgWNrV1k0Xb-H-NxT1njd-m19g3DBQBTeFVntDoJpOQDcp2OLDIja0ZNhuTMuH87pPaFmrQiFHfrpwvSSu9eKWEVmyJqeaqfAjBQtrosrIPcdkqWIBzff4zNmYZeJ/s1600-h/clip_image008%25255B4%25255D%25255B2%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image008[4]&quot; border=&quot;0&quot; height=&quot;84&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV0saNPH4Ul0Dx5Q_aCHVrS0txS0K3mJ5UEv1Kmlv-2xC-vjorHrP20V0ed9ioOaXnmhd5WTAFMyb4eivUIFCqlUDOiES4pkw1C5nxbGyElmcKJBQ7agx8GW628Q0RzICYG0f3gdQE30Nt/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image008[4]&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
If I have to run the code from line 4, I should place my cursor on line 4 and then either Press &lt;b&gt;Ctr+F5 or Rt Click=&amp;gt;Click Run from Step or Goto Automation=&amp;gt;Run from Step.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
Note: &lt;u&gt;When you have loop or conditional statement in your code, and you are trying to run from line which is inside loop or conditional statement, then your script will return error related to syntax, so please pay attention while executing your code from specific line and ensure that cursor is placed at right place in case of loop and conditional statement.&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.6 Analog &amp;amp; Low Level Recording&lt;/h3&gt;
Analog Recording and Low Level Recording are workaround options when normal recording fails to solve am automation business problem. For e.g. If you are working on Legacy Application and HP QTP does not recognize the action being performed, or you are dealing with BITMAP application, in such scenario, you can choose to record your test in Analog or Low Level Recording mode. I will explain the difference between these 2 in below paragraph.&lt;br /&gt;
Analog recording is needed when I am having a scenario where I need to digitally draw my signature for future reference or I need to draw unique image as passcode. Whenever operation which can be accomplished by using mouse movement and we want to capture the exact movement of mouse, then we will enable Analog Recording mode. You can only enable analog recording when you are already in normal recording mode. You need to Press &lt;b&gt;Shift+Alt+F3 &lt;/b&gt;or goto &lt;b&gt;Automation=&amp;gt;Analog Recording. &lt;/b&gt;As soon as you execute the command you get switched into Analog Recording Mode. &lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.7 Record and Run Settings&lt;/h3&gt;
You can access the Record and Run Settings from Automation-&amp;gt;Record and Run Settings. The usage of Record and Run Settings is explained below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifKfNQsjzDvUtKZJMD8IUqr3FrJJ8GKiKfxSHVhisQaEeY0yGRiXiYqlflmS4ThLFu0_oczkDMoRTyaWGz79WJNj4CX_ExX_4nelgsGfRsDm7nyriORRvBxmxeeYyDsJ22OPfLQ3HBWCrI/s1600-h/clip_image010%25255B4%25255D%25255B2%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image010[4]&quot; border=&quot;0&quot; height=&quot;242&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVXh98p3rpN6NQc21kxkxzC5rZGDAT9JvDeOPKwghFSGTvQ2ujP3zFe_iaiugtV6ITH1E9Ash9tMu794GoiZXSJh38EbXqys5OmL1t0KAqJxoL1fs8rWFyMnLJjwNUM50jw28uTsM4Jhyp/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image010[4]&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Depending on the Add-Ins available you can see the Tab. For e.g. If you have Siebel Add-Ins or SAP Add-Ins, you can see the respective tab on this window. The tab allows you to provide the necessary settings for script recording and execution. We will explain the Web and Windows Tab.&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Web Tab&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
“&lt;i&gt;Record and run Test on any open browser&lt;/i&gt;” - When you choose this option, QTP record the script on any open browser (Internet Explorer). &lt;u&gt;As a best practice, you will select this option when you are doing the scripting for Web Based Application. Normally in real time, you record your test script by opening the AUT and framework is going to launch your AUT and perform the necessary actions as per Test Script&lt;/u&gt;.&lt;br /&gt;
“&lt;i&gt;Open the following address when a record or run session begins&lt;/i&gt;” – When you want to launch specific URL you can select this option. You can also set the default browser which will get launched when you start your recording or about to execute the Test Script. In real time we hardly use the second option. This is mostly used when people are learning the QTP Tool. The other 2 checkboxes – “&lt;i&gt;&lt;u&gt;Do not record and run on browsers that are already open&lt;/u&gt;&lt;/i&gt;” will ensure that actions are not getting recorded on other browser apart from the one which is launched while recording and “&lt;i&gt;&lt;u&gt;Close the browser when the test closes&lt;/u&gt;” &lt;/i&gt;will ensure that the AUT browser will get closed when you close the Test. &lt;u&gt;Again these 2 options are hardly used in real time Test Automation&lt;/u&gt;.&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Windows Tab&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpywr8IQS1NfG6O5t6ZiJ834Z4OBSCxS7cqdDGjPsdfVephBvQ6KBTnPJaiMl26E7Dlt9A9XGMxYdthPSmjPRqnpTVDkf4WqXe7PlObTxfJagSDaZPolPQMGa-JBvmwi1eP1OTDDd7eOEj/s1600-h/clip_image012%25255B4%25255D%25255B2%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image012[4]&quot; border=&quot;0&quot; height=&quot;242&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8Fmt82Stz7xvZ-0e4N2PIVwz8cDsvCkktKgc62gbU-9YCobFB_AsaeKJfp75H7_owiZveItSLar5JKbNF_RSx2BHZBIjSsGUGdNVYPD_-blQrC_kepgCgNtz2g8h1M_q6XBUAov7KrBgM/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image012[4]&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
In Windows Tab you can see following options to control your recording and execution on Windows Based Application. &lt;br /&gt;
“&lt;i&gt;Record and run Test on any Window-based application&lt;/i&gt;” - When you choose this option, QTP record the script on any open Window application which is supported by native OS (VB Application, MS Word, Notepad, Calculator etc). &lt;u&gt;As a best practice, you will select this option when you are doing the scripting of Window Based Application. Normally in real time, you record your test script by opening the AUT and framework is going to launch your AUT and perform the necessary actions as per Test Script&lt;/u&gt;.&lt;br /&gt;
“&lt;i&gt;Record and run only on&lt;/i&gt;” – Under this checkbox you have other option to control your recoding and execution. You can specify the conditions such as “&lt;i&gt;Record and Run Only On – Application opened by Quick Test&lt;/i&gt;”, “&lt;i&gt;Record and Run Only On – Application opened by via the Desktop(by the Windows shell)&lt;/i&gt;”, “&lt;i&gt;Record and Run Only On – Application Specified below – You will specify the application exe path in the grid section by navigating to the application exe path&lt;/i&gt;.” In real time we do not use the other options for Script Recording and Execution.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.8 Results&lt;/h3&gt;
In case you are not able to view the results after test execution or later you want to see the result of last execution, you should navigate to &lt;u&gt;Automation-&amp;gt;Results&lt;/u&gt;. QTP will show the Result of the last Test execution. See the below &lt;i&gt;Open Run Result&lt;/i&gt; Window which ask for Result path when you try to open the Result without opening any test or without executing the test.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB5NdQtL0QJ4IoZ6IV9KCwnnyLvOaiDSo_qpUm4Z3VJG0eeykzntV9VRTqTa38PQ4qwThS-Klw1o6RWZqJ-Zrk-ee4jbyurx41ThgfiTbc11F3_YTEUJcfy8rZlEu3w2BXr53We7fynPV5/s1600-h/clip_image014%25255B4%25255D%25255B2%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image014[4]&quot; border=&quot;0&quot; height=&quot;87&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfOTqZlcCrwOKtjg2TZ1GVExrcyuRQk2QRhG-ieRyRYF4WcKhMWIaHg2sh9aVuklJkiKzWM9kznhDoZCF9FreXmWy1-BG5-S8T8dVBbMEHO0pYa4_DkQbHa33u2Qh61aIxu1iAYI-lv7ES/?imgmax=800&quot; style=&quot;border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;&quot; title=&quot;clip_image014[4]&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
You can either open the Test using &lt;i&gt;Test name &lt;/i&gt;and selecting the &lt;i&gt;Run name&lt;/i&gt; or if you know the XML result file path, you can use &lt;i&gt;Results XML File&lt;/i&gt; option to view the result.&lt;br /&gt;
If your test is opened and you want to view the result, click &lt;u&gt;Automation-&amp;gt;Results&lt;/u&gt;. It will display the last run results.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;2 References&lt;/h3&gt;
Quick Test Professional Tool.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;3 Additional Information&lt;/h3&gt;
You can email me on &lt;a href=&quot;mailto:Sachin.vasudha@gmail.com&quot;&gt;Sachin.vasudha@gmail.com&lt;/a&gt; with any query.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;4 What Next?&lt;/h3&gt;
In my next Chapter I will explain the Resources Menu and the usage of various features such as Object Repository, Object Repository Manager, Associate Repositories, Map Repository Parameters, and Associated Function Libraries.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/3968229787894062442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/3968229787894062442?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/3968229787894062442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/3968229787894062442'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2013/10/hp-qtp-tutorial-chapter-8.html' title='HP QTP Tutorial Chapter 8'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirP1D0ZzgNxif3f1SlzqPUstyqg5gQhhg-wJiSTOdKlLRVwwzm1DKDf_dFBElrGZhKMLeWMSRt6Oimrs0l2KQtMYfRWsecoCBL9CEAEiIAmB770V2-2jx1e6RJTU7s9lFkTF6GPydfL5tO/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-4363747661826142325</id><published>2012-09-03T22:58:00.000-07:00</published><updated>2018-06-15T15:44:54.387-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="QTP Database Output"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Insert Menu Command"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Output"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Text Output"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP TextArea Output"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP XML Output"/><category scheme="http://www.blogger.com/atom/ns#" term="Standard Output"/><title type='text'>HP QTP Tutorial Chapter 7</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2&gt;
&amp;nbsp;&lt;/h2&gt;
&lt;h2&gt;
1 Output&lt;/h2&gt;
&amp;nbsp;In my previous chapter, I discussed about QTP Checkpoints which is a very handy utility for comparing the expected and actual result. This chapter covers the topic of OUTPUT utility available in QTP. This utility is also very handy in capturing the run time values from the application under test. You will use OUTPUT utility where in you are testing and automating an end to end test scenario. In such a case output of one module is an input to next module. An end to end Business Scenario example is given below:&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;564&quot;&gt;Validate that user is able to book and cancel the flight ticket&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;191&quot;&gt;Step1- Navigate to booking site&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;241&quot;&gt;The user navigated to booking site&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;132&quot;&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;191&quot;&gt;Step 2- Enter valid login credentials &lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;241&quot;&gt;The system allowed login and display the flight booking page&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;132&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;191&quot;&gt;Step 3- Fill the Booking Information &amp;amp; Submit the form&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;241&quot;&gt;The system generate a unique PNR number once data is processed&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;132&quot;&gt;&lt;b&gt;Standard Output&lt;/b&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;191&quot;&gt;Step 5- Navigate to Cancellation Page and enter the Ticket PNR number for cancellation&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;241&quot;&gt;The system searches the ticket and allow the user to cancel the ticket&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;132&quot;&gt;&lt;b&gt;Enter the PNR generated from Step 3&lt;/b&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;191&quot;&gt;Step 5- User cancelled the ticket&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;241&quot;&gt;The system should cancel the ticket and generate a confirmation id&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;132&quot;&gt;&lt;b&gt;Standard Output, if you want to make use of Confirmation Id on other module to know the refund status of your money.&lt;/b&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;191&quot;&gt;Step 6 – User navigated to Refund Status module and Enter the confirmation id&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;241&quot;&gt;The system display the Refund Status to the user&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;132&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
You can get the runtime values using other VB Script technique as well but since we are talking about Output, so we will use Output to achieve our automation requirement.&lt;br /&gt;
To summarize the definition of Output I will define “&lt;i&gt;Output as a utility which can be used to implement the validation of our Test cases mainly End to End Test Scenarios where run time data from one module is an input to another module”&lt;/i&gt;&lt;br /&gt;
We will focus our chapter on above scenario and I will show you how to make use of &lt;u&gt;Output Utility&lt;/u&gt;&lt;br /&gt;
Please find below the List of Output Types available under INSERT-&amp;gt;OUTPUT:&lt;br /&gt;
&lt;u&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuRB6-3JSVNvt22G97eOX4ezE66dyzZ2eOl3jVWtXLLOsCltDKjfbeaE642B2OUEFRsMoOabcGeY1voTiBz9DKvxk4YYkQKzmzr-BKRf_rkKZySQFuBe48tVhIFfn1Ap5aGKmqOGTs0U9p/s1600-h/clip_image002%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image002&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR4OaYjUpbTOvKpPhGxCXERLn3bjTfCcalZ0YNsPoC1tEHbCvvUaGmsXmzNa-ztKa30caIqNDg9-9DIFBU2ti9YiT2uVqHh9ukS5TJLrsmnZK5EhkmOSuc1tTEq8MA-BxlULXguTzJIROF/?imgmax=800&quot; height=&quot;82&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;clip_image002&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;Note:&lt;/u&gt;&lt;u&gt; Please note if you want to add Output Values after recording, then you must have enabled Active Screen Capture option. Enabling Active Screen Capture option will save the Page Image which can be used to add Output Value in your Test Scrip&lt;/u&gt;&lt;br /&gt;
&lt;h2&gt;
&amp;nbsp;1.1 Existing Output Value&lt;/h2&gt;
&amp;nbsp;The existing output value option will provide you the ability to view all available output value in your test. &lt;u&gt;This option will only be enabled if your Test contain atleast one Standard Output Value&lt;/u&gt;. If test does not contain any output values, then the option is disabled. The usage of this feature is to add existing output value at in the Test Script. Since Output Values are defined on Test Object which is part of Object Repository, so you have access to all the Output Values which exist on your Object Repository. No need to duplicate the work. You can access the same either by &lt;u&gt;Insert-&amp;gt;Output Value-&amp;gt;Existing Output Value&lt;/u&gt; or &lt;u&gt;Shift+Alt+F12&lt;/u&gt;. Refer below for Existing Output Value window:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgboWZ-yXjbPf5MADyP_QtMPwfP3YJb2KJkHtEdpvph4btMvqZikfNr1VuWEHyu7G_9Cf6w-4EZzc4RkW7VIFQWTJrr6Ye7p-ft3pk9A5uSRM5stZV4umfY4fvQQ5jLKoc2-wOw6neNl8S-/s1600-h/clip_image004%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image004&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsdhYRoi1RxduskVbMQcLKmzH3U9D9GJwVVGQtTl8VPoFiYY8kkyxZPUDU1w0f56h4QMFrf5BBeFcTSJgJ30IZyyPwTcnMHLJPGJv872e0x1g3T-V12IYC0aphrZAFbAx-hRHgZz9sh1FG/?imgmax=800&quot; height=&quot;244&quot; hspace=&quot;12&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;clip_image004&quot; width=&quot;208&quot;&gt;&lt;/a&gt;     &lt;br /&gt;You keep your cursor at the line wherein you want to add the Output Value and then open above dialog and click OK button. Your script will now have Existing Output added. If you see the Expert View, you can see below line of code:&lt;br /&gt;
“Browser(&quot;XAMPP 1.7.4&quot;).Page(&quot;XAMPP 1.7.4&quot;).Output CheckPoint(&quot;https://localhost&quot;)” - //OUTPUT Value&lt;br /&gt;
Browser(&quot;XAMPP 1.7.4&quot;).Page(&quot;XAMPP 1.7.4&quot;).Frame(&quot;head&quot;).Image(&quot;xampp-logo-new&quot;).Check CheckPoint(&quot;xampp-logo-new&quot;) // CHECKPOINT Value&lt;br /&gt;
Have you noticed the difference between Checkpoint and Output? If you see the checkpoint line of code, you will find “Check” keyword and in Output, the “output” keyword is used&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.2 Standard Output Value&lt;/h3&gt;
The standard output value checkpoint is the most commonly used checkpoint. If you refer the example given in section 1 where confirmation id is stored by using standard output feature. To insert Standard Output, you need to first select the value from your AUT and then either press &lt;b&gt;Ctr+F12&lt;/b&gt; or &lt;b&gt;INSERT=&amp;gt;OUTPUT=&amp;gt;STANDARD OUTPUT&lt;/b&gt;. Follow the instruction and finally you will find Standard Output added in your script. Please see below screen shot for clarity:&lt;br /&gt;
I am outputting HREF so only HREF is checked. The most important information is the configure value section where you the output will be seen. To use the same you need to refer the same location. (This is normally a column in either Global Sheet or Local Sheet or Customized Excel Sheet).&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgORIV1-viYSyESb9mOByB1WPBDyYOpMTQtJKWsew7uZvgr9VC_yYH8lmPoeeKqGxYwvhKTBPZxuLE2tmZ3Qytu5UucZ-2fvEZ0ERaa7cOHRP8_wcXGdmHHqYmAVGqaSHU2v1VckmRUVJiY/s1600-h/clip_image006%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image006&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMiO-Ea1Ql-c855wzjQXc6TTG4l6eoOArpglnpHzu7AvruvJJxvbE_5pfTi9523Q18o0UimaSDegn1JDF552DnY0psvC44QgLF25AqLXFlwzqZimeYfg4yAUfF5AH_PWZK6I3t0vv_BdRU/?imgmax=800&quot; height=&quot;184&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;clip_image006&quot; width=&quot;166&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3mb8FDbtCGmlTW0-XOHoXWu0XqP1NX8kzlIDyuIBfpqng4i7c_xHbuIvgmJQFPSZdCn1ojAX23eWjg_2CKNFrQLEt8fwcOb-eftmW1Ayz9evDoDaHlXbOYYr8QBjUU0Py7zt2PMRCI27k/s1600-h/clip_image008%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image008&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMOQmBc4UE6zl8GEtv-4BgL5epu71JI4Fjhf4oEpVZ4k3rRoBWBQ17AtFZtYACEGNyThaSeDDK3RlKUG5pDTtkZMDe47fC0Cm_2_DIhC0XoIh3zn3CrR808bZrJpVt4FZMnU7xSY39RsFc/?imgmax=800&quot; height=&quot;244&quot; hspace=&quot;12&quot; style=&quot;background-image: none; border-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;clip_image008&quot; width=&quot;227&quot;&gt;&lt;/a&gt;     &lt;br /&gt;Note: &lt;u&gt;Please do not change the value present in your Output Column as this may impact your run logic. You will also see the result of your output values in the Test Report&lt;/u&gt;.&lt;br /&gt;
&lt;u&gt;In real time application or implementation, a scripter hardly make use of this in-built QTP function and instead make use of GETROProperty to fulfill such condition.&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;Standard Output is normally used at control level such as WebEdit, Weblink, Images et&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.3 Text Output Value&lt;/h3&gt;
&amp;nbsp;The Text Output is used when dynamic content between static content need to be used as input. To insert Text Output Value, select the dynamic content and then&lt;b&gt; INSERT=&amp;gt;OUTPUT=&amp;gt;TEXT OUTPUT&lt;/b&gt;, follow the screen instruction and once completed you will see another column added into global or local sheet. Please see below screen shots:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRzBID3Vtswie3juGLmWOmiL5OkW3Vo9fCZ7rBHvD9XtbGTsa0Sx5RBLo_cChlNXAYK7DjomgneSV0DOTeLnI95w_qgPXGvB_31D1tUeWd0703fgRJ2lujSVTSLYZRuw5U-KrgZvHNjUEo/s1600-h/clip_image010%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image010&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrol68mWF7st71xamzSKtE9YXqlW-40376SuIboJmQgYyQNiRwrQ3BXoZuzO33Sx6nDPt_thKjSrKjtmWpPcjckp6iaxFXIooHIAaTFLvNxPBWl_CPkVRRkY6SS2M9k6ctAAMH0J7QvOf3/?imgmax=800&quot; height=&quot;144&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;clip_image010&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOTQ842wjhL4rlLZjbqp-JKEoDnLBuq0BCM3ReeJ7_3oHNXhThSheLR9m6-13ghUb2GIiLzcGgoMDjjh-IRgoScV2xYor3alsQhvvGGqzlDW7hOx2oiT7z0xi5Z2-lSce8EJgL61_tzo9M/s1600-h/clip_image012%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image012&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb-vzxGj5GUYrzJqcUs1GgW9NnDYYwDWXBbLoEEh1uXLSCNBzJGZW9bzxh63b-ojnSseDTWF8-INfcFtiIUW3BDhYo-EiCoVApJPox5KQ4EoIcsrxfBhdTDCSRPJfkcdj2bF-6C20qBv75/?imgmax=800&quot; height=&quot;244&quot; hspace=&quot;12&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;clip_image012&quot; width=&quot;194&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;u&gt;This is again a hardly used feature of QTP in real time projects&lt;/u&gt;. But good to know so that you can make use of it whenever you do not have any workaround. &lt;br /&gt;
&lt;u&gt;The Text Output is available to user when s/he is in recoding mode or on Active Scree&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.4 Text Area Output Value&lt;/h3&gt;
This Output feature is applicable only for Windows Based Application. To use Text Area Output feature, click &lt;b&gt;INSERT=&amp;gt;OUTPUT=&amp;gt;TEXT AREA OUTPUT&lt;/b&gt;, select the cross hair icon on the object where Text Area is required and then follow the instructions. See the below screen shot:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCXeXHXogU-HCpW-dK7RsePz8qZgcIowqKc97qtBfHNk_vNNIyiMGxj53MvBOdoiil7F-g-BHxBD2E_fZpGsaoYzEyV2wolwCrhJW-TtHGa5S7-5pL_yNkQvrROTLOz68gFTJwh07fa-aU/s1600-h/clip_image014%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image014&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ7bgKhio4IocAQfGynvk9BMh_gCDDjjwvRzmZgmmFO_jkms94yqZtnVID_o_M_ENTMEO_jbb0yic9I_6sgIKHSO7WiHtZH2UHdGUtGRA-Jf74L6MzAr3lIwx7qgYhL4kmLiPuE48OZBob/?imgmax=800&quot; height=&quot;244&quot; hspace=&quot;12&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;clip_image014&quot; width=&quot;194&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5B-jBivbnVLzqODhbSC7r30DGbHWup7-YTciTnTE92dhHwJLCG_8qVwdNAP8m8oYzmnirp98uc84Wl0mFF78huF6Ahy0xLH1b5wUZgmAUH5MLSKZtircYZfUYKlBXsygz2yjmSK-3poRa/s1600-h/clip_image016%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image016&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlALAgDQPJBbejuuV7usvw4NIq7pFeGeRPsAj68CDdEpQrSpR7gVKaIQRp0OnSYS0WO04sSKL2sUPBSHhPHZuXSo2odSrtjaB12TkP3tzjGYDH6tizT0YvrEE3zPxUh8nVJaC3rgV556Bn/?imgmax=800&quot; height=&quot;157&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;clip_image016&quot; width=&quot;244&quot;&gt;&lt;/a&gt;     &lt;br /&gt;&lt;u&gt;The Text Area Output is available to user when s/he is in recoding mode or on Active Scree&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.5 Database Output Value&lt;/h3&gt;
&amp;nbsp;The Database Output Value is used to output the database table value into your global or local sheet. Then you will make use of it in rest of your test and this speed up your scripting. You do not have to maintain the datasheet since you always have a correct and fresh set of data to use. I can figure out the above usage. To use the DB Output Value, go to &lt;b&gt;INSERT=&amp;gt;OUTPUT=&amp;gt; DATABASE OUPUT&lt;/b&gt;, set the database query and follow the screen instructions. See the below screen shots:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrWRzl6szJsgAXUqNHkdQaG6pEWhrmfzS1a4XSk8o1iL_17keGMbZyobKIitBZKV_dL3RLrovDrBJXLGCeU6EQI6u10AupPxiJfPQuLj201ea5DOT3nXAiuXlm_6VA7R09xFS5iJWv0sOw/s1600-h/clip_image018%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image018&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqTYofAMmE3dHBi0rMm9tLOj3fpX-WQDmRWLALYTxKbGnxQfpYFuWD6xNqXBSeCNQZ8MtI49ZD0rykCFOMyWTpc_FNMtadtkA4Ul1aurhM3LvK_nbBR6FkAc26TOhL71yPNet6Y7ITu8tv/?imgmax=800&quot; height=&quot;244&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;clip_image018&quot; width=&quot;181&quot;&gt;&lt;/a&gt;     &lt;br /&gt;You can set which DB Column value should be used as an output. Select those columns and then click OK. You will see below line of code in expert view for DB Output.:&lt;br /&gt;
DbTable(&quot;DbTable&quot;).Output CheckPoint(&quot;DbTable&quot;)&lt;br /&gt;
You can make use of this Output feature to parameterize your test data for use in another related functionality. &lt;br /&gt;
The DB Output feature is available in both recording and normal mod&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.6 XML Output Value - Application&lt;/h3&gt;
&amp;nbsp;XML Output Value – Application feature can be used in a similar way as DB Output Value. The difference here is the source which in this case is XML Document within the Application. This is available only for Web Based Application and not for Desktop Application. You can Insert XML Output Value by navigating to the application where XML Document exists, then click &lt;b&gt;INSERT=&amp;gt;OUTPUT=&amp;gt;XML OUTPUT VALUE – APPLICATION&lt;/b&gt;, follow the screen instruction and you are done. See below screen shots:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh99SKuW2cYiS06L9USt_slDLpJv-qgzGTElO1KgMz0mXHhzxliCK1lt0xvXt3C9q4MuaW0nwozcvPwP48PKY_F0sQfidaBRrvGDHLZOQOeyG5PW8tzenR5qCe-pX-YFo7hS25sTK8_8Z56/s1600-h/clip_image020%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image020&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUxMqLtKQCyEGL649Y_BRNnpDyFvJX_LQQ1hGEG-sZRuWdj9JZo1U7mpVSls7u95uySv-w5lGw39QD59VnsGfC6zfflAUHKw6DQQz9QMvlEZTZt45bPs1kCg3qipNw8_YGZd94SdoxJGPd/?imgmax=800&quot; height=&quot;182&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;clip_image020&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;u&gt;The XML Output Value feature is available in recording mode and not in normal mode. &lt;/u&gt;As soon as you click Value node, it will add the corresponding column in the datasheet&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.7 XML Output Value - Resource&lt;/h3&gt;
This is the feature which can be used when XML is available in offline mode on hard drive. In that case, you need to select the XML from the location while adding XML Output Value from Resource. Go to &lt;b&gt;INSERT=&amp;gt;OUTPUT=&amp;gt;XML OUTPUT VALUE – RESOURCE&lt;/b&gt;.&lt;b&gt; &lt;/b&gt;Please refer above screen shot. There is no difference between Resource and Application implementation. The only difference is the source from where you are selecting the XML Document.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-CEPcmvVMC15Ub2o4dPEcppCK2jAs03x_7WaWtkuliJWlfp0uuJyr0nVUhZw4TNHAihU8owR3XlhxBgVZKp-NPO2mspRov-a5mlhVb7qL837YvPwiPqxi9o4fK9YBenQ2_dwOX4bq_A3I/s1600-h/clip_image022%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image022&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjadeChSKwy6wLiYCqA9LsTGa1MkLEHXbhqFJwdiSygUA85mTxUdUI0D3LDSM_9sqDo5zcQOYrs-AeLYOOCRA43iTdFrMDhkYxEu77lsgWRIWEITUMUotD-zmO9i04pDpLVTqACfBSjDRhz/?imgmax=800&quot; height=&quot;110&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;clip_image022&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;u&gt;The XML Output Value feature is available in both recording mode and normal mode.&lt;/u&gt;&lt;br /&gt;
Concluding my chapter, I want to emphasize on certain features which you can really make use to define your Framework. &lt;u&gt;Make use of Database Output, XML Output to define the Test Data for your Test. This reduces a lot of maintenance work since your Test Data is being derived from XML or DB during run time&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
2 References&lt;/h2&gt;
&amp;nbsp;Quick Test Professional Tool.&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;3 Additional information&lt;/h2&gt;
&amp;nbsp;You can email me on &lt;a href=&quot;mailto:Sachin.vasudha@gmail.com&quot;&gt;Sachin.vasudha@gmail.com&lt;/a&gt; with any query.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/4363747661826142325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/4363747661826142325?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/4363747661826142325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/4363747661826142325'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2012/09/hp-qtp-tutorial-chapter-7.html' title='HP QTP Tutorial Chapter 7'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR4OaYjUpbTOvKpPhGxCXERLn3bjTfCcalZ0YNsPoC1tEHbCvvUaGmsXmzNa-ztKa30caIqNDg9-9DIFBU2ti9YiT2uVqHh9ukS5TJLrsmnZK5EhkmOSuc1tTEq8MA-BxlULXguTzJIROF/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-11797234343771578</id><published>2012-02-03T18:28:00.001-08:00</published><updated>2018-06-15T15:46:33.548-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Accessibility Checkpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="Bitmap Checkpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="Database Checkpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="Page Checkpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Checkpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="Standard Checkpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="Table Checkpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="Text Area Checkpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="Text Checkpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="XML Checkpoint"/><title type='text'>HP QTP Tutorial Chapter 6</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;em&gt;&lt;strong&gt;&lt;span style=&quot;color: red;&quot;&gt;“Let me first say sorry to all my readers for such a long wait for Chapter 6. It was totally my fault for such a long wait. I promise to all my readers that now they do not have to wait for so long for next chapter and every month I am going to publish 2 Articles. With this pledge, let get started with Chapter 6.”&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1 Checkpoint&lt;/h3&gt;
In my previous chapter, I touch base with checkpoint but not in great detail. In this Chapter I am going to talk only about Check Points/Verification Points/Validation Points. First I will describe what is a &lt;u&gt;Checkpoint?&lt;/u&gt; Let me explain the concept of Checkpoint with an example: See the below scenario with expected result for each step. The third column provides the information on where QTP checkpoint can be used.&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;564&quot;&gt;Validate the layout of login page&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;191&quot;&gt;Step1- Navigate to page&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;241&quot;&gt;The user navigated to login page&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;132&quot;&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;191&quot;&gt;Step 2- Verify user name input field&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;241&quot;&gt;The User Name field is visible and editable&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;132&quot;&gt;&lt;b&gt;Standard Checkpoint&lt;/b&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;191&quot;&gt;Step 3- Verify password input field&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;241&quot;&gt;The password field is visible and editable&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;132&quot;&gt;&lt;b&gt;Standard Checkpoint&lt;/b&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;191&quot;&gt;Step 4- Verify Login button&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;241&quot;&gt;The login button is disabled by default and will be enabled when user name input field contain certain value.&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;132&quot;&gt;&lt;b&gt;Standard Checkpoint&lt;/b&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;191&quot;&gt;Step 5- Verify Cancel Button&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;241&quot;&gt;The Cancel button is enabled and visible.&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;132&quot;&gt;&lt;b&gt;Standard Checkpoint&lt;/b&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
You can validate above expected result using other VB Script technique as well but since we are talking about Checkpoint, so we will use Checkpoint to achieve our automation requirement.&lt;br /&gt;
To summarize the definition of Checkpoint I will define “&lt;i&gt;Checkpoint as a utility which can be used to implement the validation of our Test cases mainly related to page or form controls&lt;/i&gt;.”&lt;br /&gt;
Through out this Chapter we will discuss the above test scenario and I will show you the steps for implementing the above checkpoint in your test.&lt;br /&gt;
Please find below the List of QTP Checkpoints:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;u&gt;Standard Checkpoint&lt;/u&gt; can be used for validating form or page control such as Input Box, Button, Checkbox, Radio Button, Dropdown, Images, Table, Link, Page etc. &lt;/li&gt;
&lt;li&gt;&lt;u&gt;Bitmap Checkpoint&lt;/u&gt; can be used for validating the images for exact match including screen coordinates etc. This checkpoint takes a screen shot of the page or forms and compares the same while running the test. &lt;/li&gt;
&lt;li&gt;&lt;u&gt;Text Checkpoint&lt;/u&gt; can be used for validating the expected text/content anywhere on the page or form.&lt;u&gt;&lt;/u&gt; &lt;/li&gt;
&lt;li&gt;&lt;u&gt;Text Area Checkpoint&lt;/u&gt; can be used for validating the text/content on the specified area of the page or form. &lt;u&gt;&lt;/u&gt;&lt;/li&gt;
&lt;li&gt;&lt;u&gt;Database Checkpoint&lt;/u&gt; can be used to validate the expected records and actual records in database for your application. For e.g. you want to validate whether customer information entered by you getting saved in the database. Here you can use Database checkpoint to validate the records. In this Chapter we will not cover database checkpoint in detail.&lt;u&gt;&lt;/u&gt; &lt;/li&gt;
&lt;li&gt;&lt;u&gt;Accessibility Checkpoint&lt;/u&gt; can be used for validating the accessibility guidelines as per W3C standard. This topic will also be not covered in this chapter.&lt;u&gt;&lt;/u&gt; &lt;/li&gt;
&lt;li&gt;&lt;u&gt;XML Checkpoint&lt;/u&gt; can be used to validate the XSDs, XML Document for expected value. This topic will not be covered in this chapter.&lt;u&gt;&lt;/u&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.1 Standard Checkpoint&lt;/h3&gt;
You can add standard checkpoint during recording as well as after recording. &lt;u&gt;Please note if you want to add Standard Checkpoint after recording, then you must have enabled Active Screen Capture option. Enabling Active Screen Capture option will save the Page Image which can be used to add Standard and other checkpoint&lt;/u&gt;.&lt;br /&gt;
The standard checkpoint can be added in QTP by pressing &lt;b&gt;F12&lt;/b&gt; during recording or &lt;br /&gt;
&lt;i&gt;Click Insert-&amp;gt;Checkpoint-&amp;gt;Standard Checkpoint&lt;/i&gt;.&lt;br /&gt;
As soon as you press F12, the pointer icon &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi01uZN9xs2qRZ0zEg1dhmRhV_LO-l5U5bJTinU0cXexihoHVOjdCzjNVbr8cV90RaY-3JOslE4iKjNiZohv8aczMmMhyphenhyphenUDNxLR30lMKi_42Vtuk6Dd5-mVSo16SImTpkdXnwICbbKqdoaA/s1600-h/clip_image001%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image001&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPGorg0btHY1pZKDAJFJOpzBVwbHJiHA_5j1I7bZGgnboM27tATTfSmwfnns88wvoDUzlzVDWeutu7wz6VDFN3w4ISIVPM_w27BL4eaM9rVm-dYbIpEKR_MvsP-TpAhEWEqiQpgxbQI1qY/?imgmax=800&quot; height=&quot;25&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image001&quot; width=&quot;21&quot;&gt;&lt;/a&gt; will change into hand icon&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio1H0bqFyWz3jF6XsaCYNn-smRdprVwYqwTH9bSz1ehjVWjRzaKRGhrvgOC-NcBF-yyAbSK6D8eOHxTBy2utFh0rYsuaRnscx35QakIeJ9H9t3r_Da4yyuKiovKuhTJoOutVWG_GRGpoZK/s1600-h/clip_image003%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image003&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdXiZ7jkSS_-wA73OLHSWN9Qr3i5Lg7n-Ka8gQp6r6egOgwdrvBFwJJYe7t1aoU37sBVPoQPfjdyzr_4vEM6Vikv48vXGyzCwiFGXwDANRRB6J55IND7VgPKyoQmCrMw-lT_uZfw4UxLyK/?imgmax=800&quot; height=&quot;33&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image003&quot; width=&quot;26&quot;&gt;&lt;/a&gt;. &lt;br /&gt;
Click the Hand Icon on the Page, WebEdit, WebTable, WebRadio etc to add Standard Checkpoint. After you click the Page, Browser, Page Elements such as WebTable, WebEdit, WebRadio etc., you will see Checkpoint Properties Window as shown in Figure 1. Using this window you can choose to validate the property as per your Test Cases.&lt;br /&gt;
Considering the Test Scenario mentioned in Section 1, let automate:    &lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;191&quot;&gt;Step 2- Verify user name input field&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;241&quot;&gt;The User Name field is visible and editable&lt;/td&gt;       &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
If you see the expected result, it mentions the &lt;u&gt;input field&lt;/u&gt; called user name, the input field should be &lt;u&gt;visible&lt;/u&gt; &amp;amp; &lt;u&gt;editable.&lt;/u&gt; Considering that this is Web application, the &lt;u&gt;Input field&lt;/u&gt; will be &lt;u&gt;WebEdit,&lt;/u&gt; the property that need to be validated are &lt;u&gt;Visible&lt;/u&gt; and &lt;u&gt;Editable&lt;/u&gt;. It means if we validate that Visible and Editable properties are true for User Name Input Box (WebEdit), this test case gets automated.&lt;br /&gt;
Have a look onto the property available for WebEdit: (Figure 1) &lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihDUbr4oPZYU4fslaSkFevkxoIJh4QUCoa2eaaY7Ulr1P_VpBe9Hs1NKX7dVT7TpvAhBaXzKj-r8bjRV2SNM25bYcCIZzM6JEIZf0Yl3hLNtLxlumM2aQyise44t0XumgbLGxkLMEPY1fP/s1600-h/image%25255B2%25255D.png&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYKUKgEm9GJkqjJUvZGf5nx4kWowl-ZNy0UiYkAMDzflhVtuSJm9pvkDksSKmkgOPcybSnSyA64-n5RqIknLTzxhVQTd6_UZ7D9X4DHMDU07HPL5HCdBpdFWYR54kvQKAYtaTCni01DtdW/?imgmax=800&quot; height=&quot;170&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;image&quot; width=&quot;244&quot;&gt;&lt;/a&gt; &lt;br /&gt;
&lt;u&gt;Figure 1&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;Another important point is that you can add Checkpoint only in Keyword view and it cannot be added in Expert View directly by writing &lt;b&gt;Check CheckPoint(&quot;q&quot;)&lt;/b&gt;.&lt;/u&gt; After you add the checkpoint using F12, you can view/edit the checkpoint property by right click and choosing Checkpoint Property.&lt;br /&gt;
You can view the checkpoint result in Test Result as shown below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZJZIbpwOk4_OjVFgqOqsi0egya5y-u2Ou4UYERbKoOJLSwwRJAwLrAc_lyunEwY3ggKBchNZtDkUavZ09MzuDq2JaVtQ5QoCPOxKbgeLYAzOF02wGQPc3Gu8aZ7yOEispNh8On7tpLzqf/s1600-h/clip_image008%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image008&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjd80bDgGuSTubwCC6jR3eng8p3c6dTZpwGW21fwZNh3zUV7fo4YEchQPh66e20MFhX0mLR_zSE9T6BibjMlol_bQBYs2MHq0x6fAr9la9h8WIAZxT-ztHNaZj6vPkPUlI76Nq-p9o5DYL/?imgmax=800&quot; height=&quot;68&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image008&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Since we checked for &lt;u&gt;user name field&lt;/u&gt; for &lt;u&gt;enabled = true&lt;/u&gt; property, we checked disabled = 0 while defining the checkpoint. The properties which are checked while defining the checkpoint will be visible in Test Result.&lt;br /&gt;
Let’s have a quick look on another Standard Checkpoints such as Page, WebTable, WebRadioGroup, WebCheckBox, Link, Image etc.    &lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;180&quot;&gt;Scenario&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;396&quot;&gt;Best Checkpoint&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;180&quot;&gt;Validate that Home page has 100 Links, 50 Images, no broken links and should not take more than 3 seconds to load.&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;396&quot;&gt;&lt;b&gt;Page Checkpoint&lt;/b&gt;&lt;br /&gt;
Press F12; click the Hand Icon on to page. On the object selection window, select the Page and Click OK. See below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiry6YfI6XWSn8_XHEwSKEnSfGNw2CeTA5JVV0kv5ooj14Z-te3wYoRaY9hYoDxIv-OlCqEFsy836nxBodyYvI5uJm0dPdvFhGLl_DHg2830mdaM2oXx-hf5PBPGmtpu1pEi9xVdhXtn9_l/s1600-h/clip_image010%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image010&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivWgJ5-TfSWSKvgfHPeTahSh1BFVnLlgC_9GqEgPAATOLvr29J_KzjjTqOXdsWfP_ijRMrCRFk-1ojz4M-Fp6U2lM6GC9kSVmm8OEUjmbCQQ0-oi_Mu2MWCQpoGlCJ3FVQVWzEC66zxFdn/?imgmax=800&quot; height=&quot;165&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image010&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
See below Page Checkpoint properties window. In this window, please define your validation criteria. This expected criterion will be validated against actual result and accordingly the Test Result will be shown.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicF7lMtxvYSGjbbijaWkQZpeGStmNq-SGwrxNCPTfLsrdJ5Jt4juBHGMJCR4Ou-KV1d_lGKUUSJKBtJmtHrKbUp8DafhDpEg1_4uj18_8_oAWBB5u5Vjgg8zagg5Ggla57nu-dc4fhUUgw/s1600-h/clip_image012%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image012&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVS-d54FoCSzWQ48PmMdF0Een0cgBJVgs2c2sYIsgogAf_ts941HOOQOx_69l_b26ZmUaHOYDT6wfWcE3xbbJTqQXaklWgnzjY00_kCpY7d_4pcVBhQUrn4ZXSIJ-f-yc4n6sJ1x0dgKdA/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image012&quot; width=&quot;146&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Note: HTML verification can be used if you want to ensure that expected and actual HTML is same and there is no change in subsequent builds. Also, this option will be enabled when you are inserting Page Checkpoint while doing recording.&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;         &lt;td valign=&quot;top&quot; width=&quot;180&quot;&gt;Validate that Home Page have User Name, Password Input field – visible and editable. &lt;br /&gt;
Validate that Login and Cancel button are visible and enable&lt;/td&gt;          &lt;td valign=&quot;top&quot; width=&quot;396&quot;&gt;&lt;b&gt;Standard Checkpoint&lt;/b&gt;&lt;br /&gt;
Press F12; click the Hand Icon on to User Name Field. On the object selection window, select the WebEdit:userName and Click OK. See below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigtja-EZCyn8eN-0dPvQ1aD7dVse05saB4y6pXmR4xbu6oraZi9-rsYSDgOG-VUiGkqZrn8yn5bps9M4WPRkmonRsmVDFzJeuIukUXU1AUhVKRFVNy7IvQL4Z6ycA7qyO7BGQhJ86mUfKO/s1600-h/clip_image014%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image014&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXGuCF9vxoJHicQuXyPecvY0S605D9nCp8El9eNHVnNbOu2HmJQ8mxBvxNVgtlWLrs_Lz8M4wqp3VFwz8QFINt6PY2Ls1vlyik7nxU6NMgqh2ZfA8C9ATI6stmnKolEjUpUjyoHtNnIukq/?imgmax=800&quot; height=&quot;165&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image014&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
See below Standard Checkpoint properties window for WebEdit. In this window, please define your validation criteria. This expected criterion will be validated against actual result and accordingly the Test Result will be shown.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiven721XY_dWNXNreRxwKI3MwfZuasjz-A0fCBSjQhArUvKm6Zam3CLnD0tZEOILYqECT0rYFzK1sekr9Tv3JYevqMrKUUF0CpljQLJPCXMKSwL0DrKoRPNDNzEuNQwtMHah9Bpg4eVxI/s1600-h/clip_image016%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image016&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqvmE-ZK_IVL9PnMO5QFnJYGRAc4QNyow5RGaB9go9ruxCY6gklc9Qpq1aYEvysuYDPbF5-KOfy1ImkRRL-zb1GwhxZKPDAQTyLN3BuYE2zGBHI81X1Lgq32k9nCebzuevOT4w9rS_oDzg/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image016&quot; width=&quot;211&quot;&gt;&lt;/a&gt;&lt;br /&gt;
In a similar way, you can add Checkpoint for other controls such as Link, Images, WebTable, WebCheckBox, WebRadioGroup available on your page.&lt;/td&gt;       &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;u&gt;Please remember the below thumb rule for choosing the Standard Checkpoints – The actionable controls such as input box, checkbox, radio button, button, links, webtable(exception) will make use of Standard Checkpoint. More than 80% of time you should choose to have standard checkpoint rather than any other type of checkpoint.&lt;/u&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.2 Bitmap Checkpoint&lt;/h3&gt;
First let me explain you the situation where you are going to use Bitmap checkpoint. Remember use Bitmap checkpoint judiciously as it eats up lot of system resources and slows your test execution. &lt;br /&gt;
Suppose, I have a requirement which says “when user will enter the customer name, the customer details will be shown with an image of the customer”. Now to validate that the image loaded onto the page will remain same when we will execute the script, we need to use Bitmap Checkpoint. Why Bitmap Checkpoint, because it uses PbP (Pixel by Pixel) mapping method to validate that images are identical. (Although the validation done by QTP does depend on your machine display drivers).&lt;br /&gt;
In real time projects, most of the time we do not use Bitmap checkpoint. But if you have a scenario as mentioned above, you can really use Bitmap Checkpoint.&lt;br /&gt;
To insert Bitmap Checkpoint during recording, Goto &lt;u&gt;Insert-&amp;gt;Checkpoint-&amp;gt;Bitmap Checkpoint.&lt;/u&gt; If you have Active screen, then you can add Bitmap after recoding as well: &lt;u&gt;right click on the image and choose Insert Bitmap Checkpoint.&lt;/u&gt; Please see below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCrySZJsn9FVLC5cLmnyYmdJp5yq5zVDluKzG5McGTt_fu9AjG2f7gpqo5Te1Pk2XtBeQ767T5nMgQ0PVeUJxoGtKonrRKPgucFFs44OfNPz_Gf4iU3CPIyqtG2qeBmjgQWuBrpCNZP3Uh/s1600-h/clip_image018%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image018&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB8uo3Qlw7wTKa5EVkoPN39L6G522I63L4kZC8SmDjlqmolfKPv67k9OBQ7Dge1gH-KKkLqdqhcdagjhnT3UEkCIDD9vUhyphenhyphenPHvBMStKP_J5_oN6adc0nGzX1z459uFr7kvoZfV4rG0f9q6/?imgmax=800&quot; height=&quot;165&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image018&quot; width=&quot;244&quot;&gt;&lt;/a&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVo4Y3Es3PegR4pzrrL8TxzSGx1KUJgElYQxf1j70t2ATetLyWwUv3pZ0E6vS_puXNhL3aU9jXZ7FjmrgCeTPcM0gM0sqvJPHdw7LpTJnekW7b6JGTu2-DSW_YKtXGi5HifzLR0LcagENn/s1600-h/clip_image020%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image020&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTKsB8QkCp0X5g9_I4HB9W0xe7mB4lTdtOFshXDTj2sBn2uTtftFtyjkvA8ofxcZhzCtij578JGrs2qyYpZlPstsP765-2Jc6ETWnQaG_pyxSpfnOLHwqj3YoK-x6s6LMvHytW5MkecT96/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image020&quot; width=&quot;201&quot;&gt;&lt;/a&gt;&lt;br /&gt;
The Results of Bitmap checkpoint may vary from run to run and is not very stable. &lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2pQNYofxPb8ni5Z7uod9r_cZrZ1vHa6fRDMZtSo0gSQYVyBmlTWVLv2fIJzwc0qb-ffcigek9Wwqy3iN6gAWCR9QQCieU2uY0loxA3fJhlBPnWnWW1HIMn9hbGANEeVTicsTPIEIJ1cOn/s1600-h/clip_image022%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image022&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuVaXCaTMhbjIT8fnGm3Ctv_q1lDChy7d4P78Lt4BExYqgErS3tidNkKWvb90-gbri3-IYOmCmHmCfMxQm8gzxbAeHOEPXqB-Srk3JJ-RrLTJz0Oua-PpQCqGP76ddgLA4nqC2lvtDuWmR/?imgmax=800&quot; height=&quot;52&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image022&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.3 Text Checkpoint&lt;/h3&gt;
Consider a scenario where you need to validate that the page header on webpage is as per the requirement. For e.g. Validate About Us page have “About Us” header. In such a scenario we can make use of Text Checkpoint. As the name suggests, it will compare the expected Text with Actual Text and show you the result. &lt;br /&gt;
To add Text Checkpoint, goto Insert-&amp;gt;Checkpoint-&amp;gt;Text Checkpoint. Point the Hand Icon to the text which you want to validate and you are done. See below screen shots:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTLgKHkUgxfW01Xi0aU63w3M-80Dty80PZBPQvpqKA0LmwqdPbgV7Va_c_L3CoJdHnuzgtS8O_h9UL16uze2TIpUYi0_IZPcwT2sM4y_d4hMjoYWZkjq9VkWr5hgFrWNPyxg0ICJSCrrg2/s1600-h/clip_image024%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image024&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9KOGV8ZPWRymiMGXjg-KCbCoUuK0YoXggt9fq30F9Hv3lC7xy1pdWARaAbvyUaDcl2PnSetlYPw6ZRXct1vAkBMOHqT7tZuJgxhG2vVFk_7724NReN03ASZ7qP75LlrxSLS-BicJI07jN/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image024&quot; width=&quot;182&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLfdjwWrXrAwJO1F7HJIzzDhhmjH-8_VH3IO2-M0EyjaWym5cfTbnRljch4gTpY_CqrTfMcKxvzgge4iVXfeU8qm28wPAFmkEGIpd6h30R1Czp3Qcar3GhhG0aZevL-wx4U2TvlrSTY1FH/s1600-h/clip_image026%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image026&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNlU3tG8Ib7kbAlJoOqyB7Z_joZzKNAxb-lOVNveXTxSYsoH3fykL6SOCIZvbJZsFerPxMBqIOy10_F5mzZlyBAU9t8C4O0lDWhZ3MdopVGPy0625uiJpItZ6rcxEERfx25WESc6IXVW_7/?imgmax=800&quot; height=&quot;128&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image026&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
You can configure the Text to validate as per your requirement. As far as real time usage is concerned, this is hardly being used in an Automation Project. Text Checkpoint can only be used for Web based application.&lt;br /&gt;
The Text Checkpoint detail shown in Test Result is:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyZ-Ax0MeKuDUYj29bAm1n1tUdi_iA3IQ5JKR1S_eHXS2EDqIxey5-rrkNKedpABoQ5Kw9s7jHklkqCHQ_C4Oj3lLetwpL-dXO_GbttHptdjwEDDjN70XJqm0kConC-F6b2PpQW5PelBvT/s1600-h/clip_image028%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image028&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQQgFrZlOf0TJWlEk4qZG5rf6Wdg8u7Elr2bqEE24AiCX5lPyXohIAcgJpUS4oMyfkZuZB7Z7Jq8vKHBLV5pleCY5Z_0mXWxjeGtMY7B1hDuogzuBMkJz3rfysI01hDZYTfWcs1Hq76WfK/?imgmax=800&quot; height=&quot;70&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image028&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.4 Text Area Checkpoint&lt;/h3&gt;
There is no major difference between Text Checkpoint and Text Area Checkpoint apart from the fact that these are 2 versions of same functionality. You can use Text Area Checkpoint for Standard Windows, Java, Visual Basic, and ActiveX. You cannot use the same for Web Based Applications. For web application make use of Text Checkpoint. See the below screen shots:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiPR-GLRuZ70vlhdLqXKlRK27Ygu0vaCgF12MzW_MwP6lVS5Em4qO_tbZUTXiHI0ZGVjeISCCGdMsss0rJ9y98xcJqA20z7RY7pa3xwxvXol2BtF8S6vvJeed08eDRdSJ-QN6QcjBYXS6H/s1600-h/clip_image030%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image030&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilp0Ga0yVhv_QP2Bj2Cbwv_y1ZOCKBAPtE_LNVUIFoaQRORdEVOdhheZtSVgui0JvW9ZUHTgRfGqyIl06dF4BKLU3Lrmf6BBRRTpv-sraMmqsmJnpI5akQClpmD_d96LWHcGfxApYuBjLG/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image030&quot; width=&quot;193&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHiSS2D7eCego4Rm6DI2UQElldNInXTZmxi293o4LPA9TJ5ZgCCuDw0IuH3aaG02ajxuAi3hKJK6T0Mt236d_WTKcMqdS5wkqJxs9LGUlC4ruj-eJuGUB-_pR1xwGvsX2PaN8ugWkN8wBL/s1600-h/clip_image032%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image032&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfORvVUNogBNmqZGvhrUoAcz_OomOrA4ptZApp56UpdxmiLuFlFIrUPuIw6bgmDf5kXbMnD4HvmDWHKABr0wJ_nf1RwJFO4s0imMu0G4TYEJhkLZLmoWh01w01g_KFHC5Dw0kn0Z7drHZz/?imgmax=800&quot; height=&quot;129&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image032&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Again this is also hardly being used in real time projects.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.5 Database Checkpoint&lt;/h3&gt;
You can make use of DB Checkpoint where you want to validate the information available in the DB tables are as per Database Specification or not. As you know when we are developing a system, then we are also designing the database. The database contains multiple tables and some tables are having Master Data or Configuration Data. Ideally, the record in these tables is constant and does not change. &lt;br /&gt;
If you have such kind of requirement, then you can make use of Database Checkpoint. To create a database checkpoint, you need to know the connection string for database connection, table from where data should be fetched. Goto Insert-&amp;gt;Checkpoint-&amp;gt;Database Checkpoint. See below screen shot for clarity:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_mEW1BeH0EHbEblSNFRNInEGfEqUYU33PUHYUbOgkza_H4hMgzMRRNLr83YCocST3cR7a7yV0R5g1FyUhyyuuZG3owhPTpjjdw-4Ex7NEghKCsse_gXyHq_5Zt6_JF61DQ5LyKu3Uh6ha/s1600-h/clip_image034%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image034&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBg_pGvlE8nHMaBXjf4jr7139xSEktfBF_qib8dNsUtv_9FZi2ER2rfxGNC3LtNy52WPg1y5btnshTjtF6HjEiF7sRC6Nmf_oQSJv5eE6O3LbQou7Y5vBrUh5H4lbUgvh-CHXBnOcx5o8d/?imgmax=800&quot; height=&quot;189&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image034&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Here you can use either options. If you are aware about Connection String and SQL Statement, then choose 2&lt;sup&gt;nd&lt;/sup&gt; Radio button (preferable). Click Next and below screen will be displayed:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPe_t4ix0c3VcxsclkNxQr8BxehyIB8Bv8PXhhtzdJBVeYhOzwfqPMiNiS5Z3oGcKTPBulCHbL1NIUFJY-qp2pmd_iUAGXy2_iLgTsScX8BeavT1vb1lsncTYKN1dGWqhE9a00zzonytXK/s1600-h/clip_image036%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image036&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2iqXr8_0MhciYIxTFF3BqbkNCCTmsGp25mzOt3cjBkXav9ypbHU3Ieo7K_XMIAxrW1MMVWqdT4xUsxwLedbIAZGzRBdTcUy5GH8fBCVGjsi8ICQLcOdIl6E3GDF38SzSYN0dK9WYfJzx/?imgmax=800&quot; height=&quot;189&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image036&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
On this screen you need to type in the connection string for database connection. If you are not aware what connection string to use, visit &lt;a href=&quot;http://www.google.com/&quot;&gt;www.google.com&lt;/a&gt; and search “connection strings” and use the one as per your need. After connection string is provided, you need to write SQL Statement “select * from Orders”. You can also write conditional query by using “where clause”.&lt;br /&gt;
After all above steps, click Finish, if everything goes well, then it will display you below screen shot else will show you error message which needs to be corrected. You can customize the values to be checked by checking and un-checking the cells.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGmwwGP14_WkYDaVRnoXvoOSx04NW_vrWRtLCWX4GNQtAF8o8IrHTFuIcg0HESeGal9xZTzU9HMnPNBj3c2W8iMr2Ftttpngoo2_IANbsEoUA3DSnvgpuQUGrcLV5qUpexIlrC6I89-1Ai/s1600-h/clip_image038%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image038&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg96Pn9iW0Q2f3ADHmCiCH2lrkr4hufjuwSZq9dFf1PHSJG-suXsVaNFoucG1heJBoiemNRftgYB3EJwXgF5CKj_wsaTFy4SY-PNBFRNa8TZFS2xmrH9ZWl9pEOu1fGvi5Ss1-yMEtYY2BO/?imgmax=800&quot; height=&quot;244&quot; hspace=&quot;12&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image038&quot; width=&quot;181&quot;&gt;&lt;/a&gt;&lt;br /&gt;
As per my experience I will recommend to use database checkpoint extensively for the automation of any Business Intelligence Project where you have many master tables which need to be validated for data consistency. &lt;br /&gt;
The result of DB Checkpoint will be come in the Test Result as shown below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvDDqMPNWHpqCB6Cl3NKR_VN401sv5Em4hMEU7bksc5BlgZswympccw5GNVaXfDjz6afYhtcR3pUpJhUdMCTYwdSuuMaCtwZdktjIq-BtFNnXxPZMovaa_NZWPklH-J2A0IgJNpZaHCOMr/s1600-h/clip_image040%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image040&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh75HtL9QZs9n2aaX2nNLjCAExVTGBBpmu_AJPDe-tEvysb8-bSin849oTozaApV_0560dUFk2meMiwDd-JlrNDAOiPMPUrrJSKiyuu1Va6mTArE3M7Mm-byi9QGCK7fhPMlpTd0An00SYC/?imgmax=800&quot; height=&quot;71&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image040&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.6 Accessibility Checkpoint&lt;/h3&gt;
Do you know what accessibility is? If not, then let me explain this terminology for you. Accessibility Testing is a kind of Testing done for websites so that Physically Handicapped people can also use the website for their information. In many countries, there are strict rules which need to be followed by Website owner so that physically challenged people can also browse the website. There is an International body which maintains and published the information on Accessibility and is known as W3C Standard. They have A, AA, AAA as their Accessibility standard. In QTP, this feature provided in the form of Accessibility Checkpoint where in you can validate very few guidelines of accessibility. To add Accessibility Checkpoint for your pages, just start recording, goto Insert-&amp;gt;Checkpoint-&amp;gt;Accessibility Checkpoint. This checkpoint is available only in record mode and you can define offline if you have Active Screen enabled. See the below screen shot for detail:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZETzZ1ILnQnIyk8qIhmv_FXa9gfY862G4txVJ8xLjemxglTqNG2oDq5Hqp-iPWLKSGGp8NidfWYWPOpWzySrtv2ZPIcQruNjCn_w7a-T9NVZFod3qpb1vGxwNx3T4AQItQht2avyRC_AT/s1600-h/clip_image042%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image042&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggTNuM19MEtb5GQz2zZE6-PGILkKrS8COhUJ7PAm3yRJeu03v9TtJ9fnGwqbYa4KXPJVLIGal0IONqZ663XKi1A_H-zqM-3-I_r1Ut9DYIzvZc2CjT62fBYiuZtmGAqGbUDQeqWTMxIKm8/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image042&quot; width=&quot;235&quot;&gt;&lt;/a&gt;&lt;br /&gt;
I will not recommend Accessibility Checkpoint in QTP for Accessibility Testing but you can use it for checking missing Alt in images, frame titles etc which is a very limited check from accessibility point of view. Accessibility Testing is all together a different Testing discipline and require an altogether different approach. &lt;br /&gt;
The Test Result will have the Accessibility Checkpoint detail as shown below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRQxN-O6Sjr2Pasezt3FqwdNT1Az9e54NAurjw8nRvg3m8HawoqJJafpj0nFrmnqy9NUjDGAJIgc4x65Dg1I3pGNEgECEXMn7q4DPo2qvZIJtHSdImaIXExjWKGQpoJHwc599_ML6CBIWK/s1600-h/clip_image044%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image044&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicnGzAVm9wTCiBXDabuHCZLNFKxLfLUlGFkpLtse-nxh0UjFAW25-THUyF4uZzD9UVF9EaYDpTRHRmt9gdy4MznLWNxzmG1NpJPcHJ5DDKmcR_qInCLrsoNGhXh2umXIpTGPgnz7td64AJ/?imgmax=800&quot; height=&quot;148&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image044&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.7 XML Checkpoint&lt;/h3&gt;
You can use XML Checkpoint as a utility for validating the data in your XML files. Suppose you have a set of XML files which need to be published on the web pages. You want to ensure that the data in these XML files should be checked before deployment onto production, then use XML Checkpoint, take a data snapshot of base XML and then run XML Checkpoint after development and testing is completed. This will give you any data inconsistency from base XML. Apart from that you can also use XML Checkpoint to validate your XML Data is as per the XSD. Overall a good feature but people hardly use it. If you are testing Media Website, which take XML feed from various sources, then you can make use of XML checkpoint as that website run on XMLs. To add XML Checkpoint, Goto Insert-&amp;gt;Checkpoint-&amp;gt;XML Checkpoint. You will see below screen:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3iS513wK4WITjpzdsS8qpMV8gYrnBIqnhHPvh5r6ZZTjNjVb04s8yeJnW1v4Jqv-z9vdF6hH3dp8q29F3vMUnJfwCOnfbbCBIz6FDWWqF3yY10HVAiat_0Uf1aMoDKs39-RAgo3GiRgq_/s1600-h/clip_image046%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image046&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4KtbaYzpgBmdBUy8tL6SWaS0chijvctMDGxUPY6xUKcceNAKXh01q7pcPOErroOL3NB_OwEp3iXc_hK7Q2ZmnyiHVvV2M6KBe-GDlpi3GMf09YD31_NrudHw7a5-72a3qo0Elg_9dmWJF/?imgmax=800&quot; height=&quot;110&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image046&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVxi3NRr2oKDugJ0J22cMJCvO8Pur9-rUlceC5hlkMV6y_6rspT3yuUtdd30U_BLtxE3e7T8YUhB2LLSKvLxIXD_x6fj7r4eUKGl8PJaxQFJARXk2ZHQZwdRqkOjD7OZ0aDQEdgwFr3vNW/s1600-h/clip_image048%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image048&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiZyAf_PJf99AqRySZTE5ysq1NlaQQswMG3GapzkvMb7A9FmvWJRv8ad2yGlyhT_WwXSWqeWoBgPMfIUMkaR5zzN2Hq9xL_SoMfmrbbAYOl7161eBPRjiCOOmdMpfjOqvBSyAnuT0EgFFU/?imgmax=800&quot; height=&quot;174&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image048&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Try to use this checkpoint on Google Reader and you will see what it captures. To use on Website you have to use XML Checkpoint (From application). Almost same as XML Checkpoint (From resources).The former provide the hand icon which need to be clicked on the webpage and then you will get the corresponding page data in the XML format shown in above screen shot.&lt;br /&gt;
The Test Result will have the XML Checkpoint detail as shown below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg63COUeBCXGAMeZmwSy_6RUhG_YYFNyjcbvK-YhH2A35i10uSElr_xW-LVX3-uE40PCUIhmjCbdZ16udQ9TMwpApGOb0FP9WNaVq3RNh-f2z094FdcD55v3D-1PbbiWoXiX1nqQuCAkfV-/s1600-h/clip_image050%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;clip_image050&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLwS-cC1FExW7ivjCgX_-w4D36Bn8SV3qh-a9sIiWVo_pV3SKMC7G5fWxDPyZOgUuTwG-Nrs-ASTyXewYWSWKU37kzUpfJ6CzcJXcMk3OhbgygVuiYjuV_TsEciM5zO3cXbqerSrOtqmi7/?imgmax=800&quot; height=&quot;47&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image050&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;2 References&lt;/h3&gt;
Quick Test Professional Tool.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;3 Additional information&lt;/h3&gt;
You can email me on &lt;a href=&quot;mailto:Sachin.vasudha@gmail.com&quot;&gt;Sachin.vasudha@gmail.com&lt;/a&gt; with any query.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;4&lt;a href=&quot;https://www.blogger.com/null&quot; name=&quot;_Toc312302839&quot;&gt; What Next&lt;/a&gt;?&lt;/h3&gt;
In my next Chapter I will explain the Automation Menu and the usage of various features such as Record, Run, Stop, Run Current Action, Run Mode, Recording Mode etc available under the Automation Menu. Keep checking. &lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/11797234343771578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/11797234343771578?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/11797234343771578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/11797234343771578'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2012/02/hp-qtp-tutorial-chapter-6.html' title='HP QTP Tutorial Chapter 6'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPGorg0btHY1pZKDAJFJOpzBVwbHJiHA_5j1I7bZGgnboM27tATTfSmwfnns88wvoDUzlzVDWeutu7wz6VDFN3w4ISIVPM_w27BL4eaM9rVm-dYbIpEKR_MvsP-TpAhEWEqiQpgxbQI1qY/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-1123508285392400627</id><published>2011-07-18T18:06:00.001-07:00</published><updated>2018-06-15T16:02:11.945-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Function Generator"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Action"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Checkpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Function"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Insert Commands"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Start Transaction"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Tutorial"/><category scheme="http://www.blogger.com/atom/ns#" term="Synchronization Point"/><title type='text'>HP QTP Tutorial Chapter 5</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
1 Insert&lt;/h2&gt;
The Insert Menu will help you in inserting various verification points, New Steps, Function, and Call to Action etc. While describing the various commands which are available in Insert Menu, I will also be mentioning the hot keys to access some of the commands. See the below screen shot what command is available in the INSERT Menu:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsS8n73QNeH__imTUKNgz4GMxyorbukEXP2f5v9iWMfkmxueacUuPXZzRVhOigeUJ4oGWBXK7fhgD9U0Gfm-2C0ARxxzVSz2ZuMOFffKstVca_AIWcebd4h3iLXVdlAWs06htOEtTi6kzH/s1600-h/clip_image0023.jpg&quot;&gt;&lt;img alt=&quot;clip_image002&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiogG2AhbAJqAfIkoZ7R6c6orSscaKVdZrFWTPY7UPaQWxb4sP1saBlHh2TwzHfPKVGlPuzyAJOWgCIa6arZgEnUmCSb_nxWEM02w-YUKJuq0ZPbBI_ryOVqtjpMFxwoxupyPjoIwo7NG2t/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image002&quot; width=&quot;133&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
1.1 Checkpoint&lt;/h3&gt;
Let me first describe what a checkpoint is all about. The Checkpoints feature is provided in Automation Tool for simplifying the test case automation where you need to validate the state of the application. For e.g. You might want to test that when you open a web page or form, you will be able to see 5 Input Boxes and 2 Buttons. Out of the 5 Input Boxes, 3 should be editable, 2 should be ready only. Likewise 2 Buttons – 1 will be disabled by default and 1 will be enabled by default. In such a case you can use Tool Checkpoint feature. I hope this now clarify what is a checkpoint and its usage. If you read the QTP documentation it will talk of various checkpoint like Text, Text area, Table, Standard etc. In this tutorial I will talk about the checkpoint but not in a detail manner as I am writing another chapter dedicated to Checkpoints.&lt;br /&gt;
You can access Checkpoint: INSERT-&amp;gt;CHECKPOINT (See the below screen shot)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAg0angSjQRbKXqLy4JGr5pV7C__DgI816ynakuhEhSFs6icYb1kyNcDSbBxidRQQtOWO8O4UQD6vI0Y1Bh-RbpzzHf_9t3Zzbcx-ufh-5xEVdpOFL0ACiZvu4u8eB8yUHC6XIgwsfmWeH/s1600-h/clip_image0043.jpg&quot;&gt;&lt;img alt=&quot;clip_image004&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRGFn5zuUisv0GnXSN4JnMF0uuPE2MzT2w7GGvmVdbqnf2RInJu27jDFI1yrXeHzxKXK7aH0EUwlyQ83L_kMVFoJi93l_s8xlqiOo07qNH8rSOGfO2ozkbc4pnmaZ5xm1aYKuYMPIN5gwo/?imgmax=800&quot; height=&quot;113&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image004&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
The commands which are in disabled mode will be enabled when you start your script recording. There are only two commands namely Database checkpoint and XML checkpoint which are available in enabled mode by default. There is reason behind it, if you see these checkpoints they do not have dependency on AUT as they are interacting with database and XML which can be loaded from server or local directory.&lt;br /&gt;
&lt;h3&gt;
1.2 Output Value&lt;/h3&gt;
The Output Value is mainly used wherein you want to capture the value from AUT. For e.g. I am creating an Account in my application which provide me with an Account number after successful creation of an account. I want to use this account number for validating some scenario which can be done only through search module of the application. In such a scenario I can use Output feature in QTP so that the value can be used as an input in another part of AUT. You can access Output Value: INSERT-&amp;gt;OUTPUT VALUE (See the below screen shot)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAbt3BBpL3WE349gQmHQzdyCu3FSG7zYCt9554UdygAiBsdHRBLux5gYUVqd8gxYm4GyEXt5cTsbV1eYtDxEGyldCZspJHW8QPFGW-kT9RWUhvPIfsPGYSHigTbP7JzSul-eqrIU0ZB1Yz/s1600-h/clip_image0063.jpg&quot;&gt;&lt;img alt=&quot;clip_image006&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZjqdrcJsIE0uQYr9iI5zgfn3DuzlNpEeg6IyGGCWbLbr5WCHNwqVP6rFsKmKCZNyRNnxIjwbmzFopDBd7wg0rmFfzxLIrdK7S4z1LsFOftBitofCAssHNbQPl20TEyEJNREGodQCC_oMZ/?imgmax=800&quot; height=&quot;93&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image006&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
I will talk more about Checkpoint and Output value in the next chapter. Keep checking my blog.&lt;br /&gt;
&lt;h3&gt;
1.3 Step Generator&lt;/h3&gt;
As you start with your scripting, you need to use inbuilt functions, customized functions to design a robust testing framework. The Step Generator aids your scripting by providing help on 3 categories: &lt;u&gt;Test Objects&lt;/u&gt;, &lt;u&gt;Utility Objects&lt;/u&gt;, &lt;u&gt;Functions&lt;/u&gt;. As you select any of these categories QTP allows you to add respective steps in your script. This tool is very handy for beginner as it really makes their life easy while scripting. You can access the Step Generator by pressing shortcut key of F7 or navigating to INSERT-&amp;gt;STEP GENERATOR ( See the below screen shot of Step Generator):&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhByJErZfxfmtCJ_iX97PjKNWZKrKJJdSDLI951yvoAGmrCD_7gZVlf3-peNoaHNxkpQD5LDmjk2xeEEUsEjv_iVCEM61MYXoVgwLHeFH7i7H5deCYFCyGKVcJ3d2aY0NjoGdF6imlDtrZE/s1600-h/clip_image0083.jpg&quot;&gt;&lt;img alt=&quot;clip_image008&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgzJc7DvuJwxW3-7wBrkMvVkLlx9C4XLcv4kexcXxhj89jHd-sfXxLr2-eIjlfTqZOy5_Y9rsiDcMHg7lU-kQf73xMnl1bS-dH1GjkgmlG7GVGm66NRTAqfNzI16GQeXeb7R4b6yiG3vn/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image008&quot; width=&quot;177&quot;&gt;&lt;/a&gt;&lt;br /&gt;
I will talk about the details in next the chapter of this tutorial series.&lt;br /&gt;
&lt;h3&gt;
1.4 Function Definition Generator&lt;/h3&gt;
This utility or command in QTP aids you in defining the Function Skelton. You can define Function or Sub Procedure using Function Definition Generator. You can define even register your function with a Test Object so that you can achieve the desired result on the Test Object action. I will not delve into much detail at this point of time as it is more advance topic. So as of now if you are beginner and new to scripting, this is the utility for you. You can access the utility by navigating to INSERT-&amp;gt; Function Definition Generator. See the below screen shot:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMpWXyPGBN72rjkETUBxlzdbHeI5y_D4obD9XuGHBIe24JofGublZzraIAXQXTnhnvX_bav5j544ahCdea2-ARqfI43C9B_KxLToTjr9ljpD_XI6QqvDxRIdB661J3lg0mOSQUvWqS0eZO/s1600-h/clip_image0103.jpg&quot;&gt;&lt;img alt=&quot;clip_image010&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq1GgP4BB9z8BykqnWk3MxAbYccJ-h311R4Y1kXTOCtamUyUupN7axj3ov7Vuj1aIZZneXvMByo_KfKzTOZ2kLE6taWncSaomE7_1rkM3yeGnwy95lkXezXaSuh0LA3na3F7TzYX4ZhCHD/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image010&quot; width=&quot;187&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.5 Synchronization Point&lt;/h3&gt;
This is one of very useful command in QTP. This will be used very frequently in your scripting. There might be a situation wherein you have to wait till the time page get loaded or input field get enabled, progress bar reach 100% etc. Any scenario where next action depends on the completion of previous action, you have to use Synchronization Point in your script. This command will get enabled when you are in recoding mode. Just try your hand on this utility and see the generated script. Seeing the name you will understand that you have to wait till some property get satisfied. You can access this command from INSERT-&amp;gt; Synchronization Point (See below screen shot)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCRsjCJdUw9LP83rOyY5qfo3-b1dwMiu2um_2RgRxMf46qVQsIsC9R7pcXR9-1tAx8FSkitk6PKrhVJIpIyCE_cTe5TS_eWSLQco7Hjnwhyphenhypheny-vWupdNquGunz3jplCbkjbl4sVWROkfkbf/s1600-h/clip_image0123.jpg&quot;&gt;&lt;img alt=&quot;clip_image012&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrF8s8POV1HfqqWQJMSbbIeRxQY6LVEckpBjINV5C8QqOXBjPw5XuJ6DvrK2TCT-YTJekAM5cj7Yhx4-UpId9PRegdYVgla3iaQSG0OU5fErs_qQEVaCf-IE-F_o8ERxUdDJcmtDMkAQub/?imgmax=800&quot; height=&quot;134&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image012&quot; width=&quot;241&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.6 New Step &amp;amp; New Step after Block&lt;/h3&gt;
Suppose you have done 50% or 20% of your scripting and then you realize that you have to add some more steps which are in between of some existing steps, then you can use New Step command. This command is available to you in Keyword view only. First you need to place select the step in Keyword view, then navigate to INSERT-&amp;gt;NEW STEP or press F8, as soon as you do this you will see a drop down from where you can select any test object , function to insert in your script. See the below screen shot:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq2cC1zsdgOKxyF1kyyHt6h472o8ZMujc6v-uYspaVj5PSIAHK5Wp2ac6v0Y3wZVq-89aQwFuyPjx5GevQHUW17DnHHqKNhx1bsHWwQBvuYvtaM1plwvRR2OqqITogRHgQGRBPRENYhIzk/s1600-h/clip_image0143.jpg&quot;&gt;&lt;img alt=&quot;clip_image014&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-cMIJl4VZp_JOiTG7ZC4UFjBBaXYmhvRXPTvPPqKf7w9cGA_3tBt1lRQj1FSg4GjA1gaSqvr87ZrtUTUM0Vk8Uy1pJESev9cTB-8MyAEMk4tMgMBDRCHf-fqL9d5o1jmg5vnkvL8vsr6K/?imgmax=800&quot; height=&quot;170&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image014&quot; width=&quot;213&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Similarly if you want to add anything after a conditional block (IF ELSE) or loop (FOR, WHILE etc), then you can make use of INSERT-&amp;gt; New Step after Block or press SHIFT+ F8&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC9RdcYUOuqH-U14VlG7hx8cSK9Z84mPaw9wSHn_kLbobzzWzg3opJEM_ntV8gOz-Ogf6mRBcGoPFm3BNWTLhsnuA8pbiFoeOGLtMRei9T61C1lPPLseZ7jiSXF52m4ZDGaQoNbHlztaIC/s1600-h/clip_image0163.jpg&quot;&gt;&lt;img alt=&quot;clip_image016&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq1LGP2tpP4cVLnDXN37a7Ttg7n5Vq2uh4JXk7I1hAuIWQBJAIv1XCTeWY-7_i_CLq_cWB4we2WtHJ5Ld2zPggc8qLEYxMcYF4_ahetLNHUkTl7PQmq56Z547aRCn-hlbxo4rmbiwH5kHr/?imgmax=800&quot; height=&quot;187&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image016&quot; width=&quot;213&quot;&gt;&lt;/a&gt;&lt;br /&gt;
See the above screen shot wherein you can see the block of If statement in blue.&lt;br /&gt;
&lt;h3&gt;
1.7 Comment&lt;/h3&gt;
If you want to insert the comment in your scripting, use this command to provide the line comments, comments before a line of code etc. Navigate to INSERT-&amp;gt;COMMENT. You can also provide Line comments by filling the comment column of your keyword view. Please see the below screen shot:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSAsqMQRELij9oEj4a_-PF7Vd33xAnRbjAbXiLaHvrHZtBVqOftEf6PaxN4Og16_-m8__-4SM4c2wikAbACAfhwG2dVFQ5Nk0gFvu6cKCSjq7zdq7J4Gvos0Uau3bR4GWh5kZuzCtB6SJp/s1600-h/clip_image0193.jpg&quot;&gt;&lt;img alt=&quot;clip_image019&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimUSEK-ux5GcfQ6ejQBRh-Ms8Fy7ebyt69wFQg225IMJxosuOQuWKsv1Tt2wKmfsBvvKYhrxnkS6g2ri5o-x59E5ahlhdXICUeQ3g4stf57b27e23UXOOhxXND6fERoSrvqKJo4K1Te2Zw/?imgmax=800&quot; height=&quot;105&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image019&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgobzxxzq2Z_3Sn-ov6Ea9OonRg6X9dUxkTeVbZ2TcneTQTyY_8XHJ2EuaYQ0IR0rNfDJ7Jrqe6cF7JMTK-tjARO0iLmAIewNn_yZv5d__1rR8wP9LePQAU8I7tzYLXnxZkswB3JN9hR51m/s1600-h/clip_image0213.jpg&quot;&gt;&lt;img alt=&quot;clip_image021&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq8ePiap6lzzH625hI064KiYbaclqZxTStRmDMOwVhof8SM4ynPWzbYCn8wyjpIdOgBBilm77KWTvNXwSPERTDpCIbhcT87uU6khpk5kHCQhjuvfQRu55QGoxk59IDpUCu3NVFSyiDBgSx/?imgmax=800&quot; height=&quot;20&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image021&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.8 Report&lt;/h3&gt;
This command is used to report the Pass, Fail, Warning, Done status to execution result. To add Report statement, select the step in keyword view after which Report statement need to be added, navigate to INSERT-&amp;gt;REPORT. See the below screen shot. You have to select the status, enter the name and description and then you are done:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfrLyX7r6JbV41pdgbo0MkTdASa5hlPIdVP2p7oaw1WGXk8IfZj043IVhc-SpRr1WPJAVnSn5o1NdMxU1elY5sUwDoFy6HJFmx8xKJ8PKVrAh6NMlaqqpx_pcrek3AwUxOuA0LluCiGXHQ/s1600-h/clip_image0233.jpg&quot;&gt;&lt;img alt=&quot;clip_image023&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWUH0cP2Ubi4VSCZIXDEhp0MHqAxIfQ3aXvJNNoxmh3gHWok-VVvvv36QxmPjh5Yn-Imih_jinP3XPT2_H_1q_6kCF3pWQsvyUn9Xic3v53cP3hDc3Mf08pCeQg8R58bhHbeFxrwj7shk1/?imgmax=800&quot; height=&quot;145&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image023&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.9 Conditional Statement&lt;/h3&gt;
As the name suggests, if you want to define some logic, then you have to use the Conditional statement. This is very useful command to build a robust script. The usage of conditional statement and result reporting goes hand in hand. One has to ensure that wherever they are using Report statement, it should always be inside conditional statement. For e.g If I have to validate that button exists or not, then I will use conditional statement to report my result. See below pseudo code:&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;IF BUTTON EXIST&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;REPORT&lt;/b&gt;&lt;b&gt; PASS&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;ELSE&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;REPORT FAIL&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;END IF&lt;/b&gt;&lt;br /&gt;
You can access the Conditional statement command from INSERT=&amp;gt;Conditional Statement. See below screen shot which is self explanatory.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhycwCr3GrJHEdO3YSmRVhzrq7_SLIiTbwfZWUWEvBSTS5hc7vedLk2i8XAp_mebYMhSKXfK_OfogW1CkLLxA4ST3hDLCSW_80vhAld-42L9TshiFERe-9U0oKrUJ52OdTkNRGyToAqgYZc/s1600-h/clip_image0253.jpg&quot;&gt;&lt;img alt=&quot;clip_image025&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrrImtK8u3Nx8hWaTQbICz6yqDReEm3bgeO9U2fH_4MYRuR96IWVM4NeB0QKmfuNttGOTOr9oCyXvVuXaBRTZasQ12Tsl7bQthcJOc1i6SqzrWHDCZ28Qls0CZkOu0mzajin_Xs4J5lks0/?imgmax=800&quot; height=&quot;203&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image025&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;a href=&quot;https://www.blogger.com/null&quot; name=&quot;_Toc298819942&quot;&gt;1.10 &lt;/a&gt;Loop Statement&lt;/h3&gt;
Like Conditional Statement you can also use Loop Statement where you have to use different set of data for your script. Without Loop statement, you can make your data driven framework (wait till advance version of tutorial get released). To insert Loop statement, select the step after which you want to have Loop statement, and then navigate to INSERT-&amp;gt;Loop Statement. See below screen shot:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTM4O7moJJUcJ4NOERp5JdS6u6_IlBc2XpyLoQpVzJF1pdVNu-SkL5iFB9zgSJDxlVFHoxkHziwLbwEEU-zOeFNQdI9drrsVCio23nAZsJqAZFF-lOrcEiI5pXY-T7npbomINdEaAkb0MI/s1600-h/clip_image0273.jpg&quot;&gt;&lt;img alt=&quot;clip_image027&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGfVWbazLkrPg3JGliPjceiMUf_yQaUJ-Az5wNNZ0pyBk-iDVYQYlFV7xTAQ0B5PkMLMmp60Vpd-p30pEMiVnUhIZnx8NB9wmVwHydg0rQbVJ5nATI58Hf2Y4MDoQA_5VLFjG44r86fRTp/?imgmax=800&quot; height=&quot;60&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image027&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.11 Call to New Action&lt;/h3&gt;
As in my previous chapter I mentioned about action. Call to New Action is the command which can be accessed from INSERT-&amp;gt; Call to New Action. The call to new action command is calling a new action which does not have any script written. The new action is blank without any commands. You have to define the New Action after which it will perform the desired action and make your requirement fulfilled. See the below screen shots:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjooXibfBEJ8bzAqM5GONxcjc6N1q-KdKl3AKpGVlQQFI87nMbMeuiXqxg-XSCUGuLeTj26eDTKowlII-xH4xPJ8VNn4Ao5k9o5raF2OA2c7ekEwfxg9m93HfTvE-WaXaoJ_uNTvkD1NfpO/s1600-h/clip_image0293.jpg&quot;&gt;&lt;img alt=&quot;clip_image029&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyuftGrVz6FDkEkymErbytKF2g_oWzjh42bX5XjzODPi7nODIDLzQnoMwbdFBKDAimVVtk3c35cSeeZO1nIkuZ8vxGLa1l34zY0JYUNqNcd7jvoSuGqJ2YkZdBYSLjO8_n4qF_DoHra0Ak/?imgmax=800&quot; height=&quot;213&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image029&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
After you define the New Action, you can make it reusable if you wish to use it in other Actions.&lt;br /&gt;
&lt;h3&gt;
1.12 Call to Copy of Action&lt;/h3&gt;
This is calling an existing action but with a copy of it so that you can customized as per your need. When saved a copy of previous action will be saved. This is the same thing wherein you are making use of existing code with some modification to speed up the scripting process. To access Call to Copy of Action, navigate to INSERT-&amp;gt;Call to Copy of Action (See below screen shot)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuKKkhCbv3mJVsWjRI0waaQo7vUVihwr7zX7IT0nh5Jmd6rwN-2YZffzuhNhKE-FEcITBWPHjmHH2N1BQucootZmxjNa73fM7VPah5vCZfnY3g9Vu8NHnfw2S2kOd40GLbd8dxhTNV8OMo/s1600-h/clip_image0313.jpg&quot;&gt;&lt;img alt=&quot;clip_image031&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU6PqyWe3BKzpOOLt1opZO1XW2OZ3ELYuRiAYde6c3YiheeoVfUG1ZSF1Px6rkx1i2NzkjKwGkB9zyT4oFTI1kpEZ2dviD2HkyYUV5611SGyFChb6D5Ay9xwMLbS9MOrCR9Uf97PBoL-qV/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image031&quot; width=&quot;185&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.13 Call to Existing Action&lt;/h3&gt;
This is very frequently used while doing scripting. Your test script is a combination of multiple actions like Login, Logout, Navigation, Specific Function etc. As a best practice what we normally do is we identify actions which get used most of the time. We make such action reusable and ask other scripter to call this Action without making any changes. The same is called Call to Existing Action. You cannot make any changes in Original Action. To add existing action, navigate to INSERT-&amp;gt;Call to Existing Action (See below screen shot)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL6yQhYEP862T8PA4zcTeFaYJbjhqDaMh_NQfGuZNBHeC2kIGe9vdU3W0wRIQZbIpaZhom2IavU0I1ukGc6KYHvIRcBKNk5ZDrwmin46b5QsQvV3Sv0cRwpekR2w0jRDLUa7FGSd-p5rCc/s1600-h/clip_image0333.jpg&quot;&gt;&lt;img alt=&quot;clip_image033&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6rsSwIOsonfajLWtoEe34pPn_BE9LGEYeCOIOM5ICa2B7OtW3O50ef9ADE9xfVqifMFiSW0iPke5gbrBFqsAYPYhNPwK6q_M-_1hor4LxL0GpTANRyZ-oVuOXNgj39-YGCTl57DENIPAS/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image033&quot; width=&quot;198&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.14 Call to Winrunner&lt;/h3&gt;
As the name suggest that you can call Winrunner Test or Function as well. This utility is given by HP so that any organization which has major enterprise automation library developed in Winrunner 8.2, they can make most use out of it without rewriting the library from scratch. This command will normally not used when doing fresh automation in QTP. Another pre-requisite to access this command is that you must have WinRunner 8.2 or higher version installed in your machine.&lt;br /&gt;
&lt;h3&gt;
1.15 Start Transaction and End Transaction&lt;/h3&gt;
Suppose I want to measure the time taken in inserting 1 record in the database. This information will tell me the transaction time. This is useful only when I want to make this information available to LoadRunner or Business Availability Center for measuring the performance of the application. You can insert Transaction time by putting the start time and end time between 2 points. To access the above command navigate to INSERT-&amp;gt;Start Transaction and End Transaction. This measures the time taken to complete the required piece of transaction. For e.g. how much time system is taking to return the search result. Here I will start transaction wherein I am inserting search text and clicking the search button, I will end my transaction when I got the required search result. When I run this script, I will have my search timings. &lt;br /&gt;
I hope you must have got it what I intend to say.&lt;br /&gt;
&lt;h3&gt;
2 References&lt;/h3&gt;
Quick Test Professional Tool.&lt;br /&gt;
&lt;h3&gt;
3 Additional information&lt;/h3&gt;
You can email me on &lt;a href=&quot;mailto:Sachin.vasudha@gmail.com&quot;&gt;Sachin.vasudha@gmail.com&lt;/a&gt; with any query.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/1123508285392400627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/1123508285392400627?isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/1123508285392400627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/1123508285392400627'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2011/07/hp-qtp-tutorial-chapter-5.html' title='HP QTP Tutorial Chapter 5'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiogG2AhbAJqAfIkoZ7R6c6orSscaKVdZrFWTPY7UPaQWxb4sP1saBlHh2TwzHfPKVGlPuzyAJOWgCIa6arZgEnUmCSb_nxWEM02w-YUKJuq0ZPbBI_ryOVqtjpMFxwoxupyPjoIwo7NG2t/s72-c?imgmax=800" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-8654643242576972870</id><published>2011-03-16T16:56:00.001-07:00</published><updated>2018-06-15T16:06:03.820-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Active Screen"/><category scheme="http://www.blogger.com/atom/ns#" term="HP QTP"/><category scheme="http://www.blogger.com/atom/ns#" term="HP QTP Best Practices"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Datatable"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Toolbars"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Tutorial"/><title type='text'>HP QTP Tutorial Chapter 4</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
1 View Menu&lt;/h2&gt;
The View Menu will provide you the options for setting the view of your Test. You can choose to view or hide the various options available under View Menu. The below section will outline the important information on the options of View Menu. See the below screen shot for the options available under View Menu:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinldvogsfJsT4DqBlQlfUAZWyPezSpd7HOu8Cu-0oLbHWZC9DgsYqAP4BftkyFHMym-jCfLWY7V8bZt0PjSHiekuM7uezwKalMeanZ51ePDQjvA8yZluGOYBb39n_GrP_RiI-yCs2F-gNs/s1600-h/clip_image002%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image002&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiHPNemznjaWGxL_zu3v2r75WRzHFwHClA4kiTHJLtF8FN-8UD8F2Sx_2ciwu96Z5C_zDYykNz-J-3owVLDk2cnAr-2_7UxNQxwHHWbLfgMjHfordouVcTQQHwq6uP3itPxMpxvcML8yIB/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image002&quot; width=&quot;130&quot;&gt;&lt;/a&gt; &lt;br /&gt;
&lt;h3&gt;
1.1 Active Screen&lt;/h3&gt;
The Active Screen is a screen which shows the Screen Shot capture while doing the recording. You will be able to see the Screen Shot, if your QTP Settings allow capturing Active Screen. &lt;br /&gt;
If you are not able to see the Active Screen after recording is completed, just goto View-&amp;gt;Active Screen (Check for a tick mark against this option in View Menu). See the bottom panel where you will see an Active Screen Tab. (See screen shot below)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq5dJ_1GJ-nDBY3CFRsOXIySdGa6wQEvQaTyUuSIuZs7p9SAfTOxwb7pUrdFVP27LLLsZwmDXrDpOSsHPyVWsjllBCM0HzmVDtEvAulbMediVqG3AdHu4Rg9QqUetItFm7BMCFXsNKqXHm/s1600-h/clip_image004%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image004&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4aVEU4apVJUTCyMf9pt8qT2vS1v-tgcHaU6ta6U6X5oWxdPOBbsZb4l8IVxAW0yOkXsRZo4KNCQ-CraqeL_hskGMMEgPHeN4I7bwSaDzNIIOmhXewzPEoIyLX1PogC22HAotTnKPu0PsQ/?imgmax=800&quot; height=&quot;134&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image004&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;u&gt;As a best practice, you can enable this option but while saving the Test, do not save Active Screen with your test; it will unnecessarily increase the resources on your drive. &lt;/u&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.2 Available Keywords&lt;/h3&gt;
This is a new feature of QTP 10.0 which helps you in doing your scripting in a much easier way. You can simply drag and drop the keywords in expert view and a corresponding code will get inserted automatically. For e.g. If I have a button on my home page, then when I will drag and drop that button in the expert view, a complete statement consisting Browser, Page, Web Button, Click will get added. This feature will come very handy while doing scripting, as you can directly insert the Function Call, OR events etc. See the below screen shot:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIYHXKCXE5impkTGu9f_yVVoLzjYuk0UUeBRwVxS8NcSPSm9FTS9HQ1lEogqjeLa4nm1WMwTEnMXJ1ocPcIwFy4hv_XAxWcu0Mh6SYIjOVQ2A7JwICRqzfk4GtNlmJVdM4cMZrg6GIbvhk/s1600-h/clip_image006%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image006&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXhZ8zAiYNQ3JJMMsdTc2HOZ-2zDeTzV5GiYH-R_wyuNQ-JEn-4zLo_DljHxEzB3P32Ql2yIn8KKnhVYoZPgkMmJjm3Xl3h1D254kAwf-Y3ssHINMGToFnmj5w3ZhOfhLj-97jZMW4E9B3/?imgmax=800&quot; height=&quot;131&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image006&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
If you are not able to see the Available Keywords pane, then goto menu View-&amp;gt;Available Keywords.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.3 Data Table&lt;/h3&gt;
To view the Data Table Pane, click View-&amp;gt;Data Table. The Data Table pane allows you to see the data that will get loaded when the test will run. You can also set the Global Data and Local Data from the Data Table Pane. See the below screen shot:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5XsEi7vTUEqNZJGBjBapun10IF21TXIZ6HFc9-ZndmWyzbH0gonJZvjS7_6OgcA3Ss3pZLLvQTYZB-d30fQYRrnJcvL9uSWWOZExBQVBUSoLs0OANbaiFB4ooPki7B0dQffAR-55uefnk/s1600-h/clip_image008%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image008&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOKgyBZMnZ7-cZaqohd8G_nufameWnRShIQrDub8FAX0EMeIwsHlgISLP7Y3kDRcaq-tzl7lksH5VXjNpOWMoYg89jLbvH1MsvHkVoyNG5eYnEJqawEubzWFTPVELYcISRAA2Ln6tIZuFf/?imgmax=800&quot; height=&quot;71&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image008&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
The Global sheet will have the data that will be used globally while the Action Sheet data will be used locally. This pane will get used very frequently when you are doing the scripting.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.4 Debug Viewer&lt;/h3&gt;
When you want to debug your script, then Debug Viewer Pane will be very useful. You can enable the Debug Viewer pane from View-&amp;gt;Debug Viewer. To make use of Debug Viewer, you need to add watch so that the variable added in Watch will be visible in the Debug Viewer Pane.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGpG50uXLYhitCL0HFQN3K1CEXnwf2-vncYcXNmbGCFtOJOMOPAmvmaa8-3KHw2T15QU18LIa0bs8V9vZp93VamXetuvcxDM62pj-Yu5NiMkHeUqG-qMM9SY98icpSeJxObWthDevXhf2F/s1600-h/clip_image010%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image010&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFFghvS89B0vdtRHGAo0SDG4gU0afjnSdv7FBi6zQoxZ78fNNz-ooEClgG7hH4e0C3kNp-X3Iv7pBtrsc-oWCAVploDAnaBi-M6jEfp9ax0OSJicDCTWgq44xQAp4CWZ-w-l6QRGCDzQKG/?imgmax=800&quot; height=&quot;69&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image010&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
In Debug Viewer, you have three tabs, Watch, Variable, and Command. You can make use of these 3 tabs to debug your script. The command tab will help you in modifying the value of the code and debugging the problems. These tabs were very useful for scripter.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.5 Information&lt;/h3&gt;
This tab will give you information on VB Syntax Error, when you move from Keyword View to Expert View or vice versa. You can check the syntax by pressing &lt;b&gt;Ctrl+F7 &lt;/b&gt;or goto Tools-&amp;gt;Check Syntax.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH4sYxQEakL9VTH9Wj957rwCGAtKZ48qXKH1JN7CpuivKR6NUHILLjm13wO-Iq5BZ_OqDY63A4rTlnO9d0jMJnGPCE1CmX3NB2tppreckQ5UEOI0r4F_9e0Hxlol-nKkFKsZ-lp54h5V0s/s1600-h/clip_image012%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image012&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWStKFK3vVnmulGW2GWauvuHSQyFF2IMOMiP2KTp3sYTz20AGp5kkZ1WaeHJCZjrqJSRk5ROpjvC28Kx3-4MKuuL0r73flN72ShTiZe46mrpUXA6izo05Oft0Dsv9TmgPYGIsrzAaQh3jx/?imgmax=800&quot; height=&quot;39&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image012&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.6 Missing Resources&lt;/h3&gt;
The Missing Resource Pane will provide information if QTP was not able to load any external files references in your Test. The External file can include Library File for Functions, Reusable Actions, External Actions.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWQTfnho0M2rnTJQ_wqEBD8aG6hkgIC7uuMm4_uhO2TIAKyFjddV_-0y_Dso4Y7d7ffJoSeTTjGOx0mvjAhbbS30kZA-icGcJTdBRPK7uSOujrYs4FQua1mgrnfCKK14ZkLf9dDc7hVxhY/s1600-h/clip_image014%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image014&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkCRZaJNwAtfoD_l3wKRZTffIwW_73tEYUUgyARaSkeGjCrWRonyEhd6bZiAm_K2lJjqkWpjFQX09vE2A9Dj1Y3dxItsDVK4NiL_4wydj1mZ9_kaEWaqfwfYFGg1PRYNZEnY-MTLEGI4nt/?imgmax=800&quot; height=&quot;90&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image014&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.7 Process Guidance&lt;/h3&gt;
This is new to QTP 10.0. This will guide you how you can start your workflow. You will see a descriptive guideline for each of the activities. This is not a wizard but just a guide so that new user can get acquainted with QTP much faster. The screen shot is shown below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlc73mKw4GbaVo6e6-k3c1FgXDRYDIDf5PFVLpV3iA_Q1nUVtkm38I20EAgmqirWa1_NlOk19VbiAUBlUU0hLQGb4ToqITOj01ogqVkXyuxu71ZJYOldbd06Mgh96rohH4hjYFqh-PHka8/s1600-h/clip_image002%5B4%5D%5B2%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image002[4]&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir4AoQm1tp9u-avqDIJlTp5D3RqAepG2k1ErGmD_RulU0GjoUUuLz_KyD2EHEx8Mj8kW-JnuzcBqxoO_1pFYw8_K8V694LXduU7hK9lwg1MiTh5l26KH2WcWZIkgfP90ERTs01-5j1TmwH/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image002[4]&quot; width=&quot;94&quot;&gt;&lt;/a&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2OuvkEi8vIRM-VfGd5aJa-j0aUkxg9JBSn0SB5UeWl3czlZ43kzR75kkqHZX4fCTQrbuJyujsxok72LAeAssfNhFQm_LEE44T_4ARkUxsShdjU-7jIOgYFxz8LKSXcxmi-IpUtUpCYhxP/s1600-h/clip_image004%5B4%5D%5B2%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image004[4]&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT5ODT8JWjJ3YzxZOa2yvg-sLE9r96W4RzzyhBOHguw8baUPncquN6iYj1voR3aWeo_J1JKeoV_BWzr-qWtBwEXmjFz5I12KcoJxxwQ7B97Cu5uAmUQqwAW8XsZqVWVwNumqWlshAVkaqV/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image004[4]&quot; width=&quot;109&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.8 Resources&lt;/h3&gt;
The Resources Pane is new in QTP 10.0 (not aware about 9.5) and helps one in managing the Test Scripts. You can associate Functional Library, Recovery Scenario, Object Repository. You can also Delete the Action and view the OR. If you are not able to view this pane, then click View-&amp;gt;Resources. See screen shot below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKeDbE9RTWcxEwsa1QtEo68uygYFIxZF065cLoNmVcpThm38CS5aJ7a1c5bPn2kOj2RL7n4iCsBdqHM1zOopsY_1Vup0ubjHXh6rumi0JJfSQsVdP_2EbG5IikNWA441yKooYyOdXuIC4j/s1600-h/clip_image016%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image016&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE83FkJO4VKGhOFyPygs9XLfteF7AVdiKFwUMDiYkt3GSdku0zDvnjoHLPIUZfhpRqHCNvN7I6xhc_jcbkbPNJDV8GSJncocGu7cBfcPCwUj6km1V-DSaCuvoOcRm0np97i8AZfPp1RoYr/?imgmax=800&quot; height=&quot;110&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image016&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.9 Test Flow&lt;/h3&gt;
The Test Flow is also a new feature in QTP 10.0. This will again make your life easier wherein you can easily understand the flow of your Test Cases. You can move the Actions and do a lot with this pane. If you are not able to see (although this pane get loaded as default), click View-&amp;gt;Test Flow. See the below screen shot:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgONMBXSjh-9V72Pirm6BYt0bOEqut4E-XoUv3JfWqQizmJ5wGNAggyFfNNrp27Kv9Ngisw1XmKkGmtdj3lRncZVVEA7lVontDjp05AezYLS8I2cD3M5p3Gs_5GYrQYPKpZwLN_MW8XpwmF/s1600-h/clip_image018%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image018&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgldDPQ6wlRpQUGkco_nBxkTGJlQ8yu5hHM96hDE1piPtUzvTJzHwF3NFLq2Xr8N4GF8evtxWiotFblQqlPXBqkhIltsLCoqgJ6CZ38G3zZkGGr4kDdvHoOooKiItL6ZJkjLS_a66AUbiZB/?imgmax=800&quot; height=&quot;124&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image018&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.10 To Do&lt;/h3&gt;
This is new in QTP 10.0. You can add your to do items in the To Do Pane. To access, goto View-&amp;gt;To Do. See the screen shot:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnzAEuWzRvN9nI5iY8wYwDcleFVhCGfuUZdV96lbDPpNPsrhgln2uFTELmsa-iimpmtX0CsfVdYvNkpvwsIrSgo_lDkzsHv309fsozJ_9mfiLw3iro9GYvzdgj3FKXMaFtE0RSCj-WaYtf/s1600-h/clip_image020%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image020&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq3kD9X7MC4OSv1Wbk427FqUe0SiJNfveZNY2CpDYMwMsHHC873C3R0zPG1Iq1PauaNKIFH2vxu2ryvrerRSeQw8C9IV9vcIvwhJ0qHRSQoK1h0GaliQCqE7SGR-aZbk67sQrruj_BGZaq/?imgmax=800&quot; height=&quot;62&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image020&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
You can see Tasks and Comments tab in the To Do Pane. You can add To do using the upper tool bar which is visible in above screen shot. The comments tab help you in viewing the comments provided in External Actions and Functions provided the comments exist with keyword //To Do, todo, to-do, or TODO (not case-sensitive). You can also export the To Do List in XML or XLS.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.11 Expand &amp;amp; Collapse All&lt;/h3&gt;
You can expand the entire Item present in the Keyword View from View-Expand All. Similarly to callable the test tree, click View-&amp;gt;Collapse All. Alternatively you can use + to expand and – to collapse all.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.12 Keyword &amp;amp; Expert View&lt;/h3&gt;
The switching between views can also be done through View Menu. Select Keyword or Expert View from View Menu to switch between the 2 modes. The Keyword View is the tree based structure of your Test Script. Both these views can be used while doing the scripting. Advance QTP user prefers to work mostly in Expert View rather than Keyword View. &lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.13 Toolbars&lt;/h3&gt;
The Toolbars section under View-&amp;gt;Toolbars help you show &amp;amp; hide the below mentioned toolbars. These toolbars are very handy when you are doing your scripting. &lt;u&gt;As a best practice always enable the below mentioned Toolbars:&lt;/u&gt;&lt;br /&gt;
# Standard&lt;br /&gt;
# Automation&lt;br /&gt;
# Tools&lt;br /&gt;
# Standard&lt;br /&gt;
# View&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.13.1 Standard&lt;/h3&gt;
The Standard Tool bar is shown below. You can enable or disable it by clicking View-&amp;gt;Toolbars-&amp;gt;Standard (Do check the Tick Mark after you enable)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh87mWNlRdvGnKXy6KXUuWXdgcy5uTCDswHKGZD7p5YDe7vSYbVzFNdQCEvvhYO0MxwNe0QQRj0vXgsrE_EKxojxTykZWcO4M5OZWTgtpMRyDMCYA8w2nCYyzh_HtJtr4THXV_oKEVcmdT/s1600-h/clip_image022%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image022&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwI9uRthNqztuaY4gF3hkyQhzWLo-3pZdGr9RDYBD_7CaP3phk4sViARaAciFFYsLIwMcCqZNTFPwqyzC1Umiwcpk-qR2tWi_xkZTKM5NqlH0grvnGRBF-aOgG-i5mEI5Hsfg48o2mgrUq/?imgmax=800&quot; height=&quot;79&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image022&quot; width=&quot;205&quot;&gt;&lt;/a&gt;&lt;br /&gt;
You can use Standard Toolbar to Open an Existing Test, Create a New Test, Save the Test, Save the Test with All Resource (&lt;u&gt;not recommended&lt;/u&gt;), Settings, Enable Editing, QC Connection. You can further customize the above tool bar by clicking the down arrow in above screen shot. This screen is very self explanatory. &lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.13.2 Automation&lt;/h3&gt;
The Automation Toolbar is shown below. View-&amp;gt;Toolbars-&amp;gt;Automation (Do check the Tick Mark after you enable)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimEn3pcP00cOpb5foDhiUbwN5P9OLNU7dTlfsqKpCZS_AIloqzU0GNhxaIYgJrHTkInL3PiSV3RS0VZ2u9mXwXAUkeN2O451V6p13Ju9_SpGzGk6uK7eprE8g7NMOcZfCXxkhhojyVF72U/s1600-h/clip_image024%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image024&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXoHJhzcI_c2_M1X4eh1FSw4PxjkxqVnZd3IWUCA3Ctx4uJSkGfQfBVoo3PyF4fwkjpAd3Kqk4XWgxDrnNB8RF_L_0aYIKB3BGik3EmQ3D0LTN89_4ZL2jYb9QleSDE5ptUOqbngcNST9n/?imgmax=800&quot; height=&quot;43&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image024&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
You can use above toolbar to record, run, stop, change recording mode (analog and lowlevel), view Test Result, Open Object Repository Window. The Customization of command can also be done by clicking the down arrow which will provide option for customization.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.13.3 Debug&lt;/h3&gt;
The Debug toolbar is shown below. View-&amp;gt;Toolbars-&amp;gt;Debug (Do check the Tick Mark after you enable)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigWLGKHm2oktArnvWZrN_PBYNGNDlCgBfT_cG6HZLL9LS_lBb5ArAFp442uUE4o_CByve2xUl97QTjl3w2foBxGsCmMAak3QFSj3uL7vqVzTopJcD1JB_klVOI0Nb9W3shYJEv__oxmJv9/s1600-h/clip_image026%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image026&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiB-QXkiI4YFoVxgSAKwymVDFu8hyphenhyphenSwPys6G2b9HvUOOt0zeifVP16z8oUgijRVcFj2j9QfltOedXW8Jw2Lg-cVsZivGp1Qol7oOYTPdM1DirVQXMuzrzk9vs4OTETySFuvzidhAw_fzuB/?imgmax=800&quot; height=&quot;52&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image026&quot; width=&quot;167&quot;&gt;&lt;/a&gt;&lt;br /&gt;
As the name suggest the Debug toolbar is helpful while doing the Test Script debugging. You can Pause the Test, Step Into (Keyboard shortcut is F11), Step Over (very frequently used. Keyboard shortcut is F10), Step Out (Shift+F11), Insert Breakpoint (F9), Clear all Breakpoint, Enable/Disable All Breakpoint. &lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.13.4 Edit&lt;/h3&gt;
The Edit toolbar is shown below. View-&amp;gt;Toolbars-&amp;gt;Edit (Do check the Tick Mark after you enable)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP2rkuQLL7luIiPPhi0KubmNW2o7U5SXsNfxXbp-3F8cYsrFz3VDcVEKS_elrvwqujI1_HxbjdTu17Br4ez1mXHiNbylu59uo8c7VHi_BQP65NFxN2fB875CGFudk03MJgYNEh_RzBSWR2/s1600-h/clip_image028%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image028&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfxEJCNd4qvLRXev-hCWjiCn6sd-0UIJSMfS5tszEVonxGsPVsithPanQN7-TQUBh3nmmYD3OMtyNkboAO5hm7iwNWiwLGSBuinvNxXob57TlckoFv2QNgqakkJrU2uLOZjo1BDXnD2jze/?imgmax=800&quot; height=&quot;52&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image028&quot; width=&quot;145&quot;&gt;&lt;/a&gt;&lt;br /&gt;
All the Edit commands such as Undo, Redo, Comment Code (Ctrl+M), Uncomment Code (Ctrl+Shift+M), Search and Replace are available in this toolbar. &lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.13.5 Insert&lt;/h3&gt;
The Insert toolbar is shown below. View-&amp;gt;Toolbars-&amp;gt;Insert (Do check the Tick Mark after you enable)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXMSzfvbel5AX_a29dZ9oQEfCYnL3qQ7DCUGOrf_DYMbIUkTUyBXfAMIRl8S7A9wuVtwf9HAnDtOI4MkxXIFqSv5U6Q_8cD1QbG5FgadiBGpfw_oXA7tOOWA4kx12exajfJsfwugHE9dJR/s1600-h/clip_image030%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image030&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijzkklrPAUcSinbLZgP-dnWIm82eRmYmMdbzjxWAWgnCHdOLnrUVs7NJnXVXDqDP5qVZvwpsF06pQ9mKltbNLkKtzzkTYRtje3p9AGucwlB7dgIi-ar-ZQe47HvLFSrShHmlz5raXQYqSD/?imgmax=800&quot; height=&quot;52&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image030&quot; width=&quot;179&quot;&gt;&lt;/a&gt;&lt;br /&gt;
The commands available in this Toolbar are Insert Checkpoint or Output Value, Call to an Action, Split Action (will be enabled after test script has been selected), Step Generator, Transaction Start Time and Transaction End Time. The Start Time and End Time transaction is very useful in knowing the time taken by application to complete a flow.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.13.6 Tools&lt;/h3&gt;
The Tools toolbar is shown below. View-&amp;gt;Toolbars-&amp;gt;Tools (Do check the Tick Mark after you enable)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG118IPagNTNZvqg-y3LMIUSDNj84qzpWcQWpCooOVe00Y_gEyMPNUhjFhbd6BZF-SjVZdkhGvSGn61xAGU_pp5cFlqgD3UliBXQCo6MOdIivovAwdo3JEgPCG5l4SUsa4iQljdYMDq40b/s1600-h/clip_image032%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image032&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrsBn97QUgPD5zuqgrfowHVngy8jgIO_M3VGagoyYe_iyabQpIgNzTkxIghezE1IofTVtXM7IPJbvKjrD9ovGxK66JLEG9Ewt1_5Xr1OWcN-uj7sPoj0XHHkQq6Y7LI16sKFWJlyzuo7tW/?imgmax=800&quot; height=&quot;52&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image032&quot; width=&quot;79&quot;&gt;&lt;/a&gt;&lt;br /&gt;
The commands available in this Toolbar are Options, Check Syntax (Ctrl +F7), Object Spy.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.13.7 View&lt;/h3&gt;
The View toolbar is shown below. View-&amp;gt;Toolbars-&amp;gt;View (Do check the Tick Mark after you enable)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6YOyAGSE0xfe5-22NxsYSvfuewsnedMVYBAAslktPCzl3v2rw3q0Uc9HMa9aWyPb2d9yxeogerPrYTa2WCAx6FXEeqVpzvPV4TRs2FyFD6XZuyAZyMlxjcNXeo7lgJOShD4y6rx7urCNM/s1600-h/clip_image034%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image034&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMNa4rB5KxiI_q3Nub9avcHiLyQTLznlBbwolqiEFnkZx2QVF5e95EfqMDHww5m-kuYSFHgfb_0yM3JhB5X0DUIgH0DDDSWY5weSC8vGv0pMx5ayEgmpwfxtXzc8W7iQBQiRxt5IWUzJB1/?imgmax=800&quot; height=&quot;52&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image034&quot; width=&quot;167&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Using this tool bar you can show and hide the pane such as Test Flow Pane, Available Keywords Pane, Resource Pane, Datatable, Active Screen, Process Guidance, To Do Panes.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.13.8 Action&lt;/h3&gt;
The Action is shown below. View-&amp;gt;Toolbars-&amp;gt;Action (Do check the Tick Mark after you enable)&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixqpPaaRwjnGD8Fl523JZnXZkWx7EqqsUdkUiBa8VxSTQS_-SHp9ISMichhKTYn9IBMdAqH9BsUM3nIIl5AT3i5n5luZHT4l3mnfOOVRFARVHC1YsT-H2OEyA4QJ1jlMBJcZTxgy-AA4oF/s1600-h/clip_image036%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image036&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkhGK8cNajxMnmaAL-UL_2kPB9m8IGmRkp5h3OKIcnvEt4V76waKEaPc53mpMlean-vx8hpQ0r3_zbaq0PeY3cPts9vKPm1X40DWH4Yu0gwRwx0LxfnHWFhpCwwSw3sDok0aDz-K7x0ThL/?imgmax=800&quot; height=&quot;26&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image036&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
The Action toolbar provides an easy way to navigate across Actions. You can easily go to various reusable actions that is getting used in your test script. This is very useful toolbar.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;2 References&lt;/h3&gt;
&amp;nbsp;Quick Test Professional Tool.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;3 Additional information&lt;/h3&gt;
You can email me on &lt;a href=&quot;mailto:Sachin.vasudha@gmail.com&quot;&gt;Sachin.vasudha@gmail.com&lt;/a&gt; with any query.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/8654643242576972870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/8654643242576972870?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/8654643242576972870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/8654643242576972870'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2011/03/hp-qtp-tutorial-chapter-4.html' title='HP QTP Tutorial Chapter 4'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiHPNemznjaWGxL_zu3v2r75WRzHFwHClA4kiTHJLtF8FN-8UD8F2Sx_2ciwu96Z5C_zDYykNz-J-3owVLDk2cnAr-2_7UxNQxwHHWbLfgMjHfordouVcTQQHwq6uP3itPxMpxvcML8yIB/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-3687806926586952649</id><published>2011-01-14T19:57:00.001-08:00</published><updated>2018-06-15T16:07:45.359-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Action Parameter"/><category scheme="http://www.blogger.com/atom/ns#" term="Delete QTP Action"/><category scheme="http://www.blogger.com/atom/ns#" term="HP QTP"/><category scheme="http://www.blogger.com/atom/ns#" term="Optional Steps in QTP"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Action"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Advance Commands"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Checkpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Edit"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Object Property"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Split Action"/><title type='text'>HP Quick Test Professional Tutorial Chapter 3</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
1 Edit Menu&lt;/h2&gt;
In Edit Menu, the first 7 commands are very self explanatory, which you can find in any GUI based application. You will find Undo, Redo, Cut, Copy, Paste, Delete, Copy Documentation to Clipboard (used for copying the documentation column value into notepad, ms word etc.).The below command are also very self explanatory and will get active when you are in Expert View mode. The commands are Find, Replace, Goto, Bookmarks.&lt;br /&gt;
In this paper, we will cover Action (Split Action, Rename Action, Delete Action, Action Properties, Action Call Properties), Step Properties (Object Properties, Checkpoint Properties, Output Value Properties), Advanced (Comment, Uncomment, Indent, Outdent, Goto Function Definition, Complete Word, Argument Info, Apply “with” to script, Remove “with” statements) &amp;amp; Optional Step.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg73yBdnoXOIuuw-DXzkrwa6ic9YdL_KcJ6UN3DmS-O77Ydpzstvy594lnBUcXWzSp4Q5ccELGGbXTpMixlnnEDyun7ycC9eN0ekvHiDvPR5ghxDhGTetwKVgVujwgphkVwYxtQBWLfxZfy/s1600-h/clip_image0023.jpg&quot;&gt;&lt;img alt=&quot;clip_image002&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3_JHiRU57nR6jxCPZJCpdTMeu74SghYeRKnSKQmXvuUsWCOGjOO3NW7UUKJF2N9s6EpA88T3IZtBMDmqWDLfGxs8qwRJrG1Ueikg19uO-NRLB4rT9_XmAX5ChDqxAkwseXTriNlUu7Tml/?imgmax=800&quot; height=&quot;136&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image002&quot; width=&quot;233&quot;&gt;&lt;/a&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4lt4cgEzUKp10s2ZN-eX0bLrTjKwbS0Vgj0UQkK-sOWj_yQuyLHbDw-_QuO3lSG-wAnLlLhOCLRaVysAMPHefOnfNhdHx4HtGizvemKM5CKsUN-ExosJXS4umg3eospky_VOZzns846QE/s1600-h/clip_image0043.jpg&quot;&gt;&lt;img alt=&quot;clip_image004&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDFlTE-FBpoHfYG6tPMszrmeGX7rmy6n2C3GZUCV2Am8vJ0JThHM0iiXXxUYEWwpyBGRJ7iQH1C-0zxaiLi5iA6jsGtbODOWLs13qbD9-TOrsEJ6bgc98mV57xlM89loaq9jSLaD7xAr0E/?imgmax=800&quot; height=&quot;78&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image004&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3EDYLvRl_E_R4_0OPQmDnkRR_HSoFHsfDEJo8AWC0KM3VboGHqsSSKdlos2VRIGrGVljviU39bXBK4JZdNtQjxHA-_QwPsg1VBaebm2uMC0wmCjo7tkadn9Zz5yVVD_nii57aLZTR4zXW/s1600-h/clip_image0063.jpg&quot;&gt;&lt;img alt=&quot;clip_image006&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoANM1nmXRuRs2oeH1Bc5LOTAgsy_WxqI_yAt4e-2ybn1C1PGo0Z3bCyy00qt_10Wn5Wc4ySXP2gvY04FHj5JhPfZ_6yK-Fx2ormfhtlOmwMsw1MpoE_f-R49N2-h2OUXVZQ3XjghC7IiM/?imgmax=800&quot; height=&quot;94&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image006&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.1 Action&lt;/h3&gt;
As the name suggests, ACTION command can be used for doing manipulation on the QTP Actions. If you do not know what an ACTION is, then let me define for you. ACTION is building block concept in QTP. Whatever you are scripting is identified with an Action Name. ACTION provides a unique name to your Test Script. There is a reason behind introducing this concept in QTP. The ACTION enable to design a framework which can be made to re-used in your enterprise application. It provides a logical grouping of your Test Cases so that you can easily manage your Test Script. Test can consist either 1 action or multiple ACTION (reusable actions). We will cover these concepts in next series for Intermediate user level. Let now see the commands available under ACTION option.&lt;br /&gt;
&lt;h3&gt;
&lt;a href=&quot;https://www.blogger.com/null&quot; name=&quot;_Toc282492934&quot;&gt;1.1.1 &lt;/a&gt;Split Action&lt;/h3&gt;
Select the block of Test Steps in QTP which you want to SPLIT into 2 Action and then either right click or choose EDIT-&amp;gt;ACTION&amp;gt;SPLIT. This will open a window where in you can specify whether you want the Actions as an Independent of each other or Nested. Specify the name of each action on the same window and then click OK. You have successfully SPLIT your Action. Now let me tell you its real time usage, you normally split action for doing a fast scripting. You recorded all the Step in 1 go and then SPLIT into ACTIONS so that you have the logical grouping of your test cases. The SPLIT option might not be enabled if: &lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Reusable Action is selected which is external in your Test (External Action) &lt;/li&gt;
&lt;li&gt;The very first step of your Test Script &lt;/li&gt;
&lt;li&gt;The Test open is Read-Only (anyway you cannot do anything except execution) &lt;/li&gt;
&lt;li&gt;Recording a test &lt;/li&gt;
&lt;li&gt;Running a test &lt;/li&gt;
&lt;/ol&gt;
&lt;u&gt;As a best practice, 1 Test Case should ideally consists of 1 independent Action and if required reusable actions. I will not recommend to use SPLIT action if you are using it for having 2 independent action with in the same Test Cases.&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaqVwe_LLMeuDq5TyBRYrbHd21nx6Yu35fCJb_QmZ5fW6G9BgA8BrXxemdwHfJznfiHg0OGQa6GkvelzLVEEHxWODBqA8YXD1WCk6JLBBHpzFx5Ezgilslx1J8fImzuCs0lEhrxY3btZVM/s1600-h/clip_image0083.jpg&quot;&gt;&lt;img alt=&quot;clip_image008&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw0vyYNJ_ExBKmDsNjN421bimExg-yL5fCmkaNrwTEzUiiOcI1v6EJi97ReCKSy8c4kmBE_5-Qj1n7NFcGnKLFTHqNO7ovl53PiHAaEbPHmkjpCeQQzgtzlmWDw2NjKbDOZkjJNXiLPYH_/?imgmax=800&quot; height=&quot;191&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image008&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;/u&gt;&lt;br /&gt;
&lt;h3&gt;
1.1.2 Rename Action&lt;/h3&gt;
This will be 1 of the very frequent command on your list. You need to rename your Action as per defined standard for your project and organization. To rename your action, press SHIFT+F2 or click EDIT-&amp;gt;SPLIT-&amp;gt;RENAME ACTION. You can also rename your action from the Action Properties Window. The default name given by QTP for Action is Action 1 and so on.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGF18s6WeeEsxMFNUzIX9MUUXR7f021nmvUxWGN8falrNuijO25UmpWSOTJU4jxOPxowQP0nJzq__XGceucanGfJ7ypd_Pokb3Ht1cDBNOMRNOKd7CT-KyGQBwmDO0QsO3gBS6-ab_Rz04/s1600-h/clip_image0103.jpg&quot;&gt;&lt;img alt=&quot;clip_image010&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifv6jBlwZ1OFLjrV2brEVQyriYQpqBL8HtxGA1djomPzGx-V4W7xDMiY5iYYM4si12aMmZ_O04MoRLFAZCC2br_wx90nyD-jCbKUusbK8DctHZI9M2JRqIaffVFV0uX2-u8bC9cvAd_a7J/?imgmax=800&quot; height=&quot;116&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image010&quot; width=&quot;235&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.1.3 Delete Action&lt;/h3&gt;
You are also going to make use of this command whenever you want to delete other action (normally re-usable) in your Test Script. If you have included wrong re-usable action in your script and want to Delete it, then open the Reusable Action from Action navigation drop-down, click EDIT-&amp;gt;SPLIT-&amp;gt;DELETE ACTION. Please click Yes or No on the confirmation window to perform Deletion of your Action. I still wonder why this option never appears in right click menu. If you know the shortcut key for Delete Action, please share with us as well. I am having hard luck finding the short key for Deleting an Action.&lt;br /&gt;
&lt;h3&gt;
1.1.4 Action Properties&lt;/h3&gt;
If you want to perform below activities on your Action, then use Action Properties window:&lt;br /&gt;
1. Rename of an action&lt;br /&gt;
2. Making your Action a Reusable action&lt;br /&gt;
3. Specifying Input and Output Parameters specific to your Action&lt;br /&gt;
4. You want to associate or view the Object Repository for your Action.&lt;br /&gt;
5. You want to view the information that which all other Test are making use of your reusable action. &lt;br /&gt;
Let me give you some more insight into point number 3. In real time scenario, we normally use point 3 whenever we are creating reusable action. Parameter are normally not required for Independent Action. Usage of parameter will be covered in next level of my series.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirETJeEmBuKbqPyyD-malIkm9JMCyfHK66Qbrh9muxaGBon0uvl3IEZsfXKCXfe4W6UFHypCMsTgYzB15QmxRWKwYWiWeBXzR6QF85BrXGurV1V3xGiWEhQfDe7MLJ29bRMC7yYuqPRy80/s1600-h/clip_image0123.jpg&quot;&gt;&lt;img alt=&quot;clip_image012&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwU5tqiaWa2UfbmRQhiONKUOSawfUCzMnhWDFv2RZjNlCRzyeh4cJT55-HVtEGoHufMZdzR3wt78EH3k59B5CcojZbSUVUM3TjSMjp7ABhoIj8tbZPh8LWsfriWyI446sFUfLBmA6dvlOl/?imgmax=800&quot; height=&quot;233&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image012&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.1.5 Action Call Properties&lt;/h3&gt;
You will find this option available only when your Test is using reusable action or nested actions. Using this command you can:&lt;br /&gt;
1. Control the run of the called action&lt;br /&gt;
2. Provide the parameter value for the called action&lt;br /&gt;
Select the Reusable Action in Keyword View mode (remember you won’t see this option in the Expert View mode) and either Right Click and select Action Call Properties or Edit-&amp;gt;Split-&amp;gt;Action Call Properties.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD_UbV6_BpetLmADUbaIoCqxm8lnWcSEaACSNFuWxPWnhpKzQLb92nADfstjckDoiMnqvq7MbmEuY-CJIYH3inMnmL4zFRE0hI8X779QO8bjFl_SH4RUwv6oY_u-_b3x30dLj3T96kk3JS/s1600-h/clip_image0143.jpg&quot;&gt;&lt;img alt=&quot;clip_image014&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzI2a0WetTxT-r7cxbsf9-3EO9JQC-EWszpbTroOrbAMDuIfVA4J5TT0_4DoKdJVQquS95-kYrr9aLrDYwLNfbKBY6qKLzoq29H0Q9IwppBVTofkxR6Y4c88Llo9p5gEbz8Ypp1GizI09U/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image014&quot; width=&quot;242&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.2 Step Properties&lt;/h3&gt;
&lt;h3&gt;
&amp;nbsp;1.2.1 Object Properties&lt;/h3&gt;
If you know what an object in QTP, then its good but in case of you do not know, then let me define it for you. An object is a control (edit box, radio, check box, button etc), window, browser, page etc which has unique name, properties given by the developer and QTP identifies the object using those unique name or properties. As a scripter you should be able to read and understand the object properties. QTP provide Object Properties option to see the property of an object. Ready only information is displayed in this window but you can find that object in Object Repository from this window as well.&lt;br /&gt;
First highlight the Object and then either press Ctrl+Enter or Alt+Enter or Edit-&amp;gt;Step-&amp;gt;Object Properties or Right Click and then select Object Properties.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSKT-A-lqhr6agNRUko3Ot2dQPRToRhyphenhyphenct-LT0Yn2M4HPBDjsDRI5LUFXRNK2Ha_V-zArgJtZfyxlqOAgivJcsaMlGlHeAHI5iujSHrdWkj44KMIrcm8zGpmpizSCKGHXYzd_uO9hyphenhyphenEsBH/s1600-h/clip_image0163.jpg&quot;&gt;&lt;img alt=&quot;clip_image016&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho36wVNNCXZMrDI5ZjAI2DKb6g-mQM_2hz33eeq_iSurhI2WDRm4f7qEH3-slm-kd_z32xnoKW5XLLLTB2QjCb_rR2f-4j2-Hm3qq2F-E_61j7mWv_AeOVxAPY7mI1EZWPY8VKoxEK6CqQ/?imgmax=800&quot; height=&quot;226&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image016&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.2.2 Checkpoint Properties&lt;/h3&gt;
Let first understand what a checkpoint is actually means in QTP. Checkpoints in QTP enable or pacify the process of test case validation. For e.g. if my test case is saying, validate that the QTP image is appearing on the web page, validate that Age Text Box is disabled by default. If you have to script above test cases, then you might require the Checkpoint in QTP. There are various checkpoints which are available in QTP but the most frequent one is Standard Checkpoint. We will cover QTP checkpoints in detail in next series.&lt;br /&gt;
If your test consists one or more such checkpoint, then you can view the Checkpoint property by either selecting the “Check” keyword in Expert view and then Right Click and choose Checkpoint Property. You can also click the tick sign in Keyword View mode on the Test Step which correspond to “Checkpoint”. Using Checkpoint properties window, you can put validation for other properties as well. You can set the value to be Constant or make it Dynamic by parameterize the specific property.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBVAEcVs_2XHl-ErmPl0BGnMhWCk61SPhroCNVqsAUVFE-lIW5ifNZF5QpP8bVTFb52jxDCBshErG_M2_QKWhB5Oj2GpsCjndxZFBWunDvHxi4wLongVtoXxmUD1h8vF-zp1JnR8x_hq4R/s1600-h/clip_image0183.jpg&quot;&gt;&lt;img alt=&quot;clip_image018&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY9FHQdFG0oPaGSwhCiSJVYxIgCi-3sJ8mq1yVzYorLeCxF6vsHr2u3qpDOU9nW8aC6mgO2fd9ykfIBEUZ5goJniqFEPiyj5YOdLUo5Usb9NJhlDfCYgAfuOjTs9o4f8t-BW8norj1Ukzv/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image018&quot; width=&quot;221&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.2.3 Output Value Properties&lt;/h3&gt;
This is similar to Checkpoint properties except that you are outputting the value from your AUT to make use of it for doing validation at some other steps in your test. We will separately cover this in next series. But you can view the Output properties in the same way as you viewed the Checkpoint properties. Select the Step which consists “Output Check”, select Edit-&amp;gt;Step-&amp;gt;Output Value Properties or Right Click-&amp;gt;Output Value Properties.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY0_eP9XHj1vl8nFqQLf2OhscOPVj-rpe29RPT8KBj1yAC4GxRSigYUB7lxuiEKHT_7Q88wMcQz81FFROncuFwaY6prl78qmz56aOLHFLGTk53-C_oGoTt0_6tlg2mcgxr0YYDuGM3DrQb/s1600-h/clip_image0203.jpg&quot;&gt;&lt;img alt=&quot;clip_image020&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkHb8aTxhQQ5MfR8aYlZS_3-rr3SlDFpSNeu6rZTp4x2i_DDJpLInn7xAsGhz4uqwVDAwhOCt7f7Wa2T5t_sQsO1Js38wZ2MS2aqu8x08ho-XfbI0_aE2kUOeO5TpJthZu1Jy4asWIbiBe/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image020&quot; width=&quot;237&quot;&gt;&lt;/a&gt;&lt;br /&gt;
You can edit other properties as well so that it can be outputted to a spreadsheet. You can navigate to Object Repository from this window. Click the icon on right side of Name Text Box.&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;1.3 Advanced&lt;/h3&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;1.3.1 Comment Block&lt;/h3&gt;
To commend the block of code, select the block of code in Expert View and press Ctrl+M or Edit-&amp;gt;Advance-&amp;gt;Comment Block. This will comment the selected code. Used very frequently while doing scripting.&lt;br /&gt;
&lt;h3&gt;
1.3.2 Uncomment Block&lt;/h3&gt;
To uncomment the block simply select the block and press Ctrl+Shift+M or Edit-&amp;gt;Advance-&amp;gt;Uncomment Block.&lt;br /&gt;
&lt;h3&gt;
1.3.3 Indent / Outdent&lt;/h3&gt;
This is very self explanatory. You can indent and outdent your Test Script to increase readability. This make your Test Script look cleaner and make your script easily readable to other scripter. Always follow the defined Organization standard for Indenting and Outdenting.&lt;br /&gt;
&lt;h3&gt;
1.3.4 Goto Function Definition&lt;/h3&gt;
This is very important command and you need to know this as this will come very handy when you are analyzing the existing script which is making use of function. This command will simply take you’re the function definition. Remember from 2&lt;sup&gt;nd&lt;/sup&gt; series we have included library files in our test. Those library files is a collection of various functions which my Test will make use of. If my test is making use of function whether internally or externally, I can always see the definition. Select the Function Name, Right Click-&amp;gt;Goto Function Definition, or Edit-&amp;gt;Advance-&amp;gt;Goto Function Definition or press Alt+G.&lt;br /&gt;
&lt;h3&gt;
1.3.5 Complete Word&lt;/h3&gt;
This is again very simple. If you writing a code say Dialog, the instead of typing complete word, you can type initial and then either press Ctrl+Space or select Edit-&amp;gt;Advance-&amp;gt;Complete Word. The former is more frequently used and I do not know why HP has still given this option in the Edit Menu.&lt;br /&gt;
&lt;h3&gt;
1.3.6 Argument Info&lt;/h3&gt;
To see the Argument of a function whether in-built or external , type the function name and then press Ctrl+Shift+Space or Edit-&amp;gt;Advance-&amp;gt;Argument Info.&lt;br /&gt;
&lt;h3&gt;
1.3.7 Apply “With” to Script&lt;/h3&gt;
You can make your script look more readable with “With” statements. To apply the script with “With” statement, simply press Ctrl+W. This will convert the script into “With” statement. See the below screen shot for clarification.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCnj_aKnJwlD64N98l31m1JedSOZUOoVXa8qLa_LWwfgWOevR0cP9lB4Ax80VdpEw1W-G70gizn8USG0L1PeOxslN2dLw2JfKzapZjvs5jEEb9jusSC44k5KIvycQiBtCfsghrQQC1JR56/s1600-h/clip_image0223.jpg&quot;&gt;&lt;img alt=&quot;clip_image022&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEHewDbECRMr3CIehAff6fpFa81xVeWUM-YU-ZZ0wGHrGvMm2rAKEtJcea8lORrWzIiOn1yF5t61tlcteRuPe7lcm5K3CqksNZaEgqWCw0-F1cRyrP24ouuC6DhlAQSZUtkArbpsjIXlwB/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image022&quot; width=&quot;242&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.3.8 Remove “With” Statements&lt;/h3&gt;
If you want to remove the With Statement and revert to its original format, press Ctrl+Shift+W and your script will be removed with all the “With” statements.&lt;br /&gt;
&lt;h3&gt;
1.4 Optional Steps&lt;/h3&gt;
The decision to make a step optional entirely depends on your application design. There may be instances where you application perform some action based on saved value in session. For e.g. Remember Login feature. You can make the Test Step for Login as an Optional Step. To make a Step optional, go to Keyword View and then select and right click on step and select Optional Step. You can also go Edit-&amp;gt;Optional Step. This step will show &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPVxawSi3AbhPcJVY7ZrWouJjV8u14i3XHBPNJtzwtI-isW7yHf1r0nsT0uVkeJorpEDdehUaLHCzYEhPXKrObo-GHMN-eRWEC-IhTVbyRtz1tRZdYaZQg4IkLxbY8Bbii_-_oS6jBx1F9/s1600-h/clip_image0243.jpg&quot;&gt;&lt;img alt=&quot;clip_image024&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKXRiiwMdEz4INGATjKpddBEQK40THoOFN6woM-yoJ1FiYKFMYr6hS-092WeYdI1lppvLZn57ddj2Ia3_5z2F4uT3FD7HnIBYE8V2oBc4goFUmM6NDM5Ce1K84hQPhbe5wfVuTeKNDElKi/?imgmax=800&quot; height=&quot;21&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image024&quot; width=&quot;25&quot;&gt;&lt;/a&gt; icon to demarcate it as an Optional Step. In Expert view the corresponding line will be “OptionalStep”. &lt;br /&gt;
An optional step is not necessarily required to successfully complete a run session. If object of optional step does not exist in AUT, then QTP ignores it and continue with the test.&lt;br /&gt;
By default, QTP considers steps that open the following dialog boxes or message boxes as optional steps: AutoComplete, File Download, Internet Explorer, Netscape, Enter Network Password, Error, Security Alert, Security Information, Security Warning, Username and Password Required.&lt;br /&gt;
&lt;h3&gt;
2 References&lt;/h3&gt;
Quick Test Professional Tool.&lt;br /&gt;
&lt;h3&gt;
3 Additional information&lt;/h3&gt;
You can email me on &lt;a href=&quot;mailto:Sachin.vasudha@gmail.com&quot;&gt;Sachin.vasudha@gmail.com&lt;/a&gt; with any query.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/3687806926586952649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/3687806926586952649?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/3687806926586952649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/3687806926586952649'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2011/01/hp-quick-test-professional-basic-series.html' title='HP Quick Test Professional Tutorial Chapter 3'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3_JHiRU57nR6jxCPZJCpdTMeu74SghYeRKnSKQmXvuUsWCOGjOO3NW7UUKJF2N9s6EpA88T3IZtBMDmqWDLfGxs8qwRJrG1Ueikg19uO-NRLB4rT9_XmAX5ChDqxAkwseXTriNlUu7Tml/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-6097353037532110535</id><published>2010-11-26T21:17:00.001-08:00</published><updated>2018-06-15T16:08:53.264-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Automation Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="HP QTP Best Practices"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Addins"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Environment Variables"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Parameter"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Resources"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Run Option"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Settings"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Settings Best Practices"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP XML"/><title type='text'>HP Quick Test Professional Tutorial Chapter 2</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
1 FILE Menu&lt;/h2&gt;
In the first series of this article you have seen the usage of various commands available in File Menu option. This paper is in continuation of my previous series and in this series we will mainly the &lt;b&gt;File-&amp;gt;Settings&lt;/b&gt; option. I have not included &lt;b&gt;Setting&lt;/b&gt; explanation in the first series because understanding Setting is very important for real time usage. You will visit this option very frequently and you must understand its usage in a better way.&lt;br /&gt;
&lt;h3&gt;
1.1 Setting&lt;/h3&gt;
To open the &lt;b&gt;Settings &lt;/b&gt;Dialog, Click File-&amp;gt;Settings (as shown below). &lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2Xy5lQaAhrW-D1ct4VUoDQ0jtXkumbBPR_r21zBawNbVAwo4Xj9DtWigcQ0wZlkzx62s0QxzhDBsxsjHfk4oDaynZgCu8sr_Bi7rGQGxA5I2WGDA0J9iVY65i_fA0XuogRAAC-ecb8n26/s1600-h/clip_image0023.jpg&quot;&gt;&lt;img alt=&quot;clip_image002&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMXvLU9OlkWqdVoL9kker2h-0E4SnNucqYlsEUJwUWcnozvptG_FEbP73wOeUeDfZyqkWPhaax7JhEvaTcal8ts-jdhB-nKBfOixY9HG3s8nrkOgDb93d-whlztpqS9TMUlcEmjOySz9RZ/?imgmax=800&quot; height=&quot;196&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image002&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
We will see each useful option available in the above dialog which helps you a lot while you are developing your test script. I am going to explain about each option such as Properties, Run, Resources, Parameters, Environment, Web, Recovery, Local System Monitor (new in 10.0).&lt;br /&gt;
&lt;h3&gt;
1.1.1 Properties&lt;/h3&gt;
In the &lt;b&gt;Properties&lt;/b&gt;, many of the static things are self explanatory. You can use Properties for:&lt;br /&gt;
· Adding or removing the associated add-ins for current test. If you are working on a web based application, &lt;u&gt;it’s always a good practice to de-associate other add-ins to save on memory performance and avoid conflict while opening the Test&lt;/u&gt;. Associating or de-associating will require QTP to be started and then you can see your changes.&lt;br /&gt;
· You can use Properties Window to Generate the Script of your settings and save as .VBS file. The advantage of having this script is that it can be distributed to all the team members so that settings for all the Test Script remain same. A sample script is shown below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia3SKChwEuYuSdnHkxnSIuJgCSIds9LDlDzqJNqc0WLlrWp0P4IFenr5xaMMUSo52Y-BpGioO5GlIgBfQbJAhtoTAMdCTdaH9dOPBW3FcSyaCl-9xW7_R7drPtylOzzD3_Y8aEiSwFTwbZ/s1600-h/clip_image0043.jpg&quot;&gt;&lt;img alt=&quot;clip_image004&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMURnDfM_ZqhHu2DXX-m5dqZSKR_hDOOPCMrjOruUWK0w7wLrTnbUCQx2vNnJhhP2xn7fxl-j-daG2lvYAImqs07VHsptFz6UgpKbA5t-tzv900ieJfqoSCJFFk6qeXumG8yzLeoiiX23X/?imgmax=800&quot; height=&quot;163&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image004&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
When above script will run on the Team Members QTP installed machine, this will ensure same configuration of QTP for developing or running the script. This is a real life example of Generate Script usage which I have shown above. There may be other settings as well depending on organization or project needs.&lt;br /&gt;
&lt;h3&gt;
1.1.2 Run&lt;/h3&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWgG9Mi_mBlaQ_9M799DP-e4SsUzhhWuMW3VMMG05ggALBOD7F8MLfZB49VzMfPEJmRysJ1wo8F9M591lVp_35Va4NYi-6l5tfbXk1CsFRAnWnWwXh5MuKfIiAEG49ZiNdMQ8OA2v3_Ihu/s1600-h/clip_image0063.jpg&quot;&gt;&lt;img alt=&quot;clip_image006&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_cSFxqGnQi0ptsNdiGoGOjkWPAUJXTPILf-7m1tZXp25dito7s75TF64Tywc0PHP1-YNbGIC2vg2vuBkF0K_AfVljezawwAbYeBrvozwfLt_6NkOfTk00sDq7ce5Ma77IpTdfezKnU_l_/?imgmax=800&quot; height=&quot;196&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image006&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Run option can be used for:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Control your iteration if you are driving your test through excel – Use Data Table Iterations section to control your test execution:      &lt;ol&gt;
&lt;li&gt;Run one iteration only will run the script only one time. This normally picks the data from Global Sheet. &lt;/li&gt;
&lt;li&gt;Run on all rows- Your test run as many times as there are number of rows in the Global Sheet. In real time I hardly use this as this will be an overhead and make your maintenance really costly. &lt;/li&gt;
&lt;li&gt;Run from row - here you can customize your test run by providing the &lt;b&gt;From&lt;/b&gt; &lt;b&gt;Row&lt;/b&gt; number and &lt;b&gt;To Row&lt;/b&gt; number. If you want to run from say row 2 to row 20, then provide your value as 2 and 20. I hardly use this option. &lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Set the action that will be taken when script is running and encounter any error. The QTP will respond to that error in the defined way. So, if you want to suppress all the error, then you can choose “&lt;u&gt;proceed to next step&lt;/u&gt;”. This way your script will not stop executing. But there are other impacts as well if you set this as an option. So, depending on your requirement you choose this option with care. This is a global setting option. As a &lt;u&gt;best practice&lt;/u&gt; “&lt;u&gt;pop up message box&lt;/u&gt;” is the best action for any script error or object error. &lt;/li&gt;
&lt;li&gt;Object Synchronization Timeout – This is very self explanatory. What time QTP waits for any object before it display you any error. You can define the timeout based on your requirement. Again this is a &lt;u&gt;global setting&lt;/u&gt;. &lt;/li&gt;
&lt;li&gt;&lt;u&gt;Disable Smart Identification during the run session&lt;/u&gt; – I am not diving in much depth (may be in next set of series I will deep dive) what Smart Identification means but as a best practice tick “Disable Smart Identification during the run session”. This will make your script robust when it runs. &lt;/li&gt;
&lt;li&gt;&lt;u&gt;Save image of desktop when error occurs (if test is run by the HP Business Process Monitor) &lt;/u&gt;– New Option available in QTP 10.0 – I have not used this option. You can check the QTP help to know more about this option. But as per my experience we hardly make use of this since usage of this again is an overhead on the resources that will be saved with the test. &lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
1.1.3 Resources&lt;/h3&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfgn8mloTtUa4Mt3qPdy6jsrzuKUc-68cp3rogGEYiG_90ZQr451PPi-m_kgukcbeTWEuNYAR_2hpS5Ump9d556PSnDyQgBkcQCSXOdBNpMS82yN9dXY0phH8b7MnZR55TDujXCm18rR-t/s1600-h/clip_image0083.jpg&quot;&gt;&lt;img alt=&quot;clip_image008&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRkjWgP4kMe7tnQg_hvqOVzg4MQe5V-eD1zCenxSO8n1LhQsrj8vWeh7cOWIvRogL7N7HEVeFKF4HqsNQKY4hXa5gk3kl87O6z6lUqNaA6uc4p30DA6AOhoD-bc7L2PK14w0dUiqmXq683/?imgmax=800&quot; height=&quot;196&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image008&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
This is one of the important options in Settings Window. This will be very frequently used as you need to associate the relevant library and architecture file using this window. Once associated you can make full use of those library files while developing your script. This is something like include statement which you normally write in your C++ programming.&lt;br /&gt;
I have never used the Datatable option available in this window since my architecture load the required data file on the fly and so I never use this option. But if you want to set the other location for your Data file, then you can select Other Location option to do that. This Excel will be used during your Script development and execution.&lt;br /&gt;
&lt;u&gt;How you will associate the Library file in your Test&lt;/u&gt; – Click the &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJUYaWusEu0_JLGK7bwtXzs68PyU2pZ2qSWMYt3zGecQJxmKJZ1gvpbCTJYlESlJZYw2n3VbhUhPB8PbzhD236VK50PFW2L2V9QcbZkIDLFnbDp8ebmToYDkDbSJb4VdzlUfVP47Wqo9UB/s1600-h/clip_image0104.jpg&quot;&gt;&lt;img alt=&quot;clip_image010&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrY-oN8OzokINprL_oK3-ZsHqzFsyvlb1yiP7jFUe_jCLkN8wYYAE3pc7oets0o0VYQfpptlqUTa32aj97QqV2ZaZYY4D7_spS-ga3w0vCVvXSDZNlctjWEwEp5F7OUzOYUYvXxVQBv7a9/?imgmax=800&quot; height=&quot;29&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image010&quot; width=&quot;31&quot;&gt;&lt;/a&gt; sign and you will see a line item in the grid, navigate to the location and select the library files that you want to associate with your test.&lt;br /&gt;
In real time, you should always associate pre-defined library files with your test. This option will be very frequently used by scripter in real time.&lt;br /&gt;
&lt;h3&gt;
1.1.4 Parameters&lt;/h3&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6CvOKFysveNP6db858c10Hjvzh9Iu4Gd-xxnLhH-EaiKrPIdsfh-db9jd-MbS29ogaKuHAMclZAHxbdZMppRRjwiujTsl8HxO5pMXsKYJFBwk9113WDgRizRKOiUWJDIVklRE5fiTR7j7/s1600-h/clip_image0123.jpg&quot;&gt;&lt;img alt=&quot;clip_image012&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFoD4wgU9As6rHYMr0qoPspUQmCKQv5yA_xuX3E_o2WULsRcJ5P53Ca8KQe9sA-B3A72KfiBEejjUrPBLXXgN6zuY-7w89sOy-Bis_K87mVn6uKPVjjpezaun4qXnuK9mGcJpyHJ3oOIy3/?imgmax=800&quot; height=&quot;196&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image012&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
The parameter tab will also get used when you want to call your test with parameters. This is same as function arguments. The usage of the Input and Output parameter depend totally on your application requirement and framework development around your application. I can give you an example where I have used the Input Parameter in one of my complex project. I want to develop a mechanism wherein the Execution Team should have the flexibility to control the execution of test iteration. For e.g. If s/he want to run the test say from Row 20 to Row 30, then they can easily do it. They just have to provide the row number in QC from where they are running the Test.&lt;br /&gt;
These parameter are for Test and Not for Action. Remember there is substantial difference between the Test Parameter and Action Parameter usage. Output Parameter is again on global level wherin you can store the output in Quality Center. The usage entirely depends on the complexity and requirement of my solution.&lt;br /&gt;
To define these parameter, cick the &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdFjHGeaOKqJqT_qbcruVkcFa8RDgxZMj65JFtHBH2ISMDKyzR_6bQniXhlFPCYiekaPIVKHDwUpODygfZ7nUbybNsqfib3vHLMwbZffdoRN28bvbrTwKLdcmaPKnhbh8CfJJgcPREAcsy/s1600-h/clip_image01012.jpg&quot;&gt;&lt;img alt=&quot;clip_image010[1]&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp57P_Byz7F-glEEBjh-GpAyTEpArBM-vQx8KPRGKrZYu7tYHZgO7SeJtyuMlH8g8X7Twku6IWlz04z2HJfDCGiKZ9W-svXHA3mwSkOwg8JPoaJckUc-LJhZ4fp43GqKTpbUXsAn8Mkpey/?imgmax=800&quot; height=&quot;29&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image010[1]&quot; width=&quot;31&quot;&gt;&lt;/a&gt; sign and enter the parameter name, datatype, default value if any and description. After you define these parameter, you can see the parameter in QC Test Run Tab wherein you can provide value to Input Parameter and check the value of the output parameter. &lt;br /&gt;
The real time usage of these parameter is very complex and if you do not have good command, I suggest then do not experiment on real project in QC and instead practice first on demo qc.&lt;br /&gt;
&lt;h3&gt;
1.1.5 Environment&lt;/h3&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhHnR8lzVoQkPN25o2zaYq_8iPMITBYgln7mmUQOmZY1OSqLTjgeL8NJ32Cwg0iqH6-XnaBB5hF8Eipj11AuIVsxrXKZY6bC1ZC1RbmGnLEXwA6o1XtfVV3YMBq6_BYa2kp3YlNyqXhIdK/s1600-h/clip_image0143.jpg&quot;&gt;&lt;img alt=&quot;clip_image014&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbjKGV4W6O7CW_38v4uMp1mzX_pXkeOQeQuvZcZt0xcsgKW_Cph2F2wpDVY2pqrmWQlIsfCfTDE5XpY84ymDzv60JBqiy2sgFq9wYy0oNvA0rMJG-uyxsMTAGo_cyZ3xrsOoo8Q_BTnaj5/?imgmax=800&quot; height=&quot;196&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image014&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
There are 2 types of Environment variable:&lt;br /&gt;
· Built In – see the available environment variable. These built in variable are very handy while doing scripting, so please go through each of these built in variables. You can use these variable by writing &lt;b&gt;&lt;i&gt;Environment. Value (&quot;ActionName&quot;)&lt;/i&gt;&lt;/b&gt;. You can change the Value parameter to either user defined variable or built in variable. The statement will return you the value available in the variable. This is very handy while designing the architecture around automation.&lt;br /&gt;
· User Defined – Any variable that is defined by user. As a best practice, define only global type variable for environment. You can export the variable as an XML file and then re-load with your test for usage. If you are not familiar with XML, then you can use this Tab to create all the user defined variable at one go. After creating all the variable, export to XML and then start making use of it across your Team.&lt;br /&gt;
I am not going to cover how to create user defined variable in this paper and will cover in next set of series for intermediate or advance.&lt;br /&gt;
&lt;h3&gt;
1.1.6 Web&lt;/h3&gt;
I have not used this option in my real time. But for your information, you can make use of Web Tab for doing settings regarding timeout and storing user name and password for the web pages which require authentication on each run.&lt;br /&gt;
&lt;h3&gt;
1.1.7 Recovery&lt;/h3&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUcKOIct8csmEpUEtbZhtSCXVECw_54PgHelHjWkUchPq1mofcYaUxRkNrQuYRVCjCjWqepp5ZMNmec5nhyphenhyphenSUTojkXkKZiMONHK2SW2kve5uAHA-K623xU-EbkuorlXB9psL5D045M1_gF/s1600-h/clip_image0163.jpg&quot;&gt;&lt;img alt=&quot;clip_image016&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpEGNWge079q_XqKpbk3ffJj3o-c2Y_kloZydu9s_XtWNQjAU07ky8-xVisHOSutnUTWuk76teZ4GyHitFKv7uoydrUkOKqa8ceo6u0v7Eqw5pG8UNzkydpJHizlyfvztrSreEDuHrTo2s/?imgmax=800&quot; height=&quot;196&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image016&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
From this window, you can associate the relevant recovery file which will be called in case of any error. Select your recovery file and associate and you are done. If you have generic recovery file and you want to make use of that generic file for all your test, then do the association like this.&lt;br /&gt;
&lt;h3&gt;
1.1.8 Local System Monitor (New in 10.0)&lt;/h3&gt;
I have not used this option much, but if you want to monitor the application or program which your test will run or is running, you can do so by this Tab. The Tab gives you an option to monitor the performance of the local system. You can monitor Memory Usage, GDI Objects, Handle Count, Thread Count, %Processor Time, %User Time etc.&lt;br /&gt;
This completes the File Menu usage series. In next series, we will see the usage of Edit Menu. Keep checking my blog.&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
2 References&lt;/h2&gt;
Quick Test Professional Tool&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
3 Additional information&lt;/h2&gt;
You can email me on &lt;a href=&quot;mailto:Sachin.vasudha@gmail.com&quot;&gt;Sachin.vasudha@gmail.com&lt;/a&gt; with any query.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/6097353037532110535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/6097353037532110535?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/6097353037532110535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/6097353037532110535'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2010/11/hp-quick-test-professional-basic-series_26.html' title='HP Quick Test Professional Tutorial Chapter 2'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMXvLU9OlkWqdVoL9kker2h-0E4SnNucqYlsEUJwUWcnozvptG_FEbP73wOeUeDfZyqkWPhaax7JhEvaTcal8ts-jdhB-nKBfOixY9HG3s8nrkOgDb93d-whlztpqS9TMUlcEmjOySz9RZ/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-6193732530691734192</id><published>2010-11-12T19:15:00.001-08:00</published><updated>2018-06-15T16:09:58.690-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Business Component"/><category scheme="http://www.blogger.com/atom/ns#" term="Export QTP Test"/><category scheme="http://www.blogger.com/atom/ns#" term="HP QTP"/><category scheme="http://www.blogger.com/atom/ns#" term="HP QTP Best Practices"/><category scheme="http://www.blogger.com/atom/ns#" term="QC Connection"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Function Library"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP New Test"/><title type='text'>HP Quick Test Professional Tutorial Chapter 1</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In this article I will explain how you can make use of &lt;strong&gt;File Menu&lt;/strong&gt; option available in HP QTP. This is a very basic usage and I thought to start the Basic Series so that newbie&#39;s can learn QTP by following the complete series on this Blog. I will publish the Series subsequently. Next Series I will explain only about the File-&amp;gt;Settings option which is very useful in real time usage.&lt;br /&gt;
&lt;h6&gt;
&lt;a href=&quot;https://www.blogger.com/null&quot; name=&quot;_Toc277397342&quot;&gt;&lt;/a&gt;&lt;/h6&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
1 FILE Menu&lt;/h2&gt;
&lt;h3&gt;
1.1 New Menu&lt;/h3&gt;
If you want to either create a new test, business component, or function library you have access the File-&amp;gt;New-&amp;gt;&amp;lt;&amp;lt;Sub Option&amp;gt;&amp;gt;&amp;gt;. Figure is shown below: &lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAg1yFg1E5yf7l6AGOOqbR2NtT0PFd9RWM1HOPVJVEly5CBVV5j31kRR3n3wAO-NHNvcKUdtwVtG0bKpIGwvSEcj_Rdd_pTUywetx-TZ_Ituj1Yc0xJUr6vpfbDIlXDSQtMNtSdkriwMso/s1600-h/clip_image001%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image001&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3T_yMrwMYO752eloJH6-yEiSCdReeEmhCRN9oFTAiJ9JoD5Qr-0qbny0nIRnxTFdmoS60FPSfKeKIHZXx_zOiTTrW-5av8bsv2TOzU9xrXSPOX2XO9eW-8-0D9vvXGbPiQP-ztSNjPToi/?imgmax=800&quot; height=&quot;141&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image001&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h5&gt;
&lt;/h5&gt;
&lt;h3&gt;
1.1.1 New Test&lt;/h3&gt;
New Test option is used to create a New Test Script. You can create a New Test by pressing &lt;b&gt;Ctr+N, &lt;/b&gt;or click &lt;u&gt;File-&amp;gt;New-&amp;gt;New Test&lt;/u&gt;. Once you do above operation, you will see a blank Test Script Page where you can record or write your VB Script code.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiquxxxycQPqbKZM9V-z0W-OHZAgu3iDgFD8Tfa-sOXZMIjI7mrTxgCgDnWl-CHHVJcbgX6s8QFQUwqoVCAzpeKdnOvcMFeTV1HEePEv8CFExejFZuvATS0k4SNoviayjkZqlqMD08GTmUF/s1600-h/clip_image003%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image003&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu65U1pgFz9-zf0rhtcaMcThlECIjEO2KUK91hjKAUU6sMRNzJvEu-AMcLbMpoWo26j4ixGJxhDv4kBglwUb_bKluTiDB8DTtU7kN-S_ViMFmhcpC7LRY-wznLQE6ej5-kAZQjz4uMMDbe/?imgmax=800&quot; height=&quot;106&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image003&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.1.2 Business Component&lt;/h3&gt;
Business component is mainly used when you are planning to use Business Component Testing model and you have a Quality Center connection with valid BPT License. This is a separate topic for discussion. Keep checking my blog for updates on BPT as well.&lt;br /&gt;
You can create a business component by pressing &lt;b&gt;Ctr+Shift+N&lt;/b&gt;, or click &lt;u&gt;File-&amp;gt;New-&amp;gt;Business Component&lt;/u&gt;.&lt;br /&gt;
&lt;h3&gt;
1.1.3 Function Library&lt;/h3&gt;
Functional Library as it name suggest is the placeholder wherein you can define all your reusable functions which will be used in your Automation Framework. It will consist of all the Function or Sub for your Application, Loading of required OR, loading of required folder path and architecture.&lt;br /&gt;
To create a Function Library, press &lt;b&gt;Shift+Alt+N, &lt;/b&gt;or click &lt;u&gt;File-&amp;gt;New-&amp;gt;Function Library&lt;/u&gt;.&lt;br /&gt;
&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;h3&gt;
1.2 Open Menu&lt;/h3&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
To perform your daily operation on the Test Script, Functional Library, Business Component you need to access the option available under this Menu.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNSwb7-etoats9V5AywgAj30Qybk8qJ0PHS9ZtS4TpxdqRL0Ry-7nbmRfoeQG-66FY1sxpB_nS43YQajY9Tw8nHlCv65Ff_w4ktZfl2UeFYgAgFWd3svmZqLSIXXmleF332NStorc9Rdib/s1600-h/clip_image004%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image004&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8JX-eI1cK8oP2eCsstOd7ygTshHmH8ICmlczUtDgjX_UL5eRWxnlnr3NJqTAMN9v0yKIYcavPprQzCN96jmP3Lc6_JWfYccRA02QTxYPDZrK_sZikQ5yR-M9-A6w6VV9qSblWjseK5CID/?imgmax=800&quot; height=&quot;90&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image004&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Note: We will not cover Application Area.&lt;br /&gt;
&lt;h3&gt;
1.2.1 Test&lt;/h3&gt;
To make any modification in your script at later point of time, you need to open the test script. You can open your QTP Test by pressing &lt;b&gt;Ctr+O,&lt;/b&gt; or click &lt;u&gt;File-&amp;gt;Open-&amp;gt;Test.&lt;/u&gt;&lt;br /&gt;
Navigate to the location where you have saved your QTP Test and select the Test to open in Edit Mode. In case you want to Open the Test in Read Only Mode, you need to select the &lt;u&gt;“Open in read-only mode”&lt;/u&gt; checkbox on Open Dialog box.&lt;br /&gt;
Note: If you are connected to Quality Center, you need to navigate to respective QC Test Plan Folder to Open your Test. If any other user has already opened that Test, then you cannot open the Test in Edit Mode and Test will be loaded as Ready Only mode.&lt;br /&gt;
&lt;h3&gt;
1.2.2 Business Component&lt;/h3&gt;
This option is available when you are connected to Quality Center having a valid BPT License. You can open and edit your Business Component Asset by pressing &lt;b&gt;Ctr+Shift+O&lt;/b&gt;, or click File-&amp;gt;Open-&amp;gt;Business/Scripted Component.&lt;br /&gt;
&lt;h3&gt;
1.2.3 Function Library&lt;/h3&gt;
To make any modification in your Function Library at later point of time, you need to open the Function Library. You can open your Function Library by pressing &lt;b&gt;Shift+Alt+O,&lt;/b&gt; or click &lt;u&gt;File-&amp;gt;Open-&amp;gt;Function Library.&lt;/u&gt;&lt;br /&gt;
Navigate to the location where you have saved your Function Library and select the library file to open in Edit Mode. In case you want to Open the Library in Read Only Mode, you need to select the &lt;u&gt;“Open in read-only mode”&lt;/u&gt; checkbox on Open Dialog box.&lt;br /&gt;
Note: If you are connected to Quality Center and you have saved your Library in QC, you need to navigate to respective QC Test Plan Folder to open your Library File. If any other user has already opened that Library file, then you cannot open the Library File in Edit Mode and it will be loaded as Ready Only mode.&lt;br /&gt;
&lt;h3&gt;
1.3 Close all Function Libraries&lt;/h3&gt;
In case you have opened multiple Function Library, then you can close all the Function Libraries file by clicking File-&amp;gt;Close All Function Libraries.&lt;br /&gt;
&lt;h3&gt;
&lt;a href=&quot;https://www.blogger.com/null&quot; name=&quot;_Toc277397352&quot;&gt;1.4 &lt;/a&gt;&lt;span style=&quot;color: black;&quot;&gt;Quality Center Connection&lt;/span&gt;&lt;/h3&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
In real time scenario, we save all our test cases in QC (in case Organization has valid QC Licenses). To Save or Open any Test from Quality Center, you first need to connect to Quality Center. Click &lt;u&gt;File-&amp;gt;Quality Center Connection.&lt;/u&gt; Enter the QC Server URL and post that enter your login credentials to get connected to QC. Sometime you might need to select the Domain &amp;amp; Project Domain as well.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGcCtGj97Me0_qyZ7JqjV7pcWIaYlaGOLuoDDilxNDGs4efynLimdgV3-XUiCHjmRbmcyA7FDNQdbTqvLXR7D1EUZEl4kRRwOwj8HBsH9vzQd8w30xUzN_yqLu7HWBW_sShUpwzvLvm8yq/s1600-h/clip_image005%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image005&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrDI4u6GmkqHvtUa3swMpFTjm_rrjSfNUcTd0AUHmopJpzpZV6vTif_oI1grwW1DHJiP2OyJbaXrwDw-W52z56GU0wjv1l5Nw-xPiqT97LMcfzVXBRB9Cm3gniweKvpe32k5t_lID0rXS8/?imgmax=800&quot; height=&quot;115&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image005&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
One can choose &lt;b&gt;Reconnect to server on startup &lt;/b&gt;to automatically get connected with QC, whenever QTP is opened.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZD55Fz-Bkdbq8DK46BIE8SnMdx7Cz6FSt4mDv-lHvcY16e3YReq2A6ruJIj-ZmeaMXYK1VmFfH8dfZgyXACBs4jFhTHqYpGgo5pMvwq-kiUEbX6e76afIqYjfgjhyvW6jXBM2ljgJJ1Cr/s1600-h/clip_image006%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image006&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghc5zYwi9rpBEKLdKRW9_ssA6W1Zq6gW8zC7_P_j0oHAvmpESsSJNS8wJwSOHHcPHpCOImUV9GiwISzh3R2ppAKO1xOSY1_cvyiNtI1k4Co6Si8DC6FkCltta5tgiImqcWDqSNu4sbm1MS/?imgmax=800&quot; height=&quot;244&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image006&quot; width=&quot;210&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Choose &lt;b&gt;Authenticate on startup &lt;/b&gt;in case you do not want to enter your login credentials every time.&lt;br /&gt;
You can choose &lt;b&gt;Login to project on startup&lt;/b&gt; option when you always want to login to same domain and project to carry out with your work.&lt;br /&gt;
These Domain and Project are normally defined in QC Administration and User Group.&lt;br /&gt;
&lt;h3&gt;
1.5 Save &amp;amp; Save As&lt;/h3&gt;
To Save the current test you can either press &lt;b&gt;Ctr+S, &lt;/b&gt;or you can click File-&amp;gt;Save. This work in a same fashion as any word processor tool, Save feature works. &lt;br /&gt;
If you are working with Test, then pressing &lt;b&gt;Ctr+S&lt;/b&gt;, will save the Test with latest changes made.&lt;br /&gt;
It’s not a good practice to save the Test with Active Screen files. In case you want to Save the same Test with different name, then use &lt;b&gt;Save As &lt;/b&gt;option.&lt;br /&gt;
The above is true in case of Function Library as well, the only difference is that you can save the Function Library as VBS, TXT and QFL.&lt;br /&gt;
See the below structure to understand how a Test is saved on the drive. &lt;br /&gt;
Do not make any changes in the file available beneath your Test Folder.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcp5JW7g5xx_sBXP0b8ha6d5klrnkAGWZftgJitbRPoVLBIXUyBQ922L0lBc0VVLuiLKK7TIb66HOSXVIaztgLfOGlzGV9IUPVsgYDKwqC2TRDcqe4aB6x5oz4AWZHerxhGk2TYWMrnV4R/s1600-h/clip_image007%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image007&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgvgJwomi_rHHct9u4qUAVXL7rqu-YANODpPbd01DVaWZSZQn0TMXpZE9N_XIJ28MmJ7Z_ir9N9ouFXuM8Q3K8f0SlyFuyVyX51nm4YYKGZnxm3j5o5qBSN_0c82AqIUJw-MzePuyZQb6x/?imgmax=800&quot; height=&quot;177&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image007&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.6 Export Test to Zip File&lt;/h3&gt;
You can Export your Test to Zip file to save disk space and for making usage across the network. Your Test should be open, before you start your export to Zip file. You have to individually export each Test File.&lt;br /&gt;
In real time scenario we rarely use this feature as all the Test Script are maintained in QC but where the Test Script get maintained in Shared Drive, there you may use this option to save the Shared Drive Disk Space and it also act as a backup of your Test Script.&lt;br /&gt;
To initiate, click &lt;u&gt;File-&amp;gt;&lt;/u&gt; &lt;u&gt;Export Test to Zip File. &lt;/u&gt;Please ensure that Test is open while using this feature.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh97TdHRH6BoV1dQRW85wrpgrWpxY0LMIvAQrdJjZmYXjImd3eT6VOurQZfJkbp-n5UGdLT0n_UcvsovL13-Ht_-tv-Q2fJaGPJ4Sf3ha3ImRDDGsrzEOCgKws3mx8o2Jj1qWdZ1rGtB0XP/s1600-h/clip_image008%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image008&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiA70mUN8fiqn_xyZWIvs0OS-N57vYCP-AbXMSNwYrnsjIGeXapp66fP8ScPIao8mk2NNGcZye7gONc45a1WtfUFU-j8tc3oA71g36QgSZmQdltBgj92bVB4k8jzy4fzzreb-aKak5Vlx0/?imgmax=800&quot; height=&quot;112&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image008&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
1.7 Import Test from Zip File&lt;/h3&gt;
To import the file, click File-&amp;gt;Import Test from Zip File.&lt;br /&gt;
Select the Zip File location and destination where you want to unzip the file.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCygnJMRC5Z823LO8OfJZTl5WCC754YICNtxoOfna_i66gLPXaPWn6QiksVSrm7sN6LW7jc_r4OcFze9129LUuC-6bb7pqbcN0jN0mHXGPetYQmiM2zrhOMQs14cZC1VPgSG269vpU-kZS/s1600-h/clip_image009%5B3%5D.jpg&quot;&gt;&lt;img alt=&quot;clip_image009&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGbQeo7sTIW_UqV83kaHR94s7m-zPucrihLhCEBImKHzmUNfX1a0zxD26zJGzrL6GDGWnEjJbB-GTyiYyiFdWLvuj2Uykjvv6M789J-O8zuUYQLDijmWg6U5b17a8LAgfxDo-VyUStFC_j/?imgmax=800&quot; height=&quot;112&quot; style=&quot;border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;&quot; title=&quot;clip_image009&quot; width=&quot;244&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
2 References&lt;/h2&gt;
Quick Test Professional Tool&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
3 Download&lt;/h2&gt;
Click here to &lt;a href=&quot;https://sites.google.com/site/sachinvasudha/HPQTPBasicSeriesI.pdf?attredirects=0&amp;amp;d=1&quot;&gt;download&lt;/a&gt; a PDF copy of this article.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/6193732530691734192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/6193732530691734192?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/6193732530691734192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/6193732530691734192'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2010/11/hp-quick-test-professional-basic-series.html' title='HP Quick Test Professional Tutorial Chapter 1'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3T_yMrwMYO752eloJH6-yEiSCdReeEmhCRN9oFTAiJ9JoD5Qr-0qbny0nIRnxTFdmoS60FPSfKeKIHZXx_zOiTTrW-5av8bsv2TOzU9xrXSPOX2XO9eW-8-0D9vvXGbPiQP-ztSNjPToi/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-8670735425090984887</id><published>2010-05-09T05:13:00.000-07:00</published><updated>2018-06-15T16:10:11.208-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Environment Variable"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP XML"/><category scheme="http://www.blogger.com/atom/ns#" term="XML File"/><title type='text'>QTP-Stroring Environment Variable In XML File</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;strong&gt;Objective:Login Action Parameterization&lt;/strong&gt;By the Use of External Environment Variables the issue of Login Actions parameterization could be solved.Using this approach we can concurrently run scripts on different environments.&lt;br /&gt;
How it Works:&lt;br /&gt;
1. &lt;strong&gt;Create&lt;/strong&gt; &lt;em&gt;AutomaticConfiguration.xml&lt;/em&gt; &lt;steps&gt;file with two variables namely &lt;em&gt;AdminLogin,UserLogin&lt;/em&gt; in Local QTP Installation folder.&lt;br /&gt;2. The Admin and User Login Actions Loads the &lt;em&gt;AutomaticConfiguration.xml&lt;/em&gt; file from the above mentioned path.&lt;br /&gt;3. The Login Actions use the Environment variables to Launch the Application.&lt;br /&gt;&lt;strong&gt;Steps To Create an XML File:&lt;/strong&gt;1. Open Notepad.&lt;br /&gt;2. Type &lt;em&gt;ENVIRONMENT &lt;/em&gt;on the first line (in opening and closing angular brackets)&lt;br /&gt;3. Type each variable name-value pair within &lt;em&gt;variable&lt;/em&gt; elements in the following format:&lt;br /&gt;For example, your environment variables file may look like this:&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh88AXCAXIH1TM8AiDkTjWtrmNf495lw6kmGR_2pRtn40RqpP-QA2K64-IDONuKOdU0VEx-7EeZCxJd0lQQEzEQPnz7oimMUpDx6TgAXyMOrnfTcbpMBjdD9HJAWY7ooyZRGOCOnqUIZsTJ/s1600/environment.JPG&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5469475702438624082&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh88AXCAXIH1TM8AiDkTjWtrmNf495lw6kmGR_2pRtn40RqpP-QA2K64-IDONuKOdU0VEx-7EeZCxJd0lQQEzEQPnz7oimMUpDx6TgAXyMOrnfTcbpMBjdD9HJAWY7ooyZRGOCOnqUIZsTJ/s400/environment.JPG&quot; style=&quot;cursor: hand; height: 118px; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;4. Save the file as AutomaticConfiguration.xml in &lt;em&gt;quicktest install folder&lt;/em&gt;(\program Files\MercuryInteractive\QuickTestProfessional) in your Local Machine.&lt;br /&gt;You are done buddy. If you have any question or comments, please feel free to write at raghavendra.hosur@gmail.com or sachin.vasudha@gmail.com&lt;/steps&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/8670735425090984887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/8670735425090984887?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/8670735425090984887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/8670735425090984887'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2010/05/creating-new-xml-file-to-store.html' title='QTP-Stroring Environment Variable In XML File'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh88AXCAXIH1TM8AiDkTjWtrmNf495lw6kmGR_2pRtn40RqpP-QA2K64-IDONuKOdU0VEx-7EeZCxJd0lQQEzEQPnz7oimMUpDx6TgAXyMOrnfTcbpMBjdD9HJAWY7ooyZRGOCOnqUIZsTJ/s72-c/environment.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-838801455407032089</id><published>2010-05-09T04:46:00.001-07:00</published><updated>2018-06-15T16:10:32.119-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ChildObject"/><category scheme="http://www.blogger.com/atom/ns#" term="Link"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Function"/><category scheme="http://www.blogger.com/atom/ns#" term="Reusable Function"/><category scheme="http://www.blogger.com/atom/ns#" term="VBScript"/><title type='text'>QTP Functions</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;strong&gt;QTP Functions&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**********************************************************************************&lt;/strong&gt;&lt;br /&gt;
Function TimeStamp()&lt;br /&gt;
iArr1=Replace(Now,&quot;/&quot;,&quot;&quot;)&lt;br /&gt;
iArr2=Replace(iArr1,&quot;:&quot;,&quot;&quot;)&lt;br /&gt;
iArr3=Replace( iArr2,&quot;AM&quot;,&quot;&quot;)&lt;br /&gt;
iArr3=Replace( iArr2,&quot;PM&quot;,&quot;&quot;)&lt;br /&gt;
iArr4=Replace(iArr3,&quot; &quot;,&quot;&quot;)&lt;br /&gt;
iArr5=Cdbl(iArr4)&lt;br /&gt;
iTimeStamp=iArr5-1000000000&lt;br /&gt;
TimeStamp=iTimeStamp&lt;br /&gt;
End Function&lt;br /&gt;
**********************************************************************************&lt;br /&gt;
Function TimeStamp(theDate)&lt;br /&gt;
TimeStamp=DateDiff(&quot;s&quot;,&quot;01/01/1970 00:00:00&quot;,theDate)&lt;br /&gt;
End function&lt;br /&gt;
**********************************************************************************&lt;br /&gt;
How to use the below function in your Test Script&lt;br /&gt;
**********************************************************************************&lt;br /&gt;
Set oObj=Browser(&quot;oBrowser&quot;).Page(&quot;oPage&quot;).Frame(&quot;oFrame&quot;).WebTable(&quot;oWebTable&quot;)&lt;br /&gt;
Call app_CLA__ClickLink_ChildObject(oObj,1)&lt;br /&gt;
**********************************************************************************&lt;br /&gt;
Function ClickLink_ChildObject(oObj,iLinkIndex)&lt;br /&gt;
Set oDesc1=Description.Create()&lt;br /&gt;
oDesc1(&quot;innertext&quot;).value=oFrame&lt;br /&gt;
Set oDesc2=Description.Create()&lt;br /&gt;
oDesc2(&quot;micclass&quot;).value=oWebTable&lt;br /&gt;
Set oDesc3=Description.Create()&lt;br /&gt;
oDesc3(&quot;micclass&quot;).value=&quot;Link&quot;&lt;br /&gt;
oDesc3(&quot;index&quot;).value=iLinkIndex&lt;br /&gt;
Set iLink=oObj.ChildObjects(oDesc1)&lt;br /&gt;
iLink(iLinkIndex).click&lt;br /&gt;
End Function&lt;br /&gt;
**********************************************************************************&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/838801455407032089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/838801455407032089?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/838801455407032089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/838801455407032089'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2010/05/timestamp-function.html' title='QTP Functions'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-4065673800779474689</id><published>2010-03-30T20:07:00.000-07:00</published><updated>2018-06-15T16:11:36.836-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Delphi"/><category scheme="http://www.blogger.com/atom/ns#" term="Estimation"/><category scheme="http://www.blogger.com/atom/ns#" term="Estimation Risk"/><category scheme="http://www.blogger.com/atom/ns#" term="Feature Point"/><category scheme="http://www.blogger.com/atom/ns#" term="FP"/><category scheme="http://www.blogger.com/atom/ns#" term="Function Point"/><category scheme="http://www.blogger.com/atom/ns#" term="Line of Code"/><category scheme="http://www.blogger.com/atom/ns#" term="PERT"/><category scheme="http://www.blogger.com/atom/ns#" term="Wide Band Delphi"/><title type='text'>ABC Of Estimation</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1 WHAT IS ESTIMATION&lt;/strong&gt;&lt;/h2&gt;
What we mean by term Estimation? How do we measure software? Well, we measure software in terms of its SIZE which can be LOC, FP etc.&lt;br /&gt;
Sizing is the prediction of product deliverables needed to fulfill the project requirements.&lt;br /&gt;
Estimation is nothing but the prediction of effort (resource) needed to produce the deliverables.&lt;br /&gt;
Estimation is not 100% accurate at the early stages of the SDLC and as we move ahead our estimation become more accurate. We will see this more into coming sections.&lt;br /&gt;
Below is a BIG picture of Software Estimation:&lt;br /&gt;
&lt;span style=&quot;color: #cc0000;&quot;&gt;Scope Defined -&amp;gt; WBS Created (All dependencies and task identified and created) -&amp;gt;Estimate the Software Size-&amp;gt;Estimate the Effort (Cost) and Duration-&amp;gt; Assign Resources-&amp;gt;Schedule the Work.&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.1 ESTIMATION MODELS&lt;/strong&gt;&lt;/h3&gt;
&lt;br /&gt;
In below section we will see some widely used Estimation Techniques. In this article we will not go into much detail of each Estimation technique but will give you a high level detail of each technique. My next set of article will follow more detail on each technique, so keep checking on my site.&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.1.1 LOC – Line of Code&lt;/strong&gt;&lt;/h4&gt;
Line of Code – LOC is a measure of the SIZE of the Software. Once we calculate the Software Size in LOC unit, we can determine the Effort, Cost and Schedule. We can estimate the LOC using:&lt;br /&gt;
• Expert Opinions and Bottom Up Summations&lt;br /&gt;
• By Analogy&lt;br /&gt;
We will see the detail of above in next article.&lt;br /&gt;
In brief consider an example where in we want to estimate the size of software which will be developed in Java technology. The organization has developed similar software in the past. Now based on their past data, they can easily determined the size of the software in terms of LOC. They might use PERT model to get the Pessimistic, Optimistic, and Most Probable estimate (LOC) by experts and then produce the Final Estimate.&lt;br /&gt;
Let consider Pessimistic Estimate as 400 LOC, Optimistic as 200 LOC and Most Probable as 250 LOC, then using PERT we can derive final estimate as&lt;br /&gt;
PERT = (P+ 4M + O)/6 = (400+4*250+200)/6 = 266 LOC&lt;br /&gt;
If you have your productivity figure for Java in terms of LOC like 1 Staff can write 1000 LOC in a month, then you can estimate the Duration. Still productivity in terms of LOC is debatable and may not be the right method for determining productivity.&lt;br /&gt;
Note: The number of thousands of source lines of code (KSLOC) delivered is a common metric, carried through the estimation of productivity, which are usually expressed as KSLOC/SM or KLOC/SM (where SM= Staff Month).&lt;br /&gt;
LOC is a universal metric because all software products are essentially made of them.&lt;br /&gt;
Many organization measure Quality as: No. of Defects / No. of lines of code which is again not the correct way of determining the quality. Quality of the code is important and not the volume.&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.1.2 Function Point (FP)&lt;/strong&gt;&lt;/h4&gt;
The Function point method is based on the idea that software size is better measured in terms of the number and complexity of the function that it performs than on the number of lines of code that represent it.&lt;br /&gt;
FP measures categories of end-user business functions. It is more methodological way than are LOC counts. A really straightforward analogy is that of a physical house to software. The no. of square feet is to the house as LOC is to software; the number of bedrooms and bathrooms is to the house as function points are to software. The former looks at the size; the latter looks at size and function.&lt;br /&gt;
Here is a quick overview of Function Point process:&lt;br /&gt;
1. Count the functions in each category ( The categories are: Outputs, Inputs, Inquiries, Data Structures and Interfaces)&lt;br /&gt;
2. Establish the complexity of each category as Simple, Medium and Complex.&lt;br /&gt;
3. Establish weights for each complexity.&lt;br /&gt;
4. Multiply each function by its weight and then sum up to get total function points.&lt;br /&gt;
5. Convert FP to LOC using the formula:&lt;br /&gt;
LOC = Points X ADJ X Conversion Factor,&lt;br /&gt;
where ADJ is an adjustment for the general characteristics of the application.&lt;br /&gt;
The Conversion Factor, based on historical data for the application and programming language, represents the average number of lines of code to implement a simple function.&lt;br /&gt;
There is more to Function point which will follow soon on my next article dedicated to Function Point only.&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.1.3 Three Point Estimate or PERT Model&lt;/strong&gt;&lt;/h4&gt;
Three Point Estimate is considering 3 Estimate, OPTIMISTIC, MOST PROBABLE, PESSIMISTIC. We normally ask relevant developer or Analysts to provide the estimate as 3 Point Estimate. Once they provide these estimates we calculate the Final Estimate using PERT. A formula for the same is:&lt;br /&gt;
&lt;br /&gt;
PERT = (P+ 4M + O)/6, SD = P-O/6&lt;br /&gt;
&lt;br /&gt;
Let say we are estimating the Size of Software in terms of LOC and asking expert for their opinion. We got below value:&lt;br /&gt;
&lt;br /&gt;
O = 200&lt;br /&gt;
P = 400&lt;br /&gt;
M = 250&lt;br /&gt;
&lt;br /&gt;
PERT = (P+ 4M + O)/6 = (200+ (4 X 250) + 400)/6 = 266 LOC&lt;br /&gt;
SD = (P – O) / 6 = (400 – 200) / 6 = 33&lt;br /&gt;
&lt;br /&gt;
The Final Size Estimate would be (266±33) LOC = between 233 to 299 LOC with 68% (1σ)Confidence.&lt;br /&gt;
With 2 σ (90%), 266±66 = between 200 to 332 LOC&lt;br /&gt;
With 3 σ (99%), 266±99 = between 167 to 365 LOC&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.1.4 Feature Points&lt;/strong&gt;&lt;/h4&gt;
Feature Points are an extension of the function point method designed to deal with different kinds of application, such as embedded and / or real time systems. Feature points are basically function points that are sensitive to high algorithmic complexity, where an algorithm is a bounded set of rules (executable statements) required to solve a computational problem.&lt;br /&gt;
In Feature Point technique apart from counting Outputs, Inputs, Inquiries, Data Structures and Interfaces we also count the number of Algorithms and provide a weightage as per the Algorithm complexity.&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.1.5 Wideband Delphi&lt;/strong&gt;&lt;/h4&gt;
This is a disciplined method of using the experience of several people to reach an estimate that incorporates all of their knowledge.&lt;br /&gt;
The “pure” approach (Pure Delphi) is to collect the expert opinion in isolation, feed back anonymous summary results, and iterate until consensus is reached. (without Group discussion). As Delphi approach can take a very long time, the concept of Wideband Delphi was introduced to speed up the process. This improved approach uses group discussion.&lt;br /&gt;
The steps in conducting Wideband Delphi are:&lt;br /&gt;
1. Distribute problem statement and a response form to all the experts.&lt;br /&gt;
2. Conduct a Group discussion.&lt;br /&gt;
3. Collect expert opinion anonymously.&lt;br /&gt;
4. Feed back a summary of results to each expert.&lt;br /&gt;
5. Conduct another group discussion.&lt;br /&gt;
6. Iterate as necessary until consensus is reached.&lt;br /&gt;
Group discussions are the primary difference between pure Delphi and Wideband Delphi.&lt;br /&gt;
This process may utilize the PERT calculation for arriving at Final Estimate. It mainly depends on organization how they are setting up the process for Wideband Delphi.&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.2 ESTIMATION RISK&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.2.1 Risk Associated with Estimation&lt;/strong&gt;&lt;/h4&gt;
1. Customer Dissatisfaction with Inaccurate Estimate.&lt;br /&gt;
2. Loss of Money in a Fixed Price Contract, due to too optimistic estimate.&lt;br /&gt;
Some of the Problems with Estimating:&lt;br /&gt;
1. Missing Facts while doing estimation.&lt;br /&gt;
2. No or Little Historical data upon which to base future estimates.&lt;br /&gt;
3. No Standard Estimating Process within an Organization.&lt;br /&gt;
4. Stakeholder misconception about estimating.&lt;br /&gt;
5. The requirement is not clear or there is insufficient visibility into other parts of the system&lt;br /&gt;
Inaccurate estimates will require adjustments to the schedule, to squeeze the optimal one into a shorter time frame, which almost always results in the introduction of defects.&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.2.2 How to Mitigate Estimation Risk&lt;/strong&gt;&lt;/h4&gt;
1. Decompose the WBS to the lowest level possible; smaller components are easier to estimate.&lt;br /&gt;
2. Review assumptions with all the stakeholders, including operations, maintenance and support departments.&lt;br /&gt;
3. If historical data is not available, collect Anecdotal evidence.&lt;br /&gt;
4. Update estimates at frequent intervals. Estimation accuracy does improve over the time(Life Cycle)&lt;br /&gt;
5. Educate developer in estimation methods&lt;br /&gt;
6. Use multiple size estimating methods to increase confidence.&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;2 REFERENCES&lt;/strong&gt;&lt;/h2&gt;
• Quality Software Project Management by Robert, Donald &amp;amp; Linda.&lt;br /&gt;
• Wikipedia&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;3 Download&lt;/strong&gt;&lt;/h2&gt;
Click here to &lt;a href=&quot;http://sites.google.com/site/sachinvasudha/ABCofEstimation.pdf?attredirects=0&amp;amp;d=1&quot;&gt;download &lt;/a&gt;a pdf copy of this article.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/4065673800779474689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/4065673800779474689?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/4065673800779474689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/4065673800779474689'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2010/03/abc-of-estimation.html' title='ABC Of Estimation'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-7823547955766482053</id><published>2010-02-23T19:46:00.000-08:00</published><updated>2018-06-15T16:15:00.855-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ANSI Style"/><category scheme="http://www.blogger.com/atom/ns#" term="Correlated Subquery"/><category scheme="http://www.blogger.com/atom/ns#" term="Equi Join"/><category scheme="http://www.blogger.com/atom/ns#" term="GROUP BY"/><category scheme="http://www.blogger.com/atom/ns#" term="Having"/><category scheme="http://www.blogger.com/atom/ns#" term="Inner Join"/><category scheme="http://www.blogger.com/atom/ns#" term="INTERSECT Clause"/><category scheme="http://www.blogger.com/atom/ns#" term="Left Join"/><category scheme="http://www.blogger.com/atom/ns#" term="MINUS Clause"/><category scheme="http://www.blogger.com/atom/ns#" term="Nested Query"/><category scheme="http://www.blogger.com/atom/ns#" term="Right Join"/><category scheme="http://www.blogger.com/atom/ns#" term="Self Join"/><category scheme="http://www.blogger.com/atom/ns#" term="Subquery"/><category scheme="http://www.blogger.com/atom/ns#" term="THETA Style"/><category scheme="http://www.blogger.com/atom/ns#" term="UNION Clause"/><title type='text'>Database Knowledge for a Tester Part V</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-size: 130%;&quot;&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;u&gt;Hi Readers, this is the last series of DataBase Knowledge for a Tester. I hope you people must enjoyed the reading and gained database knowledge. Soon I will come with some more stuffs on Technology Knowledge for Tester.&lt;/u&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 130%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1. GROUPING DATA FROM TABLES IN SQL &lt;/strong&gt;&lt;/h2&gt;
&lt;br /&gt;
Apart from SELECT, WHERE, DISTINCT, ORDER BY etc, there are 2 more clauses which facilitate selective retrieval of row. These are the GROUP BY and HAVING clauses. These are same as ORDER BY and WHERE clauses, except that they act on recordsets, and not on individual records.&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.1 CONCEPT OF GROUPING &lt;/strong&gt;&lt;/h3&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.1.1 Group By clause&lt;/strong&gt;&lt;/h4&gt;
The GROUP BY clause creates a data set, containing several sets of records grouped together based on a condition.&lt;br /&gt;
Syntax:&lt;br /&gt;
SELECT (colname1),(colname2),(colnameN), AGGREGATE_FUNCTION(expression) from TABLE NAME where (condition) GROUP BY (colname1),(colname2),(colnameN);&lt;br /&gt;
For e.g.&lt;br /&gt;
Consider we want to find out how many employees are there in each department.&lt;br /&gt;
Select DEPT_NAME, COUNT(EMP_NO)”No. of Employees” From DEPT_MASTER GROUP BY DEPT_NAME;&lt;br /&gt;
Consider another example. In case if we have to find out how many employees are there in each Branch of a Bank.&lt;br /&gt;
Select BRANCH_NO, COUNT(EMP_NO)”No. of Employees” From EMP_MASTER GROUP BY BRANCH_NO;&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.1.2 HAVING Clause&lt;/strong&gt;&lt;/h4&gt;
HAVING imposes a condition on the GROUP BY clause, which further filters the groups created by the GROUP BY clause.&lt;br /&gt;
Each column specification specified in the HAVING clause must occur within a statistical function or must occur in the list of columns named in the GROUP BY clause.&lt;br /&gt;
For e.g.&lt;br /&gt;
Consider we want to find out all the customers which have more than one account in the Bank.&lt;br /&gt;
SELECT CUST_NO, COUNT(ACC_NO) “No. of Accounts” from ACC_DETAIL where ACC_NO like ‘CA%’ or ACC_NO like ‘SA%’ GROUP BY CUST_NO HAVING COUNT(ACC_NO)&amp;gt;1;&lt;br /&gt;
&lt;br /&gt;
Consider another example, if we want to find the list of those customers having only 1 account.&lt;br /&gt;
&lt;br /&gt;
SELECT CUST_NO, COUNT(ACC_NO) “No. of Accounts” from ACC_DETAIL GROUP BY CUST_NO HAVING COUNT(ACC_NO)=1;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.1.3 Rules For GROUP BY and Having Clause&lt;/strong&gt;&lt;/h4&gt;
• Columns listed in the Select Statement have to be listed in the GROUP BY Clause&lt;br /&gt;
• Columns listed in the GROUP BY Clause need not be listed in the SELECT Statement.&lt;br /&gt;
• Only GROUP functions can be used in the HAVING clause&lt;br /&gt;
• The Group functions listed in the HAVING clause need not be listed in the SELECT statement.&lt;br /&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.2 SUBQUERIES&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.2.1 Subqueries &lt;/strong&gt;&lt;/h4&gt;
&lt;br /&gt;
Subqueries are also called Nested query. A subquery is a form of an SQL statement that appears inside another SQL statement. The statement containing a subquery is called a parent statement.&lt;br /&gt;
The Parent statement uses the rows (i.e. the result set) returned by the subquery.&lt;br /&gt;
It can be used for:&lt;br /&gt;
• Inserting records in a target table.&lt;br /&gt;
• Creating tables and inserting records in the table created.&lt;br /&gt;
• Updating records in a target table.&lt;br /&gt;
• Creating Views.&lt;br /&gt;
• Providing values for conditions in WHERE, HAVING, IN etc and used with SELECT, UPDATE and DELETE statements.&lt;br /&gt;
For e.g.&lt;br /&gt;
Get the address of the Customer names Sachin Kumar.&lt;br /&gt;
SELECT CODE_NO “Cust No”, ADD1 ‘ ‘ ADD 2 ‘ ‘ ‘ ‘ CITY ‘ , ‘ STATE ‘ , ‘ PINCODE “address” FROM ADD_DETAIL WHERE CODE_NO IN&lt;br /&gt;
(SELECT CUST_NO FROM CUST_MASTER WHERE FNAME=’SACHIN’ AND LNAME=’KUMAR’);&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.2.2 Using Subquery in the FROM clause&lt;/strong&gt;&lt;/h4&gt;
The concept of using a subquery in the FROM clause is called an inline view. A subquery in the FROM clause of the SELECT statement defines a data source from that particular Select statement.&lt;br /&gt;
For e.g.&lt;br /&gt;
List accounts alongwith the current balance, the branch, and the avg balance of that branch, having a balance more than the avg. balance of the branch, to which the account belongs.&lt;br /&gt;
SELECT A.ACC_NO, A.CURBAL, A.BRANCH_NO, A.AVGBAL FROM ACCT_MSTR A, (SELECT BRANCH_NO, AVG(CURBAL) AVGBAL FROM ACCT_MSTR GROUP BY BRANCH_NO) B&lt;br /&gt;
WHERE A.BRANCH_NO=B.BRANCH_NO and A.CURBAL&amp;gt;B.AVGBAL;&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.2.3 Using Correlated Sub-Queries&lt;/strong&gt;&lt;/h4&gt;
A sub-query becomes correlated when the subquery references a column from a table in the parent query. A correlated subquery is evaluated once for each row processed by the parent statement, which can be any of SELECT, UPDATE or DELETE.&lt;br /&gt;
It is used whenever a subquery must return a different result for each candidate row considered by the parent query.&lt;br /&gt;
For e.g.&lt;br /&gt;
List accounts alongwith the current balance, the branch, having a balance more than the avg. balance of the branch, to which the account belongs&lt;br /&gt;
SELECT ACC_NO, CURBAL, BRANC_NO FROM ACCT_MSTR A WHERE CURBAL&amp;gt;(SELECT AVG(CURBAL) FROM ACCT_MSTR WHERE BRANCH_NO=A.BRANCH_NO);&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.2.4 Using Multi Column Sub-Query&lt;/strong&gt;&lt;/h4&gt;
Each row of the outer query is compared to the values from the inner query (Multi Row and Multi Column).&lt;br /&gt;
For e.g.&lt;br /&gt;
Find out all the customers having the same name as the employees.&lt;br /&gt;
SELECT FNAME, LNAME FROM CUST_MSTR WHERE (FNAME, LNAME) IN (SELECT FNAME, LNAME FROM EMP_MSTR);&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.2.5 Using EXISTS/ NOT EXISTS Operator&lt;/strong&gt;&lt;/h4&gt;
The EXISTS operator is usually used with correlated subqueries. This operator enables to test whether a value retrieved by the outer query exists in the result set of the values retrieved by the inner query. If a match is found TRUE is returned else FALSE.&lt;br /&gt;
The EXISTS ensures that the search in the inner query terminates when at least one match is found.&lt;br /&gt;
Similarly, the NOT EXISTS enables to test whether a value retrieved by the outer query is not a part of the result set of the values retrieved by the inner query.&lt;br /&gt;
For e.g.&lt;br /&gt;
List employees who have verified at least one account.&lt;br /&gt;
SELECT EMP_NO, FNAME, LNAME FROM EMP_MSTR E WHERE EXISTS(SELECT ‘SCT’ FROM ACCT_MSTR WHERE VERI_EMP_NO = E.EMP_NO);&lt;br /&gt;
&lt;br /&gt;
List those branches, which don’t have employees yet.&lt;br /&gt;
SELECT BRANC_NO, NAME FROM BRANCH_MSTR B WHERE NOT EXISTS(SELECT ‘SCT’ FROM EMP_MSTR WHERE BRANCH_NO=B.BRANCH_NO);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.3 JOINS&lt;/strong&gt;&lt;/h3&gt;
Joins are used to manipulate data from multiple tables using a single SQL sentence. Tables are joined on columns having the same data type, and data width in the tables.&lt;br /&gt;
&lt;strong&gt;SYNTAX:&lt;br /&gt;&lt;em&gt;&lt;u&gt;ANSI STYLE &lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
SELECT COL1, COL2, COLN From Table1 INNER JOIN Table 2 on Table1.COL1=Table2.COL2 WHERE (CONDITION) ORDER BY COL1, COL2, COLN&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&lt;em&gt;THETA-STYLE&lt;/em&gt;&lt;/u&gt;&lt;/strong&gt;SELECT COL1, COL2, COLN From Table1, Table 2 WHERE Table1.COL1=Table2.COL2 AND (CONDITION) ORDER BY COL1, COL2, COLN&lt;br /&gt;
In the above syntax:&lt;br /&gt;
1. COL1 in Table1 is its Primary Key&lt;br /&gt;
2. COL2 in Table2 is its Foreign Key&lt;br /&gt;
3. COL1 and COL2 must have the same data type and for certain data types, the same size.&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.3.6 Inner or Equi Join&lt;/strong&gt;&lt;/h4&gt;
INNER JOIN returns all rows from both tables where there is a match.&lt;br /&gt;
For e.g.&lt;br /&gt;
List the employee details alongwith Branch Names to which they belong.&lt;br /&gt;
Select E.EMP_NAME, D.BRANCH_NAME FROM EMP_MSTR E, DEPT_MSTR D WHERE D.DEPT_NO = E.DEPT_NO;&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.3.7 Outer Join&lt;/strong&gt;&lt;/h4&gt;
This type of Join can be used in situations where it is desired, to select all rows from the table on the left (or right or both) regardless of whether the other table has values in common and (usually) enter NULL where data is missing.&lt;br /&gt;
&lt;strong&gt;LEFT OUTER JOIN &lt;/strong&gt;&lt;br /&gt;
For e.g.&lt;br /&gt;
List the employee details alongwith the contact details (if any) Using Left Outer Join&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;&lt;em&gt;ANSI STYLE &lt;/em&gt;&lt;/strong&gt;&lt;/u&gt;SELECT A.NAME, A.DEPT, B.CONTACT from EMP_MSTR A LEFT JOIN CNTC_DTLS B ON A.EMP_NO=B.CODE_NO;&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&lt;em&gt;THETA STYLE&lt;/em&gt;&lt;/u&gt;&lt;/strong&gt;SELECT A.NAME, A.DEPT, B.CONTACT from EMP_MSTR A, CNTC_DTLS B WHERE A.EMP_NO=B.CODE_NO (+);&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;USING RIGHT OUTER JOIN- The same query.&lt;br /&gt;&lt;u&gt;&lt;em&gt;ANSI STYLE &lt;/em&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
SELECT A.NAME, A.DEPT, B.CONTACT from CNTC_DTLS B RIGHT JOIN EMP_MSTR A ON B.CODE_NO=A.EMP_NO;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;&lt;u&gt;THETA STYLE&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;SELECT A.NAME, A.DEPT, B.CONTACT from CNTC_DTLS B , EMP_MSTR A WHERE B.CODE_NO (+)=A.EMP_NO;&lt;br /&gt;
In both the query, all the employee details need to be listed alongwith their contact details if any.&lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.3.8 Cross Join&lt;/strong&gt;&lt;/h4&gt;
A Cross Join returns what’s known as a Cartesian product. The Join combines every row from the left table with every row in the right table.&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.3.9 Self Join&lt;/strong&gt;&lt;/h4&gt;
Joining a table to itself is referred to as self-join. In a self join, two rows from the same table combine to form a result row.&lt;br /&gt;
For e.g.&lt;br /&gt;
Retrieve the name of the employees and the names of their respective managers from the employee table.&lt;br /&gt;
SELECT EMP.FNAME “Employee”, MNGR.FNAME “Manager” FROM EMP_MSTR EMP, EMP_MSTR MNGR WHERE EMP.MNGR_NO = MNGR.EMP_NO;&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.4 Guidelines for Creating Joins&lt;/strong&gt;&lt;/h3&gt;
• Precede the column name with the table name when writing a select statement that joins tables.(For Clarity)&lt;br /&gt;
• If the same column name appears in more than one table, the column name must be prefixed with the table name.&lt;br /&gt;
• The WEHERE clause is the most critical clause in a join select statement. Always make sure to include the WHERE clause.&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.5 Miscellaneous Clause- UNION, INTERSECT AND MINUS&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.5.1 Union Clause &lt;/strong&gt;&lt;/h4&gt;
&lt;br /&gt;
The output of multiple queries can be combined using UNION clause.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNhFmZ_9XepoAyzXLxyqKLeH1NuHJ4QjFt1YNFu3WBOaMp9v6sVW-FNrTyZ-82Gcpnr48hVkCqb_j-f5-XqgeCSArr2zJ5OT8aPoOtVNVpVLJ7cf3Vz5rTDoIRNUcTyQFjWSe9zV2-4q-1/s1600-h/Union.JPG&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5441655644417119922&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNhFmZ_9XepoAyzXLxyqKLeH1NuHJ4QjFt1YNFu3WBOaMp9v6sVW-FNrTyZ-82Gcpnr48hVkCqb_j-f5-XqgeCSArr2zJ5OT8aPoOtVNVpVLJ7cf3Vz5rTDoIRNUcTyQFjWSe9zV2-4q-1/s400/Union.JPG&quot; style=&quot;cursor: hand; height: 139px; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;Output of the UNION Clause&lt;/u&gt;&lt;/strong&gt;For e.g.&lt;br /&gt;
Retrieve the names of all the employee working in India and US&lt;br /&gt;
SELECT EMP_NAME FROM EMPLOYEE WHERE LOCATION=’INDIA’&lt;br /&gt;
UNION&lt;br /&gt;
SELECT EMP_NAME FROM EMPLOYEE WHERE LOCATION=’US’&lt;br /&gt;
&lt;br /&gt;
The UNION clause picks up the common records as well as the individual records in both queries.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Guideline for using Union Clause &lt;/strong&gt;&lt;br /&gt;
• The number of columns and data types of the columns being selected must be identical in all the SELECT statement used in the query. The Column name need not be identical.&lt;br /&gt;
• UNION operates over all of the columns being selected.&lt;br /&gt;
• NULL values are not ignored during duplicate checking&lt;br /&gt;
• The IN operator has a higher precedence than the UNION operator&lt;br /&gt;
• By default the output is sorted in ascending order of the first column of the select statement.&lt;br /&gt;
• UNION cannot be used in Subqueries&lt;br /&gt;
• UNION cannot be used with Aggregate functions.&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.5.2 Intersect Clause&lt;/strong&gt;&lt;/h4&gt;
The INTERSECT clause outputs only rows produced by both the queries intersected i.e. the output in an Intersect clause will include only those rows that are retrieved common to both the queries.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5441656041614483746&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixPMbhojAatAgtyu1i_7t-XlFzOAhiVIVhGFO6kzXNR18sO-BnbpYH3RoYNewXA0HKCjl9Z2yuxSEhPXlGcPw1M3a6fhol51dX0Tl9nd4atsSCwaV9dG0BlqOa6UYSVg9ekc4dosmaRTAx/s400/Intersect.JPG&quot; style=&quot;cursor: hand; height: 136px; width: 400px;&quot; /&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;Output of the INTERSECT Clause&lt;/u&gt;&lt;/strong&gt;For e.g.&lt;br /&gt;
Retrieve the customer holding accounts as well as fixed deposits in a bank.&lt;br /&gt;
SELECT DISTINCT CUST_NO FROM ACC_FD_TBL WHERE ACC_FD_NO LIKE ‘CA%’ OR ACC_FD_NO LIKE ‘SB%’&lt;br /&gt;
INTERSECT&lt;br /&gt;
SELECT DISTINCT CUST_NO FROM ACC_FD_TBL WHERE ACC_FD_NO LIKE ‘FS%’&lt;br /&gt;
&lt;br /&gt;
The INTERSECT clause picks up the record that are common in both the queries.&lt;br /&gt;
&lt;strong&gt;Guideline for using Union Clause&lt;/strong&gt;• The number of columns and data types of the columns being selected must be identical in all the SELECT statement used in the query. The Column name need not be identical.&lt;br /&gt;
• INTERSECT does not ignore NULL values.&lt;br /&gt;
• Reversing the order of the intersected tables does not alter the result.&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;1.5.3 Minus Clause&lt;/strong&gt;&lt;/h4&gt;
Multiple queries can be put together and their output combined using the minus clause. The MINUS clause outputs the rows produced by the first query, after filtering the rows retrieved by the second query.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitpM1lc6nPrnRjhVnz4c791T2iQNDaXWM0w4IycyhLxg04lQwjNT4b1rzJZCefY2VVuIebR26bLy1BsB4LB848oyvsTKZnnLg-5lYJbgotJJbLzo4RJFEdDYJBbPr3NKBAlfa_bR5u0XjR/s1600-h/Minus.JPG&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5441656415047979170&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitpM1lc6nPrnRjhVnz4c791T2iQNDaXWM0w4IycyhLxg04lQwjNT4b1rzJZCefY2VVuIebR26bLy1BsB4LB848oyvsTKZnnLg-5lYJbgotJJbLzo4RJFEdDYJBbPr3NKBAlfa_bR5u0XjR/s400/Minus.JPG&quot; style=&quot;cursor: hand; height: 132px; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
For e.g.&lt;br /&gt;
Retrieve the customer holding accounts but not holding any fixed deposits in a bank.&lt;br /&gt;
SELECT DISTINCT CUST_NO FROM ACC_FD_TBL WHERE ACC_FD_NO LIKE ‘CA%’ OR ACC_FD_NO LIKE ‘SB%’&lt;br /&gt;
MINUS&lt;br /&gt;
SELECT DISTINCT CUST_NO FROM ACC_FD_TBL WHERE ACC_FD_NO LIKE ‘FS%’&lt;br /&gt;
&lt;br /&gt;
The MINUS clause picks records in the first query after filtering the records retrieved by the second query.&lt;br /&gt;
&lt;strong&gt;Guideline for using Union Clause&lt;/strong&gt;• The number of columns and data types of the columns being selected must be identical in all the SELECT statement used in the query. The Column name need not be identical.&lt;br /&gt;
• All the columns in the where clause must be in the SELECT clause for the MINUS operator to work.&lt;br /&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;2 REFERENCES&lt;/strong&gt;&lt;/h2&gt;
• SQL, PL/SQL Third Edition by Ivan Bayross.&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;strong&gt;3. Download&lt;/strong&gt;&lt;/h2&gt;
Click here to &lt;a href=&quot;http://sachin.vasudha.googlepages.com/DatabaseKnowledgeforaTesterPartV.pdf&quot;&gt;download &lt;/a&gt;a pdf copy of this article.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/7823547955766482053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/7823547955766482053?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/7823547955766482053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/7823547955766482053'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2010/02/database-knowledge-for-tester-part-v.html' title='Database Knowledge for a Tester Part V'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNhFmZ_9XepoAyzXLxyqKLeH1NuHJ4QjFt1YNFu3WBOaMp9v6sVW-FNrTyZ-82Gcpnr48hVkCqb_j-f5-XqgeCSArr2zJ5OT8aPoOtVNVpVLJ7cf3Vz5rTDoIRNUcTyQFjWSe9zV2-4q-1/s72-c/Union.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8291059916253528224.post-5695823336910736169</id><published>2009-08-06T04:54:00.000-07:00</published><updated>2018-06-15T16:17:48.975-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Aggregare Function"/><category scheme="http://www.blogger.com/atom/ns#" term="Arithmetic Operator"/><category scheme="http://www.blogger.com/atom/ns#" term="Between Operator"/><category scheme="http://www.blogger.com/atom/ns#" term="Date Function"/><category scheme="http://www.blogger.com/atom/ns#" term="DUAL function"/><category scheme="http://www.blogger.com/atom/ns#" term="IN Predicate"/><category scheme="http://www.blogger.com/atom/ns#" term="Like Predicate"/><category scheme="http://www.blogger.com/atom/ns#" term="Logical Operator"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Operation"/><category scheme="http://www.blogger.com/atom/ns#" term="Scalar Function"/><title type='text'>Database Knowledge for a Tester Part IV</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1 COMPUTATIONS ON TABLE DATA&lt;/span&gt;&lt;/h2&gt;
Computations on table data may include displaying an employee’s name and the employee salary from the EMPLOYEE Master table alongwith the annual salary of the employee (i.e. Salary * 12). This can be achieved by using Arithmetic operator. We will see all these explained in below mentioned sections.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2uHXPCF84G1nFD5BzjbRBtN_D31eK8j5YoQqOd_202OXjfmKTjY9MmnKeVy01xFE-pJQsZ6cXW_yp_wBdHwr_rFHsxq4lJA92C2b95hSVDM5f5WAfVjN6dhP5BZDsTpygsCAhKh2QCeCw/s1600-h/Arithmetic.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5366829690929087970&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2uHXPCF84G1nFD5BzjbRBtN_D31eK8j5YoQqOd_202OXjfmKTjY9MmnKeVy01xFE-pJQsZ6cXW_yp_wBdHwr_rFHsxq4lJA92C2b95hSVDM5f5WAfVjN6dhP5BZDsTpygsCAhKh2QCeCw/s400/Arithmetic.jpg&quot; style=&quot;cursor: pointer; height: 97px; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1.1 Operators Usage&lt;/span&gt;&lt;/h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1.1.1 Arithmetic Operator&lt;/span&gt;&lt;br /&gt;
Oracle allows arithmetic operators to be used while viewing records from the table or while performing Data Manipulation operations such as Insert, Update and Delete.&lt;br /&gt;
&lt;br /&gt;
For e.g.&lt;br /&gt;
&lt;br /&gt;
Consider we want to increment the salary of all employees by Rs 500.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 0 , 0);&quot;&gt;UPDATE EMPLOYEE SET SALARY = (SALARY + 500)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Similarly you can use the above arithmetic operator for manipulating other data based on the requirement.&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1.1.2 Logical Operator&lt;/span&gt;&lt;/h4&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 0 , 0); font-weight: bold;&quot;&gt;The AND operator&lt;/span&gt;&lt;br /&gt;
The AND operator requires that each condition must be met for the record to be included in the result set. It can be used in any valid SQL statement such as Select, Insert, Update or Delete.&lt;br /&gt;
&lt;br /&gt;
For e.g.&lt;br /&gt;
&lt;br /&gt;
Consider we want to view the employee whose salary lies between 1000 to 5000.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 0 , 0);&quot;&gt;SELECT EMPLOYEE_NAME FROM EMPLOYEE WHERE SALARY&amp;gt;=1000 AND SALARY&amp;lt;=5000.  &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;The OR operator  &lt;/span&gt;&lt;br /&gt;
The OR operator requires that any of the conditions must be met for the record to be included in the result set. It can be used in any valid SQL statement such as Select, Insert, Update or Delete.&lt;br /&gt;
&lt;br /&gt;
For e.g.&lt;br /&gt;
&lt;br /&gt;
Consider we want to view the employee which belongs to either ADMIN or IT department.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 0 , 0);&quot;&gt;SELECT EMPLOYEE_NAME FROM EMPLOYEE WHERE DEPTT=’ADMIN’ OR DEPTT=’IT’  &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Combining the AND and OR operator&lt;/span&gt;&lt;br /&gt;
It can be used in any valid SQL statement such as Select, Insert, Update or Delete.  When combining these conditions it is important to use brackets so that the database knows what order to evaluate each condition.&lt;br /&gt;
&lt;br /&gt;
For e.g.&lt;br /&gt;
&lt;br /&gt;
Consider we want to view the employee and which belongs to either ADMIN or IT department and their salary is greater than 3000.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 0 , 0);&quot;&gt;SELECT EMPLOYEE_NAME, SALARY FROM EMPLOYEE WHERE (DEPTT=’ADMIN’ OR DEPTT=’IT’) AND SALARY&amp;gt;3000.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;The NOT operator&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The NOT operator display only those records that do not satisfy the conditions specified.&lt;br /&gt;
&lt;br /&gt;
For e.g.&lt;br /&gt;
&lt;br /&gt;
Consider we want to view the employees which are not married.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 0 , 0);&quot;&gt;SELECT EMPLOYEE_NAME FROM EMPLOYEE WHERE NOT (MARITAL STATUS=’M’).&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1.1.3 Range Searching – BETWEEN operator&lt;/span&gt;&lt;/h4&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;&lt;/span&gt;The BETWEEN operator allows the selection of rows that contain values within a specified lower and upper limit. The range coded after the word BETWEEN is inclusive.&lt;br /&gt;
&lt;br /&gt;
For e.g.&lt;br /&gt;
&lt;br /&gt;
We can write the “Consider we want to view the employee whose salary lies between 1000 to 5000” also as:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 0 , 0);&quot;&gt;SELECT EMPLOYEE_NAME FROM EMPLOYEE WHERE SALARY BETWEEN1000 AND 5000&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1.1.4 Pattern Matching – LIKE predicate&lt;/span&gt;&lt;/h4&gt;
&lt;br /&gt;
The LIKE predicate allows comparison of one string value with another string value, which is not identical. This is achieved by using wildcard characters. Two wildcard characters that are available are:&lt;br /&gt;
&lt;br /&gt;
• % allows to match any string of any length (including zero length)&lt;br /&gt;
• _ allows to match on a single character.&lt;br /&gt;
&lt;br /&gt;
For e.g.&lt;br /&gt;
&lt;br /&gt;
Suppose we want to view the Employee Name which starts with Letter “S”.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 0 , 0);&quot;&gt;SELECT EMPLOYEE_NAME FROM EMPLOYEE WHERE EMPLOYEE_NAME LIKE ‘S%’&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Similarly if we want to view only those employee name which start with letter S and is of 4 characters only.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 0 , 0);&quot;&gt;SELECT EMPLOYEE_NAME FROM EMPLOYEE WHERE EMPLOYEE_NAME LIKE ‘S____’&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1.1.5 IN and NOT IN Predicates&lt;/span&gt;&lt;/h4&gt;
If a value needs to be compared to a list of values then the IN predicate is used. This predicate helps reduce the need to use multiple OR conditions.&lt;br /&gt;
&lt;br /&gt;
For e.g.&lt;br /&gt;
&lt;br /&gt;
Consider we want the list of all employees which belong to either ADMIN, HR, QUALITY, IT or PROJECT department.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 0 , 0);&quot;&gt;SELECT EMPLOYEE_NAME FROM EMPLOYEE WHERE EMPLOYEE_NAME IN (‘ADMIN’,’HR’, ‘QUALITY’,’ IT’, ‘PROJECT’)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Note: NOT IN is just the opposite of IN and select all the rows where values do not match the values in the list.&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1.2 Oracle Functions&lt;/span&gt;&lt;/h3&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1.2.1 Oracle Table “DUAL”&lt;/span&gt;&lt;/h4&gt;
DUAL is a table owned by SYS. When an arithmetic calculation is to be performed such as 2*2 or 4/2 and so on, there is no table being referenced; only numeric literals are being used. To facilitate such calculation via a SELECT statement, Oracle provides a dummy table called DUAL.&lt;br /&gt;
&lt;br /&gt;
For e.g.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 0 , 0);&quot;&gt;SELECT 2*2 from DUAL will return 4.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 255 , 0);&quot;&gt;&lt;span style=&quot;color: rgb(102 , 0 , 0);&quot;&gt;SELECT SYSDATE from DUAL will return system date.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1.2.2 GROUP or AGGREGATE Functions&lt;/span&gt;&lt;/h4&gt;
Functions that act on a set of values are called Group or Aggregate functions. For e.g. SUM is a function which calculated the total set of numbers. A Group function returns a single result row for a group of queried rows.&lt;br /&gt;
&lt;br /&gt;
Some of the GROUP or AGGREGATE Function is described below:&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;182&quot; id=&quot;BLOGGER_PHOTO_ID_5366822378091688978&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVbhhj6uu8uUg6hMNRX3JoGTPUk3mlkcB4OWwUTsvuIi7Lo4wQ_bc5Jc6KfGX_9H_VG86hJJnAdCh861q0uc5xiVRwqP7Ct4B6RVOUJdohCOxcaiuqC9lzUGEcRGiR3TbYVFFyAjKZSFT7/s400/Group_Function.jpg&quot; width=&quot;400&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1.2.3 Single Row or Scalar Functions&lt;/span&gt;&lt;/h4&gt;
Functions that act on only one value at a time are called Scalar Functions. Single row function can be classified corresponding to different data types as:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;String Functions - For String data type.&lt;/li&gt;
&lt;li&gt;Numeric Functions – For Number data type &lt;/li&gt;
&lt;li&gt;Conversion Functions – For Conversion data type&lt;/li&gt;
&lt;li&gt;Date Functions -  For Date data type&lt;/li&gt;
&lt;/ul&gt;
Some of the available scalar functions are described below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinwNLInUo5MIWd0XcmLlhd6TlRtIQo7a_VKkcnuYfIwuQn2ZbKj2sS9_X_ng5lj_BCWlyGmy7wH2mNnbXQCAfmqmTxv8x-EW1IiKLTPYzXaK8YQFbg6aFUXOVnpc10ysaJo_spoinlJCFb/s1600-h/Scalar_Function1.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5366828261829852210&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinwNLInUo5MIWd0XcmLlhd6TlRtIQo7a_VKkcnuYfIwuQn2ZbKj2sS9_X_ng5lj_BCWlyGmy7wH2mNnbXQCAfmqmTxv8x-EW1IiKLTPYzXaK8YQFbg6aFUXOVnpc10ysaJo_spoinlJCFb/s400/Scalar_Function1.jpg&quot; style=&quot;cursor: pointer; height: 352px; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhacBXqnwzqhzZyj1TyHavqqv2C5SIG-xHZSL3UNhErcsXvHzpeCL1YpXh6DawCTxp8OS8DGORz5k8E2gA3mF2v3IU2dGgUupLddn7PVmkjxgrHxOeA7Ft6F5lalKQ0EDjhxhNnGcu5iU3n/s1600-h/Scalar_Function2.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5366828510224023378&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhacBXqnwzqhzZyj1TyHavqqv2C5SIG-xHZSL3UNhErcsXvHzpeCL1YpXh6DawCTxp8OS8DGORz5k8E2gA3mF2v3IU2dGgUupLddn7PVmkjxgrHxOeA7Ft6F5lalKQ0EDjhxhNnGcu5iU3n/s400/Scalar_Function2.jpg&quot; style=&quot;cursor: pointer; height: 400px; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisVWL3WZRR697lo8D8n3cs9TOl-I38VkCJH5zKiWzvSWjyLFuU-3F-C0PHKInAG6R0VrPYnHdLE2VNWaxD9Z9LYVDwRngCGGonwQAeE9GP66wRRqBDM1jfMaIk-k7lIjekkhgsRjnfz1nF/s1600-h/Scalar_Function3.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;292&quot; id=&quot;BLOGGER_PHOTO_ID_5366828635792634018&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisVWL3WZRR697lo8D8n3cs9TOl-I38VkCJH5zKiWzvSWjyLFuU-3F-C0PHKInAG6R0VrPYnHdLE2VNWaxD9Z9LYVDwRngCGGonwQAeE9GP66wRRqBDM1jfMaIk-k7lIjekkhgsRjnfz1nF/s400/Scalar_Function3.jpg&quot; style=&quot;height: 292px; width: 400px;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1.3 Date Functions&lt;/span&gt;&lt;/h3&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEMWcrdM4DvxFXj05xbrDcnggdw65qD1-qs2yRapqFTl8iJsUhEZLgCoywQcNThPsFwgPDZYwflho72tKrN7ahn3tt-bsRUy87pNIewf0Xp45ySzXARrbL6ZthGyi4n0gWUMsbhASQRISn/s1600-h/Date_Function.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5366825373924245074&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEMWcrdM4DvxFXj05xbrDcnggdw65qD1-qs2yRapqFTl8iJsUhEZLgCoywQcNThPsFwgPDZYwflho72tKrN7ahn3tt-bsRUy87pNIewf0Xp45ySzXARrbL6ZthGyi4n0gWUMsbhASQRISn/s400/Date_Function.jpg&quot; style=&quot;height: 348px; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1.4 Miscellaneous Functions &lt;/span&gt;&lt;/h3&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;UID &lt;/span&gt;– This function returns an integer value corresponding to the userid of the user currently logged in.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Syntax:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;UID(INTO [variable])&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
For e.g.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 0 , 0);&quot;&gt;SELECT UID FROM DUAL;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;USER&lt;/span&gt; – This function returns the user name of the user who has logged in. The value returned is in varchar 2 datatype.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Syntax:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;USER&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
For e.g.&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 0 , 0);&quot;&gt;SELECT USER FROM DUAL;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;2 REFERENCES&lt;/span&gt;&lt;/h2&gt;
&lt;br /&gt;
SQL, PL/SQL Third Edition by Ivan Bayross.&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;3 Download&lt;/span&gt;&lt;/h2&gt;
&lt;br /&gt;
&lt;br /&gt;
Click &lt;a href=&quot;http://sachin.vasudha.googlepages.com/DatabaseKnowledgeforaTesterPartIV.pdf&quot;&gt;here&lt;/a&gt;to &lt;a href=&quot;http://sachin.vasudha.googlepages.com/DatabaseKnowledgeforaTesterPartIV.pdf&quot;&gt;download&lt;/a&gt; a pdf copy of this article.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://buildtesting.blogspot.com/feeds/5695823336910736169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8291059916253528224/5695823336910736169?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/5695823336910736169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8291059916253528224/posts/default/5695823336910736169'/><link rel='alternate' type='text/html' href='http://buildtesting.blogspot.com/2009/08/database-knowledge-for-tester-part-iv.html' title='Database Knowledge for a Tester Part IV'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2uHXPCF84G1nFD5BzjbRBtN_D31eK8j5YoQqOd_202OXjfmKTjY9MmnKeVy01xFE-pJQsZ6cXW_yp_wBdHwr_rFHsxq4lJA92C2b95hSVDM5f5WAfVjN6dhP5BZDsTpygsCAhKh2QCeCw/s72-c/Arithmetic.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>