TOP QTP Interview Questions and Answers
How to handle the exceptions using recovery scenario manager in QTP?
You can instruct QTP to recover unexpected events or errors that occurred in your testing environment during test run. Recovery scenario manager provides a wizard that guides you through the defining recovery scenario. Recovery scenario has three steps
1. Triggered Events
2. Recovery steps
3. Post Recovery Test-Run
What is the use of Text output value in QTP?
Output values enable to view the values that the application talks during run time. When parameterized, the values change for every iteration. Thus by creating output values, we can capture the values that the application takes for each run and output them to the data table.
How to use the Object spy in QTP?
There are two ways to Spy the objects in QTP
1) Thru file toolbar
—In the File Tool Bar click on the last toolbar button (an icon showing a person with hat).
2) Thru Object repository Dialog
—In Object repository dialog click on the button “object spy…”
In the Object spy Dialog click on the button showing hand symbol.
The pointer now changes in to a hand symbol and we have to point out the object to spy the state of the object
If at all the object is not visible or window is minimized then Hold the Ctrl button and activate the required window to and release the Ctrl button.
What is the file extension of the code file & object repository file in QTP?
File extension of
— Per test object rep: – filename.mtr
— Shared Object rep: – filename.tsr
— Codes file extension id: – script.mts
Explain the concept of object repository & how QTP recognizes objects?
Object Repository: displays a tree of all objects in the current component or in the current action or entire test (depending on the object repository mode you selected).
We can view or modify the test object description of any test object in the repository or to add new objects to the repository.
Quick test learns the default property values and determines in which test object class it fits. If it is not enough it adds assistive properties, one by one to the description until it has compiled the unique description. If no assistive properties are available, then it adds a special Ordinal identifier such as objects location on the page or in the source code.
What are the properties you would use for identifying a browser & page when using descriptive programming?
“Name” would be another property apart from “title” that we can use.
We can also use the property “micClass”.
What are the different scripting languages you could use when working with QTP?
Give example where you have used a COM interface in your QTP project?
COM interface appears in the scenario of front end and back end. for eg:if you r using oracle as back end and front end as VB or any language then for better compatibility we will go for an interface. of which COM will be one among those interfaces. Create object creates handle to the instance of the specified object so that we program can use the methods on the specified object. It is used for implementing Automation(as defined by Microsoft).
Few basic questions on commonly used Excel VBA functions?
Common functions are:
Coloring the cell
Auto fit cell
Setting navigation from link in one cell to other
Explain the keyword create object with an example
Creates and returns a reference to an Automation object
Syntax: CreateObject(servername.typename [, location])
SERVERNAME: Required. The name of the application providing the object
TYPENAME: Required. The type or class of the object to create
LOCATION: Optional. The name of the network server where the object is to be created
Explain in brief about the QTP Automation Object Model
Essentially all configuration and run functionality provided via the QTP interface is in some way represented in the QTP automation object model via objects, methods, and properties. Although a one-on-one comparison cannot always be made, most dialog boxes in QTP have a corresponding automation object, most options in dialog boxes can be set and/or retrieved using the corresponding object property, and most menu commands and other operations have corresponding automation methods. You can use the objects, methods, and properties exposed by the QTP automation object model, along with standard programming elements such as loops and conditional statements to design your program.
How to handle dynamic objects in QTP?
QTP has a unique feature called Smart Object Identification/recognition. QTP generally identifies an object by matching its test object and run time object properties. QTP may fail to recognize the dynamic objects whose properties change during run time. Hence it has an option of enabling Smart Identification, wherein it can identify the objects even if their properties changes during run time.
Check this out-
If QuickTest is unable to find any object that matches the recorded object description, or if it finds more than one object that fits the description, then QuickTest ignores the recorded description, and uses the Smart Identification mechanism to try to identify the object.
While the Smart Identification mechanism is more complex, it is more flexible, and thus, if configured logically, a Smart Identification definition can probably help QuickTest identify an object, if it is present, even when the recorded description fails.
The Smart Identification mechanism uses two types of properties:
Base filter properties—the most fundamental properties of a particular test object class; those whose values cannot be changed without changing the essence of the original object. For example, if a Web link’s tag was changed from to any other value; you could no longer call it the same object. Optional filter properties—other properties that can help identify objects of a particular class as they are unlikely to change on a regular basis, but which can be ignored if they are no longer applicable.
What is a Run-Time Data Table? Where can I find and view this table?
In QTP, there is data table used, which is used at runtime.
-In QTP, select the option View->Data table.
-This is basically an excel file, which is stored in the folder of the test created, its name is Default.xls by default.
How does Parameterization and Data-Driving relate to each other in QTP?
To data drive we have to parameterize i.e. we have to make the constant value as parameter, so that in each iteration (cycle) it takes a value that is supplied in run-time data table. Through parameterization only we can drive a transaction (action) with different sets of data. You know running the script with the same set of data several times is not suggestible, & it’s also of no use.
What is the difference between Call to Action and Copy Action
Call to Action: The changes made in Call to Action, will be reflected in the original action (from where the script is called).
But where as in Copy Action, the changes made in the script, will not affect the original script (Action)
Discuss QTP Environment
QuickTest Pro environment using the graphical interface and Active Screen technologies –
A testing process for creating test scripts, relating manual test requirements to automated verification features – Data driving to use several sets of data using one test script.
Explain the concept of how QTP identifies object
During recording QTP looks at the object and stores it as test object. For each test object QT learns a set of default properties called mandatory properties, and look at the rest of the objects to check whether this properties are enough to uniquely identify the object. During test run, QT searches for the run time objects that match with the test object it learned while recording.
Differentiate the two Object Repository Types of QTP.
Object repository is used to store all the objects in the application being tested. 2 types of object repository per action and shared. In shared repository only one centralized repository for all the tests, where as in per action for each test a separate per action repository is created.
What the differences are and best practical application of each.
Per Action: For Each Action, one Object Repository is created.
Shared: One Object Repository is used by entire application
Explain what the difference between Shared Repository and Per_Action Repository
Shared Repository: Entire application uses one Object Repository, that similar to Global GUI Map file in WinRunner
Per Action: For each Action, one Object Repository is created, like GUI map file per test in WinRunner
Have you ever written a compiled module? If yes tell me about some of the functions that you wrote.
I used the functions for capturing the dynamic data during runtime. Function used for Capturing Desktop, browser and pages.
What projects have you used WinRunner on? Tell me about some of the challenges that arose and how you handled them.
PBS: WR fails to identify the object in GUI. If there is a non standard window object cannot recognize it, we use GUI SPY for that to handle such situation.
Can you do more than just capture and playback?
I have done dynamically capturing the objects during runtime in which no recording, no playback and no use of repository is done AT ALL.
-It was done by the windows scripting using the DOM (Document Object Model) of the windows.
How to do the scripting. Are there any inbuilt functions in QTP as in QTP-S.? What is the difference between them? How to handle script issues?
Yes, there’s an in-built functionality called “Step Generator” in Insert->Step->Step Generator -F7, which will generate the scripts as u enter the appropriate steps.
What is the difference between check point and output value.
An outPut value is a value captured during the test run and entered in the run-time but to a specified location.
IF we use batch testing the result shown for last action only in that how can i get result for every action.
You can click on the icon in the tree view to view the result of every action.
How the exception handling can be done using QTP
It can be done using the Recovery Scenario Manager which provides a wizard that guides you through the process of defining a recovery scenario. FYI The wizard could be accessed in QTP> Tools-> Recovery Scenario Manager.
How many types of Actions are there in QTP?
There are three kinds of actions:
Non-reusable action—an action that can be called only in the test with which it is stored, and can be called only once.
Reusable action—an action that can be called multiple times by the test with which it is stored (the local test) as well as by other tests.
External action—a reusable action stored with another test. External actions are read-only in the calling test, but you can choose to use a local, editable copy of the Data Table information for the external action.
I want to open a Notepad window without recording a test and I do not want to use SystemUtil.Run command as well. How do I do this?
U can still make the notepad open without using the record or System utility script, just by mentioning the path of the notepad “( i.e., where the notepad.exe is stored in the system) in the “Windows Applications Tab” of the “Record and Run Settings window. Try it out.
What are the Features & Benefits of Quick Test Pro(QTP)..?
1. Key word driven testing
2. Suitable for both client server and web based application
3. VB script as the script language
4. Better error handling mechanism
5. Excellent data driven testing features
QTP Testing process
Analyzing your application
The first step in planning your test is to analyze your application to determine your testing needs.
• What are your application’s development environments (for example Web, Java, or .NET)? You will need load QTP add-ins for these environments to enable QTP to identify and work with the objects in your application
• What business processes and functionality do you want to test? To answer this, think about the various activities that customers perform in your application to accomplish specific tasks.
• Consider how to divide these business processes into smaller units. You will be creating actions based on these tasks. Smaller and more modular actions make your tests easier to read and follow, and help ease maintenance in the long run.
At this stage, you can already begin creating test skeletons and adding actions to them.
Preparing the testing infrastructure
Based on your testing needs, you determine what resources are required and create these resources, accordingly. Resources include shared object repositories containing test objects (which are representations of the objects in your application), function libraries containing functions that enhance QTP functionality, and so on.
You also need to configure QTP settings so that QTP will perform the tasks you need, such as displaying a results report every time you run a test.
Building your tests and adding steps to them
After the testing infrastructure is ready, you can begin building your tests. You can create one or more empty tests and add actions to them to create the testing skeletons. You associate your object repositories with the relevant actions, and associate your function libraries with the relevant tests, so that you can insert steps using keywords. You may also need to configure test preferences at this point.
Enhancing your test
Inserting checkpoints into your test lets you search for a specific value of a page, object, or text string, which helps you determine whether your application is functioning correctly.
Broadening the scope of your test, by replacing fixed values with parameters, lets you check how your application performs the same operations with multiple sets of data.
Adding logic and conditional or loop statements enables you to add sophisticated checks to your test
Debugging, running, and analyzing your test
You debug a test to ensure that it operates smoothly and without interruption. After the test is working correctly, you run it to check the behaviour of your application. While running, QTP opens the application and performs each step in your test.
You examine the test results to pinpoint defects in your application.
If you have Quality Center installed, you can report the defects you discover to a database. Quality Center is the HP test management solution.
What is Software Testing?
Operation of a system or application under controlled conditions and evaluating the results. The controlled conditions must include both normal and abnormal conditions. It is oriented to detection.
What is Software Quality Assurance?
Software QA involves the monitoring and improving the entire software development process, making sure that any agreed-upon standards and procedures are followed. It is oriented to prevention
What are the qualities of a good test engineer?
A good test engineer has a test to break attitude.
An ability to take the point of view of the customer
a strong desire for quality
Tactful and diplomatic
Previous software development experience can be helpful as it provides a deeper understanding of the software development process
Good judgment skills
What are the qualities of a good QA engineer?
The same qualities a good tester
Additionally, they must be able to understand the entire software development process and how it can fit into the business approach and goals of the organization.
In organizations in the early stages of implementing QA processes, patience and diplomacy are especially needed.
An ability to find problems as well as to see ‘what’s missing’ is important for inspections and reviews.
What are the qualities of a good QA or Test manager?
Must be familiar with the software development process
able to maintain enthusiasm of their team and promote a positive atmosphere
always looking for preventing problems
able to promote teamwork to increase productivity
able to promote cooperation between software, test, and QA engineers
have the skills needed to promote improvements in QA processes
have the ability to say ‘no’ to other managers when quality is insufficient or QA processes are not being adhered
have people judgement skills for hiring and keeping skilled personnel
be able to run meetings and keep them focused
What is the ‘software life cycle’?
The life cycle begins when an application is first conceived and ends when it is no longer in use.
Tell us about some world famous bugs?
1. In December of 2007 an error occurred in a new ERP payroll system for a large urban school system. More than one third of employees had received incorrect paychecks that results in overpayments of $53 million. Inadequate testing reportedly contributed to the problems
2. A software error reportedly resulted in overbilling to 11,000 customers of a major telecommunications company in June of 2006. Making the corrections in the bills took a long time.
3. In March of 2002 it was reported that software bugs in Britain’s national tax system resulted in more than 100,000 erroneous tax overcharges
What are the common problems in the software development process?
A request to pile on new features after development is underway.
What are the common solutions to software development problems?
stick to initial requirements where feasible
require walkthroughs and inspections when appropriate
What is a Quality Software?
Quality software is reasonably bug-free, delivered on time and within budget, meets requirements and / or expectations, and is maintainable.
What is good code?
Good code is code that works, is reasonably bug free, and is readable and maintainable.
What is good design?
Good internal design is indicated by software code whose overall structure is clear, understandable, easily modifiable, and maintainable. It should also be robust with sufficient error-handling and status logging capability and work correctly when implemented. And, good functional design is indicated by an application whose functionality can be traced back to customer and end-user requirements.
What’s the role of documentation in QA?
QA practices must be documented to enhance their repeatability. There should be a system for easily finding and obtaining information and determining what documentation will have a particular piece of information.
Which projects may not need independent test staff?
It depends on the size & nature of the project. Then, it depends on business risks, development methodology, the skills and experience of the developers.
Why does software have bugs?
miscommunication or no communication
poorly documented code
software development tools
egos – people prefer to say things like:
• ‘no problem’
• ‘piece of cake’
• ‘I can whip that out in a few hours’
How QA processes can be introduced in an organization?
1. It depends on the size of the organization and the risks involved. e.g. for large organizations with high-risk projects a formalized QA process is necessary.
2. If the risk is lower, management and organizational buy-in and QA implementation may be a slower.
3. The most value for effort will often be in
– Requirements management processes
– Design inspections and code inspections
– post-mortems / retrospectives
What are the steps to perform software testing?
Understand requirements and business logic
– Get budget and schedule requirements
– Determine required standards and processes
– Set priorities, and determine scope and limitations of tests
– Determine test approaches and methods
– Determine test environment, test ware, test input data requirements
– Set milestones and prepare test plan document
– Write test cases
– Have needed reviews/inspections/approvals of test cases
– Set up test environment
– Execute test cases
– Evaluate and report results
– Bug Tracking and fixing
– Retesting or regression testing if needed
– Update test plans, test cases, test results, traceability matrix etc.
What is a test plan?
A document that describes the objectives, scope, approach, and focus of a software testing effort.
What are the contents of test plan?
– Title and identification of software including version etc.
– Revision history
– Table of Contents
– Purpose of document and intended audience
– Objective and software product overview
– Relevant related document list and standards or legal requirements
– Naming conventions
– Overview of software project organization
– Roles and responsibilities etc.
– Assumptions and dependencies
– Risk analysis
– Testing priorities
– Scope and limitations of testing effort
– Outline of testing effort and input data
– Test environment setup and configuration issues
– Configuration management processes
– Outline of bug tracking system
– Test automation if required
– Any tools to be used, including versions, patches, etc.
– Project test metrics to be calculated
– Testing deliverables
– Reporting plan
– Testing entrance and exit criteria
– Sanity testing period and criteria
– Test suspension and restart criteria
– Personnel pre-training needs
– Relevant proprietary, classified, security and licensing issues.
– Open issues if any
What is a test case?
A test case is a document that describes an input, action, or event and an expected response, to determine if a feature of a software application is working correctly.
What are the components of a bug report?
– Application name
– The function, module, name
– Bug ID
– Bug reporting date
– Test case ID
– Bug description
– Steps needed to reproduce the bug
– Names and/or descriptions of file/data/messages/etc. used in test
– Snapshot that would be helpful in finding the cause of the problem
– Severity estimate
– Was the bug reproducible?
– Name of tester
– Description of problem cause (filled by developers)
– Description of fix (filled by developers)
– Code section/file/module/class/method that was fixed (filled by developers)
– Date of fix (filled by developers)
– Date of retest or regression testing
– Any remarks or comments
What is verification?
It involves reviews and meetings to evaluate documents, plans, code, requirements, and specifications. It can be done with checklists, issues lists, walkthroughs, and inspection meetings etc.
What is validation?
It involves actual testing and takes place after verifications are completed.
What is a walkthrough?
An informal meeting for evaluation or informational purposes.
What’s an inspection?
It is more formalized than a ‘walkthrough’, typically with 3-8 people including a moderator, reader, and a recorder to take notes. The subject of the inspection is typically a document such as a requirements spec or a test plan, and the purpose is to find problems and see what’s missing, not to fix anything.
What is configuration management?
It covers the processes used to control, coordinate, and track: code, requirements, documentation, problems, change requests, designs, tools / compilers / libraries / patches, changes made to them, and who makes the changes.
When you can stop testing?
Deadlines (release deadlines, testing deadlines, etc.)
– Test cases completed with certain percentage passed
– Test budget depleted
– Coverage of code/functionality/requirements reaches a specified point
– Bug rate falls below a certain level Beta or alpha testing period ends
What if there isn’t enough time for thorough testing?
– Which parts of the application were developed in rush?
-Which aspects of similar/related previous projects caused problems?
– What do the developers think are the highest-risk aspects of the application?
– What kinds of problems would cause the worst publicity?
– What kinds of problems would cause the most customer service complaints?
– What kinds of tests could easily cover multiple functionalities?
What if the project isn’t big enough to justify extensive testing?
Do risk analysis. See the impact of project errors, not the size of the project.
How can web based applications be tested?
Apart from functionality consider the following:
– What are the expected loads on the server and what kind of performance is expected on the client side?
– Who is the target audience?
– Will down time for server and content maintenance / upgrades be allowed?
– What kinds of security will be required and what is it expected to do?
– How reliable are the site’s Internet / intranet connections required to be?
– How do the internet / intranet affect backup system or redundant connection requirements and testing?
– What variations will be allowed for targeted browsers?
– Will there be any standards or requirements for page appearance and / or graphics throughout a site or parts of a site?
– How will internal and external links be validated and updated?
– How are browser caching and variations in browser option settings?
– How are flash, applets, java scripts, ActiveX components, etc. to be maintained, tracked, controlled, and tested?
– From the usability point of view consider the following:
— Pages should be 3-5 screens longer.
— The page layouts and design elements should be consistent throughout the application / web site.
–Pages should be as browser-independent or generate based on the browser-type.
–There should be no dead-end pages. A link to a contact person or organization should be included on each page.
What is Extreme Programming?
Extreme Programming is a software development approach for risk-prone projects with unstable requirements. Unit testing is a core aspect of Extreme Programming. Programmers write unit and functional test code first – before writing the application code. Generally, customers are expected to be an integral part of the project team and to help create / design scenarios for acceptance testing.