<?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-7557786290027625450</id><updated>2026-07-03T14:04:30.768+10:00</updated><category term="QTP"/><category term="HP loadrunner"/><category term="Virtual user"/><category term="VuGen"/><category term="HP"/><category term="LoadRunner"/><category term="codecademy"/><category term="load testing"/><category term="stress testing"/><category term="web development"/><category term="AI bot testing"/><category term="Action"/><category term="Analysis Error on 64 bit OS"/><category term="Automation"/><category term="C#"/><category term="C/C++"/><category term="CDbl"/><category term="Chatbot testing"/><category term="ChildObjects"/><category term="CodeRacer"/><category term="Compare date"/><category term="Count"/><category term="Cross site scripting"/><category term="Datatable"/><category term="Date functions"/><category term="DateAdd"/><category term="Eval"/><category term="Excel"/><category term="Exception HRESULT : 0x8007000B"/><category term="Expert view"/><category term="Exploratory testing"/><category term="GetObject"/><category term="Gmail Labs"/><category term="Google"/><category term="Google +1 button"/><category term="Google Maps"/><category term="Google blogger"/><category term="Google talk"/><category term="IBM Rational Performance"/><category term="JMeter"/><category term="Java"/><category term="Javascript"/><category term="Keyword view"/><category term="LR compatibility on 64 bit OS"/><category term="Lisp"/><category term="Load Complete"/><category term="Load Controller"/><category term="Load UI"/><category term="Loadrunner 12"/><category term="Loadrunner 9.5"/><category term="Microsoft visual studio team system"/><category term="Object.InnerText method"/><category term="Objective-C"/><category term="Open source"/><category term="PHP"/><category term="Parameterization"/><category term="Performance testing"/><category term="Python"/><category term="QTP Column Format"/><category term="Qucik test professional"/><category term="Record and play"/><category term="Recording"/><category term="Reshma Saujani"/><category term="Ruby"/><category term="Run Error The parametr is incorrect"/><category term="Runtime"/><category term="SaaS"/><category term="Scenario group"/><category term="Security Testing"/><category term="Selinium"/><category term="SmartBear"/><category term="Software Testing"/><category term="Treehouse"/><category term="UI Testing"/><category term="User interfaces"/><category term="VBScripting"/><category term="Validating dates"/><category term="Virtual user Generator"/><category term="Vuser"/><category term="WebLoad"/><category term="WebRadiogroup"/><category term="XSS"/><category term="build-in environment variables"/><category term="correlation"/><category term="cross browser testing"/><category term="descriptive programming"/><category term="desktop application testing"/><category term="environment variables"/><category term="function"/><category term="global sheet"/><category term="iMAcros"/><category term="iOS"/><category term="index"/><category term="local sheet"/><category term="logic"/><category term="nested actions"/><category term="object repositry"/><category term="open Loadrunner analysis results"/><category term="programming"/><category term="protocol"/><category term="random number"/><category term="saas testing"/><category term="software industry"/><category term="testing bot"/><category term="web design"/><title type='text'>Learning and Technology</title><subtitle type='html'>A software Engineer by degree and SQA Engineer by profession. Loves to write on technology, experiences and other useful stuff.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-4340338883625460719</id><published>2021-03-24T15:05:00.003+11:00</published><updated>2021-03-24T15:11:08.143+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI bot testing"/><category scheme="http://www.blogger.com/atom/ns#" term="Chatbot testing"/><category scheme="http://www.blogger.com/atom/ns#" term="testing bot"/><title type='text'>TESTING A CHATBOT</title><content type='html'>&lt;p&gt;&amp;nbsp;“Hey, Google, what is the current temperature right now“- Google Assistant&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;“Hello Siri, can you add cheese in my
shopping list”- Apple Assistant&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;You must have communicated at least once with
either one of the above-listed assistants and that is why I added them in my
today’s sharing session. They serve as an amazing example of a well built and
stable chatbots and every one among us have used them.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;In today’s article, I will be discussing all
about, what are Chat bot’s / automated messenger’s service, how can you test
them and all other parameters associated with handling them from a QAs
perspective. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;A chatbot is the most trending innovation from
2017 and progressing. I have tested some of the top companies offering these
services like Zendesk, LivePerson, Slackbot, Facebook bots, and others. If
you haven’t got the opportunity to explore this industry, allow me to share the
experiences.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span lang=&quot;EN-AU&quot;&gt;What is a chatbot&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;A conversational interface, computer
program mimicking as a user using the artificial intelligence technology. In a
simpler way, a virtual assistant engages the user by helping him gain any
information or perform any task.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;They usually reside within social media
platform, messaging platform and do much more than just communicating (details a
head.) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Types of chatbot&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;There are two types of chatbots:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;A Rule-based&lt;/b&gt;, pre-programmed, or scripted one which works on defined rules, triggers and flows, and takes actions on the basis of selected commands.&lt;/li&gt;&lt;li&gt;&lt;b&gt;An AI-based;&lt;/b&gt; which works by interpreting user verbal commands, speech, or graphical selection. These type of bots doesn’t restrict user input. It keeps getting smarter by learning previous conversations/selections.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l3 level1 lfo6; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;/p&gt;&lt;h2&gt;&lt;span lang=&quot;EN-AU&quot;&gt;How to test a chatbot&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;There can be three simple ways to test any
application:&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;How it performs in an expected scenario.&lt;/li&gt;&lt;li&gt;How it performs under possible scenarios&lt;/li&gt;&lt;li&gt;How it performs in impossible scenarios.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;Your bot design / UX is the most critical
aspect in making the bot successful. A smarter and engaging bot is the one who
understands customer’s requests and responds promptly. They can be used in many
ways depending upon the industry for which they are built for. Following are
the areas which must be dealt with while testing:&lt;/p&gt;

&lt;h3&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Onboarding process &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Starting on with the very first step is the
onboarding process or the process where the human will engage himself with the
chatbot. Two methods are used to start the onboarding process&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: 0.75in; mso-add-space: auto; mso-list: l2 level1 lfo1; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;1.&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;A pre-sign-up form&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: 0.75in; mso-add-space: auto; mso-list: l2 level1 lfo1; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;2.&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Engage user automatically&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;A pre-sign-up form is a form in where
customer provide some basic information like the name, Email ID, Phone number or
a message etc., the information is taken in pre-sign up form varies, as it depends
solely on the website owner. As soon as the user submits this information, they are
directed to the chat window where customer support personnel communicate with them
or they will be queued and receive an automated message.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;/p&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/AVvXsEiiV1y2nNmjaKzFD9Fz1dRtIGqXc9nhhWo7OvTbHW1lJBdK063K5764cpPHhUlnPVB7zYIJDojOhnqIrED03RzV_U3_Xk2dwMTtUaGP9oXac6my8ggB3lauKfKUy0_cE8npjm3Xr6Hz83br/s274/Pre+sign+up+form.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Pre signup form&quot; border=&quot;0&quot; data-original-height=&quot;274&quot; data-original-width=&quot;209&quot; height=&quot;358&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiV1y2nNmjaKzFD9Fz1dRtIGqXc9nhhWo7OvTbHW1lJBdK063K5764cpPHhUlnPVB7zYIJDojOhnqIrED03RzV_U3_Xk2dwMTtUaGP9oXac6my8ggB3lauKfKUy0_cE8npjm3Xr6Hz83br/w273-h358/Pre+sign+up+form.png&quot; title=&quot;The above image shows a pre-sign-up form.&quot; width=&quot;273&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;The above image shows a pre-sign-up form.&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;The other option is smarter, a user does not input
any information and he is automatically engaged with a greeting and available
services of the bot.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&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/AVvXsEg7dLrYHTHBbfhkmdD_Nuozx7EdpCocQ0Tsh7DP7fE3a5DMKFH5wag4YUgceYEADglVw4-VS876gShx4pVAN_Xk8w5-SqITkshUpkHqa6VcSS_-BCD58zilmmkmr6ZIEY3tcmowQq5KhHEO/s310/Autoengage+bot.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;310&quot; data-original-width=&quot;239&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7dLrYHTHBbfhkmdD_Nuozx7EdpCocQ0Tsh7DP7fE3a5DMKFH5wag4YUgceYEADglVw4-VS876gShx4pVAN_Xk8w5-SqITkshUpkHqa6VcSS_-BCD58zilmmkmr6ZIEY3tcmowQq5KhHEO/s0/Autoengage+bot.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;The above image shows an auto engage bot.&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Being a tester, you should ensure the
customer/visitor is served with a friendly greeting. If the customer arrives by
filling the pre-sign-up form, all their information is saved and passed to the
correct variables. Also, in place of ‘visitor name,’ the name provided by him
should be displayed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;For the engaging method, if the visitor
provides the information after being in chat then all the information should be
updated to relevant variables and must be retained.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&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/AVvXsEieWzoBnjuFbYS3C2G_fwbcC8z2W7vWUkC_nb0JIUXZUOd5dNluqPB3tEzFLTMEZLI4axHHDSkewKtv8XzKSDAohyphenhyphenEunJyGz4t8R3zbKv7KArpRUGhyCqj6m8eCC5MW4U8mzRztQH2wjlt7/s524/Slackbot.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;350&quot; data-original-width=&quot;524&quot; height=&quot;242&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieWzoBnjuFbYS3C2G_fwbcC8z2W7vWUkC_nb0JIUXZUOd5dNluqPB3tEzFLTMEZLI4axHHDSkewKtv8XzKSDAohyphenhyphenEunJyGz4t8R3zbKv7KArpRUGhyCqj6m8eCC5MW4U8mzRztQH2wjlt7/w361-h242/Slackbot.png&quot; width=&quot;361&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;Above
image shows the onboarding process by the slack bot&lt;/p&gt;

&lt;h2&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Handling alternative responses&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;In this step, you need to test the bot with
variety of alternate expressions and determine whether it yields different
answer or understands the alternate words like if the bot says hello, respond
by Hi, Hey, What sup, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;You can throw these words randomly during a
conversation and see whether it understands and maintains the flow or breaks
up.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&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/AVvXsEhpiYLOT1RA2ccSenlbOR0VCzu__4PpWKSAqS5e_6ZUD1n6eqMD5YY7TzgoC6Aqu2EOiiOZP8OV0HQvL4LjX942rWIDkj6cnoaB2kjSTlRA9YqOugpJPwQRth2VGaT7wkoeFOPZdY1S4zAq/s452/response+in+chat.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;452&quot; data-original-width=&quot;297&quot; height=&quot;384&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpiYLOT1RA2ccSenlbOR0VCzu__4PpWKSAqS5e_6ZUD1n6eqMD5YY7TzgoC6Aqu2EOiiOZP8OV0HQvL4LjX942rWIDkj6cnoaB2kjSTlRA9YqOugpJPwQRth2VGaT7wkoeFOPZdY1S4zAq/w252-h384/response+in+chat.png&quot; width=&quot;252&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;The above image shows the different response to alternate expressions&lt;/p&gt;

&lt;h3&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Allow suggested sentence/templates&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Providing a user with some general templates
helps in better engagement. This helps the user in understanding how the bot works and
that his query is actually going to be answered professionally / seriously and they
are not talking with just a robot. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;For example, if a user puts up a question
about ordering something, your bot should be clever enough to interpret their
command and show them the available options. If the user is browsing an
eCommerce website, the options can be; what do you want to order? Clothes,
Electronics, Home decoration, Furniture, Garden, etc. On selecting any of the
options, the user should be given more personalized choices like, if the user
selected clothing, they should be asked questions like Men clothing, women&#39;s
clothing, Baby Clothing, etc. This would help users interact with your site in a friendlier
manner, thus resulting in a better understanding user experience.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&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/AVvXsEi-QwpioxHSYXZmrM3qIpLOstLJgjnf5GxjRJVFK0DiqafLcYGmtO0DHG_csAlRe_KClsNw8xJPEvau89JqXOm8If8_aKFXDnZDRerf1LyWTdJxnoF68YFmOkrMpSr3Jof-QmxMmP2LiSY-/s457/bot+engaged+by+usere.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;392&quot; data-original-width=&quot;457&quot; height=&quot;312&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-QwpioxHSYXZmrM3qIpLOstLJgjnf5GxjRJVFK0DiqafLcYGmtO0DHG_csAlRe_KClsNw8xJPEvau89JqXOm8If8_aKFXDnZDRerf1LyWTdJxnoF68YFmOkrMpSr3Jof-QmxMmP2LiSY-/w365-h312/bot+engaged+by+usere.png&quot; width=&quot;365&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;Above
pictures show an example of a bot engaging the user by providing options.&lt;/p&gt;

&lt;h3&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Concise specific conversation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;One important factor you need to know is
that the chatbot is not a human and it cannot interpret long paragraphs like a human does. Make sure the sentences are short and concise. Allow users to type
within a specified number of words. Also, make sure if a large text/paragraph is
entered by the user, the bot handles it nicely. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&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/AVvXsEiovJQTbx8XiNXnAqijGpckPhQORArEnNfxpyMWMGA3ngP1-BG8pMP7b4FLpa-jqMySzuNk92aeHK68F3cFOclZ_4sxb6khNYKQP1mFpoKe_Y-p0NaCvRpvZyndNAzkPRXC1jFPndy1LUZU/s397/bot+replying+politely.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;397&quot; data-original-width=&quot;309&quot; height=&quot;359&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiovJQTbx8XiNXnAqijGpckPhQORArEnNfxpyMWMGA3ngP1-BG8pMP7b4FLpa-jqMySzuNk92aeHK68F3cFOclZ_4sxb6khNYKQP1mFpoKe_Y-p0NaCvRpvZyndNAzkPRXC1jFPndy1LUZU/w279-h359/bot+replying+politely.png&quot; width=&quot;279&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;The above picture shows the bot replying politely to user long text input&lt;/p&gt;

&lt;h3&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Ensure navigation is not broken&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;If there are any links provided by the
chatbot and the user clicks on it, make sure on pressing the back button, the user
is redirected to the same chat and not left hanging around or simply open them
in a different tab. All the links should work. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Users often change their minds and intend to
cancel the order or selection. Ensure how the bot is behaving in such a condition
and whether he is able to comprehend such instructions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&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/AVvXsEgj0a4uzcSYIRcg4VJvgUuR8hvH3P_MAHy6mHhgcCm9COCIbnQpoZs9gGkkfv-GeRpzArSqJSw0qUvYAZBpciJ7_TrgpaufDqb6zAehj2Br16SxjSALBEEd5-U8asnzG17GYb2dFVqTwOzt/s397/user+requesting+cancel+order.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;199&quot; data-original-width=&quot;397&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj0a4uzcSYIRcg4VJvgUuR8hvH3P_MAHy6mHhgcCm9COCIbnQpoZs9gGkkfv-GeRpzArSqJSw0qUvYAZBpciJ7_TrgpaufDqb6zAehj2Br16SxjSALBEEd5-U8asnzG17GYb2dFVqTwOzt/s320/user+requesting+cancel+order.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;Above
image shows the user requesting to cancel the placed order.&lt;/p&gt;

&lt;h3&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Include feedback options&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;After ending any chat session with the bot
or answering the request successfully the chatbot should present the customer
with the feedback option. It not only helps to improve the bot capabilities but
also in finding out user satisfaction rate. If there is a message field in the feedback,
make sure to test the feedback option with both single line and multiline
input. Once the feedback is submitted, make sure a thank you note is displayed
to the user.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;&lt;span style=&quot;mso-tab-count: 1;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&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/AVvXsEgipgPx_iLCoUwnvODtv34vnIvGVxIZCyTVeNE08WZi9Twv-AMsSaHjh020HhIBNsXPIf8dWY1yFgtz6FiP7Nh2snroM-NFma-QQDaQflb2H7PAQNKrf-G0bffZMMn9uKIS58uLu1MyXBiz/s376/feedback+option.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;145&quot; data-original-width=&quot;376&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgipgPx_iLCoUwnvODtv34vnIvGVxIZCyTVeNE08WZi9Twv-AMsSaHjh020HhIBNsXPIf8dWY1yFgtz6FiP7Nh2snroM-NFma-QQDaQflb2H7PAQNKrf-G0bffZMMn9uKIS58uLu1MyXBiz/s320/feedback+option.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;p&gt;&lt;/p&gt;

&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Above
image shows the feedback options.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Context of conversation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;The bot should be smart enough to derive
conversation on the basis of user input and should not ask obvious questions.
For example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;User:
Hey, bot book a flight to Sydney.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Bot:
Sure, What date should I select to book the flight?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;User:
Lorem ipsum dolor strawberries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Bot:
&amp;lt;No response&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;The above example shows the bot is not
intelligent enough to interpret user response. You can always make him smarter
by implementing more options like below:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Bot:
I don’t get that, do you want me to book the flight for Tomorrow, Next Week or Next
month&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;User:
Next Week&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Bot:
Which day of the week would you prefer Sunday, Monday, and Tuesday and so on…&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;User:
Wednesday&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Bot:
Thank you, I have booked your flight to Sydney for coming Wednesday.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;The above approach uses a smarter way to
keep the user engaged and provide him meaningful information. Make sure to test
the bot by providing each set of random and complete information and verify how
it responds.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Remembering user information&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;If the user has filled up a pre-sign-up form,
then the information should be saved and retained. There can be multiple cases
on verifying whether the information is saved or not&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l4 level1 lfo2; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;a)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Fill in a pre-chat form, talk, and
leave a chat. After the chat has ended, there is a reconnect or re-chat option.
Click on that button and chat again, see if the user name and other data is
retained on reconnecting the chat or not&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l4 level1 lfo2; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;b)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;In an automated engaging chat,
provide the user information later. When the bot asks you for it. Check whether
the information is saved correctly or not and repeat the above-listed case a.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l4 level1 lfo2; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;c)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Once the user has ended the chat,
close the tab in which the chat application was opened, after few minutes
reopen the same application and chat again. Check if the visitor is treated as
a ‘returning’ user. In this case, you should also check if the bot/messenger
is smart enough to send you a ‘Welcome back’ greeting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l4 level1 lfo2; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;d)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Another cause can be closing the
tab and clearing the history of your browser. After this is done, reopen the
chatbot application and chat. In this case, the user should be treated as a new
user. However, if the user provides the same pre-sign-up information, it should
be validated against the user database to give them a more personalized
experience.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Multi-lingual support&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;If you are to provide multilingual support,
you need to verify multiple languages. The first step is detecting the user’s
country information automatically and sending a greeting in their respective
language. Your job being a tester is to access the application from multiple
locations, regions and see whether the correct country and the greetings are
detected or not. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;If the user wishes to get answered in
English and not in the native language, then the chatbot should be intelligent
enough to analyze the response and send a reply in English and not in the same
country language. On the other hand, if the user replies in a specific language
the service should reply in the same. Verify all the communication is smooth
and not mixed up.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Also, user can use mixed languages, make
sure to verify that the bot serves them appropriately.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&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/AVvXsEguJmNivylgZt2TO3W3Rq8CrZYYRSo61lNb7XadDAaeOG6UD4bAFGHOeomwNV0kIimag-awy1gLBA6N2iKiiK1dByk1jXds-G_SHjp-HAPxuSi5X2wVLCxbYliUt3sQnz4-giyasyF_n0qy/s477/user+using+mix+language.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;403&quot; data-original-width=&quot;477&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguJmNivylgZt2TO3W3Rq8CrZYYRSo61lNb7XadDAaeOG6UD4bAFGHOeomwNV0kIimag-awy1gLBA6N2iKiiK1dByk1jXds-G_SHjp-HAPxuSi5X2wVLCxbYliUt3sQnz4-giyasyF_n0qy/w380-h320/user+using+mix+language.png&quot; width=&quot;380&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;The above picture gives an example of a user using a mixed language and the bot
replying him appropriately&lt;/p&gt;

&lt;h3&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Handling inappropriate bad/input&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;You can have users from any part of the
world, some of them can be in a bad mood and can use inappropriate language.
The chatbot should be smart enough to identify a bad word and should have the
capability to handle unexpected inputs and reply in a positive or a generic response
like ‘Sorry I am unable to understand you this time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Handling images&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;If you intend to provide file sharing
option with your bot/messenger service, you need to validate all the allowed
file types and the maximum size. Being a tester, you should verify whether the
image is getting received successfully at the back end and how is it being
processed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Also, now the bots are intelligent enough to allow chatting in graphical interfaces or widgets like WeChat, Facebook
Messenger and Kik. For example, in Facebook messenger, if someone wishes you a
happy birthday, then you automatically see thank you images while sending a
response. So, you need to verify whether your bot can interpret speech and show
you relevant emoticons or if you have used predefined images/stamps / icons
you are able to respond in that way.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&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/AVvXsEjjUOdZUYbYP9y0nPmG2gDeaSX1RTn4gNKIxhFQpreiO65EMlDNdgKVRzIk4jlBonZXAxKCU0-YobQyleoMSBaI5NdpFMnAYf259x9BKv59pT0Orw-vTp9kqU0xRZXtJBiYDUcqhvFmU71I/s395/graphical+widgets+in+chat.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;311&quot; data-original-width=&quot;395&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjUOdZUYbYP9y0nPmG2gDeaSX1RTn4gNKIxhFQpreiO65EMlDNdgKVRzIk4jlBonZXAxKCU0-YobQyleoMSBaI5NdpFMnAYf259x9BKv59pT0Orw-vTp9kqU0xRZXtJBiYDUcqhvFmU71I/s320/graphical+widgets+in+chat.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;The above image shows relevant graphical widgets based on user input&lt;/p&gt;

&lt;h3&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Ability to answer in offline mode / non-business hours&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;One of the key features of your chatbot is
it can be customized, so if your business works on specific days or timings you
need to set up an offline mode response. Make sure the user is shown an offline
form or an automated response if they try to engage the bot in the non-trading
hours. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;The message can be customizable like “Sorry
we are unavailable right now. You can check our operating timings &lt;u&gt;here”&lt;/u&gt;.
Make sure the link is working and upon clicking, the user is directed to the
working days and hours frame. Also, there should be a back or close button.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Beta release&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Before going live with your newly developed
bot, the last step is to push them towards the wider audiences i.e. beta
release it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;You must have tested with all the possible
scenarios you can think of and the bot must be working as planned but releasing
it to a different set of people lets you explore different behavior of your
application. Everyone has their own way of communicating and using a program.
The bot will be tested with unexpected and variety of input that could have
been missed. There can be situations where the bot stops responding to specific
input, or you can get a report on how the bot treats the different set of
instructions. You can always educate the bot and make it smarter and competent
enough to cater to all sorts of input and audience.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Meanwhile, you can also use the following
platforms, tools to beta test your bot. Click &lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;a href=&quot;https://chatbotsmagazine.com/15-tools-you-can-use-to-beta-test-your-chatbot-5a0723c7f4b2&quot;&gt;here&lt;/a&gt;&lt;/span&gt;
to see more:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;&lt;a href=&quot;https://engage.liveperson.com/usage/bots/&quot;&gt;Live Person&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-AU&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;&lt;a href=&quot;https://www.ibm.com/watson/how-to-build-a-chatbot/&quot;&gt;IBM Watson&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-AU&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;&lt;a href=&quot;https://betafamily.com/&quot;&gt;Beta Family&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-AU&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;&lt;a href=&quot;https://www.gupshup.io/developer/gupshupproxybot&quot;&gt;Gupshop Proxy Bot&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-AU&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;&lt;a href=&quot;http://betatestershub.com/?ref=producthunt&quot;&gt;Beta Testers Hub&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-AU&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Areas to be considered&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;While we have discussed what things should
be verified in the bots, there are some areas which must be complied for a
successful chatbot.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: 1in; mso-add-space: auto; mso-list: l1 level1 lfo4; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;a)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Performance testing – The response
time has to be prompt, a user does not like long waiting. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; mso-add-space: auto; mso-list: l1 level1 lfo4; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;b)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Security testing – as the conversation is taking place inside a messaging platform, it has access to user-sensitive data. Ensure there is a controlled mechanism to secure data and
spoofed messages. Ensure by passing a script or vulnerable piece of code and
see how the bot reacts.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: 1in; mso-add-space: auto; mso-list: l1 level1 lfo4; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;c)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Adherence to compliance – if
the bot is made for a specific industry then it should adhere to the compliance.
For example, a bot aiding disabled people should comply with the 508 compliance,
make sure all industry standards are met and none of them are compromised. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Advantages of using chatbots&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Following are some of the advantages of
having a chatbot.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l5 level1 lfo3; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;a)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Cost-effective way for
businesses to connect with potential customers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l5 level1 lfo3; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;b)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Chatbots can be available 24/7.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l5 level1 lfo3; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;c)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Chatbots are scalable, they can
have a simultaneous conversation with multiple or hundreds of users. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l5 level1 lfo3; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;d)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;They can outperform in terms of
speed and accuracy.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l5 level1 lfo3; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;e)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Bots eliminate the need of
long waiting/holding time on the calls.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l5 level1 lfo3; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;f)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;One-time investment helps
organizations save money by minimizing the required staff.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l5 level1 lfo3; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-AU&quot; style=&quot;mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;g)&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Always treat the customer in a polite way thus increasing customer satisfaction to 100%.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&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/AVvXsEj42jy_M-8UsFKLXTprwNnWNY1-axJzkpHCT_nMkcH-WyB3aIebyWn9n5D6JCvSXFbRkHjYDoUiAgfhjlAF5MIv2Nhcy4Sdz_oC4s3LSYg58mKYPZJwCTlrra6eiMObFQZF2s0YMTzRaahx/s538/potential+benefits.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;299&quot; data-original-width=&quot;538&quot; height=&quot;235&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj42jy_M-8UsFKLXTprwNnWNY1-axJzkpHCT_nMkcH-WyB3aIebyWn9n5D6JCvSXFbRkHjYDoUiAgfhjlAF5MIv2Nhcy4Sdz_oC4s3LSYg58mKYPZJwCTlrra6eiMObFQZF2s0YMTzRaahx/w423-h235/potential+benefits.png&quot; width=&quot;423&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;h2&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Conclusion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;With continuous advancements to machine learning,
natural language processing (NLP), AI, speech recognition chatbots will provide
a new and effective form of communication between the brand and consumer and
will continue to learn and excel in all industry sectors.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;A survey conducted with over 300
participants from a wide variety of industries showed that 96% of businesses
believe that chatbots are here to stay and 67% believe that chatbots will
outperform mobile apps in the next 5 years. In addition, 75% of participants
were planning to build a chatbot for their business in 2017.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&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/AVvXsEjlvKMcQD6UIdYsq2sRvTzRGuFfzJlGv1dvfdK5Yer0-AGOUuH1A9oLb9H-Md1ZBUVNM2X62x0fSm2qeigGshZkfFJubb7n1kgwIQmRJ0OP8-gCZaeB5icmQLHB0-2Zag5qU-0QZ3pIMGEo/s374/factors.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;192&quot; data-original-width=&quot;374&quot; height=&quot;203&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlvKMcQD6UIdYsq2sRvTzRGuFfzJlGv1dvfdK5Yer0-AGOUuH1A9oLb9H-Md1ZBUVNM2X62x0fSm2qeigGshZkfFJubb7n1kgwIQmRJ0OP8-gCZaeB5icmQLHB0-2Zag5qU-0QZ3pIMGEo/w395-h203/factors.png&quot; width=&quot;395&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-AU&quot;&gt;Feel free to share your experience and
adding any other interesting factors which I missed out in the comments section
below.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/4340338883625460719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2021/03/testing-chatbot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/4340338883625460719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/4340338883625460719'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2021/03/testing-chatbot.html' title='TESTING A CHATBOT'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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/AVvXsEiiV1y2nNmjaKzFD9Fz1dRtIGqXc9nhhWo7OvTbHW1lJBdK063K5764cpPHhUlnPVB7zYIJDojOhnqIrED03RzV_U3_Xk2dwMTtUaGP9oXac6my8ggB3lauKfKUy0_cE8npjm3Xr6Hz83br/s72-w273-h358-c/Pre+sign+up+form.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-4615554824433852286</id><published>2021-02-04T16:17:00.001+11:00</published><updated>2021-03-05T13:28:13.682+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SaaS"/><category scheme="http://www.blogger.com/atom/ns#" term="saas testing"/><title type='text'>Complete guide to cloud based SAAS application and how to test them</title><content type='html'>&lt;p style=&quot;text-align: left;&quot;&gt;We use online services on a daily basis. It can be as small as sending an MMS, reading an email, listening to music, playing a game, etc. All these online services are possible because of cloud computing services.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Today’s topic is all about knowing SaaS applications and how we can test these types of applications. But before learning about SaaS applications, we need to know what cloud computing is. Let’s get started.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;What is a cloud service?&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Cloud service or cloud computing means all the services i.e. the servers, storage, databases, network, application, reporting, etc. of an application are hosted over the internet.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;The companies which offer cloud computing are referred to as cloud providers.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;What can be done by Cloud computing?&lt;/h3&gt;&lt;p&gt;Following tasks can be accomplished via cloud computing:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Create new apps &amp;amp; services&lt;/li&gt;&lt;li&gt;Store/back up data&lt;/li&gt;&lt;li&gt;In case of disaster, recovering the data&lt;/li&gt;&lt;li&gt;Deploy applications&lt;/li&gt;&lt;li&gt;Video , audio streaming&lt;/li&gt;&lt;li&gt;Analyze data&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Type of Cloud Computing services&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;There are 3 types of cloud services available.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Infrastructure as a service (IaaS),&lt;/li&gt;&lt;li&gt;Platform as a service (PaaS)&lt;/li&gt;&lt;li&gt;Software as a service (SaaS).&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Out of these three, a software as a service (SAAS) model is the most talked about.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;What is a SaaS application?&lt;/h2&gt;&lt;p&gt;In simple terms, any application that is hosted centrally over the internet (as a service) is a SaaS application. A third party usually hosts the application and thus consumers can access them easily via their web browsers which they might be running either on a computer, Mobile, or any device that’s connected through the internet.&lt;/p&gt;&lt;p&gt;SaaS customers really like these sort of applications as they don’t need to buy expensive hardware or software for buying, installing, maintaining or upgrading the application. Also, there are no worries about data loss since the application is hosted on the cloud.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;How SaaS model helped business vendors?&lt;/h3&gt;&lt;p&gt;Before SaaS applications existed, most of the applications were hosted on a client-server infrastructure or at the client / customer end. If the application needed to be upgraded, it would be upgraded on all the servers where the software was already present.&lt;/p&gt;&lt;p&gt;SaaS eliminates the installation cost and made everything centralized. The need for additional hardware is also reduced as all infrastructure is managed by the SaaS service provider.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;How can SaaS applications be accessed?&lt;/h3&gt;&lt;p&gt;The SaaS applications are provided using a SaaS application server.&lt;/p&gt;&lt;p&gt;SaaS services are offered on a monthly subscription package by the provider. They are also known as an application on-demand, when you will request the connection will be established.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Testing SaaS application&lt;/h3&gt;&lt;p&gt;A SaaS application testing demands functional, non-functional, and multi-tenancy testing with additional cloud infrastructure testing using the cloud components. The core multi-tenancy components are application, infrastructure, and network.&lt;/p&gt;&lt;p&gt;In addition to this, user experience and customer experience both need to be tested. By this, I mean testing the ease of access towards the consistency of the application. Ease of access will be, a user able to successfully navigate within the application. Consistency will be a user successfully completing a transaction.&lt;/p&gt;&lt;p&gt;SaaS application testing is more complex and harder than the traditional testing approach as continuous rigorous testing cycles are performed.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;How Agile methods benefits in SaaS testing&lt;/h3&gt;&lt;p&gt;In order to achieve fast results, the agile testing methodology is used in SaaS applications which means the use of automated scripts is a must. For regression testing, you can choose and create test scripts that will validate and verify the data on frequent deployments.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Challenges for QA&lt;/h3&gt;&lt;p&gt;There are various challenges that should be addressed during testing as one change might be affecting hundreds or even thousands of users that will be using the application.&lt;/p&gt;&lt;p&gt;Following challenges are faced by the QA teams while testing a SaaS application&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;1. Frequent Release deployment&lt;/h4&gt;&lt;p&gt;This is a very complicated challenge as users from anywhere in the world might be using the application in any time frame.&lt;/p&gt;&lt;p&gt;To cater to this requirement being a tester you need to use automated test scripts so you don’t have to entirely test the application manually.&lt;/p&gt;&lt;p&gt;Prior release deployment it’s always best to inform the user’s that the system will undergo a maintenance upgrade and you might feel some inconvenience. Or you can totally make the application offline for defined hours and after full upgrade and stability checking, make it online. The second option is no recommended and an application must never go offline.&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;2. Security testing&lt;/h4&gt;&lt;p&gt;Security monitoring is one of the major concerns organizations feel uncomfortable with while opting for cloud computing. As the entire data will be hosted on a third-party data center. The security of a SaaS app is very much affected by the deployment model which can be:&lt;/p&gt;&lt;p&gt;Public cloud, a private cloud, a hybrid cloud, and a Community cloud&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;The first step in security monitoring is adopting a risk-based cloud model which will help in identifying the most appropriate model.&lt;/li&gt;&lt;li&gt;The second step is to negotiate with your provider to implement security audits, security certification, leverage standards&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Being a tester you need to make sure the application has strong algorithms implemented for user authorization and each transaction is fully encrypted.&lt;/p&gt;&lt;p&gt;A simple example will be checking the view source of the web page, search for the username and password fields. Is it encrypted? Or it’s shown in plain English. If the application has different roles, check each user is shown the assigned privilege, and the access rights are not crossed within the users.&lt;/p&gt;&lt;p&gt;Test for typical web application security attacks like SQL injection, HTTP header injection, cross-site scripting.&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;3. Network Security testing&lt;/h4&gt;&lt;p&gt;All data over the network needs to be secured. Test, whether strong encryption is applied on the connectivity protocol i.e. SSL (secure socket layer) and TLS (transport layer security), is applied over the network and no sensitive information is breached. Test for MITM (man-in-the-middle attack), phishing, and packet sniffing attacks.&lt;/p&gt;&lt;p&gt;Firewalls and antivirus can be installed to fight against any unwanted security threats, spyware, and malware. If a firewall is applied, you need to make sure that packets are not getting dropped or lost by being blocked by the firewall.&lt;/p&gt;&lt;p&gt;All these need to be tested on the network layer, you can take the help of a network engineer and diagnose all the breaches.&lt;/p&gt;&lt;p&gt;Use automated tools like Acunetix , Wireshark, Nessus, John in Ripper, OpenVas, OpenSSH and so many others which can help you scan all sorts of vulnerabilities.&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;4. Integration testing&lt;/h4&gt;&lt;p&gt;Whenever the new modules are integrated with the previous modules, an entire integration testing is required to be executed. You need to think out of the box and perform boundary value analysis to identify each existing and new modules are stable.&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;5. Data migration testing&lt;/h4&gt;&lt;p&gt;If your cloud provider is changed from provider 1 to provider 2 for whatever reasons you have to test data migration activity. Being a tester you have to identify all the URLs are correctly mapped and the users are not shown 403, 405, or 404 redirection errors. Once the new feature is rolled out it&#39;s time to migrate the old data to the updated infrastructure.&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;6. Performance, Load, Stress testing&lt;/h4&gt;&lt;p&gt;This is the backbone of SaaS applications and needs extensive testing. Being a tester you need to make sure the application behaves and performs the same on multiple devices and a large number of users.&lt;/p&gt;&lt;p&gt;First, test the application front end / client side end and optimize as much as you can. There are many online tools available to optimize the application for example GTMETRIX.com, ySlow, etc. which analyzes your website and suggests all the errors and how they can be fixed.&lt;/p&gt;&lt;p&gt;After the application layer performance is optimized you need to make sure the back end does not have any memory leaks, open database connections, etc. For this, you can load test the application using the available load testing tools. For example LoadRunner. This tool provides the most powerful reporting and diagnostics and has the most user-friendly environment / IDE.&lt;/p&gt;&lt;p&gt;Afterload test is passed, stress test your application i.e. pass additional load then the application&lt;/p&gt;&lt;p&gt;can bear and analyze how it is responding.&lt;/p&gt;&lt;p&gt;Once you are done with load and stress testing, you need to volume test your application. By that I mean you need to pass extra load towards your database. It will help analyze your application request processing time and stability on system degradation. Test if the data is getting stored on&lt;/p&gt;&lt;p&gt;high volume and is not over-written or the referential integrity is not disturbed. Test the error messages and warning information is shown once a heavy load is a pro&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;7. Privacy testing&lt;/h4&gt;&lt;p&gt;The data privacy policy for each country varies and each country follows its own regulations, if the application is hosted on a different countries cloud, you need to make sure the data integrity is not compromised. For these standards are made, make sure all the standards for the defined country are followed.&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;8. Interoperability testing&lt;/h4&gt;&lt;p&gt;Every SaaS application must operate seamlessly in any type of environment. May the user be from a mobile device, a windows machine, a MAC machine, a Linux machine, or from any browser. You need to make sure that each component can communicate with another device without any compatibility issues.&lt;/p&gt;&lt;p&gt;Being a tester you have to verify on each device, machine which seems to be quite impossible. For this, you can use many automated testing tools.&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;9. Backup&lt;/h4&gt;&lt;p&gt;Due to frequent release deployments backing up of data becomes a necessity. For this cause, we need to make sure versioning is done and a copy is placed on a separate server so you can always roll back to the previous version, a stable state in case of application flows break down.&lt;/p&gt;&lt;p&gt;A cloud to cloud backup solution is provided by the SaaS provider. You can also be in contact with a backup provider who can suggest you more ways to restore and backup data.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;How to overcome SaaS apps testing challenges&lt;/h3&gt;&lt;p&gt;For the continuous release upgrades, automated test scripts can be written and used as regression.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Test the most used functionality, area of the application for e.g. composing an email will be less likely in comparison with reading an email. You can test whether all the simultaneous users are able to retrieve data from their email inbox or not.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Prepare a testing plan so it can be followed in each iteration and none of the requirements are missed out after the upgrade. The complete scope should be mentioned.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Define performance benchmark. It will benefit the team to stabilize the application at least on the listed number of users.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Top is known SaaS apps&lt;/h3&gt;&lt;p&gt;Let’s have a look at the existing top SaaS applications. I am sure you must have used at least one of the following:&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Google Apps :&lt;/b&gt; I can guarantee all of you must have used at least one service from Google whether it’s your email account, Google maps, Google hangout, downloading applications from the play store, or any other. We have been using Google for a long time. All the apps offered by Google are the best example of a SaaS application. You can use these applications on the go, the data is auto backup. You can also save the data and use it offline. If you accidentally lose your android device, all the data is synced up and can be easily restored with a single click.&lt;/div&gt;&lt;p&gt;&lt;b&gt;Microsoft Office 365 :&lt;/b&gt; As Microsoft state, this particular suite is built to help you achieve more. MS Office 365 is the go solution. Whether you are in your office or outside anywhere you can share, edit, and create your files from your PC, MAC, Android, iOS, or Windows device with anyone in real-time.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Zendesk:&lt;/b&gt; Zendesk is a customer service platform. It helps by providing the organizations create a relationship to support and manage their clientele. One of the biggest features is the ticketing system and the chat application.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Dropbox:&lt;/b&gt; Dropbox provides you free storage and brings all your files together in one place. You can add any type of file and share it with users across the globe. It provides an automated sync feature too keeping all your data safe and usable from anywhere.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Slack: &lt;/b&gt;Slack is a digital workspace used to communicate with each other. In easy words, it’s a mixture of Skype and team foundation (well that’s my personal opinion, yours may vary).&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Cloud-based automated testing tools.&amp;nbsp;&lt;/h3&gt;&lt;p&gt;As we have automated testing test tools for functional testing, UI testing, performance testing, etc., there are special cloud-based SaaS applications testing tools too. Cloud-based automated testing tools are considered far productive than automated tools. Let’s see how?&lt;/p&gt;&lt;p&gt;&lt;b&gt;Cost-effective –&lt;/b&gt; We don’t need to buy expensive per seat licenses hence decreasing the capital investment. It does not require additional hardware so hardware cost is minimized too.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Quick Testing –&lt;/b&gt; We don’t need to invest more time in installing and configuration of the tool. The cloud-based tools are easily deployed and accessible anywhere from the world.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Test collaboration – &lt;/b&gt;as everything is on the cloud, you can easily collaborate with the geo-located teams. The test results, report everything is accessible from anywhere so you don’t have to put in the effort of uploading them on a location and sharing.&lt;/p&gt;&lt;p&gt;In comparison with the availability of open-source automated testing tools, SaaS automated testing tools are less. You have to use a paid tool.&lt;/p&gt;&lt;p&gt;A few of the automated SaaS testing tools are:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;PractiTest&lt;/li&gt;&lt;li&gt;TestingWhiz&lt;/li&gt;&lt;li&gt;PushToTest&lt;/li&gt;&lt;li&gt;SOASTA&lt;/li&gt;&lt;li&gt;Cloud testing&lt;/li&gt;&lt;li&gt;uTest&lt;/li&gt;&lt;li&gt;QMetry&lt;/li&gt;&lt;li&gt;CloudQA&lt;/li&gt;&lt;li&gt;Google Analytics&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Disadvantages of using SaaS&lt;/h3&gt;&lt;p&gt;While we have discussed so many advantages of using this workflow above, there are risks associated with it too. Let’s discuss the disadvantages or the options that can’t be tested in a SaaS application.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;White box testing is not possible.&lt;/li&gt;&lt;li&gt;Verification of test results will be limited to the front end only.&lt;/li&gt;&lt;li&gt;Limited database access rights are provided.&lt;/li&gt;&lt;li&gt;A problem in identifying whether it’s a code defect or a configuration defect.&lt;/li&gt;&lt;li&gt;No or little control over the scheduling of jobs.&lt;/li&gt;&lt;li&gt;The communication gap between the testing team and the service provider.&lt;/li&gt;&lt;li&gt;Open compliance and standardization issues.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Conclusion&lt;/h3&gt;&lt;p&gt;Concluding today’s topic, SaaS applications usage is trending day by day. Many businesses are opting for it to enhance collaboration, scalability, availability, and agility opportunities. This directly affects the existing QA teams as an extra responsibility to assure quality in terms of user experience and platform both are required.&lt;/p&gt;&lt;p&gt;We being a tester should never stop learning and should explore all the new ways to manage, test, and break the applications.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/4615554824433852286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2021/02/complete-guide-to-cloud-based-saas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/4615554824433852286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/4615554824433852286'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2021/02/complete-guide-to-cloud-based-saas.html' title='Complete guide to cloud based SAAS application and how to test them'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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-7557786290027625450.post-3123900632005109432</id><published>2015-01-29T22:25:00.000+11:00</published><updated>2015-01-29T22:25:27.759+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Analysis Error on 64 bit OS"/><category scheme="http://www.blogger.com/atom/ns#" term="Exception HRESULT : 0x8007000B"/><category scheme="http://www.blogger.com/atom/ns#" term="HP loadrunner"/><category scheme="http://www.blogger.com/atom/ns#" term="load testing"/><category scheme="http://www.blogger.com/atom/ns#" term="Loadrunner 12"/><category scheme="http://www.blogger.com/atom/ns#" term="Loadrunner 9.5"/><category scheme="http://www.blogger.com/atom/ns#" term="LR compatibility on 64 bit OS"/><category scheme="http://www.blogger.com/atom/ns#" term="open Loadrunner analysis results"/><category scheme="http://www.blogger.com/atom/ns#" term="VuGen"/><title type='text'>How to open Loadrunner analysis results on a 64 bit machine</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;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
A lot of you must have been facing issues when your
&lt;b&gt;Loadrunner &lt;/b&gt;software is installed on a 64 bit operating system. Here I am
primarily focusing on loadrunner earlier versions i.e. 9.5 which does not
support 64 bit architecture. The VuGen and Analysis specifically will not be
working at all. If you have successfully passed the load, your results will not be opened and you might experience the following error:&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-kxsCXhbO8HY/VMoYQiPJQZI/AAAAAAAACC8/UKCbaQvJshY/s1600/Analysis%2BError%2Bon%2B64%2Bbit%2BOS.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-kxsCXhbO8HY/VMoYQiPJQZI/AAAAAAAACC8/UKCbaQvJshY/s1600/Analysis%2BError%2Bon%2B64%2Bbit%2BOS.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;LR Analysis Error&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
So after some random googling and experimenting I came
around with a fix. But for that you need to have 2 versions of loadrunner. One
earlier version which you have been using like 9.5 and one latest version i.e
12.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
So lets follow the below steps to open your load test results:&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;First of all create your script in the LR 12 version. &lt;i&gt;(you will not be able to create script in LR 9.5 installed on a 64 bit OS, IE will not be launched.)&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;After the script has been successfully made and replayed, save the script. Copy and place the folder in your 9.5 version system.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Replay the script to be on safe side.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Once all goes good. Pass your desired load in the controller.&lt;i&gt; [Do not forget to check off the option ‘Auto collate results’
in the Results menu.]&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;After your test has been executed, save your scenario. One
important point here is to change the result directory before executing the
controller scenario. I would suggest to save the results ‘res’ folder in the
same folder where your script exists.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Okay moving forward you have saved the
scenarios i.e .lrs file.&lt;/li&gt;
&lt;li&gt;Now you have to copy the folder again to the LR 12 machine.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Open Analysis application in LR 12 machine. Click on New, navigate to the directory where the
script is kept and double click on the res folder. There you go, your results
will be displayed.&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
Well this is the only
fix I found, if you don’t wish to perform these steps you may upgrade to LR 12 &lt;span style=&quot;font-family: Wingdings;&quot;&gt;J&lt;/span&gt; Happy load testing. Let me know if this article solves your problem or if you
have another fix. Keep sharing keep exploring.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/3123900632005109432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2015/01/how-to-open-loadrunner-analysis-results.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/3123900632005109432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/3123900632005109432'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2015/01/how-to-open-loadrunner-analysis-results.html' title='How to open Loadrunner analysis results on a 64 bit machine'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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="http://4.bp.blogspot.com/-kxsCXhbO8HY/VMoYQiPJQZI/AAAAAAAACC8/UKCbaQvJshY/s72-c/Analysis%2BError%2Bon%2B64%2Bbit%2BOS.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-1168311713516422687</id><published>2013-07-02T23:43:00.002+10:00</published><updated>2013-07-02T23:51:46.936+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HP loadrunner"/><category scheme="http://www.blogger.com/atom/ns#" term="Load Controller"/><category scheme="http://www.blogger.com/atom/ns#" term="Scenario group"/><category scheme="http://www.blogger.com/atom/ns#" term="VuGen"/><category scheme="http://www.blogger.com/atom/ns#" term="Vuser"/><title type='text'>LoadRunner Controller</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-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;This is my second post from the HP LoadRunner series. As I discussed earlier, here I will be discussing an overview of &lt;b&gt;LoadRunner Controller&lt;/b&gt;. So before going into detail, let me recap the prerequisites.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Create script – Checked&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Replay Script – Checked&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Updating script if required (Add transaction, Parameterization and Content Check) – Checked&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Runtime settings and Iterations – Checked&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Assuming the script is absolutely fine i.e. error free and ready to be passed on Controller, let us get familiar with the UI first. I will be using LoadRunner 9.5, the screens may vary at your end depending on the version you are using.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;The UI&lt;/b&gt;&lt;br /&gt;The Controller has a Title bar, Menu bar, tool bar and a Status bar. After these we have multiple sections or panes.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu3e-MVhGOkZi0okl4GhwMkA99dpDV6QffzevCeejXy2SEsPxBEF7eicCC0lvFc05TemVeEJzH43bNOj2iJn-04rRBqeApTSs1ea9dx4zaT-68X4-2C2xA8dKu4Euh8xWOybniOfi-nlrg/s1366/Controller.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;329&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu3e-MVhGOkZi0okl4GhwMkA99dpDV6QffzevCeejXy2SEsPxBEF7eicCC0lvFc05TemVeEJzH43bNOj2iJn-04rRBqeApTSs1ea9dx4zaT-68X4-2C2xA8dKu4Euh8xWOybniOfi-nlrg/s640/Controller.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;The first is Scenario Groups pane. We can add multiple scripts or a single script and name them as a Group.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Next is Scenario schedule, here we define how the load will be passed and executed. We have two types of scenario group. Manual Scenario, Goal oriented scenario. Manual scenario is totally controlled by a user i.e. the execution and planning whereas a goal oriented scenario is executed on system defined settings.&amp;nbsp;&lt;/span&gt;&lt;br /&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/AVvXsEhRAUKx_maWQ03Ax1ThyphenhyphenPNlFeywQaH6BAq22YeLND1P-qRbc74O6jSpcb1mIBqj2BUjhfQ-j_9EMpmgDmKh2Iu2y9RDxOK125T5jZczxU1ovLcBVtzj8Q4OFhw1S7iXzObfWGHmB34W-x54/s1366/scenario.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;331&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRAUKx_maWQ03Ax1ThyphenhyphenPNlFeywQaH6BAq22YeLND1P-qRbc74O6jSpcb1mIBqj2BUjhfQ-j_9EMpmgDmKh2Iu2y9RDxOK125T5jZczxU1ovLcBVtzj8Q4OFhw1S7iXzObfWGHmB34W-x54/s640/scenario.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;The controller is divided in two tabs, Design View (displays scenario groups, Vuser configuration, load generators etc) and Run view (displays Vuser execution details and real time monitoring graphs)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;b&gt;Creating new scenario&lt;/b&gt;&lt;br /&gt;&lt;i&gt;Prerequisite:&lt;/i&gt; Script should be made and replayed successfully without any errors.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;Step 1: Open Controller, you will see a Create New scenario pop up by default on opening the Controller. Select scenario type, browse or add the script, and click on Ok button. Update the schedule as per your required scenario.&amp;nbsp;&lt;/span&gt;&lt;br /&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/AVvXsEhRAUKx_maWQ03Ax1ThyphenhyphenPNlFeywQaH6BAq22YeLND1P-qRbc74O6jSpcb1mIBqj2BUjhfQ-j_9EMpmgDmKh2Iu2y9RDxOK125T5jZczxU1ovLcBVtzj8Q4OFhw1S7iXzObfWGHmB34W-x54/s1366/scenario.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;331&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRAUKx_maWQ03Ax1ThyphenhyphenPNlFeywQaH6BAq22YeLND1P-qRbc74O6jSpcb1mIBqj2BUjhfQ-j_9EMpmgDmKh2Iu2y9RDxOK125T5jZczxU1ovLcBVtzj8Q4OFhw1S7iXzObfWGHmB34W-x54/s640/scenario.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Step 2: Now connect the load generator agents. Click on the Load generator agent displayed below the menu bar. Alternatively you can go click on the menu item Scenario &amp;gt; Load Generator. A pop up will be displayed, click on the connect button, or click on Add button to add more agents.&amp;nbsp;&lt;/span&gt;&lt;br /&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/AVvXsEiOtyDDacLefvT7DKRJwwlaPs791FTmCXOa50dFqO-Bnw5oIt8Q4w1jvazu61x5yERvKaq2M2JWyo0Uqkx0qYDIjVp2EdjUOMn6PF8algrXwUxJaQhyphenhyphenOb9_WCuoNRJn4JyB8jBMofoGHAgw/s614/load+generator.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;347&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOtyDDacLefvT7DKRJwwlaPs791FTmCXOa50dFqO-Bnw5oIt8Q4w1jvazu61x5yERvKaq2M2JWyo0Uqkx0qYDIjVp2EdjUOMn6PF8algrXwUxJaQhyphenhyphenOb9_WCuoNRJn4JyB8jBMofoGHAgw/s640/load+generator.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Step 3: Check run time settings. These are the same settings as defined in the previous post over VuGen. Update them as per your requirements.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;Step 4: Execute the scenario. Click on the play icon in the Design view tab or the start scenario button in the run view tab.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;b&gt;Real time monitoring&lt;/b&gt;&lt;br /&gt;While the controller is busy generating load on your application, you can have a real time monitoring of how it is being done. Scenario group pane displays current Vuser state i.e. Down, Pending, Ready, Running etc. Scenario status pane displays transaction / scenario summary.&amp;nbsp;&lt;/span&gt;&lt;br /&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/AVvXsEgAfd5crUmOjWOPbtq5UmWlcK3lzw29j-3J2AEiNg3H4dXv8lP6BftOsk8gLpiJCSO9fWZ0ZfKYdJTNdfu7_QN5ZfdLDjdw4nSUjY4G_IY5jMfmR3rscxFl4jGEx8UBqESD4pL1z5jGDATo/s1364/run+controller.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;329&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAfd5crUmOjWOPbtq5UmWlcK3lzw29j-3J2AEiNg3H4dXv8lP6BftOsk8gLpiJCSO9fWZ0ZfKYdJTNdfu7_QN5ZfdLDjdw4nSUjY4G_IY5jMfmR3rscxFl4jGEx8UBqESD4pL1z5jGDATo/s640/run+controller.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Below these panes are some graphs. You can add any of the required graphs just by dragging the required graph and dropping them on the graphs area.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;You can also view systems performance or windows resources. Right click and select Add measurement. A pop up will be displayed. Click on Add button, provide the name of the load agent, if you are generating load from your own system, write localhost, select the operating system and click on Ok button.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;Click on Vuser button will display Vuser status. To see what actions are being performed by the Vuser, click on the details icon. It will display a pop up same as it gets displayed in the VuGen.&amp;nbsp;&lt;/span&gt;&lt;br /&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/AVvXsEgk5gCHnoWB-gChEj9Na4cHsn5zNFPDUd0e6VjDqW5Q6LFqovZDY-I55x6HvVB_FvqC9023gbxmZmNFcttfdrwcEhFhyft8hHSjF32R6jX8_C69xjPUt7CLPc7ueFv2-m3M43rG-trF2kph/s799/details.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;380&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk5gCHnoWB-gChEj9Na4cHsn5zNFPDUd0e6VjDqW5Q6LFqovZDY-I55x6HvVB_FvqC9023gbxmZmNFcttfdrwcEhFhyft8hHSjF32R6jX8_C69xjPUt7CLPc7ueFv2-m3M43rG-trF2kph/s640/details.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;You can also add more users while a scenario is in progress. Click on the ‘Run/Stop Vuser’ button. Provide number of required users in the # column and click on Run or Init button as per requirements.&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/--GqsgkDo--Y/UdLT9m8dp1I/AAAAAAAAAMQ/t3flmICHVR4/s567/more+vu.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;http://2.bp.blogspot.com/--GqsgkDo--Y/UdLT9m8dp1I/AAAAAAAAAMQ/t3flmICHVR4/s640/more+vu.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;When the scenario finishes, it will open Analysis component only if you have configured. Or you may see the results manually. The scenario is saved with the ‘.lrs’ extension. So this was a quick overview from my side. There are a lot other options to explore. Give a try and start your load testing.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; Any changes done into the script or run time settings will not reflect it in the Controller, once added, to update you should use the Refresh button. Select the script group, click on the Details icon, click on the Refresh button &amp;gt; Script or run time settings, whatever needs to be updated.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;b&gt;Good to do:&lt;/b&gt; Check on the Auto Load Analysis and Auto Collate Results to automatically launch the results i.e. Analysis component. Go to Results item in the menu bar, click on the defined items.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/1168311713516422687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2013/07/loadrunner-controller.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/1168311713516422687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/1168311713516422687'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2013/07/loadrunner-controller.html' title='LoadRunner Controller'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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/AVvXsEiu3e-MVhGOkZi0okl4GhwMkA99dpDV6QffzevCeejXy2SEsPxBEF7eicCC0lvFc05TemVeEJzH43bNOj2iJn-04rRBqeApTSs1ea9dx4zaT-68X4-2C2xA8dKu4Euh8xWOybniOfi-nlrg/s72-c/Controller.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-7067033805384344818</id><published>2013-06-19T00:44:00.001+10:00</published><updated>2013-06-21T21:45:56.802+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HP"/><category scheme="http://www.blogger.com/atom/ns#" term="LoadRunner"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP"/><category scheme="http://www.blogger.com/atom/ns#" term="Record and play"/><category scheme="http://www.blogger.com/atom/ns#" term="Virtual user"/><category scheme="http://www.blogger.com/atom/ns#" term="Virtual user Generator"/><category scheme="http://www.blogger.com/atom/ns#" term="VuGen"/><title type='text'>A quick Overview on HP LoadRunner VuGen</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-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;As the name suggests, &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;LoadRunner&lt;/b&gt;
is an automated performance testing product by &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;HP&lt;/b&gt;. It works by generating actual load on the server, by replacing
human users with the virtual user also know as a VU.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;

&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Let us understand and create a load test. In this post I will
be working on LoadRunner version &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;9.5&lt;/b&gt;
so the UI may vary with the latest version &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;11.5x&lt;/b&gt;.
As I discussed in my earlier post, the LoadRunner is categorized in four
components.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;The product is so vast that it cannot be covered in a single
post. So, I will be covering LoadRunner in multiple posts. Keep visiting for
updates!!&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Virtual user Generator (VuGen)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Also known as VuGen, this component allows capturing end
user business processes by generating an automated script against the performed actions. To open VuGen, Click on Start button &amp;gt;&amp;gt; Programs &amp;gt;&amp;gt; LoadRunner &amp;gt;&amp;gt; Applications &amp;gt;&amp;gt; Virtual User Generator. Let us get familiar with the interface.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;On opening the VuGen, you will see a screen as displayed below.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;TIP: Click on the Tasks icon in the tool box, so that you get to know the steps needed to create a script.&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;
&lt;/span&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGTw_74H4PD5_uNE1uJXNNzFLKf8HvT_pva1rp4YNCNbn1rPvGwqT4b99xLfqzLGKnC87cDTwoSLRBQJsQRs2ksbPFPPfd_rh64Qwsgz8mfZjRpbvvnnRPtSQK_d7kc-Xmd8EbIcdxrXGD/s1600/VuGen+UI.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;328&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGTw_74H4PD5_uNE1uJXNNzFLKf8HvT_pva1rp4YNCNbn1rPvGwqT4b99xLfqzLGKnC87cDTwoSLRBQJsQRs2ksbPFPPfd_rh64Qwsgz8mfZjRpbvvnnRPtSQK_d7kc-Xmd8EbIcdxrXGD/s640/VuGen+UI.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;LoadRunner 9.5 VuGen UI&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Record and Playback functionality is provided, which enables
the user to record the desired steps and playback to verify if the script
executes correctly. The recording mechanism works on Protocols (a language / medium which a client uses to communicate with the back end). If you will click on a New script, you will be asked to choose a Protocol.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;
&lt;/span&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZix5U7TYR_bqUivwJOCQ8SE-BHclZ08EPKMkiA8wuCihM_Y7iPZotM7GoMJ8uioF7qLs3tFXwzri6hbrSnq-RUHygVD2-4wIpXZ9WSjRha82SD1RCKeUW3t6suloExzfE1no3e8Wu7AhJ/s1600/Protocol.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;332&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZix5U7TYR_bqUivwJOCQ8SE-BHclZ08EPKMkiA8wuCihM_Y7iPZotM7GoMJ8uioF7qLs3tFXwzri6hbrSnq-RUHygVD2-4wIpXZ9WSjRha82SD1RCKeUW3t6suloExzfE1no3e8Wu7AhJ/s640/Protocol.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Protocol Selection&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;After selecting protocol(s), [Protocol can be single or multiple, depending upon application requirements] the Recording pop up is
displayed. Application type &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;drop down
allows you to record over a Web Application or on a desktop application (Win 32
application). Specify your application URL in the URL text box.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;
&lt;/span&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgui3BLuHm8-eJab80iXg1j-JsM7k93_jpFAY28_F-Ptrx9pojHHsu9FnGDNkjNQBaAVpH5X9NOW1jZzn0dcEGNILk7LZ67yXucWgUHR6ue20kCVTb_81-9sumnWTH5ycsqLCnQJpa1ist1/s1600/Recording+window.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;330&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgui3BLuHm8-eJab80iXg1j-JsM7k93_jpFAY28_F-Ptrx9pojHHsu9FnGDNkjNQBaAVpH5X9NOW1jZzn0dcEGNILk7LZ67yXucWgUHR6ue20kCVTb_81-9sumnWTH5ycsqLCnQJpa1ist1/s640/Recording+window.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Recording window&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;Recording Script&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;To organize the script, actions are used in loadrunner as
available in HP Quick Test Professional. Three actions namely &lt;b&gt;vuser_init ()&lt;/b&gt;,
&lt;b&gt;Action ()&lt;/b&gt; and &lt;b&gt;vuser_end()&lt;/b&gt; are provided in default. If your application includes
a Login area, you can record that part in the vuser_init() action and other
steps in the Action() action. Click on start recording will open the browser
with the URL specified by you. A floating tool bar will be displayed by which
you can control recording options.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;
&lt;/span&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC7QbUCG2-vzt2zkJ4Gk4rDuDVrzIYBBm5qw0T2uPLISkWuTmYA8UuB2uhoKToMAU_o9YOn58Sr588N_XjY5n3dbhSZWVxz6b5UkP0-603ogWN2aS73WZclC1LG2eQopal9VJKMIZqeKAb/s1600/floating+barm.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;84&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC7QbUCG2-vzt2zkJ4Gk4rDuDVrzIYBBm5qw0T2uPLISkWuTmYA8UuB2uhoKToMAU_o9YOn58Sr588N_XjY5n3dbhSZWVxz6b5UkP0-603ogWN2aS73WZclC1LG2eQopal9VJKMIZqeKAb/s640/floating+barm.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Floating recording tool bar&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;After you are done with the recording, click on stop
button.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;LoadRunner compiler will now
generate a script against all the steps you have performed. Verify the script
by running it. After running the status is displayed as Passed or Fail.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Once the script is created, a Recording summary is displayed containing the performed actions and used protocol. A snapshot for each browsed page is generated in the right side of the screen. If you wish to see the script, click on the Actions hyper link or click on the &#39;Script icon&#39;, you may also click on the &#39;Tree icon&#39; in the tool bar, this will display thumbnails of all the pages in a tree structure.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;
&lt;/span&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5CTFjSIIdO1cysLvRApwJpDK7DTsmXaEHFC7teu6RIeRHURJU0L8jEd5f0vDeJfifhNiozWWfG3THyVNR-Cutm6vXDwAVR9Wprjwa7Nrw-23LeaFAFSzgHIPASydwoDadCAcZbZKerEWN/s1600/Script+recorded.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;312&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5CTFjSIIdO1cysLvRApwJpDK7DTsmXaEHFC7teu6RIeRHURJU0L8jEd5f0vDeJfifhNiozWWfG3THyVNR-Cutm6vXDwAVR9Wprjwa7Nrw-23LeaFAFSzgHIPASydwoDadCAcZbZKerEWN/s640/Script+recorded.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Recording summary&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Click on the &#39;Record Again&#39; button to record again, click on it will display a warning to over write existing script or you may insert a new action.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;Verify Replay&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;Vuser Run-time Settings &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Before replaying the script, you should first review the settings. There are General run time settings (Tools menu &amp;gt; General Options) and Vuser run time settings (Vuser menu &amp;gt;&amp;gt; Run-time settings). Lets go through the Vuser run-time settings first.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;
&lt;/span&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhrUEkz1uz8OSmDelVztMUsl-OuCu5cM45VdJpxRM_LppYkj-1qYOLs4Vt3mOESQeYDmHi24T1wX4s-nKOsuv8Zrjx6qZfc4UQaf_k6KVAJ3xFDgzQckwHkYdVd6lf2yMN9IJlE5AkPYCr/s1600/runtime+settings.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;476&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhrUEkz1uz8OSmDelVztMUsl-OuCu5cM45VdJpxRM_LppYkj-1qYOLs4Vt3mOESQeYDmHi24T1wX4s-nKOsuv8Zrjx6qZfc4UQaf_k6KVAJ3xFDgzQckwHkYdVd6lf2yMN9IJlE5AkPYCr/s640/runtime+settings.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Vuser Run-time settings&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;Run Logic&lt;/b&gt; : Allows configure number of times you want to execute your script.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;Pacing &lt;/b&gt;: Allow configure time between iterations. Set it to Random between 60 - 90 seconds.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;Log&lt;/b&gt; : Allow logs configuration. Set it to Extended log with 1st radio on.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;Think Time&lt;/b&gt; : Allow configuration of the time a user will probably take to interact with the application.Do not set it, choose Ignore option as this setting will be automatically handled through the Controller&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;Miscellaneous&lt;/b&gt; : Here you can set error handling, transaction and execution of script as a thread or process. By default it runs as a thread.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;General Options &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;By default VuGen replays the script in background, if you want to see the steps being performed, you can watch it by configuring the general Options. A run-time window will be displayed when next time the script is executed. But this is not the actual steps getting performed, this will be the snapshots being recorded and returned by the vuser&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;
&lt;/span&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCu3dr44lsBisZpUa2B8X18cjvkPWWPbNfHqWplXFpA435IM6kFbdI0Rdqkpy0UGLmjz0ezZcEkYwM8xEO2zLNfEpdUjkTZqv3Z0jvNPOm7RfXjCxNN3VkVpDLhM9XifxU2sh07q9qJhNI/s1600/general+options.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;275&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCu3dr44lsBisZpUa2B8X18cjvkPWWPbNfHqWplXFpA435IM6kFbdI0Rdqkpy0UGLmjz0ezZcEkYwM8xEO2zLNfEpdUjkTZqv3Z0jvNPOm7RfXjCxNN3VkVpDLhM9XifxU2sh07q9qJhNI/s400/general+options.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;LR General Options&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Here you are done with settings configuration. Let us replay the script. Click on the play icon presented in the tool bar, or you can click on the Start Replay button or you can also press F5 button to execute the script. After Replay a replay summary will be displayed. Also you will see Recorded and Replay page thumb nails in the right side panel.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;To view results visually, you can goto View &amp;gt; Test Results. Alternatively you can click on the &#39;Visual test results&#39; hyperlink presented in the Replay summary page&lt;/span&gt;&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWx1SujHtCsDzAnuKrB1AMfOTeapftZP7hfwCeA9CQ6Sim9h0TjllEWamA_q2pOaGmp8oeT4s4F44SSxqDLgYzWKvDYd7bFa62SKrD_hrSotsGVdyJ7508p2N-hYrSKQVuWSn-z04i5Sax/s1600/test+results.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;330&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWx1SujHtCsDzAnuKrB1AMfOTeapftZP7hfwCeA9CQ6Sim9h0TjllEWamA_q2pOaGmp8oeT4s4F44SSxqDLgYzWKvDYd7bFa62SKrD_hrSotsGVdyJ7508p2N-hYrSKQVuWSn-z04i5Sax/s640/test+results.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Test Results&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;So this was a step by step quickie from my side,hope you people find it useful. Meet you again in next episode on HP Load Controller!! Do share with me your precious feedback and comments. &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/7067033805384344818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2013/06/a-quick-overview-on-hp-loadrunner-vugen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/7067033805384344818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/7067033805384344818'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2013/06/a-quick-overview-on-hp-loadrunner-vugen.html' title='A quick Overview on HP LoadRunner VuGen'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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/AVvXsEiGTw_74H4PD5_uNE1uJXNNzFLKf8HvT_pva1rp4YNCNbn1rPvGwqT4b99xLfqzLGKnC87cDTwoSLRBQJsQRs2ksbPFPPfd_rh64Qwsgz8mfZjRpbvvnnRPtSQK_d7kc-Xmd8EbIcdxrXGD/s72-c/VuGen+UI.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-9129061050776239838</id><published>2013-06-10T23:33:00.002+10:00</published><updated>2013-06-10T23:53:46.802+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HP"/><category scheme="http://www.blogger.com/atom/ns#" term="LoadRunner"/><category scheme="http://www.blogger.com/atom/ns#" term="Performance testing"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP"/><category scheme="http://www.blogger.com/atom/ns#" term="stress testing"/><category scheme="http://www.blogger.com/atom/ns#" term="Virtual user"/><title type='text'>Load Testing Process</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;!--[if !mso]&gt;
&lt;style&gt;
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
&lt;/style&gt;
&lt;![endif]--&gt;&lt;br /&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves&gt;false&lt;/w:TrackMoves&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:DontVertAlignCellWithSp/&gt;
   &lt;w:DontBreakConstrainedForcedTables/&gt;
   &lt;w:DontVertAlignInTxbx/&gt;
   &lt;w:Word11KerningPairs/&gt;
   &lt;w:CachedColBalance/&gt;
  &lt;/w:Compatibility&gt;
  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val=&quot;Cambria Math&quot;/&gt;
   &lt;m:brkBin m:val=&quot;before&quot;/&gt;
   &lt;m:brkBinSub m:val=&quot;--&quot;/&gt;
   &lt;m:smallFrac m:val=&quot;off&quot;/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val=&quot;0&quot;/&gt;
   &lt;m:rMargin m:val=&quot;0&quot;/&gt;
   &lt;m:defJc m:val=&quot;centerGroup&quot;/&gt;
   &lt;m:wrapIndent m:val=&quot;1440&quot;/&gt;
   &lt;m:intLim m:val=&quot;subSup&quot;/&gt;
   &lt;m:naryLim m:val=&quot;undOvr&quot;/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState=&quot;false&quot; DefUnhideWhenUsed=&quot;true&quot;
  DefSemiHidden=&quot;true&quot; DefQFormat=&quot;false&quot; DefPriority=&quot;99&quot;
  LatentStyleCount=&quot;267&quot;&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;0&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Normal&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;heading 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 7&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 8&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 9&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 7&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 8&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 9&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;35&quot; QFormat=&quot;true&quot; Name=&quot;caption&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;10&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Title&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; Name=&quot;Default Paragraph Font&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;11&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtitle&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;22&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Strong&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;20&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Emphasis&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;59&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Table Grid&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Placeholder Text&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;No Spacing&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Revision&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;34&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;List Paragraph&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;29&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Quote&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;30&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Quote&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;19&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Emphasis&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;21&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Emphasis&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;31&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Reference&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;32&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Reference&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;33&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Book Title&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;37&quot; Name=&quot;Bibliography&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; QFormat=&quot;true&quot; Name=&quot;TOC Heading&quot;/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
 {mso-style-name:&quot;Table Normal&quot;;
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-noshow:yes;
 mso-style-priority:99;
 mso-style-qformat:yes;
 mso-style-parent:&quot;&quot;;
 mso-padding-alt:0in 5.4pt 0in 5.4pt;
 mso-para-margin-top:0in;
 mso-para-margin-right:0in;
 mso-para-margin-bottom:10.0pt;
 mso-para-margin-left:0in;
 line-height:115%;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:&quot;Times New Roman&quot;;
 mso-fareast-theme-font:minor-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;}
&lt;/style&gt;
&lt;![endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;With the ongoing technology advancements and digitization, everyone is trying
to go online. The web traffic is increasing day by day. And this directly
impacts on an application’s performance. Load testing of an application has become
a necessity now. An application must be at least accessible or one may say stable
up to 5,000 users.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;

&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Conducting a load test manually requires a lot of human and
machine efforts, which increases cost. To overcome this cost. A lot of
automated performance software’s are made, which I have already discussed in my
&lt;a href=&quot;http://aishamazhar.blogspot.com/2013/06/load-stress-testing-tools.html&quot; target=&quot;_blank&quot;&gt;previous post&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Before working on any
of the automated software, one should first understand the load testing
process. Here in this post I will be sharing the process of load testing using &lt;b&gt;HP LoadRunner&lt;/b&gt;. You
may find similar words like Plan, Create, Define, Run and Analyze as presented in the
functional testing process (QTP). So the theme remains same and the parameter(s) varies
with the type of testing you are about to perform.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKNE2wtuv41WiGDPM2wgiQgHSSJI10h00RzPIfDzq3rbFWrNP5N4UMRjL_U2yhftDPoMKFpBjnh5nXnF449VkEYps2YF2OY6nHhzbTUNNxdGA6IrLXkBI0nILnhDOVg-P2QjrglZXxZz3o/s1600/Load+test+process.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;48&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKNE2wtuv41WiGDPM2wgiQgHSSJI10h00RzPIfDzq3rbFWrNP5N4UMRjL_U2yhftDPoMKFpBjnh5nXnF449VkEYps2YF2OY6nHhzbTUNNxdGA6IrLXkBI0nILnhDOVg-P2QjrglZXxZz3o/s640/Load+test+process.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Load Testing Process&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Plan Load Test:&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;This
phase includes planning and configuration of user’s requirements. You should first see if
the requirements are clear i.e. Is the application available for testing? Is
the necessary hardware is available for a load test? How many virtual users are
required to run?&amp;nbsp; What is the required response time? What is system threshold value or the capacity to bear the load?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Create Vuser script:&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;This phase includes recording end user business actions or commonly known as a
scenario, &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&lt;/span&gt;which is the automated generated
script. When you are done with your script, analyze it. Check for dynamic values like a username, a password, a phone number or any other values. If such values exists, then you have to parameterize your test data so that concurrent users does not uses the same data.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Define scenario: &lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;This
phase includes creating the load scenario in the Controller. For example connecting the load generator, initialization and stopping of the virtual users, defining run mode (real world schedule / Basic schedule), setting up the duration, and all other things which needs to be done to establish a load environment.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Run Scenario:&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;This phase allows &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;multiple activities like Drive, manage and monitor&lt;/span&gt;. The scenario in the controller is executed with the applied load. You can initialize, add, stop or even reset the running vusers, or you can also view the current action they are performing. Real time graphs generation lets you monitor application progress.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Analyze Results:&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;This phase includes creation and reviewing the load results graphs, reports and
performance. This is the most important part of performance testing, if you are unable to understand the result set, then all your efforts are in vain. To have a good comparision always start your load test with a single user and then increase to 10, 50, 100 or as per your requirements and analyze transaction time for all these executions.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;So this is the load testing process, I hope it helps!! :) Share with me your valuable feedback and suggestion and help me improve the quality :) &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/9129061050776239838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2013/06/load-testing-process.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/9129061050776239838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/9129061050776239838'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2013/06/load-testing-process.html' title='Load Testing Process'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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/AVvXsEhKNE2wtuv41WiGDPM2wgiQgHSSJI10h00RzPIfDzq3rbFWrNP5N4UMRjL_U2yhftDPoMKFpBjnh5nXnF449VkEYps2YF2OY6nHhzbTUNNxdGA6IrLXkBI0nILnhDOVg-P2QjrglZXxZz3o/s72-c/Load+test+process.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-8411676174731500912</id><published>2013-06-07T00:53:00.004+10:00</published><updated>2013-06-07T03:04:10.447+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="correlation"/><category scheme="http://www.blogger.com/atom/ns#" term="HP loadrunner"/><category scheme="http://www.blogger.com/atom/ns#" term="IBM Rational Performance"/><category scheme="http://www.blogger.com/atom/ns#" term="JMeter"/><category scheme="http://www.blogger.com/atom/ns#" term="Load Complete"/><category scheme="http://www.blogger.com/atom/ns#" term="load testing"/><category scheme="http://www.blogger.com/atom/ns#" term="Load UI"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft visual studio team system"/><category scheme="http://www.blogger.com/atom/ns#" term="Open source"/><category scheme="http://www.blogger.com/atom/ns#" term="protocol"/><category scheme="http://www.blogger.com/atom/ns#" term="SmartBear"/><category scheme="http://www.blogger.com/atom/ns#" term="stress testing"/><category scheme="http://www.blogger.com/atom/ns#" term="Virtual user"/><category scheme="http://www.blogger.com/atom/ns#" term="WebLoad"/><title type='text'>Load / Stress testing tools</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-family: Verdana, sans-serif;&quot;&gt;Being a part of software industry for many years, I have came across multiple group of people having diverse thoughts. Being a QA I often share my experiences with fellow colleagues and friends. One important question whose answer is typically vague and not convincing to me is over the ‘LOAD / STRESS TESTING’.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Recently I was engaged in a project which requires load testing, so I shoot a message in my social and professional circle to know, if anyone can suggest and guide me over a good tool. I was little shocked to hear most of the replies that they have never performed a load testing activity. Okay I admit load testing can be expensive, but being an expert and experienced resource in the field and still have no knowledge is quite unpleasant for me (No offence to anyone).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;So there I pull my socks up, grab a cup of tea and started little research over the top available load testing tools. Here I will be sharing my recommendations and experiences over the top load testing tools.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;So first of all, let me try to brief the concept of automated stress testing. For this purpose we have to first get familiar with some terms like&amp;nbsp;&lt;a href=&quot;https://www.google.com.pk/search?q=loadrunner&amp;amp;oq=loadrunner&amp;amp;aqs=chrome.0.57j0l3.2718j0&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8#q=virtual+user&amp;amp;tbs=dfn:1&amp;amp;tbo=u&amp;amp;sa=X&amp;amp;ei=pr6wUe20HYiItQaxpoCgBw&amp;amp;ved=0CCoQkQ4&amp;amp;bav=on.2,or.r_cp.r_qf.&amp;amp;fp=d273c7fdb1e5cc4a&amp;amp;biw=1366&amp;amp;bih=643&quot; target=&quot;_blank&quot;&gt;virtual user&lt;/a&gt;, an Agent, a Load generator, ramp up / down , Protocol, Correlations (for dynamic values)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://www8.hp.com/us/en/software-solutions/software.html?compURI=1175451#.UbC6okA3Ako&quot; target=&quot;_blank&quot;&gt;HP LoadRunner&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;HP has always manufactured some really good software,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;This was the complete software fulfilling all my project needs, s&lt;/span&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;o LoadRunner tops my list. Although the software costing is expensive but if you really need correct results you should get hands on the trial. The recent version is 11.5.2. A lot of major changes have been done in the recent versions, which I figured out when working on 9.5 and then 11.5.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;The software is divided in 4 components namely Launcher, Virtual user Generator, Controller, Load Generator and Analysis. Requirement(s) are recorded using the Vugen, a browser window is launched where user performs the required steps. A script is recorded for all actions user performs. The script is then passed to the Controller in which load generators parameters (No. of virtual users, execution type etc.) are set and finally after completion, the results are generated using the Analysis.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;I will surely try to cover some details on using LoadRunner in my next post so stay tune!&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www-03.ibm.com/software/products/us/en/performance/&quot; target=&quot;_blank&quot;&gt;IBM Rational Performance&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Well I did not get a lot of time to explore IBM’s rich features. But the time I spend exploring it, I found it useful. The coolest feature of this software is, it can tell you the exact LOC if your code is deployed with the test development. So if your developer is curious in knowing if you can tell what exactly calling off application performance, this tool surely is recommended.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;It uses the same approach of providing a recorder to record the business flow and then configure load on the application using the recorded scenario.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://jmeter.apache.org/&quot; target=&quot;_blank&quot;&gt;JMeter&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;An open source tool, its not like the record and play type. If you are strict with dead lines and you are not sure or does not have any hands on this software, than I would suggest not using it. While exploring I found it less user friendly or maybe I already worked on record and play feature in HP and IBM’s so I was hoping to see something same.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;For JMeter you have to do little configurations, which are not that hard but requires some extra efforts.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Visual studio Web and Performance test (&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/vstudio/dd293540.aspx&quot; target=&quot;_blank&quot;&gt;VSTS&lt;/a&gt;)&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Yep thats right, we can do performance testing using visual studio. Also known as VSTS, introduced in 2005, but the real and major workings were enhanced in 2008, 2010 and now in 2012 version of visual studio team test and team studio editions. The time I put in exploring this software, more I felt that its main advantage is for the developers. They can write small tests and can test it right away. Well its just my own opinion.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;A web test is created which records user steps in a browser and then the web test is passed to a load test. To optimize the web test, you are required to have little programming skills. Default number of virtual users are 250, that means a load of 250VU can be passed, if you need more load you have to buy additional license.&lt;/span&gt;&lt;br /&gt;
&lt;b style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.loadui.org/&quot; target=&quot;_blank&quot;&gt;Load UI&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;A very interactive and easy to use open source tool, which engages the user to drag and drop the interfaces and then connect them with each other. Providing real time monitoring.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;And there are a lot more available tools like Load Complete, WebLoad, keynote KITE etc. But there are limitations over number of virtual users, or the reports are not that extensive or the accuracy is doubtful or complexity is high etc. So these were some of top load testing tools. Hope you find them useful :) &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Do share with me your precious views and suggestions. Keep rocking!! :)&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/8411676174731500912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2013/06/load-stress-testing-tools.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/8411676174731500912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/8411676174731500912'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2013/06/load-stress-testing-tools.html' title='Load / Stress testing tools'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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-7557786290027625450.post-2516516941310090114</id><published>2013-02-13T21:23:00.003+11:00</published><updated>2013-02-14T18:27:41.050+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cross browser testing"/><category scheme="http://www.blogger.com/atom/ns#" term="desktop application testing"/><category scheme="http://www.blogger.com/atom/ns#" term="Exploratory testing"/><category scheme="http://www.blogger.com/atom/ns#" term="iMAcros"/><category scheme="http://www.blogger.com/atom/ns#" term="Security Testing"/><category scheme="http://www.blogger.com/atom/ns#" term="Selinium"/><category scheme="http://www.blogger.com/atom/ns#" term="Software Testing"/><category scheme="http://www.blogger.com/atom/ns#" term="UI Testing"/><category scheme="http://www.blogger.com/atom/ns#" term="Validating dates"/><title type='text'>To do’s - while Software Testing</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;You may find thousands of articles on the discussed topic so
what’s so new and catchy in my post?? Below are the lists of to-do’s I have
learned from my experience under the field of being a quality assurer. So let’s
start. Viewers are most welcome to share their thoughts, experiences following
a comment below :)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;So
here we go with some quick tips. Its just a initial draft, as there are many things which needs to be tested, some are scenario dependent, some application, so we have alot f constraints. I will be adding things time to time whenever i recall things, so keep checking.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; text-indent: -0.25in;&quot;&gt;Exploratory testing – think like a dumb user who
just have started using the computer and have no idea where and what to click.
Test all possible unrealistic scenarios. [NOTE : Exploratory testing varies as per target audiences, if your software is meant for the professionals than exploratory testing level varies, you need to focus more on functional, Client requirements than, focusing on system failures on inappropriate input, and if it is meant for all type of users than its testing varies]&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;When testing web forms, do not provide input
without any space, seriously their does not exist any word which is 20-30
characters long. If you do, scrolls will start to appear and if unluckily you
have opened your application in Internet Explorer IE (No&amp;nbsp;offence&amp;nbsp;to it) screen
alignment will all mess up.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; text-indent: -0.25in;&quot;&gt;For UI, open your link in an internet browser 6,
7 or 8. And see how your website looks like. Trust me fixing cross browser
issues especially in IE is a real big achievement. If you fix everything in IE,
things get messed up in other browsers.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Integration with the&amp;nbsp;back-end&amp;nbsp; Verify the input
you are providing from UI is going into the relevant tables in database or not.
There are many scenarios in which data is entered from screen but it is not
saved on the back end.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; text-indent: -0.25in;&quot;&gt;If you have a login form, that requires user
credentials, verify the page source. Right click and click on view source. Now
search password and see if the typed password is encrypted or not. Otherwise
anyone can hijack your system.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; text-indent: -0.25in;&quot;&gt;If you are testing security as per desired
roles, and user roles are kept as ID, Edit the URL, you will find a numeric
value for e.g. id=2. Try to replace with other number and see if the details
appear, if it does and they are editable then it’s a serious issue. Try to make
it fix on urgent basis.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Input invalid characters in fields,&amp;nbsp;i.e.&amp;nbsp; if it’s
a numeric field try providing alphabets or special characters. If it’s accepted,
ask the developer to validate the input.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; text-indent: -0.25in;&quot;&gt;When working on dates, try providing past days
and check the validation.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; text-indent: -0.25in;&quot;&gt;Validating dates really messes you up when your and your server time varies, for this if you have DB skills you can update the date directly from table and verify. Or you can change your system time zone.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; text-indent: -0.25in;&quot;&gt;If you need to test a scenario for future date,
logout and update your system date and login and check. You don’t need to wait
for the date.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; text-indent: -0.25in;&quot;&gt;If you need to test max character limit on fields, do check it with space and without space. If space is taking as a character then validate it.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; text-indent: -0.25in;&quot;&gt;Also whenever verifying any field that allows or does not allows null input, try passing a space as a&amp;nbsp;character, if its treated as a character, get it resolved. Ask the developer to apply LRTrim so that space can be avoided.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; text-indent: -0.25in;&quot;&gt;For forms testing, verify each field has tab index defined, such as you can use the keyboard only, and fields tabbing should be properly defined.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; text-indent: -0.25in;&quot;&gt;For desktop application you need to verify compatibility. Install and run your program on multiple windows version. And if its not the requirement then do notify a user by providing an alert that the software will not function properly on the following versions.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; text-indent: -0.25in;&quot;&gt;For cross browser testing, use the website&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;a href=&quot;http://browsershots.org/&quot;&gt;http://browsershots.org/&lt;/a&gt;. You will found alot of web browsers here.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;In the end try learning automated testing. Start with open source tools such as &lt;b&gt;Selinium&lt;/b&gt; or &lt;b&gt;iMacros&lt;/b&gt; or many more you will easily found after searching. And automate your testing so that your time can be consumed properly&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-indent: -0.25in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/2516516941310090114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2013/02/to-dos-while-software-testing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/2516516941310090114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/2516516941310090114'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2013/02/to-dos-while-software-testing.html' title='To do’s - while Software Testing'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-7064483689069988171</id><published>2012-07-12T16:56:00.000+10:00</published><updated>2012-07-12T16:56:25.883+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="logic"/><category scheme="http://www.blogger.com/atom/ns#" term="Reshma Saujani"/><category scheme="http://www.blogger.com/atom/ns#" term="software industry"/><category scheme="http://www.blogger.com/atom/ns#" term="User interfaces"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>Girls who CODE</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;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;I have been working in Software industry for about three years now. From the time I have been engaged in this industry, I have encountered men (no hard feelings) who discourages and thinks girls cannot be good developer(s). Is it??? Nahh not for me, for I believe that girls can be very good developers, I’ve met a lot of excellent female developers at work. Not denying the fact that guys can be technically more mature. But that does not make the girls less technical. They can be better specially when talking about the &lt;b&gt;esthetics&lt;/b&gt; and &lt;b&gt;User interfaces&lt;/b&gt; (UI). &lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Mostly a guy’s main focus / point of concentration is towards the logic / underlying business and not on UI. And this is what I call totally opposite from what a Client thinks and wants. Being a quality engineer, I have met clients whose first impression are set on the UI more rather than how it will be functioning. Well this topic can lead to a big discussion so I will zip it here, what I will be posting today is a very interesting article I came across today morning.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;This post is dedicated to all the female(s) who wish to prosper their future in development.&amp;nbsp;&lt;a href=&quot;http://www.girlswhocode.com/&quot;&gt;&lt;b&gt;Girls who Code&lt;/b&gt;&lt;/a&gt; is a new organization formed by &lt;b&gt;Reshma Saujani&lt;/b&gt; with the scope to educate, guide and equip young minds (girls) from IT and engineering fields wishing to pursue their career in the development field. For all the geeky girls out there join the organization and help them in supporting the good cause.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Appreciate your valuable views and comments, do share your views with me :)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/7064483689069988171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2012/07/girls-who-code.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/7064483689069988171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/7064483689069988171'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2012/07/girls-who-code.html' title='Girls who CODE'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-6973609433789104624</id><published>2012-02-03T17:10:00.002+11:00</published><updated>2012-02-03T17:12:37.198+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cross site scripting"/><category scheme="http://www.blogger.com/atom/ns#" term="XSS"/><title type='text'>Testing Cross site scripting</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-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;A lot of time the QA&#39;s or the testers have to came across testing &lt;b&gt;cross site scripting&lt;/b&gt; or &lt;b&gt;XSS&lt;/b&gt; scenarios. Fixes for XSS defects will ultimately require code based fixes. So here i will be discussing some manual operations which can be performed by a QA / tester to verify the site integrity and security against xss.&lt;/span&gt;&lt;br /&gt;
&lt;b style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Step 1.&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt; Open any Web site in a browser, and look for places on the site that accept user input such as a search form or some kind of login page. Enter the word test in the search box and send this to the Web server.&lt;/span&gt;&lt;br /&gt;
&lt;b style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Step 2.&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt; Look for the Web server to respond back with a page similar to something like &quot;Your search for &#39;test&#39; did not find any items&quot; or &quot;Invalid login test.&quot; If the word &quot;test&quot; appears in the results page, you are in luck.&lt;/span&gt;&lt;br /&gt;
&lt;b style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Step 3.&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt; To test for Cross-Site Scripting, input the string &quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&quot; without the quotes in the same search or login box you used before and send this to your Web server.&lt;/span&gt;&lt;br /&gt;
&lt;b style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Step 4.&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt; If the server responds back with a popup box that says &quot;hello&quot;, then the site is vulnerable to Cross-Site Scripting.&lt;/span&gt;&lt;br /&gt;
&lt;b style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Step 5.&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt; If Step 4 fails and the Web site does not return this information, you still might be at risk. Click the &#39;View Source&#39; option in your browser so you can see the actual HTML code of the Web page. Now find the &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&quot; text in this source code, then the Web server is vulnerable to Cross-Site Scripting&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Note - The discussed article is extracted from xss manuals and other documents.&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/6973609433789104624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2012/02/how-to-cross-site-scripting.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/6973609433789104624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/6973609433789104624'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2012/02/how-to-cross-site-scripting.html' title='Testing Cross site scripting'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-4267107213597252419</id><published>2012-01-16T17:33:00.002+11:00</published><updated>2012-01-16T18:14:36.218+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="codecademy"/><category scheme="http://www.blogger.com/atom/ns#" term="CodeRacer"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS"/><category scheme="http://www.blogger.com/atom/ns#" term="Treehouse"/><category scheme="http://www.blogger.com/atom/ns#" term="web design"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>Learn to Code - Codeacademy v/s Treehouse</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Few months back I shared an article &lt;a href=&quot;http://aishamazhar.blogspot.com/2011/10/learn-how-to-code.html&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;‘Learn to code’&lt;/b&gt;&lt;/a&gt; introduced by the team &lt;b&gt;&lt;a href=&quot;http://www.codecademy.com/&quot; target=&quot;_blank&quot;&gt;Codeacademy&lt;/a&gt; &lt;/b&gt;which lets you build and explore coding practices , experiences in an interactive manner. Today I am here to present another impressive learning site, sharing the same goal i.e. to teach programming online.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Competitor&lt;b&gt; &lt;a href=&quot;http://teamtreehouse.com/&quot; target=&quot;_blank&quot;&gt;Treehouse&lt;/a&gt;&lt;/b&gt;, teaches web design, web development and iOS in form of video tutorials and quizzes. So what’s the difference between both of them and which should you join in? The answer from my side would be yes to both, experience what is more comfortable and easy for yourself.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvGToIilueRrkItG_bgjRkVK8SXnXR48N7s4vpRdWKgGFQK4x42lOZ4CsZfRqe89VxH5jDR730fL_NQlFSH2qSsqPUfFnt9yofanzLbhlEiXG1Idqw-nRdB_9RSAWcqdQwbAM7cryDPqUY/s1600/tree+house.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvGToIilueRrkItG_bgjRkVK8SXnXR48N7s4vpRdWKgGFQK4x42lOZ4CsZfRqe89VxH5jDR730fL_NQlFSH2qSsqPUfFnt9yofanzLbhlEiXG1Idqw-nRdB_9RSAWcqdQwbAM7cryDPqUY/s400/tree+house.png&quot; width=&quot;393&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Treehouse Home page&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;Although I found Codeacademy much interactive as they present an editor  to play with and at the time you are done playing, you found out that  you were actually learning while playing. Fun isn’t it? And mainly  because Codeacademy is free of cost hurray :)&lt;br /&gt;
&lt;br /&gt;
Well on the other hand Treehouse sound impressive as well but you need to be a paid user to enjoy the benefits of the site. Two plans Silver ($25/month) and Gold ($49/month) are provided, one can select as per his/her range. No trial signup, but You can watch a lot of there &lt;a href=&quot;http://www.blogger.com/%20http://teamtreehouse.com/library/design-foundations/html&quot; target=&quot;_blank&quot;&gt;HTML videos&lt;/a&gt; for free. The lessons and syllabus seems to be more comprehensive than Codeacademy. &lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Codeacademy lessons include programming basics, javascript and its functions whereas Treehouse offers iOS development courses as well, which is not available in Codeacademy yet. I cannot comment much on Treehouse as i don&#39;t have my hands on experience due to no trial offers but as far as i have explored it, it seems brilliant. To increase site interactivity users are presented with motivational badges/achievements/ points with completion of a course, which helps in increases an urge and competition level.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Just today I came across knowing Treehouse has launched &lt;a href=&quot;http://techcrunch.com/2012/01/12/compete-against-other-players-learning-to-code-with-treehouses-code-race/&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;CodeRacer&lt;/b&gt;&lt;/a&gt;, a game that teaches people how to code. I still haven&#39;t tried my hands on this game yet but i would like to see it for once. Both the sites continue offering promising courses and keep adding new improved content on the site. &lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;If you have an addiction to learning and exploring different technologies, then these sites are a must to give a look. Bravo to both the teams.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/4267107213597252419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2012/01/learn-to-code-codeacademy-vs-treehouse.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/4267107213597252419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/4267107213597252419'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2012/01/learn-to-code-codeacademy-vs-treehouse.html' title='Learn to Code - Codeacademy v/s Treehouse'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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/AVvXsEgvGToIilueRrkItG_bgjRkVK8SXnXR48N7s4vpRdWKgGFQK4x42lOZ4CsZfRqe89VxH5jDR730fL_NQlFSH2qSsqPUfFnt9yofanzLbhlEiXG1Idqw-nRdB_9RSAWcqdQwbAM7cryDPqUY/s72-c/tree+house.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-7610850867871258082</id><published>2012-01-04T17:20:00.000+11:00</published><updated>2012-01-04T17:20:14.373+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ChildObjects"/><category scheme="http://www.blogger.com/atom/ns#" term="Count"/><category scheme="http://www.blogger.com/atom/ns#" term="index"/><category scheme="http://www.blogger.com/atom/ns#" term="WebRadiogroup"/><title type='text'>Working with WebRadioGroup</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-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;QTP &lt;b&gt;WebRadioGroup&lt;/b&gt; means a radio button on the web page. Identifying and working with them can be easy or difficult. Sometimes they works out fine and at times executing the same code gives you error. &lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;If you have two radio buttons on the screen for example Gender selection options the code below might give problem.&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Browser(&quot;&quot;).Page(&quot;&quot;).WebRadioGroup(&quot;&quot;).Select &quot;M&quot;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Where &quot;M&quot; can be the id or the value of the radio button (Spy the object). So what is the problem in the code above? As there are two radio buttons QTP identifies them as same, so we need to differentiate between them. &lt;b&gt;Index&lt;/b&gt; is a property by which you can differentiate, it tells the position of the object. So if we write the same code below with an additional index property it will work fine.&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Browser(&quot;&quot;).Page(&quot;&quot;).WebRadioGroup(&quot;html id:=&quot; ,&quot;index:= 1&quot;).Select &quot;M&quot;.&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;This code is intended to select a radio button among two, what if you have a list of radio buttons lets say 5-6 or more, than the above code wont help. For that you need to create description of a radiogroup i.e. we will instruct everything to QTP.&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Initialize variables&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Dim oDescRadio&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Dim oChildren_Tier&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Dim RadioToSelect_Val &lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Create description using &lt;b&gt;Description.Create&lt;/b&gt; build-in method&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Set oDescRadio = Description.Create&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;oDescRadio(&quot;micclass&quot;).value = &quot;WebRadioGroup&quot;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;oDescRadio(&quot;type&quot;).value = &quot;radio&quot;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;oDescRadio(&quot;name&quot;).value=&quot;the name&quot;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Pass the description in another variable using &lt;b&gt;ChildObjects&lt;/b&gt; method&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Set oChildren_Tier = Browser(&quot;&quot;).Page(&quot;&quot;).ChildObjects (oDescRadio)&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Loop to select desired value&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;For i = 0 to oChildren_Tier.Count - 1 &lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;    RadioToSelect_Val = oChildren_Tier(i).GetROProperty(&quot;value&quot;)&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;    oChildren_Tier(i).Select RadioToSelect_Val&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Next&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Pass desired value like we passed #1 below&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Browser(&quot;&quot;).Page(&quot;&quot;).WebRadioGroup(&quot;html tag:=INPUT&quot;,&quot;type:=radio&quot;,&quot;index:=1&quot;).Select &quot;#1&quot;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;You can also use a datatable to select and pass the value dynamically. Just add DataTable(&quot;parameter name&quot;,Sheet) in place of &quot;#1&quot;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;If you want to get number of radio buttons then use &lt;b&gt;Count&lt;/b&gt; method. Create description using the same way we did above.&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Pass Child count in a variable&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;allItems = oChild.Count&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Loop &amp;amp; Use items count property to get Total items&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;For j = 0 to allItems-1&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp; itemsCount =oChild.Item(j).GetRoProperty(&quot;items count&quot;)&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (itemsCount = 5) Then&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Print &quot;Found 5 radio &quot; &lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;                                    Print &quot;More than 5 radio listed&quot;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;        &lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Next&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;So there are two ways to deal with descriptive programming, either pass the properties directly or create your descriptions and pass or select your values.&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/7610850867871258082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2012/01/working-with-webradiogroup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/7610850867871258082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/7610850867871258082'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2012/01/working-with-webradiogroup.html' title='Working with WebRadioGroup'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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-7557786290027625450.post-2903727679696368698</id><published>2011-12-30T22:34:00.002+11:00</published><updated>2011-12-30T22:37:00.201+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Datatable"/><category scheme="http://www.blogger.com/atom/ns#" term="nested actions"/><title type='text'>Incremening DataTable values using DP</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-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;If you ever came across a situation in which you need to login into the application and do separate steps than you might be interested in this post. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;One way to do so is to change action properties and change it to run on all rows, but that will be executing when it completes 1 cycle. what i will be doing here is, dealing with nested actions, a main action will be calling another actions. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;For example you have a login action and one more action that selects one of the three options on the basis of login id. So you login the system three times every time with a different id. Create a global sheet paramenter &lt;b&gt;runCount&lt;/b&gt; that will stores login count and another parameter &lt;b&gt;currecntCount&lt;/b&gt; that will select the option. Its always a good practice to create a main action that calls other actions. So the main action will look like this.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Initialize a variable &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Set runCount = 1 in datatable&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;i = DataTable(&quot;runCount&quot;,dtGlobalSheet)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Initialize a variable &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Set currentCount = 1 in datatable&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;j =DataTable(&quot;currentCount&quot;,dtGlobalSheet)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Call to Login action &amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;RunAction &quot;TestLogin&quot;, oneIteration&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Call Option selection action&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;RunAction &quot;TestOption&quot;, oneIteration&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Now on TestLogin action rewrite the code for initialization of i&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Initialize i again in TestLogin action&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;i = DataTable(&quot;runCount&quot;,dtGlobalSheet)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Now place your checks and start to write your code in login action&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;    If (i = &quot;1&quot;) then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;        &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;TODO steps&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;        &#39;&#39;&#39;&#39;&#39;&#39;Login the site&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;        &#39;&#39;&#39;&#39;&#39;&#39;Check if credential correct else ExitTest&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;     elseif (i = &quot;2&quot;) then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;        &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;TODO steps&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;        &#39;&#39;&#39;&#39;&#39;&#39;Login the site&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;        &#39;&#39;&#39;&#39;&#39;&#39;Check if credential correct else ExitTest&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;    elseif (i = &quot;3&quot;) then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;        &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;TODO steps&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;        &#39;&#39;&#39;&#39;&#39;&#39;Login the site&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;        &#39;&#39;&#39;&#39;&#39;&#39;Check if credential correct else ExitTest&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Now do the same initialization of j in TestOption action&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;j = DataTable(&quot;currentCount&quot;,dtGlobalSheet)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;If (j = &quot;1&quot;) then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;TODO steps&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Select option1 and increment datatable value&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;DataTable(&quot;runCount&quot;) = DataTable(&quot;runCount&quot;) + 1&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;What we have done in the above line is incremented i value, so the datatable value will become 2 this time.&lt;/div&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Call login, where i=2 now&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;RunAction &quot;TestLogin&quot;, oneIteration&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;After login execution, increment j value                    &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;DataTable(&quot;currentCount&quot;) = DataTable(&quot;currentCount&quot;) + 1&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Elseif ( j = &quot;2&quot;) then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;TODO steps&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Select option2 and increment datatable value&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;DataTable(&quot;runCount&quot;) = DataTable(&quot;runCount&quot;) + 1&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Call login, now i=3 here&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;RunAction &quot;TestLogin&quot;, oneIteration&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;After login execution increment j value                    &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;DataTable(&quot;currentCount&quot;) = DataTable(&quot;currentCount&quot;) + 1&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Elseif ( j = &quot;3&quot;) then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;TODO steps&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Select option3 and increment datatable value&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;    DataTable(&quot;runCount&quot;) = DataTable(&quot;runCount&quot;) + 1&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;So this is how you can work in nested actions and increment dataTable &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;values. Hope it will be useful. :)&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/2903727679696368698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2011/12/incremening-datatable-values.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/2903727679696368698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/2903727679696368698'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2011/12/incremening-datatable-values.html' title='Incremening DataTable values using DP'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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-7557786290027625450.post-5417236268259661952</id><published>2011-12-29T17:32:00.000+11:00</published><updated>2011-12-29T17:32:34.730+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Compare date"/><category scheme="http://www.blogger.com/atom/ns#" term="Date functions"/><category scheme="http://www.blogger.com/atom/ns#" term="DateAdd"/><category scheme="http://www.blogger.com/atom/ns#" term="Object.InnerText method"/><title type='text'>All about Dates using QTP</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Majority of applications have Calendars controls. Automating a calendar can be painful at times if the textbox is disabled, and it only works if you select the date from the calendar widget provided on your website/application.&lt;br /&gt;
&lt;br /&gt;
I have been working on date controls for couple of months so thought about sharing all the findings with you people. So here i am summarizing some of the checks which can be handy working on date/Calendar controls.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;Compare start and End date&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;For comparing end date validation, set today&#39;s date using &lt;b&gt;Date&lt;/b&gt; function in start date textbox and set previous date in end date, and check if the validation is fired. &lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;startdate - set as todays date using &#39;date&#39;&lt;/span&gt;&lt;br /&gt;
Browser(&quot;&quot;).Page(&quot;&quot;).WebEdit(&quot;&quot;).Set Date&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;End date, set prev 5 days date&lt;/span&gt;&lt;br /&gt;
Browser(&quot;&quot;).Page(&quot;&quot;).WebEdit(&quot;&quot;).Set DateAdd(&quot;d&quot;,-5,Date)&lt;br /&gt;
Browser(&quot;&quot;).Page(&quot;&quot;).Image(&quot;&quot;).Click&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Check for validation occurrence&lt;/span&gt;&lt;br /&gt;
If (Browser(&quot;&quot;).Page(&quot;&quot;).WebElement(&quot;&quot;).Exist(1)) then&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Print &quot;Validation checked for End date must be after start date&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Reporter.ReportEvent micPass,&quot;Found validation End date must be after start date&quot;,&quot;&quot;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Print &quot;Missing Validation for End date must be after start date&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Reporter.ReportEvent micFail,&quot;Missing validation End date must be after start date&quot;,&quot;&quot;&lt;br /&gt;
&lt;br /&gt;
End If&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;Set date + time in date textbox&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Add time along with the date by using the &lt;b&gt;Now&lt;/b&gt; property of date, and see if the validation for invalid input has been placed.&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
Browser(&quot;&quot;).Page(&quot;&quot;).WebEdit(&quot;&quot;).Set DateAdd(&quot;m&quot;,-1,Now)&lt;br /&gt;
&lt;br /&gt;
If (Browser(&quot;&quot;).Page(&quot;&quot;).WebElement(&quot;&quot;).Exist(1)) then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Print &quot;Checked Invalid Date Validation&quot;&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Reporter.ReportEvent micFail,&quot;Missing Invalid Date Validation&quot;,&quot;&quot;&lt;br /&gt;
&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;End If&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;Checking date format 0M / 0D / Year&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;To provide date in mm dd yyyy format use the code below. You can use your desired format for date separator. For example in the code below i have concatenated &#39;/&#39; with my date so the date that will be set in the date textbox will be &quot;12/29/2011&quot;. you can use &#39;-&#39; or &#39;.&#39; or whatever your allowed input is.&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br style=&quot;color: #38761d;&quot; /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Gives 10 days previous date in two-digit day of month.&lt;/span&gt;&lt;br /&gt;
prev= right(&quot;0&quot; &amp;amp;day(Date -10),2) &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Gives today&#39;s date in two-digit day of month.&lt;/span&gt;&lt;br /&gt;
cur= right(&quot;0&quot; &amp;amp; day(Date()),2) &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Gives two-digit month.&lt;/span&gt;&lt;br /&gt;
m= right(&quot;0&quot; &amp;amp; month(date()),2) &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Gives four digit year.&lt;/span&gt;&lt;br /&gt;
y= year(date()) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Browser(&quot;&quot;).Page(&quot;&quot;).WebEdit(&quot;StartDate&quot;).Set&amp;nbsp; m &amp;amp; &quot;/&quot;&amp;nbsp; &amp;amp; prev&amp;nbsp; &amp;amp; &quot;/&quot; &amp;amp;y&#39;DateAdd (&quot;d&quot;,-10,date)&lt;br /&gt;
&lt;br /&gt;
Browser(&quot;&quot;).Page(&quot;&quot;).WebEdit(&quot;EndDate&quot;).Set m &amp;amp; &quot;/&quot;&amp;nbsp; &amp;amp; cur&amp;nbsp; &amp;amp; &quot;/&quot;&amp;nbsp; &amp;amp;y &lt;br /&gt;
&lt;br style=&quot;color: #38761d;&quot; /&gt;&lt;b&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;Add Weekday in date textfields&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;To add week&#39;s day with your date, use the function FormatDateTime. So when you will run your code it will pace &quot;Thursday, December 29, 2011&quot; in the date texbox.&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
Browser(&quot;&quot;).Page(&quot;&quot;).WebEdit(&quot;StartDate&quot;).Set FormatDateTime (date, 1)&lt;br /&gt;
&lt;br /&gt;
Browser(&quot;&quot;).Page(&quot;&quot;).WebEdit(&quot;EndDate&quot;).Set FormatDateTime (date, 1)&lt;br /&gt;
&lt;br /&gt;
Browser(&quot;&quot;).Page(&quot;&quot;).Image(&quot;&quot;).Click&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Assign variable for validation of date1, date2&amp;nbsp; and comparision&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;set reqval1= Browser(&quot;&quot;).Page(&quot;&quot;).WebElement(&quot;revDate&quot;)&lt;br /&gt;
&lt;br /&gt;
set reqval2= Browser(&quot;&quot;).Page(&quot;&quot;).WebElement(&quot;revDate2&quot;)&lt;br /&gt;
&lt;br /&gt;
set cmpval=Browser(&quot;&quot;).Page(&quot;&quot;).WebElement(&quot;cmpvDate&quot;)&lt;br /&gt;
&lt;br /&gt;
If ((reqval1.Exist(1)&amp;nbsp;&amp;nbsp; and (reqval2.Exist(1)&amp;nbsp; and (cmpval.Exist(1)))) =&amp;nbsp; true) Then&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Print &quot;Found Date comparision validations all Working&quot;&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Print &quot;Not Found all date comparision validations not working&quot;&lt;br /&gt;
&lt;br /&gt;
End If&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;Setting prev date&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;To set previous date use DateAdd function. Replace &quot;d&quot; ,&quot;date&quot; with &quot;m&quot; for month or &quot;y&quot; for year. Providing minus (-) sign will instruct QTP to subtract 10 days from today&#39;s date.&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
Browser(&quot;&quot;).Page(&quot;&quot;).WebEdit(&quot;StartDate&quot;).Set DateAdd(&quot;d&quot;,-10,date)&lt;/div&gt;&lt;div style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;Setting date in disabled textbox&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;So the interesting part, to provide date in&lt;b&gt; &lt;/b&gt;a disabled textbox use the &lt;b&gt;object.innerText &lt;/b&gt;method we can set a date in a disabled textbox.&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt; &lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Browser(&quot;&quot;).Page(&quot;&quot;).WebEdit(&quot;&quot;)&lt;b&gt;.object.innerText&lt;/b&gt; = date&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;So that is all from my side, will update the thread if i came across some more date validation.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/5417236268259661952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2011/12/all-about-dates-using-qtp.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/5417236268259661952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/5417236268259661952'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2011/12/all-about-dates-using-qtp.html' title='All about Dates using QTP'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-5140432253055017656</id><published>2011-12-28T22:54:00.001+11:00</published><updated>2012-01-16T17:46:19.439+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="build-in environment variables"/><category scheme="http://www.blogger.com/atom/ns#" term="environment variables"/><category scheme="http://www.blogger.com/atom/ns#" term="global sheet"/><category scheme="http://www.blogger.com/atom/ns#" term="local sheet"/><category scheme="http://www.blogger.com/atom/ns#" term="Parameterization"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP"/><category scheme="http://www.blogger.com/atom/ns#" term="random number"/><title type='text'>QTP Parameterization (all types)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;The what? &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Parameterization is a process in which you can pass multiple sets of data, variables to remove hard coded values. For example, if you need to check ten login credentials if they are valid or not, worst approach to be adapted by you will be executing the code ten times, problem redundancy and wrong approach. Alternatively you can just pass values in the datatable (Excel like sheet provided in QTP). so you can test multiple set of data in one action or call. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;The ways? &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;There are three ways to parameterize your data using QTP.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Using Datatable (Global or Action specific) &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Using environmental variables (User defined, Built-in) &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Using Random (built-in function) &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;1. Using DataTable &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Datatable values can be used in two ways. Either using Global sheet or Action specific sheet. Global sheet as the name says allows acess throughout your test, across functions or actions, the data (columns) declared here can be used globally within the test. Syntax is given below&lt;/span&gt;.&lt;/div&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Decalare and Set &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Set &lt;span style=&quot;color: #073763;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;DataTable(&quot;Username&quot;,dtGlobalSheet)&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;‘dtGlobalSheet’&lt;/b&gt; instructs QTP to create a column Username in the Global sheet. If we replace dtGlobalSheet by &lt;b&gt;dtLocalSheet&lt;/b&gt;, that will instruct QTP to create the column in the current action sheet you working in like Action1(Default).&amp;nbsp; After filling test data into the datatable, browse Action1 and Select Action Call properties. Run tab shows various options, select option 2 and the test will execute on all datatable values.[Refer Screenshot below]&lt;/span&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0Z4VschIb1ybgkVXS9BHAbvSt4c0cjSK3-LQ0YTZ-q4FYTxGkhZL7lN9BVy3DUJGdCrBtUu4tXDpDrT2r8bkTk9Rvm0NfojQCAaDWTXn9W6nwbWatN3f3LR7_x5whNoMBr1PZCe-hux3K/s1600/Datatable.JPG&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0Z4VschIb1ybgkVXS9BHAbvSt4c0cjSK3-LQ0YTZ-q4FYTxGkhZL7lN9BVy3DUJGdCrBtUu4tXDpDrT2r8bkTk9Rvm0NfojQCAaDWTXn9W6nwbWatN3f3LR7_x5whNoMBr1PZCe-hux3K/s400/Datatable.JPG&quot; width=&quot;380&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Datatable parameterization&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;2. Using Environment variables &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;These variables are considered as global variables, if you have declared them once you can use them within or across actions. Same as you use parameters of a global sheet. Difference is these are variables.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;For example you have a page which requires your digital signature i.e. First name, last name and Date of birth to be input. So to avoid copy pasting the same line of code again and again what you can do is declare and use &lt;b&gt;user-defined environment variables&lt;/b&gt;. &lt;/span&gt;&lt;/div&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;declaration &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Environment.Value(&quot;firstname&quot;) = &quot;define value&quot; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Calling &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Browser().Page().WebEdit().Set Environment.value(&quot;firstname&quot;) &lt;/span&gt;&lt;/blockquote&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;There are &lt;b&gt;build-in environment variables &lt;/b&gt;as well. To access them Click on File &amp;gt; Test Settings and Click on Environment tab. List of build-in variable will be displayed, which can be used in the same way, we call in the user define environment variables.  If your test is not executing make sure you have not used incorrect spelling.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-dpcMFYSGi9c/Tvr699bUFHI/AAAAAAAAAFw/CHYvKNvIhYI/s1600/Environment+variables.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;http://3.bp.blogspot.com/-dpcMFYSGi9c/Tvr699bUFHI/AAAAAAAAAFw/CHYvKNvIhYI/s400/Environment+variables.JPG&quot; width=&quot;321&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Buil-in Environment variables&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;3. Random Numbers&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;You can always use a random number function with multiple scenarios. For example if you have to download and save an image from all pages and the image has the same name every time the test runs, you will face errors. So to get rid of this problem use random number where you are saving the file.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: left;&quot;&gt;&lt;/div&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;div style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: left;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Syntax&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: left;&quot;&gt;Random(num1, num2)&lt;/div&gt;&lt;/blockquote&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: left;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Here num1 is the start range and num2 is the end range. The Maximum allowable value is 2147483647. To save file add the random function with an ampersant (&amp;amp;).&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Dialog(&quot;text:=Save As&quot;).WinEdit(&quot;attached text:=File &amp;amp;name.*&quot;).Set &quot;Downloaded image&quot; &amp;amp; RandomNumber(1,99) &amp;amp; &quot;.jpeg&quot;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Heres all from my side on various ways of parameterizing your QTP test data. Learn and practice, you will get to discover other good and easy ways.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/5140432253055017656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2011/12/qtp-parameterization-all-types.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/5140432253055017656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/5140432253055017656'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2011/12/qtp-parameterization-all-types.html' title='QTP Parameterization (all types)'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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/AVvXsEj0Z4VschIb1ybgkVXS9BHAbvSt4c0cjSK3-LQ0YTZ-q4FYTxGkhZL7lN9BVy3DUJGdCrBtUu4tXDpDrT2r8bkTk9Rvm0NfojQCAaDWTXn9W6nwbWatN3f3LR7_x5whNoMBr1PZCe-hux3K/s72-c/Datatable.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-3201783086425476999</id><published>2011-12-28T17:12:00.000+11:00</published><updated>2011-12-28T17:12:52.095+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CDbl"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP Column Format"/><category scheme="http://www.blogger.com/atom/ns#" term="Run Error The parametr is incorrect"/><title type='text'>Passing Long Integers from datatable using CDbl</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;You might have wanted to pass long integers like from 10 - 13 digits and every time you execute your code, QTP datatable changes your integer value into some scientific value containing plus(+) and decimal signs. Changing the column &#39;Format&#39; does not seems to be beneficial. (At least not for me).&lt;br /&gt;
&lt;br /&gt;
For example if you have tried automating a payment form that takes in credit card number and other details, you might have came across this problem.&lt;br /&gt;
&lt;br /&gt;
So here i will be telling you about some very useful build-in functions that can help in this error. Executing the code below will give you an error of invalid input as the value in your datatable will be something like 1.111111111E+111.&lt;br /&gt;
&lt;/div&gt;&lt;blockquote class=&quot;tr_bq&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Browser(&quot;name:=.*&quot;).Page(&quot;title:=.*&quot;).WebEdit(&quot;html id:=some id&quot;).Set DataTable(&quot;CardNumber&quot;,dtGlobalSheet) &lt;/blockquote&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Changing column format to Fixed, Custom or any other will give you following error &#39;The parameter is incorrect&#39;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-SZzZDlvBVBw/TvqyHs_Df0I/AAAAAAAAAFk/gkxUhHle4Ts/s1600/Run+error+parameter+incorrect.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;123&quot; src=&quot;http://4.bp.blogspot.com/-SZzZDlvBVBw/TvqyHs_Df0I/AAAAAAAAAFk/gkxUhHle4Ts/s320/Run+error+parameter+incorrect.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;So let us play with some variables and built-in functions.&lt;/div&gt;&lt;blockquote class=&quot;tr_bq&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;myCardNo = DataTable.GetSheet(&quot;sheetname&quot;).GetParameter(&quot;CardNo&quot;)&lt;br /&gt;
resultedCardNo = CDbl(myCardNo)&lt;br /&gt;
Browser(&quot;name:=.*&quot;).Page(&quot;title:=.*&quot;).WebEdit(&quot;html id:=some id&quot;).Set resultedCardNo &lt;/blockquote&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;In line # 3 we have used CDbl which converts your integer to Double. So when we execute the above code, the 13 digit value in datatable will be converted into a double datatype and you can easily set your textbox value. [For further details on Cdbl, Check in Quick test professional Help.]&lt;br /&gt;
&lt;br /&gt;
Hope this article will be help you in dealing with long numerics. Happy scripting.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/3201783086425476999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2011/12/passing-long-integers-from-datatable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/3201783086425476999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/3201783086425476999'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2011/12/passing-long-integers-from-datatable.html' title='Passing Long Integers from datatable using CDbl'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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="http://4.bp.blogspot.com/-SZzZDlvBVBw/TvqyHs_Df0I/AAAAAAAAAFk/gkxUhHle4Ts/s72-c/Run+error+parameter+incorrect.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-7882238866556225359</id><published>2011-10-28T23:27:00.003+11:00</published><updated>2012-01-16T17:44:00.119+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="C/C++"/><category scheme="http://www.blogger.com/atom/ns#" term="codecademy"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Lisp"/><category scheme="http://www.blogger.com/atom/ns#" term="Objective-C"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Ruby"/><title type='text'>Learn &#39;how to code&#39;</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;So today I was just reading and going through the tech news and I found out an extremely cool and interactive website that helps people to &#39;how to code&#39;. So here i am presenting a review for the pretty pretty site I loved :). This site is for all those tech and geeky fellows out there who loves coding or wish to seek career in development.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;The site is called &lt;a href=&quot;http://www.codecademy.com/&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Codecademy&lt;/b&gt;&lt;/a&gt;, presented by Zach and Ryan. It’s a startup, a global hit indeed which just raised a &lt;a href=&quot;http://techcrunch.com/2011/10/27/codecademy-raises-2-5-million-to-teach-you-how-to-code/&quot;&gt;2.5 Million funding&lt;/a&gt;, which teaches you how to code in lessons form. A user is presented with an editor in which he is guided with step by step programming courses. On clearing some steps he is transferred to next step, a next lesson, he is also presented with virtual rewards and badges. After clearing and learning basic programming concepts he is then taught with JavaScript concepts.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDlyfzX9E3PbMnqmD3V1jKb5HNmRc67YUWVTXYHTzUCKStlfQoGb7U2CvdeGiDLsEH-C5dLrbi43oIZyvRy9PAVD2wwRQ-mKJ8MbwimNKKVj_nn_vAv0thqhYgghKcbzf9wlNv28EBT6Wr/s1600/Codeacademy.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;277&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDlyfzX9E3PbMnqmD3V1jKb5HNmRc67YUWVTXYHTzUCKStlfQoGb7U2CvdeGiDLsEH-C5dLrbi43oIZyvRy9PAVD2wwRQ-mKJ8MbwimNKKVj_nn_vAv0thqhYgghKcbzf9wlNv28EBT6Wr/s400/Codeacademy.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Codeacademy Home page&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;The site is open for all, to post and share different programming lessons. Available topics are JavaScript, Python, Ruby, C/C++, Java, PHP, Objective-C, Lisp,C#, Haskell, Scala, Erlang and Others. &lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;You can register yourself to enjoy and help the team in bringing out more to the site. I think it’s a pretty cool site and should be checked by any beginner who likes to code, even the guys not Liking to code can check it out as well, I am sure there time will be utilized in a good way. Enjoy learning and Coding.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;span style=&quot;font-family: Wingdings;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;span style=&quot;font-family: Wingdings;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;span style=&quot;font-family: Wingdings;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;span style=&quot;font-family: Wingdings;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/7882238866556225359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2011/10/learn-how-to-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/7882238866556225359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/7882238866556225359'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2011/10/learn-how-to-code.html' title='Learn &#39;how to code&#39;'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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/AVvXsEgDlyfzX9E3PbMnqmD3V1jKb5HNmRc67YUWVTXYHTzUCKStlfQoGb7U2CvdeGiDLsEH-C5dLrbi43oIZyvRy9PAVD2wwRQ-mKJ8MbwimNKKVj_nn_vAv0thqhYgghKcbzf9wlNv28EBT6Wr/s72-c/Codeacademy.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-8815096232077823185</id><published>2011-10-06T23:26:00.009+11:00</published><updated>2012-01-16T17:54:47.185+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Eval"/><category scheme="http://www.blogger.com/atom/ns#" term="Excel"/><category scheme="http://www.blogger.com/atom/ns#" term="function"/><category scheme="http://www.blogger.com/atom/ns#" term="GetObject"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP"/><title type='text'>Download and Save an Excel Sheet using QTP</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-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;During automation we might have came across scenarios which requires selecting group of data and downloading an Excel file and then save it on a particular location. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Automating Excel sheets requires correct steps to follow. At first you have to create an Excel object and then to save, you have to choose a dynamic location and it should not be machine dependent. So here i am presenting a quick function that serves the discussed purpose.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Step 1.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Make a vbs file i.e open notepad copy the below code and save it with a .vbs extension. [Name].[vbs].&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Step 2&lt;/span&gt;.&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Add the function in QTP resources. Browse file &amp;gt; Settings &amp;gt; Resources tab.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Step 3&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Now Call the function in your code where required. Use keyword &#39;Call&#39; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Function initializing&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;Public Function&lt;/b&gt; ExcelExport() &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Check excel button existence&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;If&lt;/b&gt; (Browser(&quot;name:=.*&quot;).Page(&quot;title:=.*&quot;).WebButton(&quot;html id:=some ID&quot;).Exist(1)) &lt;b&gt;then&lt;/b&gt; Browser(&quot;name:=.*&quot;).Page(&quot;title:=.*&quot;).WebButton(&quot;html id:=[some ID]&quot;).Click&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Will Open and Save Excel sheet&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Browser(&quot;name:=.*&quot;).Dialog(&quot;text:=FileDownload&quot;).WinButton(&quot;text:=&amp;amp;Open&quot;).Click&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;wait 5&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Creating Excel object to save the exported file&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Dim objExcel, xlBook&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Initializes user variable to Excel object&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Set objExcel=CreateObject(&quot;Excel.Application&quot;)&lt;/span&gt;&lt;/blockquote&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;If the above line does not work, try using &lt;b&gt;GetObject&lt;/b&gt; method to locate already open excel file with &lt;b&gt;Eval&lt;/b&gt; to bypass syntax error on using Getobject. It is a bug in QTP syntax checking.&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Initializes user variable to Excel object&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Set objExcel = Eval(&quot;GetObject(, &quot;&quot;Excel.Application&quot;&quot;)&quot;) &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt; &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Initializes user variable to Workbook object &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Set xlBook=objExcel.Workbooks&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Make active sheet visible &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Set xlBook = objExcel.ActiveSheet&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Saves, add random number, to avoid duplicate names&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;xlBook.SaveAs &quot;Exported&quot; &amp;amp; EntityName &amp;amp; RandomNumber(1,99) &amp;amp; &quot;.xls&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Exits MS Excel application&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;objExcel.Quit&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Release object allocation from memory &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Set xlBook = Nothing&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Set objExcel = Nothing&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Prints a user defined friendly message &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Print &quot;Downloaded and Saved Exported Records successfully....&quot; &amp;amp; vbnewline&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;On no excel button availability &lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;else&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Print &quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Missing Export to Excel button&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Reporter.ReportEvent micFail,&quot;Missing Export to Excel button&quot;,&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Missing Export to Excel button&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;End If&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;End function&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;Let me know your comments, reviews&amp;nbsp; if you found above function useful. &lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/8815096232077823185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2011/10/download-and-save-excel-sheet-using-qtp.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/8815096232077823185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/8815096232077823185'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2011/10/download-and-save-excel-sheet-using-qtp.html' title='Download and Save an Excel Sheet using QTP'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-4412609959919575113</id><published>2011-10-06T23:17:00.002+11:00</published><updated>2011-12-28T17:52:14.728+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Automation"/><category scheme="http://www.blogger.com/atom/ns#" term="QTP"/><category scheme="http://www.blogger.com/atom/ns#" term="Runtime"/><category scheme="http://www.blogger.com/atom/ns#" term="VBScripting"/><title type='text'>Get and Compare Runtime URLs using QTP</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-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;This article will help you in getting the run-time URL of your website and comparing with user defined i.e from datatable, if that is correct it logs into the application otherwise exits the application&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;When you are automating your application using QTP, you might have to deal with multiple URLs, i.e. if your application is deployed on multiple Servers / Environments, every time you run your script, it has to be configured with correct credentials.&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Here is a quick function that can be applicable in all such conditions. Make a VBS file. Open notepad, copy the below code and save the file with &lt;b&gt;.vbs&lt;/b&gt; extension, Now provide login credentials, i.e. username and password in your datatable and Call the function we just made.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Function Declaration &lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Public Function FunctionName()&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Gets the runtime URL and assign the value in the variable&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;browserURL=Browser(&quot;title:=page title&quot;).Page(&quot;url:=page url&quot;).GetROProperty(&quot;URL&quot;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;Click on the Login button&lt;/span&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Browser(&quot;title:=page title&quot;).Page(&quot;url:=page url&quot;).Image(&quot;File name:=login_btn.png&quot;).Click&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;wait 10&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;Check variable value with the user defined value (Use first page name)&lt;/span&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;If&lt;/b&gt; instr(browserURL, &quot;Dashboard&quot;) &amp;lt; 0 Then&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Reporter.ReportEvent micPass, &quot;Login success&quot;, &quot;Correct credentials. Authenticated successfully&quot;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;&#39;&#39;&#39;&#39;&#39;Check invalid credentials input &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;Elseif&lt;/b&gt; (Browser(&quot;title:=login page title&quot;).Exist(1)) then&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Reporter.ReportEvent micFail, &quot;Invalid credentials provided&quot;, &quot;Incorrect credentials&quot;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&#39;&#39;&#39;&#39;&#39;Close browser and Exits the test&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Browser(&quot;title:=http.*://.*Login.aspx.*&quot;).close&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;ExitTest &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;End If&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;/span&gt; &lt;/b&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;End Function &lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Hope it helps. Enjoy scripting &lt;/span&gt;:)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/4412609959919575113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2011/10/useful-function-to-get-and-compare.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/4412609959919575113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/4412609959919575113'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2011/10/useful-function-to-get-and-compare.html' title='Get and Compare Runtime URLs using QTP'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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-7557786290027625450.post-6298351735350297956</id><published>2011-07-06T20:03:00.001+10:00</published><updated>2011-12-28T18:07:44.596+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gmail Labs"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Google +1 button"/><category scheme="http://www.blogger.com/atom/ns#" term="Google blogger"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Maps"/><category scheme="http://www.blogger.com/atom/ns#" term="Google talk"/><title type='text'>Top 5 Google Product Reviews</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Google has engaged itself to roll out many cool and amazing releases this year by providing user with a better,easy and faster experience to stay connected and search even more accurate. Here I will be discussing some very useful and effective releases in forms of tools, apps, plug-in and many more that are been launched up til now.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;+1 the pretty cool recommendation tool&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;While using your Google account, you must have noticed a small icon having + along with a 1 with it. This is Google’s new search capability shorthand as “this is pretty cool”, which provides user with much appropriate and quicker result. It works in a social way by that I mean it takes recommendations from your own people, friends, family, coworkers, and people in your contact list and display you list of recommended results. To recommend just click on +1 on any webpage or ads you browsed. One just needs to have an upgraded Google profile to enjoy this new search experience. This surely results to be very useful for the advertisers which are connected with different ads. Google also plans o provide the same capability in the search soon.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-vcMFDWbAR9Y/ThQv4fQsUII/AAAAAAAAABM/KDMvYfA6vMs/s1600/Google-to-introduce-%252B1-button.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;119&quot; src=&quot;http://2.bp.blogspot.com/-vcMFDWbAR9Y/ThQv4fQsUII/AAAAAAAAABM/KDMvYfA6vMs/s200/Google-to-introduce-%252B1-button.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;Talk Guru&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;You might have gone through traditional chat bots like Google Sms Support, which were used earlier. Google has revamped its Google Talk and released the beta version in form of an intelligent system which provides answers for all your queries on an instant message, it can be considered as a search engine alternate. To experience sign into any chat client supporting Google Talk, Send a chat invitation to guru@googlelabs.com or click the link &quot;Sign in and invite myself to chat with Guru”. Works using the commands like score arsenal – Sports score, define – getting any topic definition, web Google Talk to search for Google Talk and so on. You can always ping Google Guru to enjoy faster and more helpful results.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-NaY3NrJUCZg/ThQwUUmT8UI/AAAAAAAAABQ/plVDDT1Xh-A/s1600/Google-talk-guru.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;97&quot; src=&quot;http://1.bp.blogspot.com/-NaY3NrJUCZg/ThQwUUmT8UI/AAAAAAAAABQ/plVDDT1Xh-A/s200/Google-talk-guru.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;Google Cloud Connect for Microsoft Office&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Ever used Google Docs or wished to have a parallel processor for editing your documents, presentations or Excel files without any Document locked warning? Here is the smartest solution, Google cloud is a plug-in provided by Google which provides simultaneous access to read, write and update the same file, also generates URL for every document in your Google Docs along with revision history, offers synchronized offline editing capability. It also provides you multilingual option. 38 different languages are been supported with an ability to minimize the document. Google and Microsoft collaborated works turns out to be simply amazing.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-FJWyQyyrdmU/ThQwWA5wUaI/AAAAAAAAABU/rPgdFigZdKU/s1600/google_cloud_connect_ms_office1.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;134&quot; src=&quot;http://1.bp.blogspot.com/-FJWyQyyrdmU/ThQwWA5wUaI/AAAAAAAAABU/rPgdFigZdKU/s200/google_cloud_connect_ms_office1.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: left;&quot;&gt;&lt;b&gt;Google Blogger&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;With over 400 million active users and half a million published posts across the globe, Google Blogger turns out to be sixth largest website in the world the previous year. Hence this year, new attractions are to be presented through out the year, the first among them is the new Interface. Integration of Google Web Toolkit, (an open source development toolkit for building and optimizing complex browser based applications) for the Dashboard and editor which enables you manage your posts in a more sophisticated and modern way. Second is new content discovery mechanism that tracks multiple keywords associated in the current post you reading and list down all of them so that you can follow other websites having the same related posts.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-bDesor8wdfQ/ThQwZWhtrPI/AAAAAAAAABY/eyEuKA2TYuI/s1600/beta_buzz-706883.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;http://2.bp.blogspot.com/-bDesor8wdfQ/ThQwZWhtrPI/AAAAAAAAABY/eyEuKA2TYuI/s200/beta_buzz-706883.png&quot; width=&quot;176&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;b&gt;Google Maps Navigation (beta)&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;The beta release for navigation and Google Maps offers real time traffic conditions to save you from the overheads of reaching late and getting embarrassed, overcoming the traffic jams by automatically instructing you with an alternate route to your destination. With an improved and more optimized routing algorithm in the beta release, it will guide you to the fastest route in account with current traffic situation, it also offers you alternate path such as using highways in place of side roads. Use Navigation or Google Maps from now on to avoid getting into road blocks and utilize your time in a better way.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-7iB5vz0A3Zw/ThQxRWyOK7I/AAAAAAAAABc/chzTUjoHVO0/s1600/nav-gallery-26-540x303.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;111&quot; src=&quot;http://2.bp.blogspot.com/-7iB5vz0A3Zw/ThQxRWyOK7I/AAAAAAAAABc/chzTUjoHVO0/s200/nav-gallery-26-540x303.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/6298351735350297956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2011/07/top-5-google-product-reviews.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/6298351735350297956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/6298351735350297956'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2011/07/top-5-google-product-reviews.html' title='Top 5 Google Product Reviews'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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="http://2.bp.blogspot.com/-vcMFDWbAR9Y/ThQv4fQsUII/AAAAAAAAABM/KDMvYfA6vMs/s72-c/Google-to-introduce-%252B1-button.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7557786290027625450.post-4504490178605078521</id><published>2011-03-26T00:07:00.001+11:00</published><updated>2011-12-28T17:32:06.155+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Action"/><category scheme="http://www.blogger.com/atom/ns#" term="descriptive programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Expert view"/><category scheme="http://www.blogger.com/atom/ns#" term="Keyword view"/><category scheme="http://www.blogger.com/atom/ns#" term="object repositry"/><category scheme="http://www.blogger.com/atom/ns#" term="Qucik test professional"/><category scheme="http://www.blogger.com/atom/ns#" term="Recording"/><title type='text'>An Easy Quicky start to HP&#39;s Qucik Test Professional (QTP)</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-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;For a long time I have been working on HP&#39;s Quick Test Professional abbreviated as QTP which is HP&#39;s or Mercury ( HP bought Mercury) product. It is a graphical interface record-playback automation tool used for Automated functional testing for desktop,Web ActiveX controls, and Visual Basic applications. This is a great software and I would be recommending all the testers and Quality assurances to have their hands on this software. You can also Google to find millions of articles based on QTP. &lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt; So here today i will be presenting some very basic learning lessons for the newbies which I have experienced so far while using this fabulous,rich and huge automated testing giant (Apologies to the other automated software&#39;s, this is purely an individual opinion). &lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;First of all let us have a look at the Interface (The window) and gets familiar.Below is a screen shot depicting the window along with the descriptions.&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;br style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot; /&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: center;&quot;&gt;&lt;a href=&quot;https://lh5.googleusercontent.com/-4ydRcHS0nJI/TYyFGbdb62I/AAAAAAAAABE/3zEZ1InlO4U/s1600/QTP_Window.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://lh5.googleusercontent.com/-4ydRcHS0nJI/TYyFGbdb62I/AAAAAAAAABE/3zEZ1InlO4U/s320/QTP_Window.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
QTP works on Actions, your activity is recorded or scripted in a default Action namely Action1, you can also rename it and change its properties. That you can do by right clicking on Action1 in the Keyword view and go to Action properties or Action Call properties. I will be discussing both.&lt;br /&gt;
&lt;br /&gt;
Each action is associated with Object repository, that is all the objects that exists in your recording process. Also each object belong to a Class. For all the text box in a web page &#39;WebEdit&#39; object is used, WebList for the combobox / dropdown, WebRadioGroup for the radio buttons,WebCheckBox for the checkbox, Image for the images, Link for the hyperlinks and so on. Apart from all these individual properties and object QTP treats every element in a web page as a WebElement. &lt;br /&gt;
&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;There are two ways to automate your work using QTP, both having their own pros and cons but in the end the choice is all yours.&lt;/div&gt;&lt;ol style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: left;&quot;&gt;&lt;li&gt;Recording &lt;/li&gt;
&lt;li&gt;Descriptive programming &lt;/li&gt;
&lt;/ol&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Recording is as simple as the name suggest you just click the red &#39;Record&#39; button on top and carry on doing your work,in the back end QTP will be recording all your actions. There are also two steps in recording.&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;
Either Record and run test on any open browser. &lt;b&gt;Or&lt;/b&gt; Provide the address yourself when recording a session. this somewhat is like hard coding your settings. For example I have two servers for the same application (Web application) If i need to run the script on both servers i will be selecting an open browser setting rather sticking to one provided URL.&lt;br /&gt;
&lt;br /&gt;
Oh the settings can be done by Click on Automation, browse &#39;Record and Run settings&#39; and a window will be displayed to select your automation criteria.&lt;br /&gt;
&lt;br /&gt;
Moving on further there are also two views available.&lt;/div&gt;&lt;ol style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: left;&quot;&gt;&lt;li&gt;the Keyword view and &lt;/li&gt;
&lt;li&gt;the Expert view &lt;/li&gt;
&lt;/ol&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;The first view displays all the actions and  commands that are been made,and the expert view displays the code associated with those actions. If you choose to do descriptive programming then that&#39;s the place you will be working on. You can also change some basic action setting by going into Expert view, if you have interest in coding :). I personally use Expert view more as i am very much interested in Coding and handling every action properties myself. You will also found a tab name Data Table, an excel like structure. Here you can provide values of your actions.&lt;br /&gt;
&lt;br /&gt;
Well that is a very little introduction of QTP, we will be discussing more in the next post up til then happy knowing and getting familiar with QTP :)&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aishamazhar.blogspot.com/feeds/4504490178605078521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aishamazhar.blogspot.com/2011/03/easy-quicky-start-to-hps-qucik-test.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/4504490178605078521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7557786290027625450/posts/default/4504490178605078521'/><link rel='alternate' type='text/html' href='http://aishamazhar.blogspot.com/2011/03/easy-quicky-start-to-hps-qucik-test.html' title='An Easy Quicky start to HP&#39;s Qucik Test Professional (QTP)'/><author><name>Aisha M</name><uri>http://www.blogger.com/profile/11569588232101118189</uri><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://lh5.googleusercontent.com/-4ydRcHS0nJI/TYyFGbdb62I/AAAAAAAAABE/3zEZ1InlO4U/s72-c/QTP_Window.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>