New Feature in QuickTest Pro 9: Multiple Document Interface
Monday, March 27th, 2006This is first in a series of analyses of the new features of QTP 9. Over the next few days we’ll be posting more in varying levels of deatil, and within a week or two we hope to have just about all of them covered. We’ll try to address where they went right, but we’re not going to leave out where they could have gone farther. Please add comments where you agree/disagree with out conclusions. We want to be an accurate source of information, so if we’re wrong, TELL US!
In my opinion, the Multiple Document Interface is the best feature of version 9. It is going to alter how we address the question of External Actions vs Functions.
With the new interface you can have one test script open, and then any number of Function Libraries. Under the FileOpen and FileNew menu items, there’s now a separate entry for Function Libraries, and the libraries do appear in the Recent File list. The function libraries then appear as tabs across the top. From these tabs, you can right-click and it will bring up a small menu with “Save” and “Close” for options. There’s also a “Save All” button in the toolbar. All in all, it’s nice.
But more importantly than any of these small victories, there are the larger implications of the feature: you can now view, develop, execute, and debug your functions.
In the past, I’ve written the function inside my test script, made sure it worked properly, then put it in the VBS file. Then, if I find a bug in my function, I’ve had to copy it back into my test script, then repeat the whole thing ad nauseum. It’s even one of the things Mercury advises in their training materials.
Allowing me to write and debug the code in situ means I don’t need to be afraid to write new functions, or groan when I find a bug. In fact, if I get to a breakpoint where I’m calling an external function, it will open the library and allow me to step into the code without the extra step of opening it myself.
With this feature, we plan to shift the way we develop our framework: since we have full freedom to develop code in small chunks, we don’t always want to spend the necessary overhead to create External Actions. We’ll only create actions in certain situations. I’ll discuss this topic in detail under a different heading. For now, I just wanted to post a description of this nice new feature, and compliment Mercury on implementing it very effectively.
Next, I’ll cover in detail the little interface changes they’ve made. Some good, some not so good.

