Google Search Results
You arrived here after searching for the following phrases:
Click a phrase to jump to the first occurrence, or return to the search results.
Solmar Knowledge Networks attended (14/8) HP software’s Israeli CAB meeting. We were presented with a quite advanced version of QTP 10 – Atlantis (almost at a feature code-freeze level). Unlike the presentation given at HP Software Universe, this was an actual live presentation, which gave us a closer look at some of the features and rumors around the version. Here are our impressions (These will revisit some of the observations made at our previous report, so bear with us).
As reported before, QTP 10 revolves around 3 pivotal features, alongside several minor features (which turned out to be quite revolutionary):
1. QC integration – which (mostly) boils down to Resource Management and Source Control:
Resource Management: Although you could keep saving your resources as attachments (for backward compatibility), you can upgrade to a new, fuller mode of work. This includes a whole new Resource module in QC, and allows for some very neat tricks on Function Libraries, Tests, Object Repositories etc.
It should be noted, though, that other types of files (external excel / XML files, for example), remain as unmanaged attachments.
Resources have full meta-data, and have a special view pane – you can view Object-Repositories, data-tables, and function libraries code right from QC. This looks quite nice, however, I missed the ability to open the resource for editing in QTP with a single click.
Resources are aware of their dependencies – Who relays on them, and who do they relay on. This enables a very strong warning system – when changing / deleting a resource, you’ll be alerted to the repercussions – namely, which tests, if any, might break. Also, the ability to immediately know who uses a share object repository is very useful, nearly revolutionary.
A very neat trick is a live, automatically updated path system – When moving a function library between folders, QC will automatically update all the tests which depend on it, so they will use it at its new location. This makes the once critical problem of hard-path-link a non-issue. Very impressive.
A word about the user interface – when opening a QC resource / test from QTP, the file dialog shows the items with large, crisp icons, very similar to Word’s save dialog. Everything is very clear and intuitive, as is the ability to revert back to saving / opening a test from the File-System.
And what about your existing projects? Well, when upgrading to QC 10, a wizard will automatically transform all you unmanaged attachments to managed resources (if you’d like it to).
Source Control: This includes a very rich line of features which are very well executed, and effectively allow you to manage a QTP project as any other code project:
First, the basics – QTP and QC 10 introduce a new Check-in/Check-out ability. It works similar to what you’d expect – a checked out item will be locked to all other users, and you can immediately know an item’s status by looking at its icon (green/red locks).
An interesting twist regards manner in which a test / resource is locked – it’s at the user level (not the local machine level). This means that if you log into QC from a different machine, you’ll have access to all your checked-out items, even if they were originally checked-out on a different local machine. The ability is implemented very well, both from QTP’s end, as well as from QC’s end.
A major enabler for source control is the new versioning feature of QC. It manifests both with a kind of instant versioning for a single resource, and with a project-wide “base-line version”, which allows you to revert your entire test framework to a previous version. Both types of versioning are supported by a surprisingly robust comparison mechanism. You can select two versions of a resource / test, a see a very detailed comparison of their respective changes. For function libraries this amounts to a “simple” text comparison, but this feature truly shines in full test comparisons.
It will present changes in the different actions and their resources (data-table, object repositories, inner code), as well as in the global test-settings, associated function libraries, recovery scenarios, and pretty much anything you could think of. The ability to drill-down into the data is very impressive; and the effective, concise manner in which the data is presented in the top level view is downright unbelievable. A nice touch is a small screen capture of the change, in case you don’t remember what “Run all rows –>Changed into-> Run a single iteration only” means (for example).
Now to the versioning mechanism itself: Whenever you check and item in, a new “version” will be created, and you’ll be able to revert back to it with ease. As this is a version of a single, isolated resource, I found it better to refer to it as a SnapShot – my terminology, not HP’s. The snapshots are visible both from QC and QTP, and you can very easily choose which one to open. This allows you a kind of an instant undo to a single file which worked in the past, but is broken in the present.
The second mechanism presents the ability to select several folders, and create a full blown “base-line version” of them and everything they relate to. Defects, inner-connections, tests, history data, resources – all these and more will be “frozen” and preserved as a base-line. You can then choose to revert back to an old baseline, and truly regain all the abilities that were present at that time. As all the resources, attachments tests and reports will be restored, you don’t have to worry about forgetting anything, or leaving some minor resource at the wrong version. This is versioning with a vengeance – it allows you to track the AUT’s versions with your own automation versions, enabling, among other things, running automation efforts on several AUT versions at once.
For conclusion – The new abilities inherit in the connection of QTP and QC Atlantis are (or at least seem to be) revolutionary. At last, QTP projects can be natively managed as code projects; and some of the supporting infrastructure is surprisingly robust and useful. As a “raving” anti-QC-ist, I must admit QC Atlantis seem tempting, and for me, that’s saying a lot!
I must contrast these very positive impressions with some dire problems: The versioning feature will put a stain on your storage capabilities (though less than creating a simple copy the data); all these wonderful features are available only if both your QTP and QC are upgraded to Atlantis; and a critical issue – Previous versions of QTP will not work with QC Atlantis. Yes, this is not a misunderstanding, there is no backward compatibility between QC to QTP (although QTP Atlantis will work with any version of QC). On top of these, performance may become an issue, though we were unable to precisely evaluate it, as our QC was installed on an already overtaxed personal computer.
2. Report improvements
The native QTP report includes several new improvements:
Tracability: Selecting a report-node will automatically focus on the relevant code-line in the script. This may sound like a cool feature at first, but a closer look revels that it only works for actions (not functions); and that in any case, using a custom report function (as most of us do) completely nullifies the feature (since you’re always at the same code line when performing the report).
Exporting: The report now has a two-click export feature, which comes with a built-in ability to export to Word and PDF documents, as well as the ability to export through a custom XSL of your choosing. You can choose between Short and Long formats (corresponding to PShort.XSL and PDetails.XSL) to get a document relevant to your needs. This blessed feature has one major flaw – It has no API support. This means that you cannot export the results automatically at the end of a test run, which is quite a miss, to say the least.
Resource Monitor: QTP can now hook onto the Windows Performance Monitor and present it as part of the test results. You can select several counters to monitor (e.g. GDI objects, memory usage etc.), and the monitor output graph will be available in special tab in the result window. You can set up a “checkpoint” for a counter (e.g. Fail the test if there are more than 500 GDI objects), facilitating a kind of a poor-man’s version of load-testing.
The fact that clicking the graph focuses on the relevant test step (as well as the other way around), provides an effective way to quickly locate problematic actions and resource usage spikes. This feature is well executed, and HP has even went the extra mile and added several unified counters that simplify monitoring the application. However, the fact that you can only monitor one process per test may leave the more advanced users with their own implementation of a resource monitor.
Considering the simple design and implementation of this feature, I believe it will become a popular tool in every automation project that uses QTP 10.
Native image integration: This is a small, yet long-awaited feature. The ReportEvent command now has a new optional parameter – you can specify a path to a picture file, and it will be attached to the report node of the current event. When used in conjunction with the CaptureBitmap method, this presents a technical, yet revolutionary upgrade to the native QTP report. Finally, users can attach screenshots to their custom report events without any special functions or frameworks.
3. IDE improvements
Intellisense: Perhaps I’m doing injustice to the other features, but the IDE improvements, and the new intellisense engine in particular, is what got me excited about QTP Atlantis. So I was pretty much on the edge of my seat when we’ve gotten to this last part of the presentation. I’m very pleased to say that it was every bit what I imagined it to be, with the exception of intellisense for VBScript classes, and intellisense in the debug viewer (both won’t be implemented). Luckily, there are workarounds for both these issues through the PDM hack (for debug intellisense), and WSC registration (for VBScript Class intellisense through COM).
We saw a demonstration of how creating an Excel COM object provided a full intellisense for all its methods and properties, for as many levels as we’d like. Every variable set to this object also presented the same intellisense, and the autocomplete caught every variable we’ve defined or used (yes, there’s autocomplete for variable names!). The autocomplete and intellisense features worked smoothly, and presented no apparent performance issue. It’s still left to be seen how it functions in a real script, with hundreds / thousands code lines.
While not perfect, this presents a huge improvement, and will no doubt improve our productivity tenfold. As a side note, thanks to Tarun Lalwani and the good people at HP, the intellisense pop-up window is now resizable in a very intuitive way.
Tasks and Comment Pane: QTP has a new bottom pane which includes a run-of-the-mill implementation of tasks and comments. Double clicking a comment will take you to the relevant code-line, though strangely enough, you cannot do this with a task (i.e., tasks cannot be linked to specific code lines). It was mentioned that enabling the comments feature for function libraries may sometimes cause performance issues.
Dynamic code-zones: When standing inside a code block like If, While, Do, etc, the IDE will mark the relevant block with blue lines, making it much more easy to make your way inside nested blocks of this sort (somewhat like highlighting left-right bracket pairs). While it will surely make our life easier, a more robust mechanism like collapsible code-regions is still needed.
Custom Toolbars: You can add your own buttons and commands to QTP toolbars and menus. While this does not include inner-QTP macros, you can assign a program / File shortcut to your own button / menu item. It’s nice, but i think it will only gain power once QTP’s inner mechanisms will be bindable to such buttons.
4. Miscellaneous features
General look and feel: QTP has departed from the old Tab layout, and into the more modern settings-tree layout (similar to Office, EMule, Adobe, and pretty much every other program). It’s nice, but nothing as groundbreaking as the transformation in QTP 9.0.
Bitmap Checkpoint improvements: These include presenting the size of the selected area when choosing to check only a part of an Image, as well as the ability to plug your own custom DLL for comparing images. I suppose that there are some projects for which this can actually be quite revolutionary. Another great addition is the ability to see the difference between the expected and actual bitmaps in a separate tab.
API changes: QTP Automation API will receive several upgrades, the most noteworthy of which is the ability to read and write that code of the test you’ve opened. Writing the code will not effect an ongoing run-session (there goes my ambitious try-catch implementation for QTP), but it still opens the door for some creative tweaks and hacks…
Saving a test with all linked resources: For those who’re working with QC, this is a real blessing. Up until QTP 10, copying a QC saved test to your local system was a hellish procedure of changing each and every resource and action reference to your local file-system. QTP and QC Atlantis offer a one-click solution for copying a test and all its resources to your local file-system, and automatically changing all the references accordingly.
Dynamic Action Call: I’ve saved the best for last. QTP 10 presents a new native command – LoadAndRunAction. It allows you to load external actions during the run-session, without having to associate them with your test beforehand. All the run-time debug abilities will be available for these dynamically added actions, so you’re not giving anything up by using this feature. I think it’s a long awaited feature, and a well executed one.
Other miscellaneous tweaks and improvements will be presented in the final release.
Conclusion
QTP Atlantis’ feature set can be described both as long-overdue, and as quite revolutionary.
For those who’re working with QC, the source control features will blow your mind. The intellisense features answer most of the pressing problems with QTP’s IDE, although some critical omissions (such as debug and VBScript Classes intellisense) hamper the overall effect. On top of all these, the new reporter functionality, dynamic action calls and API changes offer valuable improvements both to first-steppers and to advanced QTP programmers.
Beside the actual functionality, it seems that HP has paid attention to the UI as well. The features seem to be conveniently accessible, Simplified (though not over-simplified), and the whole look-and-feel seems to hit the spot. It’s nice to see that QTP 9.5 attention to UI has effected the long-term thinking of the development team.
I for one, am very please with this version, and eagerly await to get my hands on the Beta…
Yaron.
Posted in QTP, Yaron Assa's Blog


Yaron Assa




August 16th, 2008 at 5:54 pm
As usual the AdvancedQTP team bring an interesting and informative early look at a new QTP release.
The improvements to the QTP IDE sound really useful, I can’t wait to get my hands on them.
The improvements to the QTP / QC integration bring a bit of a conundrum to us folks who have tried and rejected QC / QTP integration in the past. Is this new solution good enough to replace an independent software development approach (we use subversion which works well for us).
It doesn’t sound like there’s any change in QC’s ability to report on Data Driven tests. That’s one of my pet grumbles.
Thanks to Yaron and the AdvancedQTP team.
August 17th, 2008 at 12:09 am
Yaron,
Is there going to be any support to debug our function libraries via ExecuteFile?
August 17th, 2008 at 8:47 pm
Hi Anshoo,
I recommend you to read my article on
Function Pointers in VBScript, if you wish to load runnable components dynamically and still be able to debug them.
As far as I know, it’s technically impossible to debug function libraries loaded using ExecuteFile, because this dynamism is achieved at the price of not getting an entry point to the memory block into which the code was loaded.
Best Regards,
Meir
August 18th, 2008 at 1:51 pm
Thanks Yaron, looks promising, now we will have to upgrade QC as well.
Did you notice any QTP performance improvements?
August 18th, 2008 at 4:22 pm
Hi Yarron,
Are you sure, that to use QTP 10 we would need to upgrade to a higher verison of QC. Wouldn’t it suffice if we just get a newer version of Quality Center Connectivity Add In.
August 20th, 2008 at 9:44 am
What is expected date of releasing QTP-10
August 28th, 2008 at 1:22 am
Does this version (QTP 10 - Atlantis) support 64 bit application on 64 bit OS (2003 Server)
October 2nd, 2008 at 3:44 pm
In QC i ran scripts in batch mode but results displayed only for last instance ?
October 2nd, 2008 at 3:46 pm
using test batch runner tool ran scripts in batch mode results displayed only for last script?
how to configure to see all scripts results ?
help will be appreciated
October 2nd, 2008 at 3:50 pm
if we run a scripts throug qc that time qtp will invoke automatically and open tests itself.but here we cant controll the execution mode..
if we run scripts indivullay thorugh qtp that time we can set fast mode or normal mode (required milli seconds)works fine
is there any way to apply through qc ?
October 2nd, 2008 at 3:53 pm
if we record any step in analog mode. it works fine when it run that script on the particular workstation.
if the same script run on another machine , that machine resolution would be change, that time it will be failed
is there any solution for the same
October 20th, 2008 at 8:51 am
So many attractive features QTP 10 Offered worth waiting for.