Wednesday, April 8, 2009

QTP Interview Questions 14

" What is test object model in QTP?
The test object model is a large set of object types or classes that Quick Test 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 Quick Test can record for it. A test object is an object that Quick Test creates in the test or component to represent the actual object in your application. Quick Test stores information about the object that will help it identify and check the object during the run session.

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. Quick Test 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, Quick Test 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 Quick Test 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 Quick Test 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 Test set from the Execution Grid. The same is possible with QTP also. If our test cases are automated then by selecting Run Test set 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.

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.

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 cause for failure whether it is a Script Issue or Environment Issue or a Application issue.

"

QTP Interview Questions 13

" Explain the QTP Tool interface.
It contains the following key elements: Title bar, displaying the name of the currently open test, Menu bar, displaying menus of Quick Test commands, File toolbar, containing buttons to assist you in managing tests, Test toolbar, containing buttons used while creating and maintaining tests, Debug toolbar, containing buttons used while debugging tests. Note: The Debug toolbar is not displayed when you open Quick Test for the first time. You can display the Debug toolbar by choosing View — Toolbars — Debug. Action toolbar, containing buttons and a list of actions, enabling you to view the details of an individual action or the entire test flow. Note: The Action toolbar is not displayed when you open Quick Test for the first time. You can display the Action toolbar by choosing View — Toolbars — Action. If you insert a reusable or external action in a test, the Action toolbar is displayed automatically. Test pane, containing two tabs to view your test-the Tree View and the Expert View ,Test Details pane, containing the Active Screen. Data Table, containing two tabs, Global and Action, to assist you in parameterizing your test. Debug Viewer pane, containing three tabs to assist you in debugging your test-Watch Expressions, Variables, and Command. (The Debug Viewer pane can be opened only when a test run pauses at a breakpoint.) Status bar, displaying the status of the test

How does QTP recognize Objects in AUT?
Quick Test stores the definitions for application objects in a file called the Object Repository. As you record your test, Quick Test will add an entry for each item you interact with. Each Object Repository entry will be identified by a logical name (determined automatically by Quick Test), and will contain a set of properties (type, name, etc) that uniquely identify each object. Each line in the Quick Test 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 Repositories in QTP?
Quick Test 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, Quick Test 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.

Explain the check points in QTP?

A checkpoint verifies that expected information is displayed in an 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 an Application. A text checkpoint checks that a text string is displayed in the appropriate place on an Application. An object checkpoint (Standard) checks the values of an object on an Application. An image checkpoint checks the values of an image on an Application. A table checkpoint checks information within a table on a Application. An Accessibilityy 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).

How does QTP identify objects in the application?
QTP identifies the object in the application by Logical Name and Class.

What is Parameterizing Tests?
When you test your application, you may want to check how it performs the same operations with multiple sets of data. For example, suppose you want to check how your application responds to ten separate sets of data. You could record ten separate tests, each with its own set of data. Alternatively, you can create a parameterized test that runs ten times: each time the test runs, it uses a different set of data.

"

QTP Interview Questions 12

" What is keyword view and Expert view in QTP?
Quick Test’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 Quick Test Professional automatically generates. Any changes made in the Expert View are automatically synchronized with the Keyword View.

Explain about the Test Fusion Report of QTP?
Once a tester has run a test, a Test Fusion 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 Test Fusion reports with Quick Test Professional, you can share reports across an entire QA and development team.

Which environments does QTP support?
Quick Test 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.

Explain QTP Testing process?
Quick Test testing process consists of 6 main phases:
Create your test plan
Prior to automating there should be a detailed description of the test including the exact steps to follow, data to be input, and all items to be verified by the test. The verification information should include both data validations and existence or state verifications of objects in the application.
Recording a session on your application
As you navigate through your application, Quick Test graphically displays each step you perform in the form of a collapsible icon-based test tree. A step is any user action that causes or makes a change in your site, such as clicking a link or image, or entering data in a form.
Enhancing your test
Inserting checkpoints into your test lets you search for a specific value of a page, object or text string, which helps you identify whether or not your application is functioning correctly. NOTE: Checkpoints can be added to a test as you record it or after the fact via the Active Screen. It is much easier and faster to add the checkpoints during the recording process. Broadening the scope of your test by replacing fixed values with parameters lets you check how your application performs the same operations with multiple sets of data. Adding logic and conditional statements to your test enables you to add sophisticated checks to your test.
Debugging your test
If changes were made to the script, you need to debug it to check that it operates smoothly and without interruption.
Running your test on a new version of your application
You run a test to check the behavior of your application. While running, Quick Test connects to your application and performs each step in your test.
Analyzing the test results
You examine the test results to pinpoint defects in your application.
Reporting defects
As you encounter failures in the application when analyzing test results, you will create defect reports in Defect Reporting Tool.

"

QTP Interview Questions 11

What is QTP?
Quick Test Pro 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, Quick Test 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

What are the Features & Benefits of Quick Test Pro (QTP 8.0)?
Operates stand-alone, or integrated into Mercury Business Process Testing and Mercury Quality Center. Introduces next-generation zero-configuration Keyword Driven testing technology in Quick Test Professional 8.0 allowing for fast test creation, easier maintenance, and more powerful data-driving capability. Identifies objects with Unique Smart Object Recognition, even if they change from build to build, enabling reliable unattended script execution. Collapses test documentation and test creation to a single step with Auto-documentation technology. Enables thorough validation of applications through a full complement of checkpoints.

How to handle the exceptions using recovery scenario manager in QTP?
There are 4 trigger events during which a recovery scenario should be activated. A pop up window appears in an opened application during the test run: A property of an object changes its state or value, A step in the test does not run successfully, An open application fails during the test run, These triggers are considered as exceptions.You can instruct QTP to recover unexpected events or errors that occurred in your testing environment during test run. Recovery scenario manager provides a wizard that guides you through the defining recovery scenario. Recovery scenario has three steps: 1. Triggered Events 2. Recovery steps 3. Post Recovery Test-Run

What is the use of Text output value in QTP?

Output values enable to view the values that the application talks during run time. When parameterized, the values change for each iteration. Thus by creating output values, we can capture the values that the application takes for each run and output them to the data table.

How to use the Object spy in QTP 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) True Object repository Dialog, In Object repository dialog click on the button object spy. In the Object spy Dialog click on the button showing hand symbol. The pointer now changes in to a hand symbol and we have to point out the object to spy the state of the object if at all the object is not visible. or window is minimized then, hold the Ctrl button and activate the required window to and release the Ctrl button.

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.

QTP Interview Questions 10

Full form of QTP ?

Quick Test Professional

What’s the QTP ?

QTP is Mercury Interactive Functional Testing Tool.

Which scripting language used by QTP ?

QTP uses VB scripting.

What’s the basic concept of QTP ?

QTP is based on two concept-
* Recording
* Playback

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

What’s the Active Screen ?

It provides the snapshots of your application as it appeared when you performed a certain steps during recording session.

What’s the Test Pane ?

Test Pane contains Tree View and Expert View tabs.

What’s Data Table ?

It assists to you about parameterizing the test.

What’s the Test Tree ?

It provides graphical representation of your operations which you have performed with your application.

Which all environment QTP supports ?

ERP/ CRM
Java/ J2EE
VB, .NET
Multimedia, XML
Web Objects, ActiveX controls
SAP, Oracle, Siebel, PeopleSoft
Web Services, Terminal Emulator
IE, NN, AOL

How can you view the Test Tree ?

The Test Tree is displayed through Tree View tab.

What’s the Expert View ?

Expert View display the Test Script.

Which keyword used for Nornam Recording ?

F3

Which keyword used for run the test script ?

F5

Which keyword used for stop the recording ?

F4

Which keyword used for Analog Recording ?

Ctrl+Shift+F4

Which keyword used for Low Level Recording ?

Ctrl+Shift+F3

Which keyword used for switch between Tree View and Expert View ?

Ctrl+Tab

What’s the Transaction ?

You can measure how long it takes to run a section of your test by defining transactions.

Where you can view the results of the checkpoint ?

You can view the results of the checkpoints in the Test Result Window.

What’s the Standard Checkpoint ?

Standard Checkpoints checks the property value of an object in your application or web page.

Which environment are supported by Standard Checkpoint ?

Standard Checkpoint are supported for all add-in environments.

What’s the Image Checkpoint ?

Image Checkpoint check the value of an image in your application or web page.

Which environments are supported by Image Checkpoint ?

Image Checkpoint are supported only Web environment.

What’s the Bitmap Checkpoint ?

Bitmap Checkpoint checks the bitmap images in your web page or application.

Which environment are supported by Bitmap Checkpoints ?

Bitmap checkpoints are supported all add-in environment.

What’s the Table Checkpoints ?

Table Checkpoint checks the information with in a table.

Which environments are supported by Table Checkpoint ?

Table Checkpoints are supported only ActiveX environment.

What’s the Text Checkpoint ?

Text Checkpoint checks that a test string is displayed in the appropriate place in your application or on web page.

Which environment are supported by Test Checkpoint ?

Text Checkpoint are supported all add-in environments

QTP Interview Questions 9

13. What is a Run-Time Data Table? Where can I find and view this table?

In QTP, there is data table used, which is used at runtime.
-In QTP, select the option View->Data table.
-This is basically an excel file, which is stored in the folder of the test created, its name is Default.xls by default.

14. How does Parameterization and Data-Driving relate to each other in QTP?

To data driven we have to parameterize. i.e. we have to make the constant value as parameter, so that in each interaction(cycle) it takes a value that is supplied in run-time data table. Through parameterization only we can drive a transaction (action) with different sets of data. You know running the script with the same set of data several times is not suggested, and it’s also of no use.

15. What is the difference between Call to Action and Copy Action.?

Call to Action: The changes made in Call to Action, will be reflected in the original action (from where the script is called). But where as in Copy Action , the changes made in the script ,will not effect the original script(Action)

16. 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, QTP searches for the run time objects that matches with the test object it learned while recording.

17. Differentiate the two Object Repository Types of QTP.

Object repository is used to store all the objects in the application being tested.
Types of object repository: Per action and shared repository.
In shared repository only one centralized repository for all the tests. where as in per action for each test a separate per action repository is created.

18. What the differences are and best practical application of Object Repository?

Per Action: For Each Action, one Object Repository is created.
Shared: One Object Repository is used by entire application

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

20. Have you ever written a compiled module? If yes tell me about some of the functions that you wrote.

Sample answer (You can tell about modules you worked on. If your answer is Yes then You should expect more questions and should be able to explain those modules in later questions): I Used the functions for Capturing the dynamic data during runtime. Function used for Capturing Desktop, browser and pages.

21. Can you do more than just capture and playback?

Sample answer (Say Yes only if you worked on): 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.

22. How to do the scripting. Are there any inbuilt functions in QTP? What is the difference between them? How to handle script issues?

Yes, there’s an in-built functionality called “Step Generator” in Insert->Step->Step Generator -F7, which will generate the scripts as you enter the appropriate steps.

23. 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]

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

25. I want to open a Notepad window without recording a test and I do not want to use System utility Run command as well. How do I do this?

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

QTP Interview Questions 8

1. What are the features and benefits of Quick Test Pro(QTP)?

1. Key word driven testing
2. Suitable for both client server and web based application
3. VB script as the script language
4. Better error handling mechanism
5. Excellent data driven testing features

2. How to handle the exceptions using recovery scenario manager in QTP?

You can instruct QTP to recover unexpected events or errors that occurred in your testing environment during test run. Recovery scenario manager provides a wizard that guides you through the defining recovery scenario. Recovery scenario has three steps
1. Triggered Events
2. Recovery steps
3. Post Recovery Test-Run

3. What is the use of Text output value in QTP?

Output values enable to view the values that the application talks during run time. When parameterized, the values change for each iteration. Thus by creating output values, we can capture the values that the application takes for each run and output them to the data table.

4. 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) Thru 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 minimized then hold the Ctrl button and activate the required window to and release the Ctrl button.

5. What is the file extension of the code file and object repository file in QTP?
File extension of
Per test object rep: filename.mtr
Shared Object rep: filename.tsr
Code file extension id: script.mts

6. Explain the concept of object repository and how QTP recognizes objects?

Object Repository: displays a tree of all objects in the current component or in the current action or entire test( depending on the object repository mode you selected).
we can view or modify the test object description of any test object in the repository or to add new objects to the repository.
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 on the page or in the source code.

7. What are the properties you would use for identifying a browser and 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”)

8. What are the different scripting languages you could use when working with QTP?

You can write scripts using following languages:
Visual Basic (VB), XML, JavaScript, Java, HTML

9. Tell some commonly used Excel VBA functions.

Common functions are:
Coloring the cell, Auto fit cell, setting navigation from link in one cell to other saving

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

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

12. How to handle dynamic objects in QTP?

QTP has a unique feature called Smart Object Identification/recognition. QTP generally identifies an object by matching its test object and run time object properties. QTP may fail to recognize the dynamic objects whose properties change during run time. Hence it has an option of enabling Smart Identification, wherein it can identify the objects even if their properties changes during run time.

"

QTP Interview Questions 7

"1.How do you test Siebel Application using QTP?
In SWE section you need to add automation enable = True. Under the same time you need to use SWE Cmd = Auto On in the URL.

2. How many types of actions are there in QTP?
QTP supports three types of actions.
1) non re-usable actions
2) re usable actions
3) external actions.

3.How do you data drive an external spreed sheet?
Import from external spreed sheet file by selecting import then from file. Which imports a tabbed text file or a single sheet from an existing Microsoft excel file in to the table. The sheet you import replace all data in a currently selected sheet.

4. I want to open a notepad window without recording a test and I do not want to use system util. run command as well how do I do this?
Another alternative to open a notepad is to use shell object. Check out with the following example.
Dim a
set a = wscript.create object (”wscript.shell”)
a.run “notepad.exe”.

5. how many types of recording modes in QTP? Describe each type with an example
where we use them?
Three types of recording modes in QTP.
1) NORMAL
2) ANALOG MODE
3) LOW LEVEL RECORDING MODE.

6. How can we do the frame work in QTP?
Depending upon the project and client requirements.

7.Testing > QTP which features of QTP would you like improve? How would you go about implementing it?
We are not implementing any concept in QTP.

8.Explain how would you design the driver code for a keyboard based test script?
Test script prepare in QTP.
Keywords prepare in a excel sheet and objects description prepare in a notepad.

9.What is the file extension of shared object repository?
The shared object repository is .tsr extension.

10. How to handle java tree in QTP?
First of all we need to handle a java add- in to handle a java tree. In tools we have the object identification drop down list. There we have the java option to recognize the objects there select the tree option. Add the properties.

11. How to fetch test data from data base by using QTP?
In order to fetch test data from dat base we have to create a Adodb connection object to connect with data base. The syntax is create object (”Adodb.connectin”).

12. What is the procedure to test flash application using QTP?
Using multimedia add- in support.

13. If a error aoccur during the execution of QTP scropt? How can we handle it?
Using recovery scenario manager.

14. How to merge the object repository files?
Using a repository merge tool. It is available with QT Plus Tool.

15. Can we update the data base through QTP?
Yes. We can

"

QTP Interview Questions 6

"1.Object Repository types, which and when to use?
Deciding which object repository mode to choose the default object repository mode and 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 r creating simple recored 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 expert 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 test that test elements of the same application, interface or set of objects.
you expert the object properties in your application to change from time to time and / or you regularly need to up date or modify test object properties.
You often work with multi action tests and regularly use insert copy of action and insert called to action options.

2. Can we script any test case with out having object repository ? or using object repository is a must?
No. You can script with out object repository by knowing the window handlers, spying and recognizing the objects logical names and properties available.

3. How to execute a WR script in QTP?
a)TSL tset.run test, test path, test set.[parameters]–>used in QTP 6.0 for backward compatibility.
Parameters:the test set with in 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 a quality center, this parameter is ignored. Ex . TSL test.run test “D:\Tset1″
B) TSL test.runtestex testpsth,run minimize, close app [parameter] TSL test.runtestex “C:\Win Runner/Tests/Basic_Flight”,True,False,”My Value”.
Close App:indicates whether to close the WR application when the WR tset run ends.
Parameter: up to 15 WR function argument.

4.How to handle time errors?
On Error Resume next:causes execution to continue with the statement immediately following the statement that causes the run time error, or with the statement immediately following tie most recent call out of the procedure containing the on error resumes next statement.
This allows execution to continue despite a run time error. you can then build the error handling routine inline with in the procedure using “Err” object MSG box “error no:” “&Err.no&”.”&Err.description” “&Err.source&Err.help context”.

5.How to change the run time value of property for an object?
Set to property 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.

6. How to retrieve the property of an object?
Using GETRO property.

7. How to open any application during scripting?
Systemutil, object used to open and close applications and processes during a run session. 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. Ex. sytemutil.run “notepad.exe”
systemutil.close descendant processes (closes all the processes open by QTP ).

8.Types of properties that QTP learns while recording?
Mandatory and assistive. In addition to recording the mandatory and assistive properties specified in the object identification dialog box, QTP can also record a backup ordinal identifier for each test object. The ordinal identifier assigns the object in numerical value that indicates it’s order relative to other objects with an otherwise identical description (objects that have the same vales foe all properties specified in the mandatory and assistive property list). This ordered value enable QTP to create a unique description when the mandatory and assistive properties are not sufficient to do so.

9.What is the extension of script and object repository files?
Object repository: .TSR, script: .MTS, Excel: default.ELS

10. How to suppress warning from the test result page?
From the test result viewer “tools > filters > warnings ” must be unchecked.

11.When we try to use test run option run from step, the browser is not launching automatically? Why?
This is default behavior.

12. Does QTP is unicode compatible ?
QTP 6.5 is not but QTP 8.0 is expected to be Unicode compatible by end of Dec 2004.

13.How to turn off QTP results after running a script?
Go to tools > option > run tab and deselect view results when run session ends. But this suppresses only the result window, but a log will be created and can viewed manually which can not be restricted from getting created.

14.How to get font size of a web edit?

15. Is there any way to automatically update the data source name in data base checkpoints object when we migrate test to a new release?

16. How to verify the cursor focus of a certain field?
Use focus property of GETRO property method

17.Any limitation to XML check points ?
Mercury has determined that 1.4mb is the maximum size of XML file that QTP 6.5 can handle.

18. How to make arguments optional in a function?
This is not possible as default VBS does not support this. Instead you can pass a blank scoring and have a default value if arguments are not required.

19. How to convert a sting to an integer?
CInt ()—> a conversion function available.

20. Inserting a call to action is not importing all columns in data table of global sheet. Why?
Inserting a call to action will only import the columns of the action called

"

QTP Interview Questions 5

1. How to add a Run-time parameter data sheet?

Datatable.localsheet
The following example, uses the Local Sheet property to return the Local Sheet of the run time data table in order to add a parameter(column) to it.
My parameter = DataTable. LocalSheet.AddParameter(”Time”, “5.45″)

2. What scripting language is used in QTP?
VB scripting

3. Analyzing the Checkpoint results
Standard Checkpoint : By adding standard checkpoints to your checks or components, you can compare the expected values of objects properties to the object’s current values during the run session, if the results doesn’t match the check point fails.

4. How to create a Run-time property for an object?

5. Table and DataBase(DB) checkpoints
By adding Table checkpoints to your tests or components we can check that a specified value is displayed in a cell in a table on your application. By adding DB checkpoints to your tests or components you can check the contents of database accessed by your application. The Results displayed for table and database checkpoints are similar. When you run tests or components QTP compares the expected results of the checkpoints to the actual results of the run session, if the results do not match the checkpoint fails.
You can check that a specified value is displayed in a cell in a table by adding a table checkpoint to your test or component.
For ActiveX tables, you can also check the properties of the table objects. To add a table checkpoint you use the checkpoint properties of dialog box. Table checkpoints are supports for web and ActiveX applications as well as for variety of External Add-in environments.
You can use Database checkpoints in your tests or components to check databases accessed by your websites or application and to delete defects. You define a query on your database, and then you create a database checkpoint that checks the results of the query. Database checkpoints are supported for all environments supported by QTP by default as well as for variety of external Add-in environments.
There are two ways to define a database query.
a. Use Microsoft Query. you can Install Microsoft Query from the custom installation of Microsoft office.
b. Manually define an Sql statement.
The checkpoints time out option is available only when creating a table checkpoint.
That is not available when creating a database checkpoints.

6. Checking Bitmaps.
You can check an area of a web page or application as bitmap. While creating a test or a components you specify the area you want to check by selecting an object. You can check an entire object or any area with in an object. QTP captures the specified object as bit map 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.
When you run the test or component QTP compares the object or selected area of the object currently displayed of the web page or the application with the bitmap stored when the test or component was recorded. If there are any differences QTP captures bitmap of the actual object and displays it with the expected bitmap in the details portion of the test results window.
By comparing the two bitmaps(Expected and Actual) you can identify the nature of the discrepancy for more information on the test results of a checkpoint, see viewing checkpoint results.
For example, suppose you have a website that can display a map of a city the user specify that map has control keys for zooming.
You can record the new map i.e displayed after one check 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 checkpoint, all supported testing environments (as long as the appropriate add-ins are loaded)

Note: The result of bitmap check point may be effected by factors such as OS, Screen Resolutions and color settings.

7. Text/Text area checkpoint
In the Text/Text area checkpoint propertied dialog box, you can specify the text to be checked as well as which text is displayed before and after the checked text. These configuration options are particularly helpful when the text string you want to check appears several times or when it could change in a predictable way during the run session
Note: In windows based environment. If there is more than one line of text selected, the checkpoint summary pane display (complex value ) instead of the selected text for the checkpoint.
QTP automatically displays the checked text in red and the text before and after the checked text in blue.
For text area checkpoints only the text string captured from the defined area is displayed(Text before and text after are not displayed)
To designate the parts of the captured string as checked text and other parts as text before and text after, click configure button.
The configure text selection dialog box opens.
Checking XML : XML (Extensible Markup language)is a Meta-Markup language for test documents i.e endorsed as a standard by the WC3.XML makes the complex data structure portable between different computer environments or operating systems and programming languages, facilitating the sharing of data.
XML files contain text with simple tags that describe the data within an XML documents these describe the data content, but not the presentation of the data.
Application that display and XML documents or file use either cascading style sheets of the XSL formatting objects(XSL-FO) to present the data.
You can verify the data content of XML files by inserting XML checkpoints. A few common uses of XML checkpoints are described below
An XML file can be a static data file i.e accessed in order to retrieve commonly used data for which a quick response time is needed. For example, country names, zip codes or area codes although this data can be changes over time it is normally quite static.
You can use an XML checkpoint to validate that the data has not changed from one application released to another.
An XML file can consists of elements with attributes and values(character data).
There is parent and child relationship between the elements, and elements can have attributes associated with them. If any part of the structure(including data) changes the applications ability to process the XML file may be effected. Using an XML checkpoint you can check the content of an element to make sure that its, attributes, and values have not changed.
XML files are often an intermediary that retrieves dynamically changing data from 1 system.
The data is then accessed by another system using document type definitions(DTD) enabling the accessing system to read and display the information in the file. You can use an xml checkpoint and parameterize the captured data values in order to check an xml document or file whose data changes in a predictable way.
XML documents and files often needed a well defined structure in order to be portable across platforms and development systems. One way to accomplish elements this is by developing and XML scheme which describes the structure of XML elements and data types. You can use scheme validation to check that each item of content in an xml file adheres to the scheme description of the elements in which the content is to be placed

QTP Interview Questions 4

1. How many ways we can parameterize data in QTP?
There are four types of parameters
1. Test Action or Component Parameters enable you to use values passed from your test or component or values from other actions in your test.
2. Data Table parameters enable you to create a data driven test or an act.
That runs several times using the data you supply.In each repeation or iteration quick test uses a Different value from the data table.
3. Environment variable parameters enable you to use variable values from other sources during the run sessions. these may be values you supply, or values that QTP generates for you based on conditions and options you choose.
4. 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 ticked orders, you can have QTP generate a random number and insert it in a number of tickets edit field.

2. How do you do Batch testing Winrunner and is it possible to do in QTP? If So, Explain?
Batch testing in Winrunner is nothing but running the whole test set by selecting “Run Test Set” from the “Execution Grid”. The same is possible with QTP also. If our test cases are automated then by selecting ” Run test Set” all the test scripts can be executed.
With this process the scripts get executed one by one keeping all the remaining scripts in “Waiting Mode”.

3. If I give some 1000 tests to execute in 2days what do you do?
Adhoc Testing is done. It covers the least basic functionalities to verify that the system is working fine.

4. What does it mean when a checkpoint is in red color? What do you do?
Red color indicates failure. Here we analyze the cause for the failure whether it is a script issue or environmental issue or a application issue.

5. What do you call the Window Testing Director test lab?
“Execution grid” it is placed from where we run all the manual/automated scripts.

6. How do you create new test sets in test director?
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 Control N” Icon to create a test set.

7. How to import data from a “.XLS” file to data table during run time?
Data table .Import “…XLS filename…”
Datatable .Import sheet (FileName, SheetSource, SheetDest)
Datatable>Importsheet “C:\name.Xls”, 1, “name”

8. How to export data present in Database to an “.XLS” file?
Datatable .Export “…xls filename…”

9. How to get traceability matrix from TD?

10. How to import a test case present in “.XLS” file to TD under a test set?

11. How to attach a file to Test director?

12. What do you do to script when objects or removed from application?

13. Syntax for how to call one script from another? and syntax to call one action in another?

Run Action Action Name,[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 rnfinteration. Enter the row range (i.e “1.7″): or enter rngAll to run iterations on all rows.
If the actions called by the RunAction statement includes an ExitAction statement, the Run Action
Statement can return the value of the ExitActions Ret Val arguement.

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

15. What are the Differences between QTP and Winrunner?
QTP is Object based scripting (VB) where as WR is TSL ( C based language) Scripting.
QTP supports “.Net” application automation not available in WR
QTP has “Active Screen” support which captures the application not available in WR.
QTP has “Data Table to store script values, variables which WR does not have.
Using a “point and click” capability you can easily interface with objects, their.
Definitions and create checkpoints after having record script without having.
To navigate back to that location in your application like you have to with WinRunner.
This greatly speeds up script development

QTP Interview Questions 3

1.How does Run Time data ( Parameterization ) is handle in QTP?
You can then enter test data into data table, an integrated spreadsheet with the full functionality or excel, to manipulate test data sets and create multiple test iterations, with out programming, to expand test case coverage. Data can typed in or imported from data bases, spreadsheets or text files.

2. What is keyboard view and expert view in QTP?
Quick tests key board 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 key bored view. Advance testers can view and edit their tests in expert view, which reveals the underlying industry standards vb script that QTP automatically generates. Any changes made in expert view are automatically synchronized with the keyboard view.

3. Explain about the test fusion report of QTP?
Once a tester runs a test, a test fusion report displays all the aspects of the test run a high level results over view, an expandable tree view of the test specifying exactly where application failures occurred, the test data used , applications screen shots per every step that highlight any discrepancies, and detailed explanation of each check point pass and failure, by combining test fusion reports with QTP you can share reports across an entire QA and development team.

4.To which environments does QTP supports?
QTP supports functional testing of all enterprise environments, including Windows, Web, .Net, Java, j2EE, SAP, Sieble, Oracle, Peoplesoft, Visual Basic, ActiveX, Mainframe terminal emulators and Web services.

5.What is QTP?
Quick Test is a graphical interface record-playback automation tool. It is able to work with any web, java or windows client application. Quick Teat enables you to test standard web objects and ActiveX controls. In addition to these environments QTP 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

6.How QTP recognizes Objects in AUT?
Quick Test stores the definitions for applications objects in a file called the Object Repository. As you record your test, Quick Test will add an entry for each item you interact with. Each Object Repository entry will be identified by a logical name ( determined automatically by Quick Test), and will contain a set of properties ( type, name etc ) that uniquely identify each object.
Each line in the Quick Test 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 method ( such as the valve 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.

7.What are the types of Object Repositories in QTP?
Quick Test 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 test.
The object repository per-action mode is the default setting.In this mode, Quick Test 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 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.

8.Explain the Check Points in Qtp?
A checkpoint verifies that expected information is displayed in application while the test is running. You can add eight types of checkpoints to your test for standard web objects using QTP.
1. A page checkpoint checks the characteristics of Application.
2. A text checkpoint checks that a text string is displayed in the appropriate place on a Application.
3.An object checkpoint ( standard) checks the values of an object on a Application.
4.An image checkpoint checks the values of an image on a Application.
5.A table checkpoint checks information with in a table an a Application.
6. An accessibility check point checks the web page per Section 508 compliance
7. An XML checkpoint checks the contents of individual XML data files or XML documents that are part of your web applications.
8. A database checkpoint checks the contents of data bases accessed by you.

9. In how many ways we can add checkpoints to an application using QTP?
We can add check points while recording the application or we add after recording is completed using Active Screen (NOTE: to perform the second one the active screen must be enable while recording).

10. How does QTP identifies the object in the application?
QTP identifies the object in the application by logical name and class. For ex. the Edit box is identified by
Logical Name:PSOPTIONS_TIME20
Class:Web Edit

11.If an application name changes frequently that is while recording it has name “Window1″ and then while running it’s “Window2″, in this case how does QTP handles?
QTP handle those situations by “Regular Expressions”.

12.What is parameterizing tests?
When you test application, you may want to check how it performs the same operations with multiple set of data . For ex: suppose you want to check hoe your application responds to ten separate test of data. You could record ten separate tests, each with it’s own set of data. Alternatively you can create a parameterized test that runs ten times: each time the test run, it uses a different set of data.

13.what is test object model in QTP?
The object model is a large set of obkject types or classess that quick test uses to represent the objects in your applications. Each test object lcass has a list of properties that can uniquely identifiy objects of that class and a set of relevant methods that quick test can record for it .
A test object is an object that quick test creates in the test or component to represent the actual object in your application. Quick Test stores information about the object that will help it identify and checks the object during the run session. A run time object is the actual object in your websites or in the application on which methods are performed during the run session.
When you perform an operation on your application while you recording.

Identifies the quick test test object classes that represents the objects on which you performed the operation and creates the appropriate the test objects.

Reads the current value of the object properties in your application and stores the list of properties and values with the test object.

Choose a unique name for the object generally using the values of one of its prominent properties.

Records the operation that you performed on the object using the appropriate quick test test object method.



For Example, Suppose you click on a Find button with the following HTML source code:



Then quick test identified the objects that you clicks as a web button test object

It creates a web button object with the name find, and records the following properties and values for the find web button:

It also records that you performed a click method on the Web button.

Quick test displays your s step in the keyboard view like this:

Quick Test displays your step in the expert view like this:

Browser(”Mercury Interactive”) . Page(” Mercury Interactive”).Web button(”Find”).Click

14.What is Object Spy in QTP?
Using the object Spy you can view the properties of any object in open application. You can use the object spy pointer to pint to an object. The object spy displays the select object’s hierarchy tree and its properties and values in the properties tab of the object spy dialog box.

15. What is the difference between image check point and bitmap checkpoint?
Image check point enable due to check the properties of web page. You can check an area of a web page or application as a bitmap.
While creating a test of component, you specify the area you want to check by selecting an object you can check an entire object or an any area within an object. Quick Test captures the specified object as a bitmap, and inserts a checkpoint in the test or component.
You can also use to save the selected area of the object with your test or component in order to save disk space for example, suppose you have a website that can display a map of a city the user specify that map has control keys for zooming.
You can record the new map i.e displayed after one check 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 checkpoint, all supported testing environments (as long as the appropriate add-ins are loaded)

Note: The result of bitmap check point may be effected by factors such as OS, Screen Resolutions and color settings

QTP Interview Questions 2

1. How many tabs are available to view your test in a test pane and what are they?
Two. These are tree and expert.

2. What are the three main stages involved in testing with QTP?
Creating test , running tests , analyzing test.

3. Write a function to capture the pop-ups?
Here I am writing steps handle pop-up exceptions.
1) select the recovery scenario manager
2) press the new scenario
3) click next
4) select the pop up exceptions
5) select the pop window which we want to handle (capture) by clicking the spy button.
6) press next
7) select the specified options like key board or mouse operations press next
select the specified options click default or press enter
9) click next and uncheck add another recovery operation
10) click next and select proceed next step
11) click next and give the scenario name and description
12) click next and select add scenario to current test and add scenario to default settings. Click finish after word save that scenario.

4. What is meant by hot keys?
A hot keys or a combination of keys on a computer board when pressed performs a task. The specific task performed by a particular hot key where is by operating system or application. However , there are commonly _ used hot keys.

5. For a triangle (sum of two sides is greater than or equal to third side ), what is the minimal number of test cases required?
Generally, we will calculate the number of test cases that depends on the particular module and its complexity. Minimum number of test = ( number of outputs) multiply (1.6) ( approx calculation)

6. What are the flaws in water fall module and how overcome it?
Science testing comes at last stage , there are huge chances of defect multiplication, defects will be migrated to every stage wastage of human recourses and time delays are also introduced.

7. How does you test the web link which is changing dynamically?
This could be tested through the automated test tools like Rational Robot and Win Runner .

8. What is system testing ? And what are the different types of tests you perform in system testing?
System testing is a type of block box testing means testing the application. After the integration testing, usually will do testing. Functionality, regression and performance test comes under this.

9. How do we know about the build we are going to test? Where do you see this?
In the test plan we are going to have all details about who should test which test in a team which is given by team leader. According to that the entire group will do their testing.

10. What did you do as a team leader?
The roles of a leader,
1) before the project gets started, will conduct one team meeting and discuss briefly about the upcoming project.
2) will distribute the work among the team members and let them know which part of application they are going to test.

11. What test you perform mostly? Regression or Retesting in your testing process?
Retesting is a repeated execution of the test case which results in a fault, with the aim that fault occurred, Regression testing is the renewed testing of already tested program or part of that modification with the aim that the modified had.

12. With out using GUI map editor can we recognize the application in win runner?
With out using GUI map editor, we can recognize the application objects using a descriptive programming

QTP Interview Questions 1

"1.What are the Features & Benefits of Quick Test Professional (QTP)?
Operators stand-alone, or integrated into Mercury Business process Testing and Mercury Quality Center.Introduces next generation “Zero-configuration” Keybord Driven testing technologies in QTP 8.0 -allowing for fast test creation, easier.

2.Differences between QTP 6.5 and QTP 8.2 what are extra features in 8.2?
Multimedia Add-In Is not available In QTP 6.5. parameterization Is the extra Feature In QTP 8.2 compared to QTP 6.5.

3.How to handle the exceptions using recovery scenario manager In QTP?
There are 4 trigger events during which a recovery scenario should be activated. They are A pop up window appears in an opened application during the test run. A property of an object changes its state or value.

4.What is the use If Text output value in QTP?
Output values enable to view the values that the application takes during run time.When parameterized, the values change for each iteration. Thus by creating output values, we can capture the values an object in runtime.

5.How to use Object Spy In QTP 8.0?
To view the Run time objects and Test Objects properties and Methods of an object.

6.What Is the extension of the object repository files In QTP?
Two types of Object repository, they are shared repository (extension.tsr) and Action repository (extension.mtr).

7.Explain the concept of object repository & how to QTP recognizes objects?
With QTP 8.2, the available 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 to recognizes a object using properties.

8.What are the properties you would use for identifying a browse & page when using descriptive programming?
For Browser we will have to use title, html id property to identify the browser and web page.

9.What the scripting language you use when you r working with QTP?
QTP supports VB scripting language.

10.Give me an example where you have used a Common Interface In your QTP?
Common Interface appears In the scenario of front end and backend foreign. If you are using oracle as back end and front end as VB or any language then for better compatibility we will go for an interface of which Common interface will be one among those interfaces.

11.Few basic questions on commonly used Excel VBA Functions?
Common functions are: creatinf a sheets and assigning vales to sheets and coloring the cell Auto fit cell setting navigation form link In one cell to other saving.

12.Explain the keyboard create object with an example?
Create object: creates and returns a reference to an dynamic object.
Ex: Ser Excel Sheet = Create object (”Excel.Sheet”).

13. Explain In brief about the QTP AUTOMATION Object model?
To pre configure test setting before executing the QTP test.

14. How to handle dynamic object In QTP?
User GETRO property will handle the run time objects.

15.Where can I find the runtime date table?
In the result window shows a runtime data table. It includes the table shaped icon that display the run time data table - a table that shows the values used to run a test containing data table parameters or the data table output vales retrieved from a test while application execution time

"

Sunday, April 5, 2009

Software tester (SQA) interview questions

1. The top management was feeling that when there are any changes in the technology being used, development schedules etc, it was a waste of time to update the Test Plan. Instead, they were emphasizing that you should put your time into testing than working on the test plan. Your Project Manager asked for your opinion. You have argued that Test Plan is very important and you need to update your test plan from time to time. It’s not a waste of time and testing activities would be more effective when you have your plan clear. Use some metrics. How you would support your argument to have the test plan consistently updated all the time.
2. The QAI is starting a project to put the CSTE certification online. They will use an automated process for recording candidate information, scheduling candidates for exams, keeping track of results and sending out certificates. Write a brief test plan for this new project.
3. The project had a very high cost of testing. After going in detail, someone found out that the testers are spending their time on software that doesn’t have too many defects. How will you make sure that this is correct?
4. What are the disadvantages of overtesting?
5. What happens to the test plan if the application has a functionality not mentioned in the requirements?
6. You are given two scenarios to test. Scenario 1 has only one terminal for entry and processing whereas scenario 2 has several terminals where the data input can be made. Assuming that the processing work is the same, what would be the specific tests that you would perform in Scenario 2, which you would not carry on Scenario 1?
7. Your customer does not have experience in writing Acceptance Test Plan. How will you do that in coordination with customer? What will be the contents of Acceptance Test Plan?
8. How do you know when to stop testing?
9. What can you do if the requirements are changing continuously?
10. What is the need for Test Planning?
11. What are the various status reports you will generate to Developers and Senior Management?
12. Define and explain any three aspects of code review?
13. Why do you need test planning?
14. Explain 5 risks in an e-commerce project. Identify the personnel that must be involved in the risk analysis of a project and describe their duties. How will you prioritize the risks?
15. What are the various status reports that you need generate for Developers and Senior Management?
16. You have been asked to design a Defect Tracking system. Think about the fields you would specify in the defect tracking system?
17. Write a sample Test Policy?
18. Explain the various types of testing after arranging them in a chronological order?
19. Explain what test tools you will need for client-server testing and why?
20. Explain what test tools you will need for Web app testing and why?
21. Explain pros and cons of testing done development team and testing by an independent team?
22. Differentiate Validation and Verification?
23. Explain Stress, Load and Performance testing?
24. Describe automated capture/playback tools and list their benefits?
25. How can software QA processes be implemented without stifling productivity?
26. How is testing affected by object-oriented designs?
27. What is extreme programming and what does it have to do with testing?
28. Write a test transaction for a scenario where 6.2% of tax deduction for the first $62,000 of income has to be done?
29. What would be the Test Objective for Unit Testing? What are the quality measurements to assure that unit testing is complete?
30. Prepare a checklist for the developers on Unit Testing before the application comes to testing department.
31. Draw a pictorial diagram of a report you would create for developers to determine project status.
32. Draw a pictorial diagram of a report you would create for users and management to determine project status.
33. What 3 tools would you purchase for your company for use in testing? Justify the need?
34. Put the following concepts, put them in order, and provide a brief description of each:
* system testing
* acceptance testing
* unit testing
* integration testing
* benefits realization testing
35. What are two primary goals of testing?
36. If your company is going to conduct a review meeting, who should be on the review committe and why?
37. Write any three attributes which will impact the Testing Process?
38. What activity is done in Acceptance Testing, which is not done in System testing?
39. You are a tester for testing a large system. The system data model is very large with many attributes and there are a lot of inter-dependencies within the fields. What steps would you use to test the system and also what are the effects of the steps you have taken on the test plan?
40. Explain and provide examples for the following black box techniques?
* Boundary Value testing
* Equivalence testing
* Error Guessing
41. What are the product standards for?
* Test Plan
* Test Script and Test Report
42. You are the test manager starting on system testing. The development team says that due to a change in the requirements, they will be able to deliver the system for SQA 5 days past the deadline. You cannot change the resources (work hours, days, or test tools). What steps will you take to be able to finish the testing in time?
43. Your company is about to roll out an e-commerce application. It’s not possible to test the application on all types of browsers on all platforms and operating systems. What steps would you take in the testing environment to reduce the business risks and commercial risks?
44. In your organization, testers are delivering code for system testing without performing unit testing. Give an example of test policy:
* Policy statement
* Methodology
* Measurement
45. Testers in your organization are performing tests on the deliverables even after significant defects have been found. This has resulted in unnecessary testing of little value, because re-testing needs to be done after defects have been rectified. You are going to update the test plan with recommendations on when to halt testing. Wwhat recommendations are you going to make?
46. How do you measure:
* Test Effectiveness
* Test Efficiency
47. You found out the senior testers are making more mistakes then junior testers; you need to communicate this aspect to the senior tester. Also, you don’t want to lose this tester. How should one go about constructive criticism?
48. You are assigned to be the test lead for a new program that will automate take-offs and landings at an airport. How would you write a test strategy for this new program?

Microsoft software development engineer in test (SDET) interview questions

1. How would you deal with changes being made a week or so before the ship date?
2. How would you deal with a bug that no one wants to fix? Both the SDE and his lead have said they won’t fix it.

3. Write a function that counts the number of primes in the range [1-N]. Write the test cases for this function.
4. Given a MAKEFILE (yeah a makefile), design the data structure that a parser would create and then write code that iterates over that data structure
executing commands if needed.
5. Write a function that inserts an integer into a linked list in ascending order. Write the test cases for this function.
6. Test the save dialog in Notepad. (This was the question I enjoyed the most).
7. Write the InStr function. Write the test cases for this function.
8. Write a function that will return the number of days in a month (not using System.DateTime).
9. You have 3 jars. Each jar has a label on it: white, black, or white&black. You have 3 sets of marbles: white, black, and
white&black. One set is stored in one jar. The labels on the jars are guaranteed to be incorrect (i.e. white will not contain white). Which jar would you choose from to give you the best chances of identifying the which set of marbles in is in which jar.
10. Why do you want to work for Microsoft?
11. Write the test cases for a vending machine. (Those were the questions I was asked. I had a lot of discussions about how to handle situations. Such as a tester is focused on one part of an SDK. During triage it was determined that that portion of the SDK was not on the critical path, and the tester was needed elsewhere. But the tester continued to test that portion because it is his baby. How would you get him to stop testing that portion and work on what needs to be worked on? Other situations came up like arranging tests into the different testing buckets (functional, stress, perf, etc.).)

Web tester interview questions

An Indian outfit, specializing in Web application testing, uses this set of questions for incoming testers.

1. Define load, performance and stress testing?
2. What are the goals of a performance testing of a web application?
3. State a generalized process for load test? Or explain how you did it previously.

4. How do you determine user soad for a perf test of a Web application?
5. What do you understand by the terms ‘Response Time’, ‘Pages Per Second’, ‘Transactions Per Secpnd’?
6. How would you determine the performance of a web application by looking at the values of ‘Response Time’ and ‘Pages Per Second’?
7. What will be your approach if a particular script in Load Test fails?
8. Talk about the terms: Soak Perf Test, Resilience Perf Test, Regression Perf Test.
9. Which Server Stats are essentially monitored during a Perf test of a Web Application?
10. What are the major components of Perf Test Report?

LoadRunner 2

1. • Explain the Configuration of your systems? - The configuration of our systems refers to that of the client machines on which we run the Vusers. The configuration of any client machine includes its hardware settings, memory, operating system, software applications, development tools, etc. This system component configuration should match with the overall system configuration that would include the network infrastructure, the web server, the database server, and any other components that go with this larger system so as to achieve the load testing objectives.
2. • How do you identify the performance bottlenecks? - Performance Bottlenecks can be detected by using monitors. These monitors might be application server monitors, web server monitors, database server monitors and network monitors. They help in finding out the troubled area in our scenario which causes increased response time. The measurements made are usually performance response time, throughput, hits/sec, network delay graphs, etc.
3. • If web server, database and Network are all fine where could be the problem? - The problem could be in the system itself or in the application server or in the code written for the application.
4. • How did you find web server related issues? - Using Web resource monitors we can find the performance of web servers. Using these monitors we can analyze throughput on the web server, number of hits per second that
occurred during scenario, the number of http responses per second, the number of downloaded pages per second.
5. • How did you find database related issues? - By running “Database” monitor and help of “Data Resource Graph” we can find database related issues. E.g. You can specify the resource you want to measure on before running the controller and than you can see database related issues
6. • Explain all the web recording options?
7. • What is the difference between Overlay graph and Correlate graph? - Overlay Graph: It overlay the content of two graphs that shares a common x-axis. Left Y-axis on the merged graph show’s the current graph’s value & Right Y-axis show the value of Y-axis of the graph that was merged. Correlate Graph: Plot the Y-axis of two graphs against each other. The active graph’s Y-axis becomes X-axis of merged graph. Y-axis of the graph that was merged becomes merged graph’s Y-axis.
8. • How did you plan the Load? What are the Criteria? - Load test is planned to decide the number of users, what kind of machines we are going to use and from where they are run. It is based on 2 important documents, Task Distribution Diagram and Transaction profile. Task Distribution Diagram gives us the information on number of users for a particular transaction and the time of the load. The peak usage and off-usage are decided from this Diagram. Transaction profile gives us the information about the transactions name and their priority levels with regard to the scenario we are deciding.
9. • What does vuser_init action contain? - Vuser_init action contains procedures to login to a server.
10. • What does vuser_end action contain? - Vuser_end section contains log off procedures.
11. • What is think time? How do you change the threshold? - Think time is the time that a real user waits between actions. Example: When a user receives data from a server, the user may wait several seconds to review the data before responding. This delay is known as the think time. Changing the Threshold: Threshold level is the level below which the recorded think time will be ignored. The default value is five (5) seconds. We can change the think time threshold in the Recording options of the Vugen.
12. • What is the difference between standard log and extended log? - The standard log sends a subset of functions and messages sent during script execution to a log. The subset depends on the Vuser type Extended log sends a detailed script execution messages to the output log. This is mainly used during debugging when we want information about: Parameter substitution. Data returned by the server. Advanced trace.
13. • Explain the following functions: - lr_debug_message - The lr_debug_message function sends a debug message to the output log when the specified message class is set. lr_output_message - The lr_output_message function sends notifications to the Controller Output window and the Vuser log file. lr_error_message - The lr_error_message function sends an error message to the LoadRunner Output window. lrd_stmt - The lrd_stmt function associates a character string (usually a SQL statement) with a cursor. This function sets a SQL statement to be processed. lrd_fetch - The lrd_fetch function fetches the next row from the result set.
14. • Throughput - If the throughput scales upward as time progresses and the number of Vusers increase, this indicates that the bandwidth is sufficient. If the graph were to remain relatively flat as the number of Vusers increased, it would
be reasonable to conclude that the bandwidth is constraining the volume of
data delivered.
15. • Types of Goals in Goal-Oriented Scenario - Load Runner provides you with five different types of goals in a goal oriented scenario:
16. The number of concurrent Vusers
17. The number of hits per second
18. The number of transactions per second
19. The number of pages per minute
20. The transaction response time that you want your scenario
21. • Analysis Scenario (Bottlenecks): In Running Vuser graph correlated with the response time graph you can see that as the number of Vusers increases, the average response time of the check itinerary transaction very gradually increases. In other words, the average response time steadily increases as the load
increases. At 56 Vusers, there is a sudden, sharp increase in the average response
time. We say that the test broke the server. That is the mean time before failure (MTBF). The response time clearly began to degrade when there were more than 56 Vusers running simultaneously.
22. • What is correlation? Explain the difference between automatic correlation and manual correlation? - Correlation is used to obtain data which are unique for each run of the script and which are generated by nested queries. Correlation provides the value to avoid errors arising out of duplicate values and also optimizing the code (to avoid nested queries). Automatic correlation is where we set some rules for correlation. It can be application server specific. Here values are replaced by data which are created by these rules. In manual correlation, the value we want to correlate is scanned and create correlation is used to correlate.
23. • Where do you set automatic correlation options? - Automatic correlation from web point of view, can be set in recording options and correlation tab. Here we can enable correlation for the entire script and choose either issue online messages or offline actions, where we can define rules for that correlation. Automatic correlation for database, can be done using show output window and scan for correlation and picking the correlate query tab and choose which query value we want to correlate. If we know the specific value to be correlated, we just do create correlation for the value and specify how the value to be created.
24. • What is a function to capture dynamic values in the web vuser script? - Web_reg_save_param function saves dynamic data information to a parameter.

LoadRunner

1. • What is load testing? - Load testing is to test that if the application works fine with the loads that result from large number of simultaneous users, transactions and to determine weather it can handle peak usage periods.
2. • What is Performance testing? - Timing for both read and update transactions should be gathered to determine whether system functions are being performed in an acceptable timeframe. This should be done standalone and then in a multi user environment to determine the effect of multiple transactions on the timing of a single transaction.
3. • Did u use LoadRunner? What version? - Yes. Version 7.2.
4. • Explain the Load testing process? -
Step 1: Planning the test. Here, we develop a clearly defined test plan to ensure the test scenarios we develop will accomplish load-testing objectives. Step 2: Creating Vusers. Here, we create Vuser scripts that contain tasks performed by each Vuser, tasks performed by Vusers as a whole, and tasks measured as transactions. Step 3: Creating the scenario. A scenario describes the events that occur during a testing session. It includes a list of machines, scripts, and Vusers that run during the scenario. We create scenarios using LoadRunner Controller. We can create manual scenarios as well as goal-oriented scenarios. In manual scenarios, we define the number of Vusers, the load generator machines, and percentage of Vusers to be assigned to each script. For web tests, we may create a goal-oriented scenario where we define the goal that our test has to achieve. LoadRunner automatically builds a scenario for us. Step 4: Running the scenario.
We emulate load on the server by instructing multiple Vusers to perform tasks simultaneously. Before the testing, we set the scenario configuration and scheduling. We can run the entire scenario, Vuser groups, or individual Vusers. Step 5: Monitoring the scenario.
We monitor scenario execution using the LoadRunner online runtime, transaction, system resource, Web resource, Web server resource, Web application server resource, database server resource, network delay, streaming media resource, firewall server resource, ERP server resource, and Java performance monitors. Step 6: Analyzing test results. During scenario execution, LoadRunner records the performance of the application under different loads. We use LoadRunner’s graphs and reports to analyze the application’s performance.
5. • When do you do load and performance Testing? - We perform load testing once we are done with interface (GUI) testing. Modern system architectures are large and complex. Whereas single user testing primarily on functionality and user interface of a system component, application testing focuses on performance and reliability of an entire system. For example, a typical application-testing scenario might depict 1000 users logging in simultaneously to a system. This gives rise to issues such as what is the response time of the system, does it crash, will it go with different software applications and platforms, can it hold so many hundreds and thousands of users, etc. This is when we set do load and performance testing.
6. • What are the components of LoadRunner? - The components of LoadRunner are The Virtual User Generator, Controller, and the Agent process, LoadRunner Analysis and Monitoring, LoadRunner Books Online.
7. • What Component of LoadRunner would you use to record a Script? - The Virtual User Generator (VuGen) component is used to record a script. It enables you to develop Vuser scripts for a variety of application types and communication protocols.
8. • What Component of LoadRunner would you use to play Back the script in multi user mode? - The Controller component is used to playback the script in multi-user mode. This is done during a scenario run where a vuser script is executed by a number of vusers in a group.
9. • What is a rendezvous point? - You insert rendezvous points into Vuser scripts to emulate heavy user load on the server. Rendezvous points instruct Vusers to wait during test execution for multiple Vusers to arrive at a certain point, in order that they may simultaneously perform a task. For example, to emulate peak load on the bank server, you can insert a rendezvous point instructing 100 Vusers to deposit cash into their accounts at the same time.
10. • What is a scenario? - A scenario defines the events that occur during each testing session. For example, a scenario defines and controls the number of users to emulate, the actions to be performed, and the machines on which the virtual users run their emulations.
11. • Explain the recording mode for web Vuser script? - We use VuGen to develop a Vuser script by recording a user performing typical business processes on a client application. VuGen creates the script by recording the activity between the client and the server. For example, in web based applications, VuGen monitors the client end of the database and traces all the requests sent to, and received from, the database server. We use VuGen to: Monitor the communication between the application and the server; Generate the required function calls; and Insert the generated function calls into a Vuser script.
12. • Why do you create parameters? - Parameters are like script variables. They are used to vary input to the server and to emulate real users. Different sets of data are sent to the server each time the script is run. Better simulate the usage model for more accurate testing from the Controller; one script can emulate many different users on the system.
13. • What is correlation? Explain the difference between automatic correlation and manual correlation? - Correlation is used to obtain data which are unique for each run of the script and which are generated by nested queries. Correlation provides the value to avoid errors arising out of duplicate values and also optimizing the code (to avoid nested queries). Automatic correlation is where we set some rules for correlation. It can be application server specific. Here values are replaced by data which are created by these rules. In manual correlation, the value we want to correlate is scanned and create correlation is used to correlate.
14. • How do you find out where correlation is required? Give few examples from your projects? - Two ways: First we can scan for correlations, and see the list of values which can be correlated. From this we can pick a value to be correlated. Secondly, we can record two scripts and compare them. We can look up the difference file to see for the values which needed to be correlated. In my project, there was a unique id developed for each customer, it was nothing but Insurance Number, it was generated automatically and it was sequential and this value was unique. I had to correlate this value, in order to avoid errors while running my script. I did using scan for correlation.
15. • Where do you set automatic correlation options? - Automatic correlation from web point of view can be set in recording options and correlation tab. Here we can enable correlation for the entire script and choose either issue online messages or offline actions, where we can define rules for that correlation. Automatic correlation for database can be done using show output window and scan for correlation and picking the correlate query tab and choose which query value we want to correlate. If we know the specific value to be correlated, we just do create correlation for the value and specify how the value to be created.
16. • What is a function to capture dynamic values in the web Vuser script? - Web_reg_save_param function saves dynamic data information to a parameter.
17. • When do you disable log in Virtual User Generator, When do you choose standard and extended logs? - Once we debug our script and verify that it is functional, we can enable logging for errors only. When we add a script to a scenario, logging is automatically disabled. Standard Log Option: When you select
Standard log, it creates a standard log of functions and messages sent during script execution to use for debugging. Disable this option for large load testing scenarios. When you copy a script to a scenario, logging is automatically disabled Extended Log Option: Select
extended log to create an extended log, including warnings and other messages. Disable this option for large load testing scenarios. When you copy a script to a scenario, logging is automatically disabled. We can specify which additional information should be added to the extended log using the Extended log options.
18. • How do you debug a LoadRunner script? - VuGen contains two options to help debug Vuser scripts-the Run Step by Step command and breakpoints. The Debug settings in the Options dialog box allow us to determine the extent of the trace to be performed during scenario execution. The debug information is written to the Output window. We can manually set the message class within your script using the lr_set_debug_message function. This is useful if we want to receive debug information about a small section of the script only.
19. • How do you write user defined functions in LR? Give me few functions you wrote in your previous project? - Before we create the User Defined functions we need to create the external
library (DLL) with the function. We add this library to VuGen bin directory. Once the library is added then we assign user defined function as a parameter. The function should have the following format: __declspec (dllexport) char* (char*, char*)Examples of user defined functions are as follows:GetVersion, GetCurrentTime, GetPltform are some of the user defined functions used in my earlier project.
20. • What are the changes you can make in run-time settings? - The Run Time Settings that we make are: a) Pacing - It has iteration count. b) Log - Under this we have Disable Logging Standard Log and c) Extended Think Time - In think time we have two options like Ignore think time and Replay think time. d) General - Under general tab we can set the vusers as process or as multithreading and whether each step as a transaction.
21. • Where do you set Iteration for Vuser testing? - We set Iterations in the Run Time Settings of the VuGen. The navigation for this is Run time settings, Pacing tab, set number of iterations.
22. • How do you perform functional testing under load? - Functionality under load can be tested by running several Vusers concurrently. By increasing the amount of Vusers, we can determine how much load the server can sustain.
23. • What is Ramp up? How do you set this? - This option is used to gradually increase the amount of Vusers/load on the server. An initial value is set and a value to wait between intervals can be
specified. To set Ramp Up, go to ‘Scenario Scheduling Options’
24. • What is the advantage of running the Vuser as thread? - VuGen provides the facility to use multithreading. This enables more Vusers to be run per
generator. If the Vuser is run as a process, the same driver program is loaded into memory for each Vuser, thus taking up a large amount of memory. This limits the number of Vusers that can be run on a single
generator. If the Vuser is run as a thread, only one instance of the driver program is loaded into memory for the given number of
Vusers (say 100). Each thread shares the memory of the parent driver program, thus enabling more Vusers to be run per generator.
25. • If you want to stop the execution of your script on error, how do you do that? - The lr_abort function aborts the execution of a Vuser script. It instructs the Vuser to stop executing the Actions section, execute the vuser_end section and end the execution. This function is useful when you need to manually abort a script execution as a result of a specific error condition. When you end a script using this function, the Vuser is assigned the status "Stopped". For this to take effect, we have to first uncheck the “Continue on error” option in Run-Time Settings.
26. • What is the relation between Response Time and Throughput? - The Throughput graph shows the amount of data in bytes that the Vusers received from the server in a second. When we compare this with the transaction response time, we will notice that as throughput decreased, the response time also decreased. Similarly, the peak throughput and highest response time would occur approximately at the same time.

SQA and testing frequently asked definitions

Black box testing
not based on any knowledge of internal design or code. Tests are based on requirements and functionality.

White box testing
based on knowledge of the internal logic of an application’s code. Tests are based on coverage of code statements, branches, paths, conditions.

Unit testing
the most ‘micro’ scale of testing; to test particular functions or code modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. Not always easily done unless the application has a well-designed architecture with tight code; may require developing test driver modules or test harnesses.

Incremental integration testing
continuous testing of an application as new functionality is added; requires that various aspects of an application’s functionality be independent enough to work separately before all parts of the program are completed, or that test drivers be developed as needed; done by programmers or by testers.

Integration testing
testing of combined parts of an application to determine if they function together correctly. The ‘parts’ can be code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems.

Functional testing
black-box type testing geared to functional requirements of an application; this type of testing should be done by testers. This doesn’t mean that the programmers shouldn’t check that their code works before releasing it (which of course applies to any stage of testing.)

System testing
black box type testing that is based on overall requirement specifications; covers all combined parts of a system.

End-to-end testing
similar to system testing; the ‘macro’ end of the test scale; involves testing of a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.

Sanity testing
typically an initial testing effort to determine if a new software version is performing well enough to accept it for a major testing effort. For example, if the new software is crashing systems every 5 minutes, bogging down systems to a crawl, or destroying databases, the software may not be in a ’sane’ enough condition to warrant further testing in its current state.

Regression testing
re-testing after fixes or modifications of the software or its environment. It can be difficult to determine how much re-testing is needed, especially near the end of the development cycle. Automated testing tools can be especially useful for this type of testing.

Acceptance testing
final testing based on specifications of the end-user or customer, or based on use by end-users/customers over some limited period of time.

Load testing
testing an application under heavy loads, such as testing of a web site under a range of loads to determine at what point the systems response time degrades or fails.

Stress testing
term often used interchangeably with ‘load’ and ‘performance’ testing. Also used to describe such tests as system functional testing while under unusually heavy loads, heavy repetition of certain actions or inputs, input of large numerical values, large complex queries to a database system, etc.

Performance testing
term often used interchangeably with ’stress’ and ‘load’ testing. Ideally ‘performance’ testing (and any other ‘type’ of testing) is defined in requirements documentation or QA or Test Plans.

Usability testing
testing for ‘user-friendliness’. Clearly this is subjective, and will depend on the targeted end-user or customer. User interviews, surveys, video recording of user sessions, and other techniques can be used. Programmers and testers are usually not appropriate as usability testers.

Install/uninstall testing
testing of full, partial, or upgrade install/uninstall processes.

Recovery testing
testing how well a system recovers from crashes, hardware failures, or other catastrophic problems.

Security testing
testing how well the system protects against unauthorized internal or external access, willful damage, etc; may require sophisticated testing techniques.
Compatibility testing
testing how well software performs in a particular hardware/software/operating system/network/etc. environment.

Exploratory testing
often taken to mean a creative, informal software test that is not based on formal test plans or test cases; testers may be learning the software as they test it.

Ad-hoc testing
similar to exploratory testing, but often taken to mean that the testers have significant understanding of the software before testing it.

User acceptance testing
determining if software is satisfactory to an end-user or customer.

Comparison testing
comparing software weaknesses and strengths to competing products.

Alpha testing
testing of an application when development is nearing completion; minor design changes may still be made as a result of such testing. Typically done by end-users or others, not by programmers or testers.

Beta testing
testing when development and testing are essentially completed and final bugs and problems need to be found before final release. Typically done by end-users or others, not by programmers or testers.

Mutation testing
a method for determining if a set of test data or test cases is useful, by deliberately introducing various code changes (’bugs’) and retesting with the original test data/cases to determine if the ‘bugs’ are detected. Proper implementation requires large computational resources.

My Ad

.