Custom Search

Monday, June 8, 2009

Winrunner FAQs - I

1) How you used WinRunner in your project?
a. Yes, I have been WinRunner for creating automates scripts for GUI, functional and regression testing of the AUT.

2) Explain WinRunner testing process?
a. WinRunner testing process involves six main stages
i. Create GUI Map File so that WinRunner can recognize the GUI objects in the application being tested
ii. Create test scripts by recording, programming, or a combination of both. While recording tests, insert checkpoints where you want to check the response of the application being tested.
iii. Debug Test: run tests in Debug mode to make sure they run smoothly
iv. Run Tests: run tests in Verify mode to test your application.
v. View Results: determines the success or failure of the tests.
vi. Report Defects: If a test run fails due to a defect in the application being tested, you can report information about the defect directly from the Test Results window.

3) What in contained in the GUI map?
a. WinRunner stores information it learns about a window or object in a GUI Map. When WinRunner runs a test, it uses the GUI map to locate objects. It reads an object’s description in the GUI map and then looks for an object with the same properties in the application being tested. Each of these objects in the GUI Map file will be having a logical name and a physical description.
b. There are 2 types of GUI Map files.
i. Global GUI Map file: a single GUI Map file for the entire application
ii. GUI Map File per Test: WinRunner automatically creates a GUI Map file for each test created.

4) How does WinRunner recognize objects on the application?
a. WinRunner uses the GUI Map file to recognize objects on the application. When WinRunner runs a test, it uses the GUI map to locate objects. It reads an object’s description in the GUI map and then looks for an object with the same properties in the application being tested.

5) Have you created test scripts and what is contained in the test scripts?
a. Yes I have created test scripts. It contains the statement in Mercury Interactive’s Test Script Language (TSL). These statements appear as a test script in a test window. You can then enhance your recorded test script, either by typing in additional TSL functions and programming elements or by using Win Runner’s visual programming tool, the Function Generator.

6) How does Win Runner evaluates test results?
a. Following each test run, WinRunner displays the results in a report. The report details all the major events that occurred during the run, such as checkpoints, error messages, system messages, or user messages. If mismatches are detected at checkpoints during the test run, you can view the expected results and the actual results from the Test Results window.

7) Have you performed debugging of the scripts?
a. Yes, I have performed debugging of scripts. We can debug the script by executing the script in the debug mode. We can also debug script using the Step, Step Into, Step out functionalities provided by the WinRunner.

8) How do you run your test scripts?
a. We run tests in Verify mode to test your application. Each time WinRunner encounters a checkpoint in the test script, it compares the current data of the application being tested to the expected data captured earlier. If any mismatches
b. are found, WinRunner captures them as actual results.

9) How do you analyze results and report the defects?
a. Following each test run, WinRunner displays the results in a report. The report details all the major events that occurred during the run, such as checkpoints, error messages, system messages, or user messages. If mismatches are detected at checkpoints during the test run, you can view the expected results and the actual results from the Test Results window. If a test run fails due to a defect in the application being tested, you can report information about the defect directly from the Test Results window. This information is sent via e-mail to the quality assurance manager, who tracks the defect until it is fixed.

10) What is the use of Test Director software?
a. Test Director is Mercury Interactive’s software test management tool. It helps quality assurance personnel plan and organize the testing process. With Test Director you can create a database of manual and automated tests, build test cycles, run tests, and report and track defects. You can also create reports and graphs to help review the progress of planning tests, running tests, and tracking defects before a software release.

11) How you integrated your automated scripts from Test Director?
a. When you work with WinRunner, you can choose to save your tests directly to your Test Director database or while creating a test case in the Test Director we can specify whether the script in automated or manual. And if it is automated script then Test Director will build a skeleton for the script that can be later modified into one which could be used to test the AUT.

12) What are the different modes of recording?
a. There are two type of recording in WinRunner.
i. Context Sensitive recording records the operations you perform on your application by identifying Graphical User Interface (GUI) objects.
ii. Analog recording records keyboard input, mouse clicks, and the precise x- and y-coordinates traveled by the mouse pointer across the screen.

13) What is the purpose of loading WinRunner Add-Ins?
a. Add-Ins are used in WinRunner to load functions specific to the particular add-in to the memory. While creating a script only those functions in the add-in selected will be listed in the function generator and while executing the script only those functions in the loaded add-in will be executed else WinRunner will give an error message saying it does not recognize the function.

14) What are the reasons that WinRunner fails to identify an object on the GUI?
a. WinRunner fails to identify an object in a GUI due to various reasons.
i. The object is not a standard windows object.
ii. If the browser used is not compatible with the WinRunner version, GUI Map Editor will not be able to learn any of the objects displayed in the browser window.

15) What do you mean by the logical name of the object.
a. An object’s logical name is determined by its class. In most cases, the logical name is the label that appears on an object.

16) If the object does not have a name then what will be the logical name?
a. If the object does not have a name then the logical name could be the attached text.

17) What is the different between GUI map and GUI map files?
a. The GUI map is actually the sum of one or more GUI map files. There are two modes for organizing GUI map files.
i. Global GUI Map file: a single GUI Map file for the entire application
ii. GUI Map File per Test: WinRunner automatically creates a GUI Map file for each test created.
b. GUI Map file is a file which contains the windows and the objects learned by the WinRunner with its logical name and their physical description.

18) How do you view the contents of the GUI map?
a. GUI Map editor displays the content of a GUI Map. We can invoke GUI Map Editor from the Tools Menu in WinRunner. The GUI Map Editor displays the various GUI Map files created and the windows and objects learned in to them with their logical name and physical description.

19) When you create GUI map do you record all the objects of specific objects?
a. If we are learning a window then WinRunner automatically learns all the objects in the window else we will we identifying those object, which are to be learned in a window, since we will be working with only those objects while creating scripts.

20) What is the purpose of set_window command?
a. Set_Window command sets the focus to the specified window. We use this command to set the focus to the required window before executing tests on a particular window.

Syntax: set_window (logical name, time);
The logical name is the logical name of the window and time is the time the execution has to wait till it gets the given window into focus.

21) How do you load GUI map?
a. We can load a GUI Map by using the GUI_load command.

Syntax: GUI_load();

22) What is the disadvantage of loading the GUI maps through start up scripts?
a. If we are using a single GUI Map file for the entire AUT then the memory used by the GUI Map may be much high.
b. If there is any change in the object being learned then WinRunner will not be able to recognize the object, as it is not in the GUI Map file loaded in the memory. So we will have to learn the object again and update the GUI File and reload it.

23) How do you unload the GUI map?
a. We can use GUI_close to unload a specific GUI Map file or else we call use GUI_close_all command to unload all the GUI Map files loaded in the memory.

Syntax: GUI_close(); or GUI_close_all;

24) What actually happens when you load GUI map?
a. When we load a GUI Map file, the information about the windows and the objects with their logical names and physical description are loaded into memory. So when the WinRunner executes a script on a particular window, it can identify the objects using this information loaded in the memory.


25) What is the purpose of the temp GUI map file?
a. While recording a script, WinRunner learns objects and windows by itself. This is actually stored into the temporary GUI Map file. We can specify whether we have to load this temporary GUI Map file should be loaded each time in the General Options.

26) What is the extension of gui map file?
a. The extension for a GUI Map file is “.gui”.

27) How do you find an object in an GUI map.
a. The GUI Map Editor is been provided with a Find and Show Buttons.
i. To find a particular object in the GUI Map file in the application, select the object and click the Show window. This blinks the selected object.
ii. To find a particular object in a GUI Map file click the Find button, which gives the option to select the object. When the object is selected, if the object has been learned to the GUI Map file it will be focused in the GUI Map file.

28) What different actions are performed by find and show button?
a. To find a particular object in the GUI Map file in the application, select the object and click the Show window. This blinks the selected object.
b. To find a particular object in a GUI Map file click the Find button, which gives the option to select the object. When the object is selected, if the object has been learned to the GUI Map file it will be focused in the GUI Map file.

29) How do you identify which files are loaded in the GUI map?
a. The GUI Map Editor has a drop down “GUI File” displaying all the GUI Map files loaded into the memory.

30) How do you modify the logical name or the physical description of the objects in GUI map?
a. You can modify the logical name or the physical description of an object in a GUI map file using the GUI Map Editor.

31) When do you feel you need to modify the logical name?
a. Changing the logical name of an object is useful when the assigned logical name is not sufficiently descriptive or is too long.

32) When it is appropriate to change physical description?
a. Changing the physical description is necessary when the property value of an object changes.

33) How WinRunner handles varying window labels?
a. We can handle varying window labels using regular expressions. WinRunner uses two “hidden” properties in order to use regular expression in an object’s physical description. These properties are regexp_label and regexp_MSW_class.
i. The regexp_label property is used for windows only. It operates “behind the scenes” to insert a regular expression into a window’s label description.
ii. The regexp_MSW_class property inserts a regular expression into an object’s MSW_class. It is obligatory for all types of windows and for the object class object.

34) What is the purpose of regexp_label property and regexp_MSW_class property?
a. The regexp_label property is used for windows only. It operates “behind the scenes” to insert a regular expression into a window’s label description.
b. The regexp_MSW_class property inserts a regular expression into an object’s MSW_class. It is obligatory for all types of windows and for the object class object.

35) How do you suppress a regular expression?
a. We can suppress the regular expression of a window by replacing the regexp_label property with label property.

36) How do you copy and move objects between different GUI map files?
a. We can copy and move objects between different GUI Map files using the GUI Map Editor. The steps to be followed are:
i. Choose Tools > GUI Map Editor to open the GUI Map Editor.
ii. Choose View > GUI Files.
iii. Click Expand in the GUI Map Editor. The dialog box expands to display two GUI map files simultaneously.
iv. View a different GUI map file on each side of the dialog box by clicking the file names in the GUI File lists.
v. In one file, select the objects you want to copy or move. Use the Shift key and/or Control key to select multiple objects. To select all objects in a GUI map file, choose Edit > Select All.
vi. Click Copy or Move.
vii. To restore the GUI Map Editor to its original size, click Collapse.

37) How do you select multiple objects during merging the files?
a. Use the Shift key and/or Control key to select multiple objects. To select all objects in a GUI map file, choose Edit > Select All.

38) How do you clear a GUI map files?
a. We can clear a GUI Map file using the “Clear All” option in the GUI Map Editor.
39) How do you filter the objects in the GUI map?
a. GUI Map Editor has a Filter option. This provides for filtering with 3 different types of options.
i. Logical name displays only objects with the specified logical name.
ii. Physical description displays only objects matching the specified physical description. Use any substring belonging to the physical description.
iii. Class displays only objects of the specified class, such as all the push buttons.

40) How do you configure GUI map?
a. When WinRunner learns the description of a GUI object, it does not learn all its properties. Instead, it learns the minimum number of properties to provide a unique identification of the object.
b. Many applications also contain custom GUI objects. A custom object is any object not belonging to one of the standard classes used by WinRunner. These objects are therefore assigned to the generic “object” class. When WinRunner records an operation on a custom object, it generates obj_mouse_ statements in the test script.
c. If a custom object is similar to a standard object, you can map it to one of the standard classes. You can also configure the properties WinRunner uses to identify a custom object during Context Sensitive testing. The mapping and the configuration you set are valid only for the current WinRunner session. To make the mapping and the configuration permanent, you must add configuration statements to your startup test script.

41) What is the purpose of GUI map configuration?
a. GUI Map configuration is used to map a custom object to a standard object.

42) How do you make the configuration and mappings permanent?
a. The mapping and the configuration you set are valid only for the current WinRunner session. To make the mapping and the configuration permanent, you must add configuration statements to your startup test script.

43) What is the purpose of GUI spy?
a. Using the GUI Spy, you can view the properties of any GUI object on your desktop. You use the Spy pointer to point to an object, and the GUI Spy displays the properties and their values in the GUI Spy dialog box. You can choose to view all the properties of an object, or only the selected set of properties that WinRunner learns.


44) What is the purpose of obligatory and optional properties of the objects?
a. For each class, WinRunner learns a set of default properties. Each default property is classified “obligatory” or “optional”.
i. An obligatory property is always learned (if it exists).
ii. An optional property is used only if the obligatory properties do not provide unique identification of an object. These optional properties are stored in a list. WinRunner selects the minimum number of properties from this list that are necessary to identify the object. It begins with the first property in the list, and continues, if necessary, to add properties to the description until it obtains unique identification for the object.

45) When the optional properties are learned?
a. An optional property is used only if the obligatory properties do not provide unique identification of an object.

46) What is the purpose of location indicator and index indicator in GUI map configuration?
a. In cases where the obligatory and optional properties do not uniquely identify an object, WinRunner uses a selector to differentiate between them. Two types of selectors are available:
i. A location selector uses the spatial position of objects.
1. The location selector uses the spatial order of objects within the window, from the top left to the bottom right corners, to differentiate among objects with the same description.
ii. An index selector uses a unique number to identify the object in a window.
1. The index selector uses numbers assigned at the time of creation of objects to identify the object in a window. Use this selector if the location of objects with the same description may change within a window.

47) How do you handle custom objects?
a. A custom object is any GUI object not belonging to one of the standard classes used by WinRunner. WinRunner learns such objects under the generic “object” class. WinRunner records operations on custom objects using obj_mouse_ statements.
b. If a custom object is similar to a standard object, you can map it to one of the standard classes. You can also configure the properties WinRunner uses to identify a custom object during Context Sensitive testing.

48) What is the name of custom class in WinRunner and what methods it applies on the custom objects?
a. WinRunner learns custom class objects under the generic “object” class. WinRunner records operations on custom objects using obj_ statements.
49) In a situation when obligatory and optional both the properties cannot uniquely identify an object what method WinRunner applies?
a. In cases where the obligatory and optional properties do not uniquely identify an object, WinRunner uses a selector to differentiate between them. Two types of selectors are available:
i. A location selector uses the spatial position of objects.
ii. An index selector uses a unique number to identify the object in a window.

50) What is the purpose of different record methods 1) Record 2) Pass up 3) As Object 4) Ignore.
a. Record instructs WinRunner to record all operations performed on a GUI object. This is the default record method for all classes. (The only exception is the static class (static text), for which the default is Pass Up.)
b. Pass Up instructs WinRunner to record an operation performed on this class as an operation performed on the element containing the object. Usually this element is a window, and the operation is recorded as win_mouse_click.
c. As Object instructs WinRunner to record all operations performed on a GUI object as though its class were “object” class.
d. Ignore instructs WinRunner to disregard all operations performed on the class.

51) How do you find out which is the start up file in WinRunner?
a. The test script name in the Startup Test box in the Environment tab in the General Options dialog box is the start up file in WinRunner.

52) What are the virtual objects and how do you learn them?
a. Applications may contain bitmaps that look and behave like GUI objects. WinRunner records operations on these bitmaps using win_mouse_click statements. By defining a bitmap as a virtual object, you can instruct WinRunner to treat it like a GUI object such as a push button, when you record and run tests.
b. Using the Virtual Object wizard, you can assign a bitmap to a standard object class, define the coordinates of that object, and assign it a logical name.
To define a virtual object using the Virtual Object wizard:
i. Choose Tools > Virtual Object Wizard. The Virtual Object wizard opens. Click Next.
ii. In the Class list, select a class for the new virtual object. If rows that are displayed in the window. For a table class, select the number of visible rows and columns. Click Next.
iii. Click Mark Object. Use the crosshairs pointer to select the area of the virtual object. You can use the arrow keys to make precise adjustments to the area you define with the crosshairs. Press Enter or click the right mouse button to display the virtual object’s coordinates in the wizard. If the object marked is visible on the screen, you can click the Highlight button to view it. Click Next.
iv. Assign a logical name to the virtual object. This is the name that appears in the test script when you record on the virtual object. If the object contains text that WinRunner can read, the wizard suggests using this text for the logical name. Otherwise, WinRunner suggests virtual_object, virtual_push_button, virtual_list, etc.
v. You can accept the wizard’s suggestion or type in a different name. WinRunner checks that there are no other objects in the GUI map with the same name before confirming your choice. Click Next.

53) How you created you test scripts 1) by recording or 2) programming?
a. Programming. I have done complete programming only, absolutely no recording.
54) What are the two modes of recording?
a. There are 2 modes of recording in WinRunner
i. Context Sensitive recording records the operations you perform on your application by identifying Graphical User Interface (GUI) objects.
ii. Analog recording records keyboard input, mouse clicks, and the precise x- and y-coordinates traveled by the mouse pointer across the screen.

55) What is a checkpoint and what are different types of checkpoints?
a. Checkpoints allow you to compare the current behavior of the application being tested to its behavior in an earlier version.

You can add four types of checkpoints to your test scripts:

i. GUI checkpoints verify information about GUI objects. For example, you can check that a button is enabled or see which item is selected in a list.
ii. Bitmap checkpoints take a “snapshot” of a window or area of your application and compare this to an image captured in an earlier version.
iii. Text checkpoints read text in GUI objects and in bitmaps and enable you to verify their contents.
iv. Database checkpoints check the contents and the number of rows and columns of a result set, which is based on a query you create on your database.

56) What are data driven tests?
a. When you test your application, you may want to check how it performs the same operations with multiple sets of data. You can create a data-driven test with a loop that runs ten times: each time the loop runs, it is driven by a different set of data. In order for WinRunner to use data to drive the test, you must link the data to the test script which it drives. This is called parameterizing your test. The data is stored in a data table. You can perform these operations manually, or you can use the DataDriver Wizard to parameterize your test and store the data in a data table.

57) What are the synchronization points?
a. Synchronization points enable you to solve anticipated timing problems between the test and your application. For example, if you create a test that opens a database application, you can add a synchronization point that causes the test to wait until the database records are loaded on the screen.
b. For Analog testing, you can also use a synchronization point to ensure that WinRunner repositions a window at a specific location. When you run a test, the mouse cursor travels along exact coordinates. Repositioning the window enables the mouse pointer to make contact with the correct elements in the window.

58) What is parameterizing?
a. In order for WinRunner to use data to drive the test, you must link the data to the test script which it drives. This is called parameterizing your test. The data is stored in a data table.

59) How do you maintain the document information of the test scripts?
a. Before creating a test, you can document information about the test in the General and Description tabs of the Test Properties dialog box. You can enter the name of the test author, the type of functionality tested, a detailed description of the test, and a reference to the relevant functional specifications document.
60) What do you verify with the GUI checkpoint for single property and what command it generates, explain syntax?
a. You can check a single property of a GUI object. For example, you can check whether a button is enabled or disabled or whether an item in a list is selected. To create a GUI checkpoint for a property value, use the Check Property dialog box to add one of the following functions to the test script:
i. button_check_info
ii. scroll_check_info
iii. edit_check_info
iv. static_check_info
v. list_check_info
vi. win_check_info
vii. obj_check_info

Syntax: button_check_info (button, property, property_value );
edit_check_info ( edit, property, property_value );


61) What do you verify with the GUI checkpoint for object/window and what command it generates, explain syntax?
a. You can create a GUI checkpoint to check a single object in the application being tested. You can either check the object with its default properties or you can specify which properties to check.
b. Creating a GUI Checkpoint using the Default Checks
i. You can create a GUI checkpoint that performs a default check on the property recommended by WinRunner. For example, if you create a GUI checkpoint that checks a push button, the default check verifies that the push button is enabled.
ii. To create a GUI checkpoint using default checks:
1. Choose Create > GUI Checkpoint > For Object/Window, or click the GUI Checkpoint for Object/Window button on the User toolbar. If you are recording in Analog mode, press the CHECK GUI FOR OBJECT/WINDOW softkey in order to avoid extraneous mouse movements. Note that you can press the CHECK GUI FOR OBJECT/WINDOW softkey in Context Sensitive mode as well. The WinRunner window is minimized, the mouse pointer becomes a pointing hand, and a help window opens on the screen.
2. Click an object.
3. WinRunner captures the current value of the property of the GUI object being checked and stores it in the test’s expected results folder. The WinRunner window is restored and a GUI checkpoint is inserted in the test script as an obj_check_gui statement

Syntax: win_check_gui ( window, checklist, expected_results_file, time );

c. Creating a GUI Checkpoint by Specifying which Properties to Check
d. You can specify which properties to check for an object. For example, if you create a checkpoint that checks a push button, you can choose to verify that it is in focus, instead of enabled.

e. To create a GUI checkpoint by specifying which properties to check:

i. Choose Create > GUI Checkpoint > For Object/Window, or click the GUI Checkpoint for Object/Window button on the User toolbar. If you are recording in Analog mode, press the CHECK GUI FOR OBJECT/WINDOW softkey in order to avoid extraneous mouse movements. Note that you can press the CHECK GUI FOR OBJECT/WINDOW softkey in Context Sensitive mode as well. The WinRunner window is minimized, the mouse pointer becomes a pointing hand, and a help window opens on the screen.
ii. Double-click the object or window. The Check GUI dialog box opens.
iii. Click an object name in the Objects pane. The Properties pane lists all the properties for the selected object.
iv. Select the properties you want to check.
1. To edit the expected value of a property, first select it. Next, either click the Edit Expected Value button, or double-click the value in the Expected Value column to edit it.
2. To add a check in which you specify arguments, first select the property for which you want to specify arguments. Next, either click the Specify Arguments button, or double-click in the Arguments column. Note that if an ellipsis (three dots) appears in the Arguments column, then you must specify arguments for a check on this property. (You do not need to specify arguments if a default argument is specified.) When checking standard objects, you only specify arguments for certain properties of edit and static text objects. You also specify arguments for checks on certain properties of nonstandard objects.
3. To change the viewing options for the properties of an object, use the Show Properties buttons.
4. Click OK to close the Check GUI dialog box. WinRunner captures the GUI information and stores it in the test’s expected results folder. The WinRunner window is restored and a GUI checkpoint is inserted in the test script as an obj_check_gui or a win_check_gui statement.

Syntax: win_check_gui ( window, checklist, expected_results_file, time );
obj_check_gui ( object, checklist, expected results file, time );


62) What do you verify with the GUI checkpoint for multiple objects and what command it generates, explain syntax?
a. To create a GUI checkpoint for two or more objects:
i. Choose Create > GUI Checkpoint > For Multiple Objects or click the GUI Checkpoint for Multiple Objects button on the User toolbar. If you are recording in Analog mode, press the CHECK GUI FOR MULTIPLE OBJECTS softkey in order to avoid extraneous mouse movements. The Create GUI Checkpoint dialog box opens.
ii. Click the Add button. The mouse pointer becomes a pointing hand and a help window opens.
iii. To add an object, click it once. If you click a window title bar or menu bar, a help window prompts you to check all the objects in the window.
iv. The pointing hand remains active. You can continue to choose objects by repeating step 3 above for each object you want to check.
v. Click the right mouse button to stop the selection process and to restore the mouse pointer to its original shape. The Create GUI Checkpoint dialog box reopens.
vi. The Objects pane contains the name of the window and objects included in the GUI checkpoint. To specify which objects to check, click an object name in the Objects pane. The Properties pane lists all the properties of the object. The default properties are selected.
1. To edit the expected value of a property, first select it. Next, either click the Edit Expected Value button, or double-click the value in the Expected Value column to edit it.
2. To add a check in which you specify arguments, first select the property for which you want to specify arguments. Next, either click the Specify Arguments button, or double-click in the Arguments column. Note that if an ellipsis appears in the Arguments column, then you must specify arguments for a check on this property. (You do not need to specify arguments if a default argument is specified.) When checking standard objects, you only specify arguments for certain properties of edit and static text objects. You also specify arguments for checks on certain properties of nonstandard objects.
3. To change the viewing options for the properties of an object, use the Show Properties buttons.
vii. To save the checklist and close the Create GUI Checkpoint dialog box, click OK. WinRunner captures the current property values of the selected GUI objects and stores it in the expected results folder. A win_check_gui statement is inserted in the test script.

Syntax: win_check_gui ( window, checklist, expected_results_file, time );
obj_check_gui ( object, checklist, expected results file, time );

63) What information is contained in the checklist file and in which file expected results are stored?
a. The checklist file contains information about the objects and the properties of the object we are verifying.
b. The gui*.chk file contains the expected results which is stored in the exp folder
64) What do you verify with the bitmap check point for object/window and what command it generates, explain syntax?
a. You can check an object, a window, or an area of a screen in your application as a bitmap. While creating a test, you indicate what you want to check. WinRunner captures the specified bitmap, stores it in the expected results folder (exp) of the test, and inserts a checkpoint in the test script. When you run the test, WinRunner compares the bitmap currently displayed in the application being tested with the expected bitmap stored earlier. In the event of a mismatch, WinRunner captures the current actual bitmap and generates a difference bitmap. By comparing the three bitmaps (expected, actual, and difference), you can identify the nature of the discrepancy.
b. When working in Context Sensitive mode, you can capture a bitmap of a window, object, or of a specified area of a screen. WinRunner inserts a checkpoint in the test script in the form of either a win_check_bitmap or obj_check_bitmap statement.
c. Note that when you record a test in Analog mode, you should press the CHECK BITMAP OF WINDOW softkey or the CHECK BITMAP OF SCREEN AREA softkey to create a bitmap checkpoint. This prevents WinRunner from recording extraneous mouse movements. If you are programming a test, you can also use the Analog function check_window to check a bitmap.

d. To capture a window or object as a bitmap:

i. Choose Create > Bitmap Checkpoint > For Object/Window or click the Bitmap Checkpoint for Object/Window button on the User toolbar. Alternatively, if you are recording in Analog mode, press the CHECK BITMAP OF OBJECT/WINDOW softkey. The WinRunner window is minimized, the mouse pointer becomes a pointing hand, and a help window opens.
ii. Point to the object or window and click it. WinRunner captures the bitmap and generates a win_check_bitmap or obj_check_bitmap statement in the script. The TSL statement generated for a window bitmap has the following syntax:
win_check_bitmap ( object, bitmap, time );
iii. For an object bitmap, the syntax is:
obj_check_bitmap ( object, bitmap, time );

iv. For example, when you click the title bar of the main window of the Flight Reservation application, the resulting statement might be:
win_check_bitmap ("Flight Reservation", "Img2", 1);
v. However, if you click the Date of Flight box in the same window, the statement might be:
obj_check_bitmap ("Date of Flight:", "Img1", 1);

Syntax: obj_check_bitmap ( object, bitmap, time [, x, y, width, height] );


65) What do you verify with the bitmap checkpoint for screen area and what command it generates, explain syntax?
a. You can define any rectangular area of the screen and capture it as a bitmap for comparison. The area can be any size: it can be part of a single window, or it can intersect several windows. The rectangle is identified by the coordinates of its upper left and lower right corners, relative to the upper left corner of the window in which the area is located. If the area intersects several windows or is part of a window with no title (for example, a popup window), its coordinates are relative to the entire screen (the root window).

b. To capture an area of the screen as a bitmap:

i. Choose Create > Bitmap Checkpoint > For Screen Area or click the Bitmap Checkpoint for Screen Area button. Alternatively, if you are recording in Analog mode, press the CHECK BITMAP OF SCREEN AREA softkey. The WinRunner window is minimized, the mouse pointer becomes a crosshairs pointer, and a help window opens.
ii. Mark the area to be captured: press the left mouse button and drag the mouse pointer until a rectangle encloses the area; then release the mouse button.
iii. Press the right mouse button to complete the operation. WinRunner captures the area and generates a win_check_bitmap statement in your script.
iv. The win_check_bitmap statement for an area of the screen has the following syntax:

win_check_bitmap ( window, bitmap, time, x, y, width, height );

66) What do you verify with the database checkpoint default and what command it generates, explain syntax?
a. By adding runtime database record checkpoints you can compare the information in your application during a test run with the corresponding record in your database. By adding standard database checkpoints to your test scripts, you can check the contents of databases in different versions of your application.
b. When you create database checkpoints, you define a query on your database, and your database checkpoint checks the values contained in the result set. The result set is set of values retrieved from the results of the query.
c. You can create runtime database record checkpoints in order to compare the values displayed in your application during the test run with the corresponding values in the database. If the comparison does not meet the success criteria you
d. specify for the checkpoint, the checkpoint fails. You can define a successful runtime database record checkpoint as one where one or more matching records were found, exactly one matching record was found, or where no matching records are found.
e. You can create standard database checkpoints to compare the current values of the properties of the result set during the test run to the expected values captured during recording or otherwise set before the test run. If the expected results and the current results do not match, the database checkpoint fails. Standard database checkpoints are useful when the expected results can be established before the test run.

Syntax: db_check(, );

f. You can add a runtime database record checkpoint to your test in order to compare information that appears in your application during a test run with the current value(s) in the corresponding record(s) in your database. You add runtime database record checkpoints by running the Runtime Record Checkpoint wizard. When you are finished, the wizard inserts the appropriate db_record_check statement into your script.

Syntax:
db_record_check(ChecklistFileName,SuccessConditions,RecordNumber );

ChecklistFileName A file created by WinRunner and saved in the test's checklist folder. The file contains information about the data to be captured during the test run and its corresponding field in the database. The file is created based on the information entered in the Runtime Record Verification wizard.
SuccessConditions Contains one of the following values:
1. DVR_ONE_OR_MORE_MATCH - The checkpoint passes if one or more matching database records are found.
2. DVR_ONE_MATCH - The checkpoint passes if exactly one matching database record is found.
3. DVR_NO_MATCH - The checkpoint passes if no matching database records are found.
RecordNumber An out parameter returning the number of records in the database.

67) How do you handle dynamically changing area of the window in the bitmap checkpoints?
a. The difference between bitmaps option in the Run Tab of the general options defines the minimum number of pixels that constitute a bitmap mismatch

68) What do you verify with the database check point custom and what command it generates, explain syntax?
a. When you create a custom check on a database, you create a standard database checkpoint in which you can specify which properties to check on a result set.
b. You can create a custom check on a database in order to:
i. check the contents of part or the entire result set
ii. edit the expected results of the contents of the result set
iii. count the rows in the result set
iv. count the columns in the result set
c. You can create a custom check on a database using ODBC, Microsoft Query or Data Junction.

69) What do you verify with the sync point for object/window property and what command it generates, explain syntax?
a. Synchronization compensates for inconsistencies in the performance of your application during a test run. By inserting a synchronization point in your test script, you can instruct WinRunner to suspend the test run and wait for a cue before continuing the test.
b. You can a synchronization point that instructs WinRunner to wait for a specified object or window to appear. For example, you can tell WinRunner to wait for a window to open before performing an operation within that window, or you may want WinRunner to wait for an object to appear in order to perform an operation on that object.
c. You use the obj_exists function to create an object synchronization point, and you use the win_exists function to create a window synchronization point. These functions have the following syntax:
Syntax:
obj_exists ( object [, time ] );
win_exists ( window [, time ] );

Thursday, June 4, 2009

Function Points FAQs

Function Point FAQ

What are function points and why count them?

In the late seventies, IBM felt the need to develop a language independent approach to estimating software development effort. It tasked one of its employees, Allan Albrecht, with developing this approach. The result was the function point technique.

In the early eighties, the function point technique was refined and a counting manual was produced by IBM's GUIDE organization. The International Function Point Users Group (IFPUG) was founded in the late eighties. This organization produced its own Counting Practices Manual. In 1994, IFPUG produced Release 4.0 of its Counting Practices Manual. While the GUIDE publication and each release of the IFPUG publications contained refinements to the technique originally presented by Albrecht, they always claimed to be consistent with his original thinking. In truth, it is still very close considering the nearly two decades that have elapsed since Albrecht's original publication!

During the eighties and nineties, several people have suggested function point counting techniques intended to substantially extend or completely replace the work done by Albrecht. Some of these will be briefly discussed in this FAQ. However, unless otherwise specified, information in this FAQ is intended to be consistent with IFPUG Release 4.0.

Function points are a measure of the size of computer applications and the projects that build them. The size is measured from a functional, or user, point of view. It is independent of the computer language, development methodology, technology or capability of the project team used to develop the application. The fact that Albrecht originally used it to predict effort is simply a consequence of the fact that size is usually the primary driver of development effort. The function points measured size.

It is important to stress what function points do NOT measure. Function points are not a perfect measure of effort to develop an application or of its business value, although the size in function points is typically an important factor in measuring each. This is often illustrated with an analogy to the building trades. A three thousand square foot house is usually less expensive to build one that is six thousand square feet. However, many attributes like marble bathrooms and tile floors might actually make the smaller house more expensive. Other factors, like location and number of bedrooms, might also make the smaller house more valuable as a residence.

Bill Hufschmidt, a seasoned function point practitioner, always stresses that the first three letters in function points are FUN. People who enjoy function point counting and can justify it on that basis should do so. The following are more hard nosed reasons:

  • Measure productivity -- Many executives have come to the conclusion that regardless of their core business, they are also in the software business. Calculating several variations on the function points produced per month theme tells them how well they are doing in this regard.
  • Estimate development and support -- Since the beginning, function points have been used as an estimating technique. Estimating is obviously necessary for the cost benefit analysis that justifies application development. Even for strategic projects that need no quantitative justification, accurate estimation is required for proper staffing.
  • Monitor outsourcing agreements -- Companies outsourcing significant parts of their IS requirements are concerned that the outsourcing entity deliver the level of support and productivity gains that they promise. Outsourcers, like CSC and IBM Global Services, frequently use function points to demonstrate compliance in these areas.
  • Drive IS related business decisions -- Companies must analyze their portfolios of applications and projects. The size in function points is an attribute that needs to be tracked for each application and project. Along with other data, this will allow decisions regarding the retaining, retiring and redesign of applications to be made.
  • Normalize other measures -- To put them in perspective, other measures frequently require the size in function points. For example, 100 delivered defects on a 100 function point system is not good news. The same 100 delivered defects on a 10,000 function point system are much easier to take.

There are a number of frequently asked questions that are related to the more general question of "What are function points?" These questions and answers follow:

Can function points be used for GUI based systems?

Yes. When the function point technique was originally developed, it was not applied to systems with Graphical User Interfaces (GUIs). There were no systems with GUIs! Even as late as three years ago, there was a certain amount of disagreement between function point practitioners regarding how to count these systems.

Two years ago, IFPUG completed Release 4.0 of their Function Point Counting Practices Manual. It contains the official rules for, and extensive examples of, counting GUI based systems. Subsequently, IFPUG produced a case study that contained the count of an entire GUI-based system.

Unfortunately, you can still find practitioners who are not familiar with the new rules and have not updated their course material to reflect current technology. Do not tolerate this! Just like any other professional you rely on, your function point specialist(s) should have knowledge that is up to date.

Can function points be used for client/server systems?

Yes. In the simplest case, the user may be unaware of whether she is using a program running on a central computer or a set of programs running on various computers across a network. In fact, in the wonderful world of client/server, your application can abend (reach an abnormal end) because of a failure on a computer that you did not even know existed! This presents a strong argument that client-server systems can be counted just like any other ones. Unfortunately, client/server does introduce some complications into the counting process.

Accounting for the development of a technical infrastructure is often a challenge. The technical infrastructure can be composed of database managers, middleware, APIs and other components that are used by the developers. Installing this infrastructure is often a completely separate project. Are there function points associated with this project? If so, is the count performed as if the application developers are the users of the infrastructure? Of course, it is possible that some of the business users of the enterprise will interact directly with this infrastructure when doing end-user application development. Will this change the answers to any of the preceding questions?

Even when confining our attention to the application programs, identifying the boundaries in client/server systems development projects can often be tricky. In the simple case, where an application is developed partially on a client and partially on a server, the boundary includes them both. However, many projects call for the development of server applications that will interact with other pre-existing clients and servers in addition to a client program that is being developed as part of the project. In this case, multiple boundaries may need to be considered.

Can function points be used with object oriented development?

Yes. You probably see the pattern here! The short answer is that they can be used to measure these applications and their size is the same as if object oriented development had not been used. This is because the function point count for an application is independent of the technology used to develop the application. However, the use of object orientation does tend to impact the function point count of the project that builds the application.

In the simplest case of software development, an application is built from scratch by a single project. In this case, the application and project function point counts are the same. For example, building a 1000 function point system would be a 1000 function point project. Object orientation is quickly making this simple approach to application building a thing of the past!

At a minimum, using object oriented development techniques allows the developer to use pre-built Windows editing controls and the like. When object orientation is fully embraced, developers can incorporate major chunks of functionality into their applications. For example, OLE Automation allows an application to completely harness the power of Microsoft Project version 4.0. Counting in these situations requires good engineering judgment and experience.

One school of thought has been simply to incorporate all of the functionality into the application and project counts. This makes sense for minor functionality that would not be separately recognized by the user anyway, like editing controls. However it is often a problem for more function rich components. If the user realizes that much of the functionality that is being provided has actually come from a purchased application, will he be willing to give the developer "credit" for all of that functionality? If the developer claims all of the functionality of both the custom written portions and the acquired portions of the project, will the function point technique still be usable for estimating?

It should be stressed that these considerations have been around longer than object oriented development. However, years ago these were the exceptional cases. Now, they are becoming the norm. The function point community still needs to codify its approach to handling these situations.

The International Function Point Users Group (IFPUG) has just published a case study showing the count for an application that was developed using object oriented techniques. It is Case Study number 3.

How does the use of function points compare to the use of lines of code?

The number of lines of code is the traditional way of gauging application size. Some people claim it is still relevant because it measures what software developers actually do, that is, write lines of code. They will use lines of code either instead of or in addition to function points. Other practitioners say lines of code are irrelevant. Capers Jones has declared "the use of lines of code metrics for productivity and quality studies to be regarded as professional malpractice starting in 1995."

At best, counting lines of code measures software from the developers' point of view. Since function points are based on screens, reports and other external objects, this measure takes the users' view. In these days of outsourcing and other confusion regarding the role of IT in an organization, understanding the users' view is of critical importance!

Related to these different views is the phenomenon that you get what you measure. When the number of lines of code is your primary measure of productivity, you often get it by having developers use less powerful languages and ignore opportunities for reuse. When the number of function points is your primary measure of productivity, you tend to get increased production of functionality by the developers. Of course, it is the users' responsibility to evaluate whether this functionality is delivering increased business value.

There are other technical problems with the lines of code measure. IBM encouraged the development of function points because it was starting to see a heterogeneous development environment where BAL, COBOL and PL/I where being used. Now almost every shop is using a mixture of languages. Furthermore, most modern development projects use a host of languages. How do you compare a project that delivers a 100,000 line mixture of C++, SQL and Visual Basic to one that delivers 100,000 lines of COBOL?

In addition, there is no standard definition of what a line of code is. Do blank lines count? Do comments count? Are data declarations included? What happens if a statement extends over several lines? Organizations, like the Software Engineering Institute, have published some guidelines in an attempt to standardize counting, but no one organization has played the same role for lines of code that IFPUG has for function points.

Wednesday, June 3, 2009

International Software Testing Qualifications Board

The ISTQB (International Software Testing Qualifications Board) was founded in Edinburgh in November 2002. The EOQ-SG (European Organisation for Quality – Software Group) is the legal entity acting as the umbrella organization for the ISTQB.The ISTQB is responsible for the international qualification scheme called "ISTQB Certified Tester". The qualifications are based on a syllabus, and there is a hierarchy of qualifications and guidelines for accreditation and examination. The ISTQB Foundation Level exam replaced the existing Information Systems Examination Board (ISEB) Foundation Exam as of 2006-06-01.It is the ISTQB's role to support a single, universally accepted, international qualification scheme, aimed at software and system testing professionals, by providing the core syllabi and by setting guidelines for accreditation and examination for national boards.The contents of each syllabus are taught as courses by training providers, which have been accredited by national boards. They are globally marketed under the brand name "ISTQB Certified Tester".

Each course is concluded by an examination covering the contents of the syllabus. After the examination, each successful participant receives the "ISTQB Certified Tester" certificate (or the local variant with the added "ISTQB compliant" logo).The accreditation process and certification are regulated by accreditation and certification regulations of the national boards in their various valid versions.

For MORE DETAILS

ISTQB Website

Tuesday, June 2, 2009

QTP Introduction

1. What are the Features & Benefits of Quick Test Pro(QTP)..?

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

2. Where can I get Quck Test pro(QTP Pro) software.. This is Just for Information purpose Only.

Introduction to QuickTest Professional 8.0, Computer Based Training: Please find the step to get QuickTest Professional 8.0 CBT Step by Step Tutorial and Evaluation copy of the software. The full CBT is 162 MB. You will have to create account to be able to download evaluation copies of CBT and Software.

3. How to handle the exceptions using recovery secnario manager in Qtp?

You can instruct QTP to recover unexpected events or errors that occured 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. How to handle the exceptions using recovery secnario manager in Qtp?

You can instruct QTP to recover unexpected events or errors that occured 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

4. what is the use of Text output value in Qtp?

Output values enable to view the values that the application talkes during run time.When paramaterised, 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.

5. How to use the Object spy in QTP 8.0 version?

There are two ways to Spy the objects in QTP
1) Thru file toolbar
---In the File ToolBar click on the last toolbar button (an icon showing a person with hat).
2) Tru Object repository Dialog
---In Objectrepository dialog click on the button"object spy..."
In the Object spy Dialog click on the button showing hand symbol.
the pointer now changes in to a hand symbol and we have to point out the object to spy the state of the object
if at all the object is not visible..or window is minimised then Hold the Ctrl button and activate the required window to and release the Ctrl button.

6. What is the file extension of the code file & object repository file in QTP?

File extension of
-- Per test object rep :- filename.mtr
-- Shared Oject rep :- filename.tsr
Code file extension id script.mts

7. Explain the concept of object repository & how QTP recognises objects?

Object Repository: displays a tree of all objects in the current component or in the current action or entire test( depending on the object repository mode you selected).
we can view or modify the test object description of any test object in the repository or to add new objects to the repository.
Quicktest learns the default property values and determines in which test object class it fits.If it is not enough it adds assistive properties, one by one to the description until it has compiled the unique description.If no assistive properties are available, then it adds a special Ordianl identifier such as objects location onthe page or in the source code.

8. What are the properties you would use for identifying a browser & page when using descriptive programming ?

"name" would be another property apart from "title" that we can use.
OR
We can also use the property "micClass".
ex: Browser("micClass:=browser").page("micClass:=page")....

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

Visual Basic (VB),XML,JavaScript,Java,HTML

10. Give me an example where you have used a COM interface in your QTP project?



11. Few basic questions on commonly used Excel VBA functions.

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

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

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

14. How to handle dynamic objects in QTP?

QTP has a unique feature called Smart Object Identification/recognition. QTP generally identifies an object by matching its test object and run time object properties. QTP may fail to recognise the dynamic objects whose properties change during run time. Hence it has an option of enabling Smart Identification, wherein it can identify the objects even if their properties changes during run time.
Check this out-
If QuickTest is unable to find any object that matches the recorded object description, or if it finds more than one object that fits the description, then QuickTest ignores the recorded description, and uses the Smart Identification mechanism to try to identify the object.
While the Smart Identification mechanism is more complex, it is more flexible, and thus, if configured logically, a Smart Identification definition can probably help QuickTest identify an object, if it is present, even when the recorded description fails.
The Smart Identification mechanism uses two types of properties:
Base filter properties—The most fundamental properties of a particular test object class; those whose values cannot be changed without changing the essence of the original object. For example, if a Web link's tag was changed from to any other value, you could no longer call it the same object. Optional filter properties—Other properties that can help identify objects of a particular class as they are unlikely to change on a regular basis, but which can be ignored if they are no longer applicable.

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

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

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

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

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

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

18. Discuss QTP Environment.

QuickTest Pro environment using the graphical interface and ActiveScreen technologies - A testing process for creating test scripts, relating manual test requirements to automated verification features - Data driving to use several sets of data using one test script.

19. Explain the concept of how QTP identifies object.

During recording qtp looks at the object and stores it as test object.For each test object QT learns a set of default properties called mandatory properties,and look at the rest of the objects to check whether this properties are enough to uniquely identify the object. During test run,QT searches for the run time obkects that matches with the test object it learned while recording.

20. Differentiate the two Object Repository Types of QTP.

Object repository is used to store all the objects in the application being tested.2 types of oject repositoy per action and shared. In shared repository only one centralised repository for all the tests. where as in per action.for each test a separate per action repostory is created.

21. What the differences are and best practical application of each.

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

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

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

I Used the functions for Capturing the dynamic data during runtime. Function used for Capturing Desktop, browser and pages.

24. What projects have you used WinRunner on? Tell me about some of the challenges that arose and how you handled them.

pbs :WR fails to identify the object in gui. If there is a non std window obk wr cannot recognize it ,we use GUI SPY for that to handle such situation.

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

I have done Dynamically capturing the objects during runtime in which no recording, no playback and no use of repository is done AT ALL.
-It was done by the windows scripting using the DOM(Document Object Model) of the windows.

26. How long have you used the product?



27. How to do the scripting. Is there any inbuilt functions in QTP as in QTP-S. Whatz the difference between them? how to handle script issues?

Yes, there's an in-built functionality called "Step Generator" in Insert->Step->Step Generator -F7, which will generate the scripts as u enter the appropriate steps.

28. What is the difference between check point and output value.

I would like to add some stuff to Kalpana's comments.
It is as follows:-
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]

29. IF we use batch testing.the result shown for last action only.in that how can i get result for every action.

u can click on the icon in the tree view to view the result of every action

30. How the exception handling can be done using QTP

It can be done Using the Recovery Scenario Manager which provides a wizard that gudies you through the process of defining a recovery scenario. FYI.. The wizard could be accesed in QTP> Tools-> Recovery Scenario Manager .......

31. How do you test siebel application using qtp?



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

33. How do you data drive an external spreadsheet?



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

U can still make the notepad open without using the record or System utility script, just by mentioning the path of the notepad "( i.e., where the notepad.exe is stored in the system) in the "Windows Applications Tab" of the "Record and Run Settings window. Try it out. All the Best.

Monday, June 1, 2009

Foundation Certificate In Software Testing Practice Exam

1

When what is visible to end-users is a deviation from the specific or expected behavior, this is called:

a) an error

b) a fault

c) a failure

d) a defect

e) a mistake

2

Regression testing should be performed:

v) every week

w) after the software has changed

x) as often as possible

y) when the environment has changed

z) when the project manager says

a) v & w are true, x – z are false

b) w, x & y are true, v & z are false

c) w & y are true, v, x & z are false

d) w is true, v, x y and z are false

e) all of the above are true

3

IEEE 829 test plan documentation standard contains all of the following except:

a) test items

b) test deliverables

c) test tasks

d) test environment

e) test specification

4

Testing should be stopped when:

a) all the planned tests have been run

b) time has run out

c) all faults have been fixed correctly

d) both a) and c)

e) it depends on the risks for the system being tested

5

Order numbers on a stock control system can range between 10000 and 99999 inclusive. Which of the following inputs might be a result of designing tests for only valid equivalence classes and valid boundaries:

a) 1000, 5000, 99999

b) 9999, 50000, 100000

c) 10000, 50000, 9999

d) 10000, 99999

e) 9999, 10000, 50000, 99999, 10000

6

Consider the following statements about early test design:

i. early test design can prevent fault multiplication

ii. faults found during early test design are more expensive to fix

iii. early test design can find faults

iv. early test design can cause changes to the requirements

v. early test design takes more effort

a) i, iii & iv are true. Ii & v are false

b) iii is true, I, ii, iv & v are false

c) iii & iv are true. i, ii & v are false

d) i, iii, iv & v are true, ii us false

e) i & iii are true, ii, iv & v are false

7

Non-functional system testing includes:

a) testing to see where the system does not function properly

b) testing quality attributes of the system including performance and usability

c) testing a system feature using only the software required for that action

d) testing a system feature using only the software required for that function

e) testing for functions that should not exist

8

Which of the following is NOT part of configuration management:

a) status accounting of configuration items

b) auditing conformance to ISO9001

c) identification of test versions

d) record of changes to documentation over time

e) controlled library access

9

Which of the following is the main purpose of the integration strategy for integration testing in the small?

a) to ensure that all of the small modules are tested adequately

b) to ensure that the system interfaces to other systems and networks

c) to specify which modules to combine when and how many at once

d) to ensure that the integration testing can be performed by a small team

e) to specify how the software should be divided into modules

10

What is the purpose of test completion criteria in a test plan:

a) to know when a specific test has finished its execution

b) to ensure that the test case specification is complete

c) to set the criteria used in generating test inputs

d) to know when test planning is complete

e) to plan when to stop testing

11

Consider the following statements

i. an incident may be closed without being fixed

ii. incidents may not be raised against documentation

iii. the final stage of incident tracking is fixing

iv. the incident record does not include information on test environments

v. incidents should be raised when someone other than the author of the software performs the test

a) ii and v are true, I, iii and iv are false

b) i and v are true, ii, iii and iv are false

c) i, iv and v are true, ii and iii are false

d) i and ii are true, iii, iv and v are false

e) i is true, ii, iii, iv and v are false

12

Given the following code, which is true about the minimum number of test cases required for full statement and branch coverage:

Read P

Read Q

IF P+Q > 100 THEN

Print “Large”

ENDIF

If P > 50 THEN

Print “P Large”

ENDIF

a) 1 test for statement coverage, 3 for branch coverage

b) 1 test for statement coverage, 2 for branch coverage

c) 1 test for statement coverage, 1 for branch coverage

d) 2 tests for statement coverage, 3 for branch coverage

e) 2 tests for statement coverage, 2 for branch coverage

13

Given the following:

Switch PC on

Start “outlook”

IF outlook appears THEN

Send an email

Close outlook

a) 1 test for statement coverage, 1 for branch coverage

b) 1 test for statement coverage, 2 for branch coverage

c) 1 test for statement coverage. 3 for branch coverage

d) 2 tests for statement coverage, 2 for branch coverage

e) 2 tests for statement coverage, 3 for branch coverage

14

Given the following code, which is true:

IF A > B THEN

C = A – B

ELSE

C = A + B

ENDIF

Read D

IF C = D Then

Print “Error”

ENDIF

a) 1 test for statement coverage, 3 for branch coverage

b) 2 tests for statement coverage, 2 for branch coverage

c) 2 tests for statement coverage. 3 for branch coverage

d) 3 tests for statement coverage, 3 for branch coverage

e) 3 tests for statement coverage, 2 for branch coverage

15

Consider the following:

Pick up and read the newspaper

Look at what is on television

If there is a program that you are interested in watching then switch the the television on and watch the program

Otherwise

Continue reading the newspaper

If there is a crossword in the newspaper then try and complete the crossword

a) SC = 1 and DC = 1

b) SC = 1 and DC = 2

c) SC = 1 and DC = 3

d) SC = 2 and DC = 2

e) SC = 2 and DC = 3

16

The place to start if you want a (new) test tool is:

a) Attend a tool exhibition

b) Invite a vendor to give a demo

c) Analyse your needs and requirements

d) Find out what your budget would be for the tool

e) Search the internet

17

When a new testing tool is purchased, it should be used first by:

a) A small team to establish the best way to use the tool

b) Everyone who may eventually have some use for the tool

c) The independent testing team

d) The managers to see what projects it should be used in

e) The vendor contractor to write the initial scripts

18

What can static analysis NOT find?

a) The use of a variable before it has been defined

b) Unreachable (“dead”) code

c) Whether the value stored in a variable is correct

d) The re-definition of a variable before it has been used

e) Array bound violations

19

Which of the following is NOT a black box technique:

a) Equivalence partitioning

b) State transition testing

c) LCSAJ

d) Syntax testing

e) Boundary value analysis

20

Beta testing is:

a) Performed by customers at their own site

b) Performed by customers at their software developer’s site

c) Performed by an independent test team

d) Useful to test bespoke software

e) Performed as early as possible in the lifecycle

21

Given the following types of tool, which tools would typically be used by developers and which by an independent test team:

i. static analysis

ii. performance testing

iii. test management

iv. dynamic analysis

v. test running

vi. test data preparation

a) developers would typically use i, iv and vi; test team ii, iii and v

b) developers would typically use i and iv; test team ii, iii, v and vi

c) developers would typically use i, ii, iii and iv; test team v and vi

d) developers would typically use ii, iv and vi; test team I, ii and v

e) developers would typically use i, iii, iv and v; test team ii and vi

22

The main focus of acceptance testing is:

a) finding faults in the system

b) ensuring that the system is acceptable to all users

c) testing the system with other systems

d) testing for a business perspective

e) testing by an independent test team

23

Which of the following statements about the component testing standard is false:

a) black box design techniques all have an associated measurement technique

b) white box design techniques all have an associated measurement technique

c) cyclomatic complexity is not a test measurement technique

d) black box measurement techniques all have an associated test design technique

e) white box measurement techniques all have an associated test design technique

24

Which of the following statements is NOT true:

a) inspection is the most formal review process

b) inspections should be led by a trained leader

c) managers can perform inspections on management documents

d) inspection is appropriate even when there are no written documents

e) inspection compares documents with predecessor (source) documents

25

A typical commercial test execution tool would be able to perform all of the following EXCEPT:

a) generating expected outputs

b) replaying inputs according to a programmed script

c) comparison of expected outcomes with actual outcomes

d) recording test inputs

e) reading test values from a data file

26

The difference between re-testing and regression testing is

a) re-testing is running a test again; regression testing looks for unexpected side effects

b) re-testing looks for unexpected side effects; regression testing is repeating those tests

c) re-testing is done after faults are fixed; regression testing is done earlier

d) re-testing uses different environments, regression testing uses the same environment

e) re-testing is done by developers, regression testing is done by independent testers

27

Expected results are:

a) only important in system testing

b) only used in component testing

c) never specified in advance

d) most useful when specified in advance

e) derived from the code

28

Test managers should not:

a) report on deviations from the project plan

b) sign the system off for release

c) re-allocate resource to meet original plans

d) raise incidents on faults that they have found

e) provide information for risk analysis and quality improvement

29

Unreachable code would best be found using:

a) code reviews

b) code inspections

c) a coverage tool

d) a test management tool

e) a static analysis tool

30

A tool that supports traceability, recording of incidents or scheduling of tests is called:

a) a dynamic analysis tool

b) a test execution tool

c) a debugging tool

d) a test management tool

e) a configuration management tool

31

What information need not be included in a test incident report:

a) how to fix the fault

b) how to reproduce the fault

c) test environment details

d) severity, priority

e) the actual and expected outcomes

32

Which expression best matches the following characteristics or review processes:

1. led by author

2. undocumented

3. no management participation

4. led by a trained moderator or leader

5. uses entry exit criteria

s) inspection

t) peer review

u) informal review

v) walkthrough

a) s = 4, t = 3, u = 2 and 5, v = 1

b) s = 4 and 5, t = 3, u = 2, v = 1

c) s = 1 and 5, t = 3, u = 2, v = 4

d) s = 5, t = 4, u = 3, v = 1 and 2

e) s = 4 and 5, t = 1, u = 2, v = 3

33

Which of the following is NOT part of system testing:

a) business process-based testing

b) performance, load and stress testing

c) requirements-based testing

d) usability testing

e) top-down integration testing

34

What statement about expected outcomes is FALSE:

a) expected outcomes are defined by the software’s behaviour

b) expected outcomes are derived from a specification, not from the code

c) expected outcomes include outputs to a screen and changes to files and databases

d) expected outcomes should be predicted before a test is run

e) expected outcomes may include timing constraints such as response times

35

The standard that gives definitions of testing terms is:

a) ISO/IEC 12207

b) BS7925-1

c) BS7925-2

d) ANSI/IEEE 829

e) ANSI/IEEE 729

36

The cost of fixing a fault:

a) Is not important

b) Increases as we move the product towards live use

c) Decreases as we move the product towards live use

d) Is more expensive if found in requirements than functional design

e) Can never be determined

37

Which of the following is NOT included in the Test Plan document of the Test Documentation Standard:

a) Test items (i.e. software versions)

b) What is not to be tested

c) Test environments

d) Quality plans

e) Schedules and deadlines

38

Could reviews or inspections be considered part of testing:

a) No, because they apply to development documentation

b) No, because they are normally applied before testing

c) No, because they do not apply to the test documentation

d) Yes, because both help detect faults and improve quality

e) Yes, because testing includes all non-constructive activities

39

Which of the following is not part of performance testing:

a) Measuring response time

b) Measuring transaction rates

c) Recovery testing

d) Simulating many users

e) Generating many transactions

40

Error guessing is best used

a) As the first approach to deriving test cases

b) After more formal techniques have been applied

c) By inexperienced testers

d) After the system has gone live

e) Only by end users



Self Marking Tick Sheet

1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29


30


31


32


33


34


35


36


37


38


39


40



Question number

Correct answer

1

C

2

C

3

E

4

E

5

C

6

A

7

B

8

B

9

C

10

E

11

B

12

B

13

B

14

B

15

E

16

C

17

B

18

C

19

C

20

A

21

B

22

D

23

A

24

D

25

A

26

A

27

D

28

C

29

A

30

E

31

E

32

B

33

E

34

A

35

B

36

B

37

D

38

D

39

C

40

B