<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3833334688533781263</id><updated>2012-02-17T18:08:35.129Z</updated><category term='commit monitor'/><category term='svn'/><category term='subversion'/><title type='text'>TestTastic</title><subtitle type='html'>Exploits in the world of Software Test Automation</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://testtastic.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://testtastic.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Glenn Halstead</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3833334688533781263.post-1702309545156937038</id><published>2009-05-07T19:30:00.000Z</published><updated>2009-05-07T19:48:05.194Z</updated><title type='text'>Java Client Embedded Browser QTP Headaches</title><content type='html'>The thick Java client that we test using QTP has an embedded browser hosting the Kana Knowledge Management System (KMS).  You can configure QTP to play with the embedded browser.  It works but it's a bit awkward because you can only use the Object Repository and Spy if you disable the QTP Java addin and even then QTP only recognises a subset of the objects in the embedded browser.&lt;br /&gt;&lt;br /&gt;The subset of objects that QTP was willing to recognise in the embedded browser was enough to verify the test points that we were interested in but a recent update of the KMS has changed things, now QTP recognises fewer of the objects and this is causing us a bit of a headache.&lt;br /&gt;&lt;br /&gt;My suspicion is that there's yet another object embedded in the embedded browser but I've not been able to get any more info on that yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3833334688533781263-1702309545156937038?l=testtastic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://testtastic.blogspot.com/feeds/1702309545156937038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3833334688533781263&amp;postID=1702309545156937038' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/1702309545156937038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/1702309545156937038'/><link rel='alternate' type='text/html' href='http://testtastic.blogspot.com/2009/05/java-client-embedded-browser-qtp.html' title='Java Client Embedded Browser QTP Headaches'/><author><name>Glenn Halstead</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3833334688533781263.post-1069863920085156425</id><published>2009-05-05T19:42:00.003Z</published><updated>2009-05-05T19:50:42.332Z</updated><title type='text'>Updated Hudson version</title><content type='html'>I updated our Hudson version last night.  This has fixed a minor issue that was making life tedious for us.  We have around 15 views (tabs) in Hudson.  This is too many to fit on the screen and Hudson has no method of Wrapping or Stacking them so we get a horizontal scroll bar.&lt;br /&gt;&lt;br /&gt;We use Hudson to run GUI Integration tests (using QTP) and it's very typical for us to manually kick of a single test.   The problem with the many views and horizontal scroll bar is the the Hudson 'run build' button is off the right hand side of the screen and you have to scroll across to it.  This becomes tedious when you're doing it a lot. &lt;br /&gt;&lt;br /&gt;This new version of Hudson, 1.3.0.3 allows us to add, remove and relocate the Hudson columns so now the run build button is in the first column rather than the last.  A simple problem but a sweet fix.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3833334688533781263-1069863920085156425?l=testtastic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://testtastic.blogspot.com/feeds/1069863920085156425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3833334688533781263&amp;postID=1069863920085156425' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/1069863920085156425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/1069863920085156425'/><link rel='alternate' type='text/html' href='http://testtastic.blogspot.com/2009/05/updated-hudson-version.html' title='Updated Hudson version'/><author><name>Glenn Halstead</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3833334688533781263.post-8296219724574658938</id><published>2009-04-13T20:43:00.000Z</published><updated>2009-04-13T20:44:13.278Z</updated><title type='text'>Results Signatures and Auto Outcome Adjust</title><content type='html'>One of the area's I work in is automated regression testing of our CRM solution. We've been improving our test execution solution since since we brought the reponsibility for execution and reporting back in house in Jan 09.&lt;br /&gt;&lt;br /&gt;In our world we have test environments that may be unreliable or defective, bad test data causing test failures and, God forbid, maybe even faults in the automated test solution... ;) So there's a fair bit of investigation required before we decide that a test failure really is a fault with the product under test.&lt;br /&gt;&lt;br /&gt;This blog entry discusses our &lt;span style="font-weight: bold;"&gt;Automatic Adjust Solution&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;A Fail Signature is a unique collection of failed test point ID's.&lt;br /&gt;&lt;br /&gt;We've been working with a Fail Signature Auto Adjust solution for a wee while and it's saving us from tedious, repetitive and wasteful root cause investigation.&lt;br /&gt;&lt;br /&gt;Every test point within our automated tests (pass or fail) has a unique ID. So If we run a single test case, as well as a big log file telling us what happened during the test run we'll also have a list of all the failed test points... the Fail Signature.&lt;br /&gt;&lt;br /&gt;Starting from a premise that ALL automated test failures need to be investigated before a REAL fail can be reported to the customer of our testing, we use our Auto Adjust to handle predictable, repeatable fail patterns to save us the time and effort looking into every fail.&lt;br /&gt;&lt;br /&gt;Example: If our java client fails to load during the test the test will fail. The fail record will contain a unique ID for this test point. The Fail Signature is the collection of all the fail points. If the Fail Signature contains ONLY the 'client failed to load' fail point then the test results will be automatically adjusted to an 'EXEC FAILURE' with a comment that the client failed to load. We don't need to drill into the test logs to derive this conclusion.&lt;br /&gt;&lt;br /&gt;When a tester investigates the root cause of a test fail and decides that the behaviour is likley to recur he adds the Fail Signature to our Auto Adjust database so that the same root cause analysis work is not needed next time. The tester decides on the outcome and comment that the Auto Adjust solution should add to the test report.&lt;br /&gt;&lt;br /&gt;This automatic analysis of Fail Signature has been a real help in reducing the effort required for initial test fail root cause investigation. It has enabled us to significantly reduce the time taken to deliver the results of a test run to our customers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3833334688533781263-8296219724574658938?l=testtastic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://testtastic.blogspot.com/feeds/8296219724574658938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3833334688533781263&amp;postID=8296219724574658938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/8296219724574658938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/8296219724574658938'/><link rel='alternate' type='text/html' href='http://testtastic.blogspot.com/2009/04/results-signatures-and-auto-outcome_13.html' title='Results Signatures and Auto Outcome Adjust'/><author><name>Glenn Halstead</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3833334688533781263.post-3548984110302652150</id><published>2008-03-20T23:53:00.007Z</published><updated>2008-10-23T11:51:33.596Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='commit monitor'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>Subversion Commit Monitor</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_8_wW-2QnKnQ/R-L6Xzu-djI/AAAAAAAAAmI/EsBr0_U8d-E/s1600-h/CommitMonitorSystray.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_8_wW-2QnKnQ/R-L6Xzu-djI/AAAAAAAAAmI/EsBr0_U8d-E/s200/CommitMonitorSystray.jpg" alt="" id="BLOGGER_PHOTO_ID_5179977808360666674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Commit Monitor is a tool developed by &lt;a href="http://tools.tortoisesvn.net/" class="l" onmousedown="return rwt(this,'','','res','1','AFQjCNFIyvwwnt3WUz_FI2APrSx598iRQw','&amp;amp;sig2=pIelWvLYG_UU8NiX_-IjcA')"&gt;&lt;b&gt;Stefan's Tools&lt;/b&gt; | A small collection of &lt;b&gt;tools&lt;/b&gt; and&lt;/a&gt;&lt;a href="http://tools.tortoisesvn.net/" class="l" onmousedown="return rwt(this,'','','res','1','AFQjCNFIyvwwnt3WUz_FI2APrSx598iRQw','&amp;amp;sig2=pIelWvLYG_UU8NiX_-IjcA')"&gt; utilities&lt;/a&gt;.  It sits in your systray watching your subversion repository(s).&lt;br /&gt;&lt;br /&gt;When files are commited to repositories / projects you're interested in it alerts you and allows you to check out the commit comments and even do a unified diff.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_8_wW-2QnKnQ/R-L9Qju-dmI/AAAAAAAAAmg/xiZJ7zboQWc/s1600-h/CommitMonitor.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_8_wW-2QnKnQ/R-L9Qju-dmI/AAAAAAAAAmg/xiZJ7zboQWc/s400/CommitMonitor.jpg" alt="" id="BLOGGER_PHOTO_ID_5179980982341498466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We previously used to send emails to the team when ever we commited changes that had significance for others.  It's much easier to use the Commit Monitor as people can see the changes being made without relying on someone remembering / bothering to send an email.&lt;br /&gt;&lt;br /&gt;This tool has made it easy for us to keep upto date with code commits with minimum effort for all team members.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks to Stefan for this superb tool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3833334688533781263-3548984110302652150?l=testtastic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://testtastic.blogspot.com/feeds/3548984110302652150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3833334688533781263&amp;postID=3548984110302652150' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/3548984110302652150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/3548984110302652150'/><link rel='alternate' type='text/html' href='http://testtastic.blogspot.com/2008/03/subversion-commit-monitor.html' title='Subversion Commit Monitor'/><author><name>Glenn Halstead</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_8_wW-2QnKnQ/R-L6Xzu-djI/AAAAAAAAAmI/EsBr0_U8d-E/s72-c/CommitMonitorSystray.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3833334688533781263.post-7753842463449693563</id><published>2008-03-20T23:51:00.003Z</published><updated>2008-03-21T00:10:49.206Z</updated><title type='text'>Cool Tools</title><content type='html'>Well...... I've not managed to do much with this blog.  I've decided I might blog a bit about the tools I use for test automation.  I'm always discovering little tools to solve little problems so I'll write a little about them I think.&lt;br /&gt;&lt;br /&gt;Glenn&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3833334688533781263-7753842463449693563?l=testtastic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://testtastic.blogspot.com/feeds/7753842463449693563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3833334688533781263&amp;postID=7753842463449693563' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/7753842463449693563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/7753842463449693563'/><link rel='alternate' type='text/html' href='http://testtastic.blogspot.com/2008/03/cool-tools.html' title='Cool Tools'/><author><name>Glenn Halstead</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3833334688533781263.post-2792750619253373719</id><published>2007-03-08T14:38:00.005Z</published><updated>2008-12-14T15:13:33.200Z</updated><title type='text'>Automated Code Documentation for QTP Actions</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="EN-US"&gt;Goal:&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/b&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span lang="EN-US"&gt;My goal was to be able to automatically produce code documentation for my QTP Test Actions to make it easier for others to re-use the actions and avoid having to manually create and maintain the documentation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="EN-US"&gt;Background:&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/b&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;I had already selected NaturalDocs (&lt;a href="http://www.naturaldocs.org/"&gt;http://www.naturaldocs.org/&lt;/a&gt;) for documenting my VBScript support functions.&lt;/span&gt;&lt;span lang="EN-US"  style="font-size:7;"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;I wanted to be able to produce similar documentation for my re-usable QTP Test Actions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="EN-US"&gt;Developing the solution:&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;Note: I often use the term Function to refer to a QTP Action.&lt;b&gt;&lt;u1:p&gt;&lt;u1:p&gt;&lt;/u1:p&gt; &lt;/u1:p&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;On inspecting the QTP test script directory I found that each Action has a directory beneath the QTP Test directory and each Action directory contains a script file: &lt;i&gt;Script.mts.&lt;/i&gt;&lt;/span&gt;&lt;span lang="EN-US"  style="font-size:7;"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;NaturalDocs recursively searches the specified directory looking for code files.&lt;/span&gt;&lt;span lang="EN-US"  style="font-size:7;"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;It expects a file header and function headers in the code file.&lt;/span&gt;&lt;span lang="EN-US"  style="font-size:7;"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;I added a file header &lt;b&gt;and&lt;/b&gt; function header to the first Action of my QTP Test and added a function header to each of the remaining Actions.&lt;/span&gt;&lt;span lang="EN-US"  style="font-size:7;"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;When I ran NaturalDocs it found each of the QTP Action script files and produced the documentation from the File and Function headers &lt;b&gt;but&lt;/b&gt; because each Action has a separate script file only the first Action has the file header and hence the other Actions do not get associated with the QTP script name.&lt;/span&gt;&lt;span lang="EN-US"  style="font-size:7;"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;To fix this problem I wrote a small perl script that concatenates all the individual Action scripts into a single file named after the QTP Test.&lt;/span&gt;&lt;span lang="EN-US"  style="font-size:7;"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;These concatenated script files are placed in a dedicated directory and this directory is processed by NaturalDocs.&lt;/span&gt;&lt;span lang="EN-US"  style="font-size:7;"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;This approach ensures all the QTP Actions are documented as part of their QTP Test.&lt;/span&gt;&lt;span lang="EN-US"  style="font-size:7;"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;I added a call to this perl script in the batch file that is used to run NaturalDocs so that the concatenated files are produced each time I run NaturalDocs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;I extended the NaturalDocs configuration a little to recognise the keyword &lt;b&gt;Action&lt;/b&gt; and document it in the same was as a Function.&lt;/span&gt;&lt;span lang="EN-US"  style="font-size:7;"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;I had already added the keyword Parameter for documenting function parameters in my VBScript support libraries.&lt;br /&gt;&lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;u1:p&gt;&lt;/u1:p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span lang="EN-US"&gt;Problems&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;Keyword      View: The large number of comment lines in the Action Header are all shown      in the Keyword View. This doesn't look very good and just wastes screen      space. perhaps there’s a way to configure Keyword View to no show the      comment lines?&lt;b&gt; &lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;b&gt;&lt;span lang="EN-US"&gt;Example of documented QTP Test Actions: Screen Shot&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_8_wW-2QnKnQ/RfAg0uFI-yI/AAAAAAAAASw/NQNrwEWB_54/s1600-h/QTP_AutoDoc.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_8_wW-2QnKnQ/RfAg0uFI-yI/AAAAAAAAASw/NQNrwEWB_54/s400/QTP_AutoDoc.jpg" alt="" id="BLOGGER_PHOTO_ID_5039564073122462498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;b&gt;Setup QTP automated code documentation&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;Download      and install Perl&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;NaturalDocs       requires Perl&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;Free       download from ActiveState: &lt;a href="http://www.activestate.com/Products/ActivePerl/"&gt;http://www.activestate.com/Products/ActivePerl/&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;Download      and install NaturalDocs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;&lt;a href="http://www.naturaldocs.org/download.html"&gt;http://www.naturaldocs.org/download.html&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;Setup the      file structure for your project&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;Add File      and Action headers to your QTP tests&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;Run      NaturalDocs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span lang="EN-US"&gt;Revel in      your lovely documentation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="EN-US"&gt;Example&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Email me for &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;QtpTest_AutoDoc.zip&lt;/b&gt; which contains a working setup including a dummy QTP tests which has File and Action headers and the scripts and folders required to produce the code documentation.  You'll still need to install Perl and NauralDocs.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3833334688533781263-2792750619253373719?l=testtastic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://testtastic.blogspot.com/feeds/2792750619253373719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3833334688533781263&amp;postID=2792750619253373719' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/2792750619253373719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/2792750619253373719'/><link rel='alternate' type='text/html' href='http://testtastic.blogspot.com/2007/03/automated-code-documentation-for-qtp_08.html' title='Automated Code Documentation for QTP Actions'/><author><name>Glenn Halstead</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_8_wW-2QnKnQ/RfAg0uFI-yI/AAAAAAAAASw/NQNrwEWB_54/s72-c/QTP_AutoDoc.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3833334688533781263.post-9025452056005672247</id><published>2007-02-23T22:53:00.000Z</published><updated>2007-02-25T22:42:16.965Z</updated><title type='text'>The First Post</title><content type='html'>This is my first post here.&lt;br /&gt;&lt;br /&gt;I've been thinkng about a blog for a while.  I've been working in software test automation for around 5 years.  Mostly non gui system test in the telecoms industry but some gui web app uat recently.&lt;br /&gt;&lt;br /&gt;Before working in software test I did a year or so in manufacturing systems development and a few years before that in manufacturing automation. Software for manufacturing robots..... now thats fun...... if you get the code wrong you'd better get your head out of the way pretty damn fast.&lt;br /&gt;&lt;br /&gt;I've lurked on many software test groups, commenting from time to time but not very much.&lt;br /&gt;&lt;br /&gt;I worked on a scrum (agile) project for a big telecoms instrument and monitoring system developer recently.  I enjoyed that very much , it was a real eye opener working on an agile project for real - it takes a lot of work and discipline.  It was fun finding ways to give test results back to the developers as rapudly as possible when they released code and it made me realise that in that environment the testers serve the developers first and foremost - giving them feedback on the code they've produced as rappidly as possible.&lt;br /&gt;&lt;br /&gt;Even more recently I've been developing automated uat regression testing for an airline web booking app.  This was my first time testing through the GUI.  I've been using Mercury QTP as the main test tool for this.  I've found it to be a pretty good tool for controlling the GUI and managing the test scripts but i'd have got on just as well with Watir or some other open source tool if the Mercury tools hadn't been available.  It's good to have mercury test tool experience on your cv in the test automation job market though :-)&lt;br /&gt;&lt;br /&gt;I'm starting a new job soon with a company who also use Mercury QTP.   I think much of my blogging may be around getting the mercury tools to do what I want them to.  For exampe this morning I successfully created automated code documentation for the QTP script actions. I've been using the open source NaturalDocs for automated code documentaion of my QTP script support functions.  I finally made time to add my QTP re-usable actions to the code docs.&lt;br /&gt;&lt;br /&gt;Well, thats enough drivel for now - I managed to acuire a snotty cold today so I've been treating it with Irish Red Breast Malt Wiskey for most of the evening - probably the cause of me actually getting this ramble off the ground.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3833334688533781263-9025452056005672247?l=testtastic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://testtastic.blogspot.com/feeds/9025452056005672247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3833334688533781263&amp;postID=9025452056005672247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/9025452056005672247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3833334688533781263/posts/default/9025452056005672247'/><link rel='alternate' type='text/html' href='http://testtastic.blogspot.com/2007/02/first-post.html' title='The First Post'/><author><name>Glenn Halstead</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
