Home  |  Contact Us 
Manual Testing
BlackBox Testing
Black-box Testing treats the system as a "black-box"...
http://testingfaqs.co.in/bb

BlackBox Testing Skills
What skills I want to have for Blackbox testing...
http://testingfaqs.co.in/bbt

BlackBox Test Approach
What Approaches we need to follow for Blackbox testing...
http://testingfaqs.co.in/bba

BlackBox Test Metrics
A metric is defined to be the name of a mathematical function...
http://testingfaqs.co.in/bbm

BlackBox Test Plan
Test planning is one of the keys to successful software testing...
http://testingfaqs.co.in/bbp

Bug Life Cycle
Defect tracking is the process of finding defects in a product...
http://testingfaqs.co.in/blc

Client-Server Testing
Client/Server computing is a style of computing involving multiple processors...
http://testingfaqs.co.in/blc

Compatibility Testing
A Testing to ensure compatibility of an application...
http://testingfaqs.co.in/ct

Manual Testing Faq's
A Testing to ensure compatibility of an application...
http://testingfaqs.co.in/mtf

Functionality Testing
Functional testing is validating an application or web site...
http://testingfaqs.co.in/ft

Metrics
Test Metrics are meaningful if they provide objective feedback ...
http://testingfaqs.co.in/me

Performance Testing
Performance testing is a rigorous usability evaluation...
http://testingfaqs.co.in/pt

Perfor on Web Applications
Performance of a Web site is analyzed from different viewpoints...
http://testingfaqs.co.in/pw

Regression Testing
Regression testing is testing the module in which a bug...
http://testingfaqs.co.in/rt

Seven-Steps Metrics
Software metrics are an integral part of the state-of-the-practice...
http://testingfaqs.co.in/ssm

Techniques Testing
Black box testing attempts to derive sets of inputs that...
http://testingfaqs.co.in/bbt

Testing Life Cycle
The lifecycle ensures that all the relevant inputs are obtained...
http://testingfaqs.co.in/tlc

Types of Testing
Regression, Blockbox, Load, Stress testing and etc...
http://testingfaqs.co.in/tot

V - Model
The development process for a system is traditionally...
http://testingfaqs.co.in/vm

Waterfall Model
This is one of the first models of software development...
http://testingfaqs.co.in/wm

Web Testing
During testing the websites the following scenarios...
http://testingfaqs.co.in/wt
Descriptive Programming vs Repository


Myth Reality
1. Descriptive programming solves many object recognition and maintenance problems that are otherwise going to stay (if we use Object Repository). So, we can rely on Descriptive Programming, ignoring Object Repository.

Here are some of the consequences of ignoring Object Repository:

All the properties you use in Descriptive Programming will be treated as Mandatory properties. You are loosing the power of Assistive properties in the object recognition mechanism of QTP

QTP identifies an object using test object description stored in Object Repository. This description is made up of two sets of properties:

1. Mandatory Properties
2. Assistive Properties

For any object you can dictate QTP what properties to consider as mandatory and what properties as Assistive properties in a facility called "Object Identification".

Quick Test learns all mandatory properties by default. If it can't create a unique description for the object using mandatory properties alone, it starts learning one assistive property at a time until it creates a unique description for the object in question.

So, what it means is that just because you told QTP to use several Assistive Properties, it does not mean that it learns them all. It learns only to the extent needed i.e. until a unique object description is created

Also, in Descriptive Programming, you can't make use of the modern technology available in QTP - Smart Identification. You can use this only if have Object Repository.

If an object is not learned into Object Repository, there will be no logical name, no assistive properties, nor there do any base and optional properties to use for smart identification.

2. Descriptive Programming is better than Object Repository in cases where objects in the application are dynamic in nature and need special handling to identify the object.

Objects whose properties change dynamically for each run or depending on input data can be handled equally well by Object Repository.

In both cases you can use global or local sheet parameters, environment parameters as well as regular expressions to parameterize object properties.

3. If the size of Object repository increases too much then it decreases the performance of QTP while recognizing an object. Descriptive Programming is better in such situations.

Size of the Object Repository has very little or nothing to do with performance of QTP. It is rather the nature and number of objects in a given page that impact the performance of QTP. For example if there is one web button on a web page, QTP needs only one property (class name) to uniquely recognize that object right away. If you have, say 100 web buttons in a web page, then QTP has to use additional properties to recognize the object (may be "Value" property). Like this, QTP keeps on using more and more properties until it recognizes the object uniquely and this is what causes performance degradation not the size of Object Repository.

4. Descriptive Programming makes maintenance easy!

No. It is as bad/good as maintaining Object Repository.

5. QTP cannot take action on an object until unless its object description is in the Object Repository. But descriptive programming provides a way to perform action on objects which are not in Object repository

If an object is not in the object repository, you will have to create your own description of that object so that QTP can recognize and act on it. You will have to create the description very carefully otherwise you will get run error.

In Descriptive Programming, creating a workable description for some objects can prove to be very tedious and time consuming some times. Properties that work are not always consistent. Some times you have to dig through several combinations of properties to find one that works correctly.

You will be better off adding object to the Object Repository with just click of a button rather than creating a time consuming buggy description all by yourself.

6. Using Descriptive Programming, automation scripts can be created even if the application has not been developed.

If you build object descriptions (and scripts based on those descriptions) without ever spying on the objects, the chances are that, in more than 50% of the cases, the description might fail.

Scripts you create with out having the application developed will hardly serve you any purpose. This is because, without having the application developed, you can't have active screens captured, can't insert checkpoints, can't output values.

Advantages of Descriptive programming

Descriptive Programming Solves redundancy problem.

If you have same objects on many pages, you don't need to add them to Object Repository under each page. You can handle it with Descriptive Programming and avoid redundancy.

Descriptive Programming solves the problem of dealing with large number of objects of same type.

For example, you can't anticipate search results and put them in Object Repository in advance. You can create descriptions for such objects and make QTP act on them based on, for example, ordinal identifier.

Conclusion

Descriptive programming helps us handle special circumstances which otherwise can't be handled with Object Repository alone. However, in the final analyses, Descriptive Programming should NOT be treated as replacement for Object Repository for it is far from being a viable alternative to object Repository.

Descriptive Programming is a necessary exception rather than a norm. But, at the same time, we can't live without Descriptive Programming.

I would like to conclude that Object Repository and Descriptive Programming compliment each other rather than act as mutually exclusive entities and using only one of them means sacrificing the power of the other.

Important Faq's




Automation Testing
Basic QTP Faq's
Learn Basic's of QTP for free...
http://testingfaqs.co.in/bq

QTP Database Functions
Fucntions to use Database through QTP...
http://testingfaqs.co.in/db

Descriptive Programming
Diff between DP and Object Repository...
http://testingfaqs.co.in/dp

QTP Excel Functions
All Excel QTP functinos are at one place...
http://testingfaqs.co.in/ex

QTP Faq's
Learn QTP Faqs...
http://testingfaqs.co.in/fq

QTP FSO Functions
File System Object functions for QTP...
http://testingfaqs.co.in/fs

QTP HTML Report Functions
Funcitons for generating the .html results through QTP...
http://testingfaqs.co.in/htm

QTP Solutions 1
Real-time functions on need base...
http://testingfaqs.co.in/s1

QTP Solutions 2
Collection of solutions...
http://testingfaqs.co.in/s2

QTP Solutions 3
Copy & Past the functions...
http://testingfaqs.co.in/s3

QTP Solutions 4
Use all the functions...
http://testingfaqs.co.in/s4

QTP Topics
Good Topics on QTP...
http://testingfaqs.co.in/tp

LoadRunner Faq's
Loadrunner faqs for free...
http://testingfaqs.co.in/lr

WinRunner Faq's
Learn winrunner for free...
http://testingfaqs.co.in/wr

Copyright © 2008 Testing Faqs. All rights reserved.