Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

In my new project, we have 4 automation testers working together on four different modules of an application . Its a web application and we work on windows platform. The automation tool being used is QTP and we are following a hybrid framework using Object repository and DP as required. I would like to know the best approach here to take. As all four of us are working on different modules and finally we have to integrate them together into the test machine, where all our scripts will run together. We are not planning to remove OR as scripts with OR is running much faster than those with DP in our application. The problem we are facing is that , as each of us have our on local OR , each time we add new code to test machine, we also put our respective OR after making it .tsr into the shared repository and associate them to the script. This creates a lot of object redundancy in the shared repository . What we are planning to do is make those shared repo as local in the test machine and delete all those duplicate objects each time and update the repo from application. Please suggest me the best approach to this problem , so that we can maintain a robust test frame work for our application , which will also be easy to handle and maintain.

share|improve this question
    
You can use "Object Repository Merge Tool " available in "Object Repository Manager" in UFT. –  user6962 Feb 11 at 14:45
    
This really isn't much use as an answer - you haven't added anything new to the answers already present. –  Kate Paulk Feb 11 at 16:42

3 Answers 3

I am not QTP expert but one QTP expert told me once that it is best to not use Object Repo as -

  • It makes project heavy when it begins to grow in size.

  • You can not version control object repo

  • You can easily port script from one machine to other if you use Descriptive Programming than Object Repo

share|improve this answer
    
I found the scripts getting very slow when using DP for my application, that's why I am trying not to avoid Object Repo completely. However if there seems no other option then I would go for DP. –  Rakesh Prabhakaran Feb 25 '12 at 15:41
    
@RakeshPrabhakaran the only reason I know for DP to be slow is that in DP all values are regular expressions by default. You can create non-regular expression values if you use Description.Create and then turn off the regular expression flag for each property. –  Motti Feb 25 '12 at 20:22
    
Will try that Motti –  Rakesh Prabhakaran Feb 26 '12 at 15:16
    
+1 for listing the problems I have with the OR and giving me another reason to search for another approach –  Steve Miskiewicz Feb 28 '12 at 17:41
up vote 0 down vote accepted

After working on DP and OR I find that its always better to go forward with a hybrid approach where we use a combination of both, DP and OR based.

share|improve this answer

Having a robust framework is always a challenge for an Automation Engineer. I had worked on a project in which, we added every single object into the repository and finally found the maintenance activity as a Herculean task. Also, maintaining a local OR for every script will add to more chaos. (I hope you agree to this)

With the help of an Automation Engineer we arrived at a reasonably good framework and I will share some of the features that we follow here. (Ours is a Desktop application and you may correlate it to a web application)

  1. Adding only the parent dialog to the OR. The controls that you want to access should be done through a function that identifies the child by its parent & classname/title etc This will avert the cumbersome activity that might come up if you had added every single control to the OR. Since the parent is known, finding the appropriate child would be quick. Additionally, it won't eat up your time had you used DP.

  2. Maintain an include file in which you will be writing functions to define your parent objects (that you added to the OR). Different parents of the same class could be written in a same function and selected using SELECT CASE based on the parameter that you pass through the function. This will not only reduce the length of your code, but also help in the easy maintenance of OR.

  3. We maintain our repository on network. So if one person is modifying a file, it will be opened as a Read-only file for others. Also, if you have followed the approach mentioned in (1) & (2), OR will be just a one-time investment !

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.