These are some of the challenges faced so far and which Interoperate.biz handled optimally in a very short span of time.

Complex String Operations

The TSL scripts made use of a lot of dynamic strings built with several complex string handling functions. Interoperate's translator successfully identified patterns and handled all such string operations automatically which would otherwise be a time consuming and error-prone process, if corrected/modified manually

Remote Shell Execution Calls

The TSL scripts constructed several remote shell and putty calls dynamically and executed them. Interoperate.biz was able to handle all such cases while preserving the functional interfaces, thus maintaining the reusability of such functions.

Composite Arrays (Hash)

The TSL scripts made extensive use of composite arrays which were used to store test data. The Interoperate.biz translator translates this to VBScript Dictionary objects which are reliable, flexible and faster to access than native arrays.

Multi-level Objects

The application under test was a complex Java Applet interface. This interface was configured to be recorded as a two-level application in WinRunner. However, in QTP, the hierarchy levels were dynamic, sometimes extending to 5-levels making it impossible to have a one-to-one mapping between the WinRunner objects and their QTP counterparts. Interoperate.biz identified patterns and made sure that the translator translates the objects in its correct hierarchy. This saved a lot of time that would have gone into fixing these objects every time we encounter them, placing them in the correct position in the tree and adjusting their properties to make sure they are identified. Interoperate.biz boasts of a 100% automatic translation of the client's GUI map.

Extensions Handling

The client's QA team had worked with their development team to add custom java objects and methods to the application and then using these objects and methods in WinRunner scripts for effective synchronization of the testing tool with the JavaApplet. This was a one-of-a-kind customization that Interoperate.biz had seen and was a pretty challenging one to implement in QTP. However, Interoperate.biz was able to implement the same logic in QTP, making use of the same controls and methods to implement synchronization with the AUT. This saved the client a lot of rework to adapt to the new paradigm that is QTP.


The client had extensively used a variety of loops and made extensive use of programming paradigms like "continue" that were not directly supported by QTP. Interoperate.biz designed workarounds and incorporated these workarounds in the translator so that these changes are automatic and do not need manual intervention or editing. As a result of these factors, we were able to achieve greater than 98% of automation of the client's TSL scripts.

Customized Primitive Implementations

The client's GUI applets did not work as it must have with native QTP primitives. Workarounds had to be implemented for several WinRunner primitives. An example would be to make use of inbuilt methods of java edit objects for those objects where direct QTP primitives failed to set the correct text in the AUT.

Performance Optimization Solutions

Apart from several workarounds designed to meet the functional requirements of the project, Interoperate.biz also designed and suggested several solutions for improving the performance of the scripts. We suggested reordering of test data and alterations of some of their functional algorithms that were taking a longer time. Also, we created a prototype of a different model of execution from QC that is 5x faster than the traditional method of script execution.

Complimentary Migration

Complimentary Migration