Monday, July 2, 2007

QTP 8.2

QuickTest Professional (QTP)

What is QTP ?
QuickTest is a graphical interface record-playback automation tool. It is able to work with any web, java or windows client application. Quick Test enables you to test standard web objects and ActiveX controls. In addition to these environments, QuickTest Professional also enables you to test Java applets and applications and multimedia objects on Applications as well as standard Windows applications, Visual Basic 6 applications and .NET framework applications...
QTP is Mercury Interactive Functional Testing Tool. QTP stands for Quality Test Professional.
Mercury QuickTest Professional: provides the industry's best solution for functional test and regression test automation - addressing every major software application and environment. This next-generation automated testing solution deploys the concept of Keyword-driven testing to radically simplify test creation and maintenance. Unique to QuickTest Professional’s Keyword-driven approach, test automation experts have full access to the underlying test and object properties, via an integrated scripting and debugging environment that is round-trip synchronized with the Keyword View.

QuickTest Professional enables you to test standard Windows applications, Web objects, ActiveX controls, and Visual Basic applications. You can also acquire additional QuickTest add-ins for a number of special environments (such as Java, Oracle, SAP Solutions, .NET Windows and Web Forms, Siebel, PeopleSoft, Web services, and terminal emulator applications).

What’s the basic concept of QTP?
QTP is based on two concept-
* Recording
* Playback

Which scripting language used by QTP?
QTP using VB scripting.

How many types of recording facility are available in QTP?
QTP provides three types of recording methods-
* Context Recording (Normal)
* Analog Recording
* Low Level Recording

How many types of Parameters are available in QTP?
QTP provides three types of Parameter-
* Method Argument
* Data Driven
* Dynamic

What’s the QTP testing process?
QTP testing process consist of seven steps-
* Preparing to recoding
* Recording
* Enhancing your script
* Debugging
* Run
* Analyze
* Report Defects (more…)

How to Start recording using QTP?
Choose Test > Record or click the Record button.
When the Record and Run Settings dialog box opens to do this;
1. In the Web tab, select Open the following browser when a record or run session begins.
2. In the Windows Applications tab, confirm that Record and run on these applications (opened on session start) is selected, and that there are no applications listed.

How to insert a check point to a image to check enable property in QTP?

Answer1:
AS you are saying that the all images are as push button than you can check the property enabled or disabled. If you are not able to find that property than go to object repository for that objecct and click on add remove to add the available properties to that object. Let me know if that works. And if you take it as image than you need to check visible or invisible property tht also might help you are there are no enable or disable properties for the image object.

Answer2:
The Image Checkpoint does not have any property to verify the enable/disable property.
One thing you need to check is:
* Find out form the Developer if he is showing different images for activating/deactiving i.e greyed out image. That is the only way a developer can show deactivate/activate if he is using an "image". Else he might be using a button having a headsup with an image.
* If it is a button used to display with the headsup as an image you woudl need to use the object Properties as a checkpoint.
How to Save your test using QTP?
Select File > Save or click the Save button. The Save dialog box opens to the Tests folder.
Create a folder which you want to save to, select it, and click Open.
Type your test name in the File name field.
Confirm that Save Active Screen files is selected.
Click Save. Your test name is displayed in the title bar of the main QuickTest window.

How to Run a Test using QTP?
1 Start QuickTest and open your test.

If QuickTest is not already open, choose Start > Programs > QuickTest Professional > QuickTest Professional.

. If the Welcome window opens, click Open Existing.
. If QuickTest opens without displaying the Welcome window, choose File > Open or click the Open button.
In the Open Test dialog box, locate and select your test, then click Open.

2 Confirm that all images are saved to the test results.
QuickTest allows you to determine when to save images to the test results.

Choose Tools > Options and select the Run tab. In the Save step screen capture to test results option, select Always.

Click OK to close the Options dialog box.

3 Start running your test.

Click Run or choose Test > Run. The Run dialog box opens.
Select New run results folder. Accept the default results folder name.
Click OK to close the Run dialog box.

How to open a new test using QTP?
1. If QuickTest is not currently open, choose Start > Programs > QuickTest Professional > QuickTest Professional. If the Welcome window opens, click Blank Test. Otherwise, choose File > New, or click the New button. A blank test opens. 2. . If QuickTest is already open, check which add-ins are loaded by selecting Help > About QuickTest Professional. If the Web Add-in is not loaded, you must exit and restart QuickTest. When the Add-in Manager opens, select the Web Add-in, and clear all other add-ins. Choose File > New, or click the New button. A blank test opens.

How to do Laod testing for web based Application?
1. Recording a scenerio in QTP of my web based application.
2. Make 100 copies of that scenerio and run the test (scenerio run for 100 times)
3. In that case, do the load of application on server.
4. The basic logic of running the copy 100 times is to create same scenerio as if 100 users were working.

What is the extension of script and object repository files?
Object Repository : .tsr , Script : .mts, Excel : Default.xls

How to supress warnings from the "Test results page"?
From the Test results Viewer "Tools > Filters > Warnings"...must be "Unchecked".

When we try to use test run option "Run from Step", the browser is not launching automatically why?
This is default behaviour.
What's Checkpoints for QTP?
A checkpoint verifies that expected information is displayed in your application while the test is running.

QuickTest Professional offers the following types of checkpoints:
Checkpoint Type Description Example of Use
Standard Checkpoint Checks values of an object’s properties. Check that a radio button is selected.
Image Checkpoint Checks the property values of an image. Check that the image source file is correct.
Table Checkpoint Checks information in a table. Check that the value in a table cell is correct.
Page Checkpoint Checks the characteristics of a Web page. Check how long a Web page takes to load or if a Web page contains broken links.
Text / Text Area Checkpoint Checks that a text string is displayed in the appropriate place in a Web page or application window. Check whether the expected text string is displayed in the expected locatio
Bitmap Checkpoint Checks an area of a Web page or application after capturing it as a bitmap Check that a Web page (or any portion of it) is displayed as expected.
Database Checkpoint Checks the contents of databases accessed by an application or Web site Check that the value in a database query is correct.
Accessibility Checkpoint Identifies areas of a Web site to check for Section 508 compliancy. Check if the images on a Web page include ALT properties, required by the W3C Web Content Accessibility Guidelines.
XML Checkpoint Checks the data content of XML documents. Note: XML file checkpoints are used to check a specified XML file; XML application checkpoints are used to check an XML document within a Web page.

How to add a standard checkpoint in your test ?
1. Start QuickTest and open your test.
In the Open Test dialog box, locate and select your test, then click Open.

2. Save the test as Checkpoint.
Select File > Save As. Save the test as Checkpoint.

3. Confirm that the Active Screen option is enabled.
If you do not see the Active Screen at the bottom of the QuickTest window, click the Active Screen button, or choose View > Active Screen.

4. Locate the page where you want to add a standard checkpoint.

5 Create a standard checkpoint.
In the Active Screen, right-click element in your application and choose Insert Standard Checkpoint.

6 Save the test.

How to add a page checkpoint to your test?
The page checkpoint checks that the number of links and images in the page when you run your test is the same as when you recorded your test.
1 Locate the page where you want to add a page checkpoint.
2 Create a page checkpoint.
Right-click anywhere in the Active Screen, and choose Insert Standard Checkpoint. The Object Selection - Checkpoint Properties dialog box opens. Note that this dialog box may include different elements, depending on where you click in the Active Screen.
3 Save the test.
How Does Run time data (Parameterization) is handled in QTP?
You can then enter test data into the Data Table, an integrated spreadsheet with the full functionality of Excel, to manipulate data sets and create multiple test iterations, without programming, to expand test case coverage. Data can be typed in or imported from databases, spreadsheets, or text files.

What is keyword view and Expert view in QTP?
QuickTest’s Keyword Driven approach, test automation experts have full access to the underlying test and object properties, via an integrated scripting and debugging environment that is round-trip synchronized with the Keyword View. Advanced testers can view and edit their tests in the Expert View, which reveals the underlying industry-standard VBScript that QuickTest Professional automatically generates. Any changes made in the Expert View are automatically synchronized with the Keyword View.



How QTP recognizes Objects in AUT?
QuickTest stores the definitions for application objects in a file called the Object Repository. As you record your test, QuickTest will add an entry for each item you interact with. Each Object Repository entry will be identified by a logical name (determined automatically by QuickTest), and will contain a set of properties (type, name, etc) that uniquely identify each object. Each line in the QuickTest script will contain a reference to the object that you interacted with, a call to the appropriate method (set, click, check) and any parameters for that method (such as the value for a call to the set method). The references to objects in the script will all be identified by the logical name, rather than any physical, descriptive properties.

What are the types of Object Repositorys in QTP?
QuickTest has two types of object repositories for storing object information: shared object repositories and action object repositories. You can choose which type of object repository you want to use as the default type for new tests, and you can change the default as necessary for each new test. The object repository per-action mode is the default setting. In this mode, QuickTest automatically creates an object repository file for each action in your test so that you can create and run tests without creating, choosing, or modifying object repository files. However, if you do modify values in an action object repository, your changes do not have any effect on other actions. Therefore, if the same test object exists in more than one action and you modify an object's property values in one action, you may need to make the same change in every action (and any test) containing the object.

If I give some thousand tests to execute in 2 days what do u do?
Adhoc testing is done. It Covers the least basic functionalities to verify that the system is working fine.
Does QTP is "Unicode" compatible?
QTP 6.5 is not but QTP 8.0 is expected to be Unicode compatabile by end of December 2004.

How to "Turn Off" QTP results after running a Script?
Goto "Tools > Options > Run Tab" and Deselect "View results when run session ends". But this supresses only the result window, but a og will be created and can viewed manulaly which cannot be restricted from getting created.

Explain about the Test Fusion Report of QTP ?
Once a tester has run a test, a TestFusion report displays all aspects of the test run: a high-level results overview, an expandable Tree View of the test specifying exactly where application failures occurred, the test data used, application screen shots for every step that highlight any discrepancies, and detailed explanations of each checkpoint pass and failure. By combining TestFusion reports with QuickTest Professional, you can share reports across an entire QA and development team.

To which environments does QTP supports ?
QuickTest Professional supports functional testing of all enterprise environments, including Windows, Web, ..NET, Java/J2EE, SAP, Siebel, Oracle, PeopleSoft, Visual Basic, ActiveX, mainframe terminal emulators, and Web services.

What's QuickTest Window?
Before you begin creating tests, you should familiarize yourself with the main QuickTest window.
The QuickTest window contains the following key elements:
. Title bar—Displays the name of the currently open test.
. Menu bar—Displays menus of QuickTest commands.
. File toolbar—Contains buttons to assist you in managing your test.
. Testing toolbar—Contains buttons to assist you in the testing process.
. Debug toolbar—Contains buttons to assist you in debugging tests.
. Test pane—Contains the Keyword View and Expert View tabs.
. Active Screen—Provides a snapshot of your application as it appeared when you performed a certain step during the recording session.
. Data Table—Assists you in parameterizing your test.
. Debug Viewer pane—Assists you in debugging your test. The Debug Viewer pane contains the Watch Expressions, Variables, and Command tabs. (The Debug Viewer pane is not displayed when you open QuickTest for the first time. You can display the Debug Viewer by choosing View < type="submit" value="Find" name="Find">

QuickTest identifies the object that you clicked as a WebButton test object. It creates a WebButton object with the name Find, and records the following properties and values for the Find WebButton:
It also records that you performed a Click method on the WebButton.
QuickTest displays your step in the Keyword View like this:
QuickTest displays your step in the Expert View like this:
Browser("Mercury Interactive").Page("Mercury Interactive").
WebButton("Find").
How to analyzing Test Results using QTP?
When QuickTest finishes running the test, the Test Results window opens.
Initially, the Test Results window contains two panes for displaying the key elements of your test run.
. The left pane displays the results tree, an icon-based view of the steps that were performed while the test was running. The results tree is organized according to the Web pages visited during the test run and can be expanded (+) to view each step. The steps performed during the test run are represented by icons in the tree. You can instruct QuickTest to run a test or action more than once using different sets of data in each run. Each test run is called an iteration, and each iteration is numbered. (The test you ran had only one iteration.)
. The right pane displays the test results details. The iteration summary table indicates which iterations passed and which failed. The status summary table indicates the number of checkpoints or reports that passed, failed, and raised warnings during the test.
1 View the test results for a specific step.
In the results tree, expand (+) Test Recording Summary > Recording Iteration 1 (Row 1) > Action1 Summary > your application > your test name .
The Test Results window now contains three panes, displaying:
. the results tree, with one step highlighted
. the test results details of the highlighted step
. the Active Screen, showing a screen capture of the Web page on which the step was performed.

When you click a page in the results tree, QuickTest displays the corresponding page in the application view. When you click a step (an operation performed on an object) in the results tree, the corresponding object is highlighted in the application view. In this case, the Departing From text box is highlighted.

Explain the check points in QTP?
A checkpoint verifies that expected information is displayed in a Application while the test is running. You can add eight types of checkpoints to your test for standard web objects using QTP.

• A page checkpoint checks the characteristics of a Application
• A text checkpoint checks that a text string is displayed in the appropriate place on a Application.
• An object checkpoint (Standard) checks the values of an object on a Application.
• An image checkpoint checks the values of an image on a Application.
• A table checkpoint checks information within a table on a Application
• An Accessiblity checkpoint checks the web page for Section 508 compliance.
• An XML checkpoint checks the contents of individual XML data files or XML documents that are part of your Web application.
• A database checkpoint checks the contents of databases accessed by your web site

In how many ways we can add check points to an application using QTP.
We can add checkpoints while recording the application or we can add after recording is completed using Active screen (Note : To perform the second one The Active screen must be enabled while recording).
Explain in brief about the QTP Automation Object Model.
Essentially all configuration and run functionality provided via the QuickTest interface is in some way represented in the QuickTest automation object model via objects, methods, and properties. Although a one-on-one comparison cannot always be made, most dialog boxes in QuickTest 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 QuickTest automation object model, along with standard programming elements such as loops and conditional statements to design your program.

Discuss QTP Environment.
QuickTest Pro environment using the graphical interface and ActiveScreen 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 obkects that matches with the test object it learned while recording.
Object Repositories types, Which & when to use?
Deciding Which Object Repository Mode to Choose
To choose the default object repository mode and the appropriate object repository mode for each test, you need to understand the differences between the two modes.
In general, the object repository per-action mode is easiest to use when you are creating simple record and run tests, especially under the following conditions:

You have only one, or very few, tests that correspond to a given application, interface, or set of objects.
You do not expect to frequently modify test object properties.
You generally create single-action tests.
Conversely, the shared object repository mode is generally the preferred mode when:

You have several tests that test elements of the same application, interface, or set of objects.
You expect the object properties in your application to change from time to time and/or you regularly need to update or modify test object properties.
You often work with multi-action tests and regularly use the Insert Copy of Action and Insert Call to Action options.

Can we Script any test case with out having Object repository? or Using Object Repository is a must?
No. U can script with out Object repository by knowing the Window Handlers, spying and recognizing the objects logical names and properties available.

How to execute a WinRunner Script in QTP?
(a) TSLTest.RunTest TestPath, TestSet [, Parameters ] --> Used in QTP 6.0 used for backward compatibility Parameters : The test set within Quality Center, in which test runs are stored. Note that this argument is relevant only when working with a test in a Quality Center project. When the test is not saved in Quality Center, this parameter is ignored.
e.g : TSLTest.RunTest "D:\test1", ""
(b)TSLTest.RunTestEx TestPath, RunMinimized, CloseApp [, Parameters ] TSLTest.RunTestEx "C:\WinRunner\Tests\basic_flight", TRUE, FALSE, "MyValue" CloseApp : Indicates whether to close the WinRunner application when the WinRunner test run ends. Parameters : Up to 15 WinRunner function argument
Why divide a test into three action calls?
When you create a new test, it contains a call to one action. By dividing your tests into calls to multiple actions, you can design more modular and efficient tests.

How To clear the AutoComplete?
1 In your Internet Explorer’s menu bar, choose Tools > Internet Options > Content tab.
2 Click AutoComplete in the Personal information area. The AutoComplete Settings dialog box opens.
3 In the Use AutoComplete for area, clear the User names and passwords on forms option.
4 Click OK to save your changes and close the AutoComplete Settings dialog box, then click OK again to close the Internet Options dialog box.

What is Object Spy in QTP?
Using the Object Spy, you can view the properties of any object in an open application. You use the Object Spy pointer to point to an object. The Object Spy displays the selected object’s hierarchy tree and its properties and values in the Properties tab of the Object Spy dialog box.
What is the Diff between Image check-point and Bit map Check point?
Image checkpoints enable you to check the properties of a Web image. You can check an area of a Web page or application as a bitmap. While creating a test or component, you specify the area you want to check by selecting an object. You can check an entire object or any area within an object. QuickTest captures the specified object as a bitmap, and inserts a checkpoint in the test or component. You can also choose to save only the selected area of the object with your test or component in order to save disk Space For example, suppose you have a Web site that can display a map of a city the user specifies. The map has control keys for zooming. You can record the new map that is displayed after one click on the control key that zooms in the map. Using the bitmap checkpoint, you can check that the map zooms in correctly.
You can create bitmap checkpoints for all supported testing environments (as long as the appropriate add-ins are loaded).
Note: The results of bitmap checkpoints may be affected by factors such as operating system, screen resolution, and color settings.

How many ways we can parameterize data in QTP ?
There are four types of parameters:
Test, action or component parameters enable you to use values passed from your test or component, or values from other actions in your test.
Data Table parameters enable you to create a data-driven test (or action) that runs several times using the data you supply. In each repetition, or iteration, QuickTest uses a different value from the Data Table.
Environment variable parameters enable you to use variable values from other sources during the run session. These may be values you supply, or values that QuickTest generates for you based on conditions and options you choose.
Random number parameters enable you to insert random numbers as values in your test or component. For example, to check how your application handles small and large ticket orders, you can have QuickTest generate a random number and insert it in a number of tickets edit field.

How do u do batch testing in WR & is it possible to do in QTP, if so explain?
Batch Testing in WR is nothing but running the whole test set by selecting "Run Testset" from the "Execution Grid".The same is possible with QTP also. If our test cases are automated then by selecting "Run Testset" all the test scripts can be executed. In this process the Scripts get executed one by one by keeping all the remaining scripts in "Waiting" mode.



How to use the Object spy in QTP 8.0 version?
There are two ways to Spy the objects in QTP
1) Thru file toolbar
---In the File ToolBar click on the last toolbar button (an icon showing a person with hat). 2) Tru Object repository Dialog
---In Objectrepository 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 minimised 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 Oject rep :- filename.tsr
Code file extension id script.mts

How to Creating an Output Value using QTP?
1 Start QuickTest and open the Parameter test.
2 Save the test as Output.
3 Confirm that the Active Screen option is enabled.
4 Select the text you want to use as an output value.
5 Set the output value settings.
6 Modify the table checkpoint.
7 Save the test.
What does it mean when a check point is in red color? what do u do?
A red color indicates failure. Here we analyze the the cause for failure whether it is a Script Issue or Envronment Issue or a Application issue.

What do you call the window testdirector-testlab?
"Execution Grid". It is place from where we Run all Manual / Automated Scripts

How do u create new test sets in TD
Login to TD.
Click on "Test Lab" tab.
Select the Desired folder under which we need to Create the Test Set. ( Test Sets can be grouped as per module.) Click on "New Test Set or Ctrl+N" Icon to create a Test Set.

Explain the concept of object repository & how QTP recognises 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. Quicktest 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 Ordianl identifier such as objects location onthe 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. OR We can also use the property "micClass". ex: Browser("micClass:=browser").page("micClass:=page")....

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. All the Best.

If an application name is changes frequently i.e while recording it has name, in this case how does QTP handles?
If an application name is changes frequently i.e while recording it has name ?Window1? and then while running its ?Windows2? in this case how does QTP handles? QTP handles those situations using ?Regular Expressions?. ...

How does QTP identifies the object in the application?
How does QTP identifies the object in the application? QTP identifies the object in the application by LogicalName and Class. For example: The Edit box is identified by Logical Name : PSOPTIONS_BSE_TIME20 Class: WebEdit ...

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
WinRunner Compared to QuickTest Pro

Environment Coverage Comparison:

Common environments shared by both WinRunner and QuickTest Pro:

Web-Related Environments IE, Netscape, AOL
JDK, Java Foundation Classes, AWT
Symantec Visual Café
ActiveX Controls
ERP/CRM Oracle: Jinitiator, 11i, NCA
Custom Client Server Windows
C++/C
Visual Basic
Operating Systems Windows 98, 2000, NT, ME, XP
Legacy 3270, 5250 Emulators
VT100



WinRunner Only Environments:
Custom Client/Server PowerBuilder
Forte
Delphi
Centura
Stingray
SmallTalk
ERP/CRM Baan
PeopleSoft Windows
Siebel 5, 6 GUI Clients
Oracle GUI Forms
QuickTest Pro Only Environments:
ERP/CRM SAP
Siebel 7.x
PeopleSoft 8.x
.Net WinForms
WebForms
.Net controls
Web Services XML, HTTP
WSDL, SOAP
J2EE, .Net
Multimedia RealAudio/Video
Flash
Feature Comparison:

Common features found in both WinRunner and QuickTest Pro:
Record/Replay ODBC & Excel Connectivity
Code Editor & Debugger Recovery Manager
Shared Object Repository Rapid Object Import
Numerous Checkpoints Analog
Script & Function Libraries

WinRunner Only Environments:
Function Generator Database Integration
Run Wizard TSL
MDI


QuickTest Pro Only Environments:
ActiveScreen TestGuard
Tree View ScriptFusion
Data Table VBScript
Function Generator*
(coming in v7.0) Run Wizard*
(coming in v7.0)

How to Import data from a ".xls" file to Data table during Runtime.
Datatable.Import "...XLS file name..."
DataTable.ImportSheet(FileName, SheetSource, SheetDest)
DataTable.ImportSheet "C:\name.xls" ,1 ,"name"

How to export data present in Datatable to an ".xls" file?
DataTable.Export "....xls file name..."

Syntact for how to call one script from another? and Syntax to call one "Action" in another?
RunAction ActionName, [IterationMode , IterationRange , Parameters]
Here the actions becomes reusable on making this call to any Action.
IterationRange String Not always required. Indicates the rows for which action iterations will be performed. Valid only when the IterationMode is rngIterations. Enter the row range (i.e. "1-7"), or enter rngAll to run iterations on all rows.
If the action called by the RunAction statement includes an ExitAction statement, the RunAction statement can return the value of the ExitAction's RetVal argument.

How to export QTP results to an ".xls" file?
By default it creates an "XML" file and displays the results

How the exception handling can be done using QTP
It can be done Using the Recovery Scenario Manager which provides a wizard that gudies you through the process of defining a recovery scenario. FYI.. The wizard could be accesed 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.

Analyzing the Checpoint results
Standard Checpoint :By adding standard checkpoints to your tests or components, you can compare the expected values of object properties to the object's current values during a run session. If the results do not match, the checkpoint fails.


How to handle Run-time errors?
On Error Resume Next : causes execution to continue with the statement immediately following the statement that caused the run-time error, or with the statement immediately following the most recent call out of the procedure containing the On Error Resume Next statement. This allows execution to continue despite a run-time error. You can then build the error-handling routine inline within the procedure.
Using "Err" object msgbox "Error no: " & " " & Err.Number & " " & Err.description & " " & Err.Source & Err.HelpContext

What are the different scripting languages you could use when working with QTP ?
Visual Basic (VB),XML,JavaScript,Java,HTML

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 recognise 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.

Explain the keyword createobject with an example.
Creates and returns a reference to an Automation object
syntax: CreateObject(servername.typename [, location])
Arguments
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.

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 tabke.
-This is basically an excel file, which is stored in the folder of the test created, its name is Default.xls by default.

How to do the scripting. Is there any inbuilt functions in QTP as in QTP-S. Whatz 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. EX:-Location in Data Table[Global sheet / local sheet]
Types of properties that Quick Test learns while recording?
(a) Mandatory (b) Assistive . In addition to recording the mandatory and assistive properties specified in the Object Identification dialog box, QuickTest can also record a backup ordinal identifier for each test object. The ordinal identifier assigns the object a numerical value that indicates its order relative to other objects with an otherwise identical description (objects that have the same values for all properties specified in the mandatory and assistive property lists). This ordered value enables QuickTest to create a unique description when the mandatory and assistive properties are not sufficient to do so.

Differences between QTP & Winrunner?
(a) QTP is object bases Scripting ( VBS) where Winrunner is TSL (C based) Scripting.
(b) QTP supports ".NET" application Automation not available in Winrunner
(c) QTP has "Active Screen" support which captures the application, not available in WR.
(d) QTP has "Data Table" to store script values , variables which WR does not have.
(e) Using a “point and click” capability you can easily interface with objects, their definitions and create checkpoints after having recorded a script – without having to navigate back to that location in your application like you have to with WinRunner. This greatly speeds up script development.

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 saving

How does Parameterization and Data-Driving relate to each other in QTP?
To datadrive we have to parameterize.i.e. we have to make the constant value as parameter, so that in each iteraration(cycle) it takes a value that is supplied in run-time datatable. 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 suggestable, & 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 orginal action( from where the script is called).But where as in Copy Action , the changes made in the script ,will not effect the original script(Action)

How to verify the Cursor focus of a certain field?
Use "focus" property of "GetRoProperty" method"

Any limitation to XML Checkpoints?
Mercury has determined that 1.4MB is the maximum size of a XML file that QTP 6.5 can handle

How to make arguments optional in a function?
this is not possible as default VBS doesn't support this. Instead you can pass a blank scring and have a default value if arguments r not required.


How to add a text checkpoint to your test to check whether 'welcome' is displayed in your welcome page.
1 Locate the page where you want to add a text checkpoint.

2 Create a text checkpoint.
In the Active Screen, under your page highlight the text welcome. Right-click the highlighted text and choose Insert Text Checkpoint. The Text Checkpoint Properties dialog box opens.
When Checked Text appears in the list box, the Constant field displays the text string you highlighted. This is the text QuickTest looks for when running the test.
Click OK to accept the default settings in this dialog box.
QuickTest adds the text checkpoint to your test. It is displayed in the Keyword View as a checkpoint operation on your welcome page

3 Save the test.

How to Running and Analyzing a Test with Checkpoints?
1 Expand the test and review your test.
Choose View > Expand All or use the * shortcut key on your number keypad.

2 Start running your test.
Click Run or choose Test > Run. The Run dialog box opens. Ensure that New run results folder is selected. Accept the default results folder name. Click OK. When the test run is completed, the Test Results window opens.

3 View the test results.
When QuickTest finishes running the test, the Test Results window opens. The test result should be Passed, indicating that all checkpoints passed. If one or more checkpoints had failed, the test result would be Failed.

4 View the results of the page checkpoint.
In the Details pane, you can review the details of the page checkpoint, which lists the items checked.

5 View the results of the table checkpoint.
In the Details pane, you can review the details of the table checkpoint. You can also review the values of the table cells (cell values that were checked are displayed in black; cell values that were not checked are displayed in gray).

6 View the results of the standard checkpoint.
In the Details pane, you can review the details of the standard checkpoint, which lists the properties that were checked and their values. The checkpoint passed because the actual values of the checked properties match the expected values.

7 View the results of the text checkpoint.
In the Details pane, you can review the details of the text checkpoint. The checkpoint passed because the actual text matches the expected text.

8 Close the Test Results window. Choose File > Exit.

How to Defining a Data Table Parameter for QTP?
1 Start QuickTest and open the Checkpoint test.
2 Save the test as Parameter.
3 Confirm that the Active Screen option is enabled.
4 Confirm that the Data Table option is enabled.
5 Select the text to parameterize.
6 Set the parameterization properties.
How to add a runtime parameter to a datasheet?
DataTable.LocalSheet
The following example uses the LocalSheet property to return the local sheet of the run-time Data Table in order to add a parameter (column) to it.
MyParam=DataTable.LocalSheet.AddParameter("Time", "5:45")
How to change the run-time value of a property for an object?
SetTOProperty changes the property values used to identify an object during the test run. Only properties that are included in the test object description can be set

How to retrieve the property of an object?
using "GetRoProperty".

How to open any application during Scripting?
SystemUtil , object used to open and close applications and processes during a run session.
(a) A SystemUtil.Run statement is automatically added to your test when you run an application from the Start menu or the Run dialog box while recording a test
E.g : SystemUtil.Run "Notepad.exe" SystemUtil.CloseDescendentProcesses ( Closes all the processes opened by QTP )

How to covert a String to an integer?
CInt()---> a conversion function available.

Inserting a Call to Action is not Importing all columns in Datatable of globalsheet. Why?
Inserting a call to action will only Import the columns of the Action called

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 oject repositoy per action and shared. In shared repository only one centralised repository for all the tests. where as in per action.for each test a separate per action repostory 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 std window obk wr 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.
Summary: QuickTest Pro
Summary:
QuickTest Professional provides an interactive, visual environment for test development.
Here is the description from the Mercury Interactive “How it Works” section of the QuickTest Pro web page:
Mercury QuickTest Professional™ allows even novice testers to be productive in minutes. You can create a test script by simply pressing a Record button and using an application to perform a typical business process. Each step in the business process is automated documented with a plain-English sentence and screen shot. Users can easily modify, remove, or rearrange test steps in the Keyword View.

QuickTest Professional can automatically introduce checkpoints to verify application properties and functionality, for example to validate output or check link validity. For each step in the Keyword View, there is an ActiveScreen showing exactly how the application under test looked at that step. You can also add several types of checkpoints for any object to verify that components behave as expected, simply by clicking on that object in the ActiveScreen.

You can then enter test data into the Data Table, an integrated spreadsheet with the full functionality of Excel, to manipulate data sets and create multiple test iterations, without programming, to expand test case coverage. Data can be typed in or imported from databases, spreadsheets, or text files.

Advanced testers can view and edit their test scripts in the Expert View, which reveals the underlying industry-standard VBScript that QuickTest Professional automatically generates. Any changes made in the Expert View are automatically synchronized with the Keyword View.

Once a tester has run a script, a TestFusion report displays all aspects of the test run: a high-level results overview, an expandable Tree View of the test script specifying exactly where application failures occurred, the test data used, application screen shots for every step that highlight any discrepancies, and detailed explanations of each checkpoint pass and failure. By combining TestFusion reports with Mercury Quality Management, you can share reports across an entire QA and development team.

QuickTest Professional also facilitates the update process. As an application under test changes, such as when a “Login” button is renamed “Sign In,” you can make one update to the Shared Object Repository, and the update will propagate to all scripts that reference this object. You can publish test scripts to Mercury Quality Management, enabling other QA team members to reuse your test scripts, eliminating duplicative work.

QuickTest Professional supports functional testing of all popular environments, including Windows, Web, .Net, Visual Basic, ActiveX, Java, SAP, Siebel, Oracle, PeopleSoft, terminal emulators, and Web services.

- QuickTest Pro “How it Works” webpage from Mercury:
http://www.mercury.com/us/products/quality-center/functional-testing/quicktest-professional/works.html

We like QuickTest Pro and now prefer implementing it over WinRunner. When you get into advance testing scenarios, QuickTest Pro has more options and they are easier to implement compared to WinRunner in our opinion.

Do to the similarities in concept and features, an experienced WinRunner user can easily convert to QuickTest Pro and quickly become an efficient Test Automation Engineer!

We recommend that existing customers begin all new development with QuickTest Pro and use the built-in feature of calling WinRunner scripts from QuickTest Pro for all existing WinRunner scripts that they already have. As older scripts require updates and time permits, we recommend replacing them with QuickTest Pro scripts. Eventually you will be able to convert your test script library with all QuickTest Pro scripts.
Pros:
* Will be getting the initial focus on development of all new features and supported technologies.
* Ease of use.
* Simple interface.
* Presents the test case as a business workflow to the tester (simpler to understand).
* Numerous features.
* Uses a real programming language (Microsoft’s VBScript) with numerous resources available.
* QuickTest Pro is significantly easier for a non-technical person to adapt to and create working test cases, compared to WinRunner.
* Data table integration better and easier to use than WinRunner.
* Test Run Iterations/Data driving a test is easier and better implement with QuickTest.
* Parameterization easier than WinRunner.
* Can enhance existing QuickTest scripts without the “Application Under Test” being available; by using the ActiveScreen.
* Can create and implement the Microsoft Object Model (Outlook objects, ADO objects, FileSystem objects, supports DOM, WSH, etc.).
* Better object identification mechanism.
* Numerous existing functions available for implementation – both from within QuickTest Pro and VBScript.
* QTP supports .NET development environment (currently WinRunner 7.5 does not).
* XML support (currently WinRunner 7.5 does not).
* The Test Report is more robust in QuickTest compared to WinRunner.
* Integrates with TestDirector and WinRunner (can kick off WinRunner scripts from QuickTest).
Cons:
* Currently there are fewer resources (consultants and expertise) available due to QTP being a newer product on the market and because there is a greater Demand than Supply, thus fewer employee/consulting resources.
* Must know VBScript in order to program at all.
* Must be able to program in VBScript in order to implement the real advance testing tasks and to handle very dynamic situations.
* Need training to implement properly.
* The Object Repository (OR) and “testing environment” (paths, folders, function libraries, OR) can be difficult to understand and implement initially.

Explain the terms “TEST” and “ Business Component”
Test—A collection of steps organized into one or more actions, which are used to verify that your application performs as expected. By default each test begins with a single action. Business Component—A collection of steps representing a single task in your application. Business components (also known as components) are combined into specific scenarios to build business process tests in Mercury Quality Center with Business Process Testing. A component does not contain actions, you add steps directly to a componenet.

What is check point?
A checkpoint checks specific values or characteristics of a page, object, or text string and enables you to identify whether or not your Web site or application is functioning correctly. A checkpoint compares the value of an element captured in your test when you recorded your test, with the value of the same element captured during the test run.


What do you mean by iteration ?
Each run session that uses a different set of parameterized data is called an iteration.

What is output value?
An output value is a value retrieved during the run session and entered into your Data Table or saved as a variable or a parameter. Each run session that uses a different set of parameterized data is called an iteration.

How many Add-ins comes by default with QTP?
There are 3 Add-ins comes with QTP: (1) ActiveX (2) Visual Basic (3) Web

What are the views available in QTP?
(1) Keyword View (2) Expert View

What is Active Screen?
The Active Screen provides a snapshot of your application as it appeared when you performed a certain step during a recording session.
What are the key elements of a QTP window?
The QuickTest window contains the following key elements: ? QuickTest title bar—Displays the name of the currently open test or component. ? Menu bar—Displays menus of QuickTest commands. ? File toolbar—Contains buttons to assist you in managing your test or component. ? Testing toolbar—Contains buttons to assist you in the testing process. ? Debug toolbar—Contains buttons to assist you in debugging your test or component (not displayed by default). ? Action toolbar—Contains buttons and a list of actions, enabling you to view the details of an individual action or the entire test flow. ? Test pane—Contains the Keyword View and Expert View tabs. ? Active Screen—Provides a snapshot of your application as it appeared when you performed a certain step during the recording session. ? Data Table—Assists you in parameterizing your test or component. For a test, the Data Table contains the Global tab and a tab for each action. For a component, the Data Table contains single tab. ? Debug Viewer pane—Assists you in debugging your test or component. The Debug Viewer pane contains the Watch Expressions, Variables, and Command tabs (not displayed by default). ? Status bar—Displays the status of the QuickTest application.

How many tabs are available in Debug Viewer Pane?
The Debug Viewer pane contains three tabs to assist you in debugging your test or component—Watch Expressions, Variables, and Command. Watch Expressions The Watch Expressions tab enables you to view the current value of any variable or other VBScript expression. Variables The Variables tab enables you to view the current value of all variables that have been recognized up to the last step performed in the run session. Command The Command tab enables you to execute a line of script in order to set or modify the current value of a variable or VBScript object in your test or component. When you continue the run session, QuickTest uses the new value that was set in the command.

How many toolbars QTP has?
QuickTest has 4 built-in toolbars: 1. The File toolbar 2. The Testing toolbar 3. The Debug toolbar 4. Action toolbar The Action toolbar is available in the Keyword View and contains options that enable you to view all actions in the test flow or to view the details of a selected action. The Action toolbar is not available for components.



Explain the terms Password Encoder, Remote Agent, Test Batch Runner, Test Results Deletion tool?
Password Encoder—enables you to encode passwords. You can use the resulting strings as method arguments or Data Table parameter values. Remote Agent—determines how QuickTest behaves when a test or component is run by a remote application such as Quality Center. Test Batch Runner—enables you to set up QuickTest to run several tests in succession. Test Results Deletion Tool—enables you to delete unwanted or obsolete results from your system according to specific criteria that you define.

Explain the terms Test Object Model, Test Object & Run-Time object?
The test object model is a large set of object types or classes that QuickTest uses to represent the objects in your application. Each test object class has a list of properties that can uniquely identify objects of that class and a set of relevant methods that QuickTest can record for it. A test object is an object that QuickTest creates in the test or component to represent the actual object in your application. QuickTest stores information about the object that will help it identify and check the object during the run session. A run-time object is the actual object in your Web site or application on which methods are performed during the run session.

What are assistive properties or an ordinal identifier?
When mandatory property values are not sufficient to uniquely identify the object within its parent object, QuickTest adds some assistive properties and/or an ordinal identifier to create a unique description. Note: You can retrieve or modify property values of the test object during the run session by adding GetTOProperty and SetTOProperty statements in the Keyword View or Expert View. You can retrieve property values of the runtime object during the run session by adding GetROProperty statements. If the available test object methods or properties for an object do not provide the functionality you need, you can access the internal methods and properties of any run-time object using the Object property. You can also use the attribute object property to identify Web objects in your application according to user-defined properties.
What is object Repository ?Explain different types of Object Repositories?
QuickTest identifies objects in your application based on a set of test object properties. It stores the object data it learns in the object repository. You can save your objects either in a shared object repository or in action object repository. In shared object repository mode, you can use one object repository file for multiple tests or components. In object repository peraction mode, QuickTest automatically creates an object repository file for each action in your test. Object repository per-action mode is not available for components.

How you can enhance your test?
There are variety of options to enhance your test: (1) You can add checkpoints to your test. A checkpoint is a step in your test that compares the values of the specified property during a test run with the values stored for the same test object property within the test. This enables you to identify whether or not your Web site or application is functioning correctly. (2) You can parameterize your test to replace fixed values with values from an external source during your test run. The values can come from a Data Table, environment variables you define, or values that QuickTest generates during the test run. (3)You can retrieve values from your test and store them in the Data Table as output values. You can subsequently use these values as an input parameter in your test. This enables you to use data retrieved during a test in other parts of the test. (4) You can divide your test into actions to streamline the testing process of your Web site or application. (5)You can use special QuickTest options to enhance your test with programming statements. The Step Generator guides you step-by-step through the process of adding recordable and non-recordable methods to your test. You can also synchronize your test to ensure that your application is ready for QuickTest to perform the next step in your test, and you can measure the amount of time it takes for your application to perform steps in a test by defining and measuring transactions. (6)You can also manually enter standard VBScript statements, as well as statements using QuickTest test objects and methods, in the Expert View.

Explain different recording modes ?
QuickTest’s normal recording mode records the objects in your application and the operations performed on them. This mode is the default and takes full advantage of QuickTest’s test object model, recognizing the objects in your application regardless of their location on the screen. Analog Recording - enables you to record the exact mouse and keyboard operations you perform in relation to either the screen or the application window. In this recording mode, QuickTest records and tracks every movement of the mouse as you drag the mouse around a screen or window. This mode is useful for recording operations that cannot be recorded at the level of an object, for example, recording a signature produced by dragging the mouse. Note: You cannot edit analog recording steps from within QuickTest. ? Low-Level Recording - enables you to record on any object in your application, whether or not QuickTest recognizes the specific object or the specific operation. This mode records at the object level and records all run-time objects as Window or WinObject test objects. Use low-level recording for recording tests in an environment or on an object not recognized by QuickTest. You can also use low-level recording if the exact coordinates of the object are important for your test. Note: Steps recorded using low-level mode may not run correctly on all objects.

Explain different types of checkpoints?
There are 10 types of checkpoints you can insert: Standard Checkpoint checks the property value of an object in your application or Web page. The standard checkpoint checks a variety of objects such as buttons, radio buttons, combo boxes, lists, etc. Image Checkpoint checks the value of an image in your application or Web page. For example, you can check that a selected image’s source file is correct. Bitmap Checkpoint checks an area of your Web page or application as a bitmap. Table Checkpoint checks information within a table. For example, suppose your application or Web site contains a table listing all available flights from New York to San Francisco. You can add a table checkpoint to check that the time of the first flight in the table is correct. Text Checkpoint checks that a text string is displayed in the appropriate place in your application or on a Web page. Text Area Checkpoint checks that a text string is displayed within a defined area in a Windows application, according to specified criteria. Accessibility Checkpoint identifies areas of your Web site that may not conform to the World Wide Web Consortium (W3C) Web Content Accessibility Guidelines. Page Checkpoint checks the characteristics of a Web page. For example, you can check how long a Web page takes to load or whether a Web page contains broken links. Database Checkpoint checks the contents of a database accessed by your application. XML Checkpoint checks the data content of XML documents in XML files or XML documents in Web pages and frames.

What is parameter?
A parameter is a variable that is assigned a value from an external data source or generator. If you wish to parameterize the same value in several steps in your test or component, you may want to consider using the Data Driver rather than adding parameters manually.
How many types of parameters are there?
There are four types of parameters: 1. Test, action or component parameters 2. Data Table parameters 3. Environment variable parameters 4. Random number parameters Test, action or component parameters enable you to use values passed from your test or component, or values from other actions in your test.0 Data Table parameters enable you to create a data-driven test (or action) that runs several times using the data you supply. In each repetition, or iteration, QuickTest uses a different value from the Data Table. Environment variable parameters enable you to use variable values from other sources during the run session. These may be values you supply, or values that QuickTest generates for you based on conditions and options you choose. Random number parameters enable you to insert random numbers as values in your test or component.

How Does Run time data (Parameterization) is handled in QTP?
You can then enter test data into the Data Table, an integrated spreadsheet with the full functionality of Excel, to manipulate data sets and create multiple test iterations, without programming, to expand test case coverage. Data can be typed in or imported from databases, spreadsheets, or text files.
Explain about the Test Fusion Report of QTP ?
Once a tester has run a test, a TestFusion report displays all aspects of the test run: a high-level results overview, an expandable Tree View of the test specifying exactly where application failures occurred, the test data used, application screen shots for every step that highlight any discrepancies, and detailed explanations of each checkpoint pass and failure. By combining TestFusion reports with QuickTest Professional, you can share reports across an entire QA and development team.

How QTP recognizes Objects in AUT?
QuickTest stores the definitions for application objects in a file called the Object Repository. As you record your test, QuickTest will add an entry for each item you interact with. Each Object Repository entry will be identified by a logical name (determined automatically by QuickTest), and will contain a set of properties (type, name, etc) that uniquely identify each object. Each line in the QuickTest script will contain a reference to the object that you interacted with, a call to the appropriate method (set, click, check) and any parameters for that method (such as the value for a call to the set method). The references to objects in the script will all be identified by the logical name, rather than any physical, descriptive properties.

In how many ways we can add check points to an application using QTP.
We can add checkpoints while recording the application or we can add after recording is completed using Active screen (Note : To perform the second one The Active screen must be enabled while recording).

What is the file extension of the code file & object repository file in QTP?
(1)For code file the extension is .vbs (2)For object repository file the extension is .tsr File extension for per action is (.mtr)
How to Merge Object repositories?
With QTP 8.2 ,there is QTP Plus setup.It provides Repositories Merge Utility.The Object Repository Merge Utility enables user to merge Object repository files into a single Object repository file.

What are the different scripting languages you could use when working with QTP ?
Visual Basic (VB), XML, JavaScript, Java, HTML

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 many types of Actions are there in QTP?
There are three kinds of actions: (1)non-reusable action—an action that can be called only in the test with which it is stored, and can be called only once. (2)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. (3)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

How can we write scripts without having GUI(means u dont have any GUI and u want to write a script in QTP)?
By descriptive programming



What is the descrirptive progrmaing?.what is the use of descriptive programing?
QTP uses its object repository to refer to objects present in your test and which have been recorded, if you wish to use objects that were not recorded and are not present in your object repository then we use descriptive programming, where QTP does not refer to object repository but the property name and value are mentioned in the code itself for QTP to use it for e.g this is not Desc. prog. Browser("Mercury Tours").Page("Mercury Tours").WebEdit("username") This is desc prog. Browser("Title:=Mercury Tours").Page("Title:=Mercury Tours").WebEdit("Name:=Author", "Index:=3").Set "Mark Twain"

Explain the need to use analog recording in qtp?
This mode records exact mouse and Key Board operations you perform in relation to the screen /Application Window. This mode is useful for the operation which you can record at Object Level, such as drawing a picture, recording signature. The steps recorded using Analog Mode is saved in separated data file, Quick Tests add to your Test a Run Analog File statement that calls the recorded analog File. This file is stored with your action in which these Analog Steps are created. The Step recorded in Analog mode can not be edited within QT.
Descriptive programming in QTP
Whenever QTP records any action on any object of an application, it adds some description on how to recognize that object to a repository of objects called object repository. 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

Object Identification:
To identify an object during the play back of the scripts QTP stores some properties which helps QTP to uniquely identify the object on a page. Below screen shots shows an example Object repository:

Now to recognize a radio button on a page QTP had added 2 properties the name of the radio button and the html tag for it. The name the left tree view is the logical name given by QTP for the object. This can be changed as per the convenience of the person writing the test case. QTP only allows UNIQUE logical name under same level of hierarchy. As we see in the snapshot the two objects in Browser->Page node are “WebTable” and “testPath”, they cannot have the same logical name. But an object under some other node can have the same name. Now with the current repository that we have, we can only write operation on objects which are in the repository. Some of the example operations are given below

Browser("Browser").Page("Page").WebRadioGroup ("testPath").Select "2"
cellData = Browser("Browser").Page("Page").WebTable ("WebTable").GetCellData (1,1)
Browser("Example2").Page("Page").WebEdit("testPath").Set "Test text"

When and Why to use Descriptive programming?
Below are some of the situations when Descriptive Programming can be considered useful:
The objects in the application are dynamic in nature and need special handling to identify the object. The best example would be of clicking a link which changes according to the user of the application, Ex. “Logout <>”.
When object repository is getting huge due to the no. of objects being added. If the size of Object repository increases too much then it decreases the performance of QTP while recognizing a object.
When you don’t want to use object repository at all. Well the first question would be why not Object repository? Consider the following scenario which would help understand why not Object repository

Scenario 1: Suppose we have a web application that has not been developed yet. Now QTP for recording the script and adding the objects to repository needs the application to be up, that would mean waiting for the application to be deployed before we can start of with making QTP scripts. But if we know the descriptions of the objects that will be created then we can still start off with the script writing for testing

Scenario 2: Suppose an application has 3 navigation buttons on each and every page. Let the buttons be “Cancel”, “Back” and “Next”. Now recording action on these buttons would add 3 objects per page in the repository. For a 10 page flow this would mean 30 objects which could have been represented just by using 3 objects. So instead of adding these 30 objects to the repository we can just write 3 descriptions for the object and use it on any page.

Modification to a test case is needed but the Object repository for the same is Read only or in shared mode i.e. changes may affect other scripts as well.

When you want to take action on similar type of object i.e. suppose we have 20 textboxes on the page and there names are in the form txt_1, txt_2, txt_3 and so on. Now adding all 20 the Object repository would not be a good programming approach.

How to use Descriptive programming?
There are two ways in which descriptive programming can be used
By creating properties collection object for the description.
By giving the description in form of the string arguments.

By creating properties collection object for the description.

To use this method you need first to create an empty description

Dim obj_Desc ‘Not necessary to declare
Set obj_Desc = Description.Create

Now we have a blank description in “obj_Desc”. Each description has 3 properties “Name”, “Value” and “Regular Expression”.

obj_Desc(“html tag”).value= “INPUT”

When you use a property name for the first time the property is added to the collection and when you use it again the property is modified. By default each property that is defined is a regular expression. Suppose if we have the following description

obj_Desc(“html tag”).value= “INPUT
” obj_Desc(“name”).value= “txt.*”

This would mean an object with html tag as INPUT and name starting with txt. Now actually that “.*” was considered as regular expression. So, if you want the property “name” not to be recognized as a regular expression then you need to set the “regularexpression” property as FALSE

obj_Desc(“html tag”).value= “INPUT”
obj_Desc(“name”).value= “txt.*”
obj_Desc(“name”).regularexpression= “txt.*”

This is how of we create a description. Now below is the way we can use it

Browser(“Browser”).Page(“Page”).WebEdit(obj_Desc).set “Test”

When we say .WebEdit(obj_Desc) we define one more property for our description that was not earlier defined that is it’s a text box (because QTPs WebEdit boxes map to text boxes in a web page).

If we know that we have more than 1 element with same description on the page then we must define “index” property for the that description

Consider the HTML code given below




Now the html code has two objects with same description. So distinguish between these 2 objects we will use the “index” property. Here is the description for both the object

For 1st textbox:
obj_Desc(“html tag”).value= “INPUT”
obj_Desc(“name”).value= “txt_Name
” obj_Desc(“index”).value= “0”

For 2nd textbox:
obj_Desc(“html tag”).value= “INPUT”
obj_Desc(“name”).value= “txt_Name”
obj_Desc(“index”).value= “1”

Consider the HTML Code given below:




We can use the same description for both the objects and still distinguish between both of them
obj_Desc(“html tag”).value= “INPUT”
obj_Desc(“name”).value= “txt_Name”

When I want to refer to the textbox then I will use the inside a WebEdit object and to refer to the radio button I will use the description object with the WebRadioGroup object.

Browser(“Browser”).Page(“Page”).WebEdit(obj_Desc).set “Test” ‘Refers to the text box
Browser(“Browser”).Page(“Page”).WebRadioGroup(obj_Desc).set “Test” ‘Refers to the radio button

But if we use WebElement object for the description then we must define the “index” property because for a webelement the current description would return two objects.

Hierarchy of test description:
When using programmatic descriptions from a specific point within a test object hierarchy, you must continue to use programmatic descriptions from that point onward within the same statement. If you specify a test object by its object repository name after other objects in the hierarchy have been described using programmatic descriptions, QuickTest cannot identify the object.

For example, you can use Browser(Desc1).Page(Desc1).Link(desc3), since it uses programmatic descriptions throughout the entire test object hierarchy. You can also use Browser("Index").Page(Desc1).Link(desc3), since it uses programmatic descriptions from a certain point in the description (starting from the Page object description).

However, you cannot use Browser(Desc1).Page(Desc1).Link("Example1"), since it uses programmatic descriptions for the Browser and Page objects but then attempts to use an object repository name for the Link test object (QuickTest tries to locate the Link object based on its name, but cannot locate it in the repository because the parent objects were specified using programmatic descriptions).

Getting Child Object:
We can use description object to get all the objects on the page that matches that specific description. Suppose we have to check all the checkboxes present on a web page. So we will first create an object description for a checkboxe and then get all the checkboxes from the page

Dim obj_ChkDesc

Set obj_ChkDesc=Description.Create
obj_ChkDesc(“html tag”).value = “INPUT”
obj_ChkDesc(“type”).value = “checkbox”

Dim allCheckboxes, singleCheckBox

Set allCheckboxes = Browse(“Browser”).Page(“Page”).ChildObjects(obj_ChkDesc)

For each singleCheckBox in allCheckboxes

singleCheckBox.Set “ON”

Next
The above code will check all the check boxes present on the page. To get all the child objects we need to specify an object description i.e. we can’t use the string arguments that will be discussed later in the 2nd way of using the programming description.

Possible Operation on Description Object

Consider the below code for all the solutions
Dim obj_ChkDesc

Set obj_ChkDesc=Description.Create
obj_ChkDesc(“html tag”).value = “INPUT”
obj_ChkDesc(“type”).value = “checkbox”

How to get the no. of description defined in a collection
obj_ChkDesc.Count ‘Will return 2 in our case

How to remove a description from the collection
obj_ChkDesc.remove “html tag” ‘would delete the html tag property from the collection

How do I check if property exists or not in the collection?
The answer is that it’s not possible. Because whenever we try to access a property which is not defined its automatically added to the collection. The only way to determine is to check its value that is use a if statement “if obj_ChkDesc(“html tag”).value = empty then”.

How to browse through all the properties of a properties collection?
Two ways
1st:
For each desc in obj_ChkDesc
Name=desc.Name
Value=desc.Value
RE = desc.regularexpression
Next
2nd:
For i=0 to obj_ChkDesc.count - 1
Name= obj_ChkDesc(i).Name
Value= obj_ChkDesc(i).Value
RE = obj_ChkDesc(i).regularexpression
Next


By giving the description in form of the string arguments.
You can describe an object directly in a statement by specifying property:=value pairs describing the object instead of specifying an object’s name. The general syntax is:

TestObject("PropertyName1:=PropertyValue1", "..." , "PropertyNameX:=PropertyValueX")

TestObject—the test object class could be WebEdit, WebRadioGroup etc….

PropertyName:=PropertyValue—the test object property and its value. Each property:=value pair should be separated by commas and quotation marks. Note that you can enter a variable name as the property value if you want to find an object based on property values you retrieve during a run session.

Consider the HTML Code given below:




Now to refer to the textbox the statement would be as given below

Browser(“Browser”).Page(“Page”).WebEdit(“Name:=txt_Name”,”html tag:=INPUT”).set “Test”

And to refer to the radio button the statement would be as given below

Browser(“Browser”).Page(“Page”).WebRadioGroup(“Name:=txt_Name”,”html tag:=INPUT”).set “Test”

If we refer to them as a web element then we will have to distinguish between the 2 using the index property

Browser(“Browser”).Page(“Page”).WebElement(“Name:=txt_Name”,”html tag:=INPUT”,”Index:=0”).set “Test” ‘ Refers to the textbox Browser(“Browser”).Page(“Page”).WebElement(“Name:=txt_Name”,”html tag:=INPUT”,”Index:=1”).set “Test” ‘ Refers to the radio button

QuickTest Professional (QTP) 8.2 Tips and Tricks (1)

Data Table
Two Types of data tables
Global data sheet: Accessible to all the actions
Local data sheet: Accessible to the associated action only

Usage:
DataTable("Column Name",dtGlobalSheet) for Global data sheet
DataTable("Column Name",dtLocalSheet) for Local data sheet

If we change any thing in the Data Table at Run-Time the data is changed only in the run-time data table. The run-time data table is accessible only through then test result. The run-time data table can also be exported using DataTable.Export or DataTable.ExportSheet

How can I save the changes to my DataTable in the test itself?
Well QTP does not allow anything for saving the run time changes to the actual data sheet. The only work around is to share the

spreadsheet and then access it using the Excel COM Api's.

How can I check if a parameter exists in DataTable or not?
The best way would be to use the below code:
code:
on error resume next
val=DataTable("ParamName",dtGlobalSheet)
if err.number<> 0 then
'Parameter does not exist
else
'Parameter exists
end if

How can I make some rows colored in the data table?
Well you can't do it normally but you can use Excel COM API's do the same. Below code will explain some expects of Excel COM APIs

code:
Set xlApp=Createobject("Excel.Application")
set xlWorkBook=xlApp.workbooks.add
set xlWorkSheet=xlWorkbook.worksheet.add
xlWorkSheet.Range("A1:B10").interior.colorindex = 34 'Change the color of the cells
xlWorkSheet.Range("A1:A10").value="text" 'Will set values of all 10 rows to "text"
xlWorkSheet.Cells(1,1).value="Text" 'Will set the value of first row and first col


rowsCount=xlWorkSheet.Evaluate("COUNTA(A:A)") 'Will count the # of rows which have non blank value in the column A
colsCount=xlWorkSheet.Evaluate("COUNTA(1:1)") 'Will count the # of non blank columns in 1st row

xlWorkbook.SaveAs "C:\Test.xls"
xlWorkBook.Close
Set xlWorkSheet=Nothing
Set xlWorkBook=Nothing
set xlApp=Nothing

SMART Identification
Smart Identification is nothing but an algorithm used by QTP when it is not able to recognize one of the object. A very generic example as per the QTP manual would be, A photograph of a 8 year old girl and boy and QTP records identification properties of that girl when she was 8, now when both are 10 years old then QTP would not be able to recognize the girl. But there is something that is still the same, that is there is only one girl in the photograph. So it kind of PI (Programmed intelligence) not AI.

When should I use SMART Identification?
Something that people don't think about too much. But the thing is that you should disable SI while creating your test cases. So that you are able to recognize the objects that are dynamic or inconsistent in their properties. When the script has been created, the SI should be enabled,so that the script does not fail in case of small changes. But the developer of the script should always check for the test results to verify if the SI feature was used to identify a object or not. Sometimes SI needs to be disabled for particular objects in the OR, this is advisable when you use

SetTOProperty to change any of the TO properties of an object and especially ordinal identifiers like index, location and creationtime.

Descriptive Programming
Descriptive programming is nothing but a technique using which operations can be performed on the AUT object which are not present in the OR. For more details refer to http://bondofus.tripod.com/QTP/DP_in_QTP.doc (right click and use save as...)

What is a Recovery Scenario?
Recovery scenario gives you an option to take some action for recovering from a fatal error in the test. The error could range in from occasional to typical errors. Occasional error would be like "Out of paper" popup error while printing something and typical errors would be like "object is disabled" or "object not found". A test case have more then one scenario associated with it and also have the priority or order in which it should be checked.

What does a Recovery Scenario consists of?
Trigger: Trigger is nothing but the cause for initiating the recovery scenario. It could be any popup window, any test error, particular state of an object or any application error. Action: Action defines what needs to be done if scenario has been triggered. It can consist of a mouse/keyboard event, close application, call a recovery function defined in library file or restart windows. You can have a series of all the specified actions.

Post-recovery operation: Basically defined what need to be done after the recovery action has been taken. It could be to repeat the step, move to next step etc....

When to use a Recovery Scenario and when to us on error resume next?
Recovery scenarios are used when you cannot predict at what step the error can occur or when you know that error won't occur in your

QTP script but could occur in the world outside QTP, again the example would be "out of paper", as this error is caused by printer device driver. "On error resume next" should be used when you know if an error is expected and dont want to raise it, you may want to have different actions depending upon the error that occurred. Use err.number & err.description to get more details about the error.

Library Files or VBScript Files
How do we associate a library file with a test ?
Library files are files containing normal VBScript code. The file can contain function, sub procedure, classes etc.... You can also use executefile function to include a file at run-time also. To associate a library file with your script go to Test->Settings... and add your library file to resources tab.

When to associate a library file with a test and when to use execute file?
When we associate a library file with the test, then all the functions within that library are available to all the actions present in the test. But when we use Executefile function to load a library file, then the function are available in the action that called executefile. By associated a library to a test we share variables across action (global variables basically), using association also makes it possible to execute code as soon as the script runs because while loading the script on startup QTP executes all the code on the global scope. We can use executefile in a library file associated with the test to load dynamic files and they will be available to all the actions in the test.

What is the difference between Test Objects and Run Time Objects ?
Test objects are basic and generic objects that QTP recognize. Run time object means the actual object to which a test object maps.
QuickTest Professional (QTP) 8.2 Tips and Tricks (2)

Can I change properties of a test object?
Yes. You can use SetTOProperty to change the test object properties. It is recommended that you switch off the Smart Identification for the object on which you use SetTOProperty function.

Can I change properties of a run time object?
No (but Yes also). You can use GetROProperty("outerText") to get the outerText of a object but there is no function like SetROProperty to change this property. But you can use WebElement().object.outerText="Something" to change the property.

What is the difference between an Action and a function?
Action is a thing specific to QTP while functions are a generic thing which is a feature of VB Scripting. Action can have a object repository associated with it while a function can't. A function is just lines of code with some/none parameters and a single return value while an action can have more than one output parameters.

Where to use function or action?
Well answer depends on the scenario. If you want to use the OR feature then you have to go for Action only. If the functionality is not about any automation script i.e. a function like getting a string between to specific characters, now this is something not specific to QTP and can be done on pure VB Script, so this should be done in a function and not an action. Code specific to QTP can also be put into an function using DP. Decision of using function/action depends on what any one would be comfortable using in a given situation.

What is checkpoint?
Checkpoint is basically a point in the test which validates for truthfulness of a specific things in the AUT. There are different types of checkpoints depending on the type of data that needs to be tested in the AUT. It can be text, image/bitmap, attributes, XML etc....

What's the difference between a checkpoint and output value?
Checkpoint only checks for the specific attribute of an object in AUT while Output value can output those attributes value to a column in data table.

How can I check if a checkpoint passes or not?
code:
chk_PassFail = Browser(...).Page(...).WebEdit(...).Check (Checkpoint("Check1"))
if chk_PassFail then
MsgBox "Check Point passed"
else
MsgBox "Check Point failed"
end if

My test fails due to checkpoint failing, Can I validate a checkpoint without my test failing due to checpoint failure?
code:
Reporter.Filter = rfDisableAll 'Disables all the reporting stuff
chk_PassFail = Browser(...).Page(...).WebEdit(...).Check (Checkpoint("Check1"))
Reporter.Filter = rfEnableAll 'Enable all the reporting stuff
if chk_PassFail then
MsgBox "Check Point passed"
else
MsgBox "Check Point failed"
end if

How can I import environment from a file on disk?
Environment.LoadFromFile "C:\Env.xml"

How can I check if a environment variable exist or not?
When we use Environment("Param1").value then QTP expects the environment variable to be already defined. But when we use Environment.value("Param1") then QTP will create a new internal environment variable if it does not exists already. So to be sure that variable exist in the environment try using Environment("Param1").value.

How to connect to a database?
code:
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient = 3
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")
objConnection.Open "DRIVER={Microsoft ODBC for Oracle};UID=;PWD=
"
objRecordset.CursorLocation = adUseClient
objRecordset.CursorType = adopenstatic
objRecordset.LockType = adlockoptimistic
ObjRecordset.Source="select field1,field2 from testTable"
ObjRecordset.ActiveConnection=ObjConnection ObjRecordset.Open 'This will execute your Query
If ObjRecordset.recordcount>0 then
Field1 = ObjRecordset("Field1").Value
Field2 = ObjRecordset("Field2").Value
End if
QuickTest Pro Questions Only (1)
1. how many maximum actions can be performed in a single test
2. How to create the dynamic object repository in QTP?
3. What is difference between global sheet anh action sheet?
4. How to pass parameters from one action to another action.
5. How to perform Cross platform testing and Cross browser testing using QTP?Can u explain giving some exampl
6. how to connect the database through QTP
7. How to open multiple instances of an application from QTP? 2. How to recognize each instance and setting
8. This is the chain of question#: 15434What conditions we go for Reusable Scripts and how we create and
9. Can we call QTP test from another test using scripting.Suppose there are 4 tests and i want to call these
10. Is it possible to test a web application(java) with winrunner?otherwise is it possible to check with
11. How can we insert Text check point and Bit map check point ? if provide example script, it is greatefu
12. Can we mask a Code In .vbs file so that it is not viewable to others?
13. Is there any function to double click a particular row in a webtable?
14. what is the use of command tab in Debug viewer ?can we execute any user defined queries
15. What is Analog recording,What is the difference between analog recording and low level recording
16. what is database check point.
17. What is the use of function and sub function in QTP?
18. What is the new Version of QTP which is recently released in the Market?
19. How to call a funtion present in dll file in QTP Script.
20. I have n iterations of test run in QTP. I want to see the results of not only the latest (‘n’th) iteration
21. How to call from one action to another action in QTP?
22. What is the Difference Between Bit map Check point & Image Check pointPlease explain in detailText &
23. How can we do block commenting in QTP?
24. How to get the column count and column name from resultset in database connction program?
25. 1. How to write QTP scripts?2. Any related website resource to learn QTP?3. What steps the to be follwed
26. How to check an XML schema (XML Schema Validation--from XML file)? Ttell me about .XSD file format.
27. How to schedule tests in QTP?
28. Is Addins enough to work in Flex based applications? or do we have to get a licence for multimedia for
29. how to identify a 'web element' class object while recording and running in 'Event' mode of settings.
30. What are the new features available in QTP 8.2 compared with earlier versions?
31. Hi forum. Could any body tell me what is AMDOCS, and what are its models ? Best regrds.
32. What is difference between window(" ") and dialog(" ") in QTP while creating script?
33. How do you retrieve the Class name of a Test Object programmatically from within a script?
34. What is the best way to test UNIX (QTP, Winrunner or Xrunner)? If QTP supports let me know the brief
35. What is the Recovery Scenerio can apllied for any telephone line connection(Ex:BSNl,Airtel etc
36. what are advantages and disadvantages between internet explorer and netscape navigator (or) Internet
37. Anybody with an experience of testing Mainframe applications. I usually check the ActiveX and VB add-ins
38. Difference Between text and Textarea checkpoints in QTP
39. How to Handle dynamic WebList in QTP...Values in Weblist are different
40. What is the Hotkey that can be used for Hitting spacebar?
41. We are trying to avoid that anybody see our script after we wrote it. Did anybody know how to do this?
42. how can i insert database checkpoint in qtp-6.5
43. What are different execution modes available in QTP & explain them.
44. How can we recognize objects in Flex application using QTP? When I record scripts, it takes all objects
45. For the AS/400 application that takes data only thru the keyboard input and not even single mouse click
46. How to write QTP test results to an Excel application
47. How to write recovery scenario for below questions and what are the steps we will follow?if i click
48. If winrunner and QTP both are functional testing tools from the same company.why a separate tool QTP
49. How do we test Links using Quick Test Professional and confirm that the page we are requesting is seen
50. How do you test DLL files using QTP?
51. After importing external .xls datasheet in to Datatable of QTP, How to set NO of iterations run for
52. How to test Dynamic web pages using QTP
53. How to record Flex (1.0) objects using QTP?Post the code which works for this.
54. Advantage of using Mercury Quality Center over Test Director
55. How do we connect to Oracle database from QTP ?
56. Can any one pls tell me about how to configure the environment variables in qtp and how to use the variables
57. What is the process for creating an automated test script using QTP assuming you have reviewed the manual
58. How to use a data driver in QTP?
59. What is the method used to focus on particuler field.I need the script.I will give example.I flights
60. 1)what is the advantage and disadvantage of using Virtual Object wizard?2) How efficiently we can use
61. Without recording objects in Object Repository are we able to run scripts?
62. Can we call a QTP script from a main script without making it reusable?
63. wat is xml schema validation and how to perform schema validation for a file.wat is *.XSD extention
64. Can any body expalin me the differences between a reusable and a external action with example?
65. I need information on using FSO(file system object) also its significance
66. How to Run a script recorded in English flavor of my application and re-run the same script on different
67. How to write QTP test results to an Excel application, Please provide the exact code if possible ASAPThanks
68. What are the limitations for XML Checkpoints in QTP 8.0?
69. how good is QTP for testing siebel applications?whether QTP recognizes siebel objects or something else
70. How do I use text checkpoint in QTP as everytime I use this checkpoint in the excel sheet and highlight
71. How is automation used in QTP for regreession testing. Please give me a sample script.
72. Anybody explain me, the concept of checkpoint declaration in the QTP mainly for the Objects, Pages, Text
73. How can we validate the PDF file recognization and its content with the help of Mercury product QTP(Quick
74. What is Expert view in QTP?Can you explain with example?
75. What is the best way to do regression testing using QTP.
76. what is the use functions in QTP. public, private
77. How can we return values from userdefined function? anybody provide code with small example its great
78. how to retrive/update database by writing code in expert viewIn my case database is Accessmy dsn name="try"database
79. How can I import and/or merge an existing repository into my current test?
81. Hi,I was set the repository as per test mode and recorded my script. Now I wana to change the repository
82. What are Limitation of QTP?
83. what is difference between stub and driver?
84. What is meant by Source Control?
85. What is descriptive programming?
86. how to automate editing an XML file .because when i record the editing on an XML file and run it,some
87. What are the disadvantages or drawbacks in QTP?
88. 1. Each test that you run is displayed into the screen ... I'm looking for a way to run a test in background
89. I have faced one question in interviewhe has given one screen with one bitmap and one edit box.The original
90. What qt plus ? How we merge the files in qtp?What is feasibility study in automation?
91. when a script is recorded in quick test for connecting 10 rows in the database, can we change script
92. How do you test siebel application using qtp?
93. How to get Traceability matrix from TD?
94. How to import a test case present in ".xls" file to TD under a Test set?
95. How to attach a file to TD?
96. What do you to script when objects are removed from application?
97. How do you data drive an external spreadsheet?
98. Give me an example where you have used a COM interface in your QTP project?
99. How long have you used the product?
100. How to get "FontSize" of a "WebEdit"?
101. Is there anyway to automatically update the Datasource name in Database Checkpoints object when we migrate tests to a new release?
102. How to create a Runtime property for an object?
103. How to handle the exceptions using recovery scenario manager in QTP ?
104. What is the use of Text output value in QTP?
105. Have you ever written a compiled module? If yes tell me about some of the features.
106. 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?
107. What is the command in QTP to invoke IE Browser?
108. How to execute QTP script from command prompt?
109. How We will count the total number of web Links on a Page?
110. How you will creat a object in VB Script?
111. What is the difference between TSL & VBScript?
112. Write a Script if a button is enable or not?

QuickTest Pro Questions Only (2)
1.List me out the short cut keys for some functionalities in the QTP....for example.......to record......to run....etc
2.What are the challenges do we face while testing webbased applications using the automation tool QTP or any?
3.Do we get any issues if we run the testscript on different browsers?What are the options we need to st in QTP?
4.How we can add actions in the test using QTP?
5.Does QTP provides any tools for parametarization?
6.What are recovery management techniques?
7.How we can merge the object repositories?say if we have two or three object repositories then how we can merge them?is there any option in qtp to merge the object repositories?
8.What is the difference between link and hyperlink?
9.Can some one help me how to compare thevalues from one sheet to values in another sheet?suppose i have a field called temp in action1 and i also have temp in action2. i want to compare the values of those two actions sheets data table? how can i do it using descriptive programming?
10.How to do batch run in qtp? provide the steps?
11.Can we do qtp testing without creating objects in Dbject repository?can we do it completely writing code i.e in expert view only. are there any books for this?
12. In qtp,how to interact tool & application build?
13.Scenario:2 combo boxes.1st combo contains a,b,c,d.2nd combo contains 10..20,20...30,30.40,...selecting 'a' shuld display
10.....20.,'b' shld display 20.......30.......and so on.tell d script? 2.Random testing of 500 test cases in qtp?
14.How to do the batch testing using qtp?
15. What is the use of "function generator " in qtp?
16. What is environment variables?
17. What is the use of virtual object?explain?
18. Difference between wr 8.2? how to integrate with some other tools?
19. What is the function (how to do) the batch testing in test director using manual testing procedure?
20. What is a test strategy & what is the difference between test strategy & test plan?
21. What is descriptive programming when it is useful? & when to use this?
22.How to invoke any recorded script in QTP with out using RECORD & PLAYBACK CONCEPT?
23. If two text boxes are there in a "form". ....>A table contains some records which contains usernames & password....what is the script we need to write using descriptive programming concept....in QTP(simply data driven test script of qtp)?
24. Can we run the scripts of qtp 8.2 in the qtp 7.0?
25. How to capture data from images in qtp and produce them in excel sheet?
26. How to handle recovery scenario in QTP. give detailed explanation about recovery scenario..
27. How we can take data in the username field text box into variable in web application explain with example and give all functions to get data into variables
28. What are the file extensions for pre-action,shared object repository files and what is the extension for library files?
29. What are the most frequent errors you faced while executing your scripts?
30. among all the check points what is the most important check point?
31. How to write script in QTP(vbscript)...i mean with out application deployed...and how to call script1 into script2?
32. How do you handle multiple banners(at the top the page,the banner is scrolling) in a web page(donot take the name property(regular expression))
33. How do you handle XML exceptions in QTP(here it is exception,not the check point)
34. What is iteration? how it is related to test results in QTP
35. Is it possible to map an image as standard object or u've to treat as virtual? how to map an dynamic image into standard object?
36. What is the exact diff between test and component in QTP?
37. Difference between image checkpoint and bitmap checkpoint?
38. What is the descriptive.crate() in QTP?
39. What is TOM in QTP?
40. What is the abbrivation of .mtr in action repository?
41.I am new in QTP, plz tell me any books for QTP,my company is QTP,so i learn QTP
42. Tell about descriptive programming in QTP8.2?
43. Tell about automation object model(Aom) in QTP?
44. How to merge object repositories?
45. What is the command used to start the QTP from run.(start-> run)
46. What does VBS file contain...??what is VBS file?
47. What is unicoad compability?how does this makes a difference from winrunner?
48. What is the exact meaning of environment variables? what is complie module in QTP?what exactly it contains functions or actions?
49. What is compile modulein QTP?what exactly it contains functions or actions?
50. What is the exact meaning of environment variabes?
51. How to watch currnet value of an object like OK button or edit box with "agent nale:" lable. in watch expression tab
52. Which functionalities of QTP used in banking project?
53. I am begineer in QTP and i want to try the software QTP. i checked the mercury site for QTP trial version and i found QTP9.0. the thing is tht it supports windows 2000,Xp but not windows 98. and i am using windows 98 only and its not possible for me to update to windows 2000.guide me to get the tria version of QTP which supports windows 98 operating system.
54. Tell me the QTP advantage and disadvantges?
55. How do you configure QTP and test director?
56. How to get the column count and column name from the result set in the data base connection program?
57. Scalability testing comes under in which tool?
58. What is the difference between rational rose and QTP?which tool is better to learn?
59. How to test the mainframe application?(tell me few basic things)
60. What is throw object?
61. How will you handle the situation when object isnot captured during recors?
62. What kind of errors can be handled in QTP in real time scenario?
63. Can objects recognised without repository?
64. What is smart identification?
65. What is the differece between normal mode and fast moce?
66. In how many ways you perform batchtesting
67. What is API
68.What is the difference between action and script
69.Synchronozation types in QTP
70.Batch testing in howmany ways u perform in QTP
71. Approch for installation,comaptibility,system testing
72.user defined function in QTP
73.How you perform exception handling in QTP,what is other name for this.
74.How you call functions in QTP
75.How you connect bugzilla with QTP
76.How you sre using QTP in ur projrct
77.how you automate testscripts one by one or modukewise or all at once
78.Can we directly automate testscripts according to requirements
79.How you automate test scripts
80.What do you do if QTP doesnt recognize object,what action should be taken
81.After running scripts how you report results, there is any specific report form?
82.In object repository,two actions r there.action1 name is A.tsr, action2 name is B.tsr.is it possible?if yes,what is the output of A+B?if no, why?
83.Anybody explain me,the concept of checkpoint declaration in the QTP mainly for the objects,pages,text and tables?
84.How to use regular expressions in QTP?give an example.
85.Take a situation when you are working with QTP,suddenly systam has crashed. so u again start the system. my que ishow can QTP directly opened when the system desktop appears?
86.Give me descriptive programming code sample flight application in QTP
87.Can you put checkpoints for moving images.
88.how to test background color and dynamic images during runtime
89.Where is the bitmap checkpoint be saved?
90.What happen in object repository(shared) if we call an existing action from an external action? and what happen in object repository(peraction) if we call an existing action from an external action?
91.How can we retrive ten rows from the data table using loop concept?
92.How to convert a string to an integer?
93.How to "turn off" QTP results after running a script?
94.Does QTP is "unicoe" compatible?
95.How to supress warnings from the "test results page"?
96.What is the extension of script and object repository files in QTP?
97.How to open any application during scripting in QTP?
98.How to retrive the property of an object in QTP?
99.How to change the run time values of a property for an object in QTP?
100.How to handle run-time errors?







Credit Card Validation - Check Digits
This document outlines procedures and algorithms for Verifying the accuracy and validity of credit card numbers. Most credit card numbers are encoded with a "Check Digit". A check digit is a digit added to a number (either at the end or the beginning) that validates the authenticity of the number. A simple algorithm is applied to the other digits of the number which yields the check digit. By running the algorithm, and comparing the check digit you get from the algorithm with the check digit encoded with the credit card number, you can verify that you have correctly read all of the digits and that they make a valid combination.
Possible uses for this information:
• When a user has keyed in a credit card number (or scanned it) and you want to validate it before sending it our for debit authorization.
• When issuing cards, say an affinity card, you might want to add a check digit using the MOD 10 method.
1.Prefix, Length, and Check Digit Criteria
Here is a table outlining the major credit cards that you might want to validate.
CARD TYPE Prefix Length Check digit algorithm
MASTERCARD 51-55 16 mod 10
VISA 4 13, 16 mod 10
AMEX 34
37 15 mod 10
Diners Club/
Carte Blanche 300-305
36
38 14 mod 10
Discover 6011 16 mod 10
enRoute 2014
2149 15 any
JCB 3 16 mod 10
JCB 2131
1800 15 mod 10
2. LUHN Formula (Mod 10) for Validation of Primary Account Number
The following steps are required to validate the primary account number:
Step 1: Double the value of alternate digits of the primary account number beginning with the second digit from the right (the first right--hand digit is the check digit.)
Step 2: Add the individual digits comprising the products obtained in Step 1 to each of the unaffected digits in the original number.
Step 3: The total obtained in Step 2 must be a number ending in zero (30, 40, 50, etc.) for the account number to be validated.
For example, to validate the primary account number 49927398716:
Step 1:
4 9 9 2 7 3 9 8 7 1 6
x2 x2 x2 x2 x2
------------------------------
18 4 6 16 2

Step 2: 4 +(1+8)+ 9 + (4) + 7 + (6) + 9 +(1+6) + 7 + (2) + 6
Step 3: Sum = 70 : Card number is validated
Note: Card is valid because the 70/10 yields no remainder.
The great folks at ICVERIFY are the original source of this data, I only formatted it in HTML.
If you are in the market, I wrote a set of FoxPro modules for Windows/Dos that interface nicely with ICVERIFY in a multi-user LAN setup. You just set up ICVERIFY on a single station, and all stations on the LAN can authorize credit cards with a single FOXBASE function call. Of course, you have to license ICVERIFY by the node, but it is very reasonable. I also wrote a couple of simple functions to perform pre-authorization, card screening, etc.
Here is a Microsoft Excel worksheet that will validate a number for you (useful for understanding the algorithm, it is in a .ZIP compressed format)
Horace Vallas made a NeoWebScript (Tcl really) procedure that implements it.
Check it out at https://enterprise.neosoft.com/secureforms/hav/
Because I get at least a letter a week regarding this routine, here are some additional helpful notes:
Make sure that you:
21. have started with the rightmost digit (including the check digit) (figure odd and even based upon the rightmost digit being odd, regardless of the length of the Credit Card.) ALWAYS work right to left.
22. the check digit counts as digit #1 (assuming that the rightmost digit is the check digit) and is not doubled
23. double every second digit (starting with digit # 2 from the right)
24. remember that when you double a number over 4, (6 for example) you don't add the result to your total, but rather the sum of the digits of the result (in the above example 6*2=12 so you would add 1+2 to your total (not 12).
25. always include the Visa or M/C/ prefix.

No comments:

My Contents