RSS Feed

Monthly Archives: February 2015

UFT 12 Detail Look

UFT 12 was launched on March 20, 2014. This new version of UFT comes with a lot of new features and integrates all features that were incorporated for various patches of UFT 11.5. We will have a detailed look on all those features below.

Faster, Smaller and More Secure Installation Package

UFT 12.00 comes with a new installation package, enabling you to install UFT more quickly and with greater security:

  • The size of the installation package is 1.5 GB which is significantly smaller than in previous releases, speeding up the installation time.
  • You can choose to install the UFT Add-in for ALM and the Run Results Viewer as part of the UFT installation.
  • The installation process includes all of the configurations needed to run UFT. You no longer have to run additional post-installation programs.
  • The installation is more secure, enabling you to install UFT without needing to temporarily disable the User Account Control (UAC) for your computer as was the case with UFT 11.5 and earlier versions of UFT/QTP on Windows Vista, Windows 7 and Windows 8.
  • You can now install UFT in any supported language without the need to install a separate language pack in addition to the UFT product installation.

You can also perform a single silent installation without the need to run additional installations, including the following features:

  • All installation prerequisites can be installed with a single command. (without the need to install each separately)
  • All add-ins (including the ALM Add-in for UFT) installed with a single silent installation command and without the need to restart.
  • All UFT configurations can be added to the silent installation commands.
  • The silent installation can be run without administrator permissions.

Run GUI Tests on Safari on a Remote Mac Computer

For the first time ever in the history of QTP/UFT, HP has started to expand the testing capabilities of UFT beyond Windows. You can now run tests on Web applications on a Safari browser that is running on a remote Mac computer.

This feature is provided at Technology Preview level (in other words beta mode).

UFT 12 supports Safari 6.00 and 6.10 (on Mac OS Mountain Lion 10.8) and Safari 7.00 (on Mac OS Mavericks 10.9)

After you install the UFT Connection Agent (provided with the UFT installation) on your remote Mac computer, UFT can connect to the Mac computer remotely and run Web steps on the Safari browser.

Note that you must design the tests locally using a supported (Windows) browser, and that you can only run Web test object steps on the Safari browser. All other steps, including Utility object steps, such as SystemUtil.Run, run locally on the UFT computer.

Conditionally Upload Run Results to ALM After a Run Session

Your ALM site administrator can now set a site parameter that instructs UFT to conditionally upload run results from a run session to ALM. You can set the parameter so that the results are always uploaded, or you can use site parameter arguments to specify the conditions for which the results will be uploaded.

Once this parameter is set, all projects on the site can use the parameter when running UFT tests. This feature is supported for ALM version 12.00.

New UFT Look and Feel for BPT

UFT provides Business Process Testing from within UFT, using the native UFT user interface. This enables users to create, maintain, debug, and run BPT tests together with GUI and API tests, providing a single, one-stop-shop product for seamless functional testing.

Business process tests and flows are comprised of business components, which can be used to test specific parts of your application modularly. Business components include keyword GUI components, scripted GUI components, and API components.

If you are familiar with using BPT in ALM, you can use BPT in UFT as follows:

  • Add components and flows to your tests and flows by dragging them from the Toolbox pane to the test or flow opened in the document pane.
  • Manage component iterations in the Data pane.
  • Link and promote parameters in the Component Parameters tab of the Properties pane. Use the other Properties pane tabs to view and modify various test, flow, component, or group details, such as descriptions, fields, and comments.
  • Set parameter promotion options in the BPT Testing tab of the Options dialog box.
The BPT canvas view is no longer available for BPT and Flow test types when editing them in UFT.

Run Both GUI and API Tests using Virtualized Services

Using UFT, you can now run GUI tests as well as API tests that use a virtualized service. This enables you to run tests of your application using a service that would otherwise be inaccessible for test runs.

Using Service Virtualization, you design your virtualized service. Then, using UFT, you deploy the virtualized service on a Service Virtualization server. When the test runs, the application accesses the virtual service instead of the real service.

In addition, you can specify performance models for your virtualized service as well as different data models. In this manner, you can vary the responses and performance of your application and service to check its performance in a variety of different scenarios.

ALM AUT Parameters – Now for GUI Tests Too

If you work with server-side execution using ALM Lab Management, you can now take advantage of the option to link the parameters of your GUI test to ALM AUT Environment parameters. The AUT Environment parameters are then used when running the tests using server-side execution.

In previous versions of UFT, AUT parameters were supported only for API tests.

What is server-side execution?

In server-side execution, you run tests on remote host machines at predefined times or on an ad-hoc basis, not requiring anyone to be logged in to the host to initiate and control the test runs.

Pass Complex Values from SAP Solution Manager to UFT Tests

When you work in integrated mode with SAP Solution Manager, you can use structure-type test parameters to pass complex values such as XML values or arrays from a Solution Manager test script to a GUI test, or vice versa.

You create and maintain the structured parameters in SAP Solution Manager. Then you can map action parameters to the structured parameters in your test. When you run your test, UFT receives parameter values from SAP Solution Manager; and resolves the mapped local parameter with the actual value from SAP Solution Manager.

The UFT automation object model also supports the new structure value type for test and action parameters. The UFT Add-in for SAP Solutions now supports SAP NetWeaver Business Client navigation objects.

Run Flex Tests on Multiple UFT Instances Simultaneously (Windows Sever)

To communicate with the Flex application during testing, UFT now selects an available port in the range 24654 – 24663 . This enables multiple Windows Server users to run UFT tests on Flex applications simultaneously without competing for use of the same port.

Connect to ALM Using External Authentication (e.g. CAC)

UFT can now use external authentication to connect to an ALM 12.00 server and project, instead of using the traditional model of entering the user name and password in the ALM Connection dialog box.

This enables users to use their installed external authentication certificates or single sign-on mechanisms instead of maintaining and remembering a separate user name and password for their ALM projects. If the ALM 12.00 server is configured to use an External Authentication system, such as CAC (Common Access Card) or SiteMinder, then UFT uses this authentication method when you open the ALM Connection dialog box.

Enable or Disable Test Runs to Stop at Breakpoints During an ALM or Automation Run

A new RunDebug method is available in the Automation Object Model. This method instructs UFT to stop at breakpoints when running a test using automation, whether from ALM or in an automation run.

If you use the already-existing Run Automation method, your tests do not stop at any breakpoints saved in the test.

See Details of Your Test’s Virtualized Services in the Run Results

When you run a test that uses a virtualized service, you can now view the service’s details in the run results:

  • The name of the service and location of the deployed service
  • Deployment status of the service
  • The performance and data models used in this test run-time agent mode
  • The data simulation and performance simulation accuracy for the virtualized service in this test run.

Use UFT’s Testing Extensibility with Newer Visual Studio Versions

  • Testing Extensibility now supports Visual Studio 2010 and Visual Studio 2012.The sample applications have been updated:
    • The Visual Studio 2003 samples were removed.
    • New Visual Studio 2010 and Visual Studio 2012 versions of the QuickId and HoursReport samples are available.
  • The new Testing Extensibility SDK includes new interfaces that enable you to:
    • Add unrecorded steps to the test during a recording session.
    • Add lines to a report during a run session. The report can be generic, or associated with a test object.
    • Provide an image file for an active screen, instead of a rectangle

Use the Run Results Deletion Tool Directly from the Run Results Viewer

The Run Results Deletion tool is now incorporated into the Run Results Viewer. This enables you to automatically delete test results from tests and business process tests stored on ALM without needing to independently connect the Run Results Deletion tool to ALM.

Removed – Remote Agent Log Settings

The log setting options previously included in the ALM Remote Agent Settings dialog box were designed primarily to enable HP support engineers to generate logs during support calls. They are not needed for regular use. These options have been removed from the dialog box.

More Detailed Reporting Options in the UFT Self Check Tool

You can use the UFT Self Check Tool to see additional installation and configuration data for your UFT installation, including:

  • Browser details
  • UFT installation details
  • UFT Add-in installation details
  • UFT configuration settings
  • SAP GUI installation details
  • UFT tool dependencies information

Stop Your Run Session Using a Shortcut Key

You can define a shortcut key or key combination that stops the current recording session (for GUI tests only) or run operation, even if UFT is not in focus or is in hidden mode. In the Run Sessions pane in the Options dialog box (Tools > Options > General pane > Run Sessions node, click in the Stop command shortcut key field and then press the required key or key combination on the keyboard.

The default key combination is CTRL+ALT+F5.

It is important to define a shortcut that is not already defined for some other operation by the application being tested. If this is the case and:

  • you open the application manually before you click Record or Run, the shortcut defined in the application is applied for its original purpose.
  • you start a record or run session and UFT opens the application for you, the shortcut you define stops the session.

Continue Running GUI Tests on a Remote Computer After Disconnecting

When working with an RDP connection, UFT can continue running GUI tests or (GUI-based) business process tests on a remote computer after you disconnect your local computer from it. Use this option to free up resources on your local computer so you can increase your overall productivity, or so you can close your computer and go home for the day, while UFT continues to run your test.

To enable this, configure the Allow UFT to continue running GUI or business process tests after disconnecting from an RDP computer option in the Run Sessions pane of the Options dialog box.

Simplified Test Parameter Management

The Parameters pane of the Test Settings dialog box, in which GUI Test parameters were managed in previous versions of UFT and QuickTest, has been removed. You now perform all test parameter creation and maintenance operations for both GUI and API tests from the Parameters tab of the UFT Properties pane.

Simplified Configuration for Flex Applications

In previous versions of UFT, if you wanted to test Flex applications, you needed to first compile them specifically for testing. UFT 12 includes the UFT Flex Runtime Loader, which you can use to open most of your Flex applications for testing, without having to pre-compile the application.

You can use the new Flex tab in the Record and Run Settings dialog box to instruct UFT to open Flex applications at the beginning of a record or run session. In this tab, you specify whether you have prepared the application in advance for testing, or whether UFT should open the application using the Runtime Loader.

You can also configure the new Flex Record and Run settings using an automation script.

New Flex Test Object Methods and Properties

In addition to the Flex test object support that was introduced in 11.50, new test object methods and properties were added in UFT:Flex New properties

Specify Areas to Ignore in an Insight Test Object Image

When using Insight to recognize objects, UFT searches for objects on your screen that match a stored test object image.

When modifying a test object’s image, you can now specify areas within the image that UFT ignores when searching for a match. This is useful if parts of an object do not always look the same. For example, if different icons are used on different operating systems to run a certain application.

Additional Support for HTML5 Objects

The UFT Web Add-in now supports the following additional objects for HTML5 object recognition:

  • WebAudio. Supports recognition of HTML audio objects.
  • WebVideo. Supports recognition of HTML5 video objects.
  • WebNumber. Supports recognition of HTML5 number objects. These objects may look like numeric edit boxes or up-down spin controls, depending on the browser.
  • WebRange. Supports recognition of HTML5 range objects.

Pass Output Parameters from a Called API Test Back to the Calling GUI Test

Previously, when calling an API test from a GUI test, you could view and set the run-time value only for the API test input parameters.

However, using the new RunAPITest method, you are able to see and use the output parameter and value of the output parameter from an API test in later steps of a GUI test. Thus, if the service (API) layer of your application returns a value that your application’s GUI then uses, you can easily and accurately test this instead of having to write complex functions to extract the information from the API test output.

Make Your ALM or Network-Based GUI Tests into Portable Tests

The popular Save with Resources feature from QuickTest is now also available for GUI Tests in UFT.

It comes in handy if you need to open or run a test when you do not have access to a network drive or ALM. For example, you may need to create a portable copy of a test for use when traveling to other sites. Using the File > Save (Other) > Save with Resources command, you can save everything you need to a local drive or to another storage device .

When you use this option, UFT creates a copy of the test, its resource, and any external actions called by your test, and adjust the references from your test to the resources and external actions so that you can use them locally.

Create 64-Bit COM Object References

Standard VBScript provides the CreateObject function, which enables creating 32-bit COM object references. UFT has added the CreateObject64 statement, enabling you to create 64-bit COM object references.

Action Templates and External Properties are Back

The Action template and External Action Properties tab, which were available in QTP 11.00, but not yet available in UFT 11.50, are now available in UFT 12.

Action Templates

You may want to create an action template when you want to add the same element to each new action you create, such as the same comment, or the same ExecuteFile statement.

To create a new action template, create a text file containing all of the elements that you want to include in your template, and save it as ActionTemplate.mst, in the <UFT installation>\dat folder. The ActionTemplate.mst file must have the same structure and format as an action in the Editor.

External Action Properties

The External Action Properties tab enables you to specify the data source for the selected action. It is available only when viewing properties for external actions. The External Action tab provides the following options:

  • Use data stored with the original action (read-only). Uses the original action’s data. If you select this option, the data is read-only when viewed from the calling test, and all changes to the original action’s data sheet apply when the action runs in the calling test.
  • Use a local, editable copy. Uses an editable copy of the data in the test’s data table. If you select this option, a copy of the called action’s data sheet is added to the calling test’s data table and is independent of the original action.If the called action has parameterized steps that rely on new information in the original action’s data sheet, enter the relevant column names and required data to the action sheet in the calling test manually.

Insert SAP Structured Parameters in Your Test Using Statement Completion

In UFT, you can map action parameters in you test to structured parameters defined in SAP Solution Manager. Now, UFT’s statement completion helps you use these structured parameters in your test by displaying the elements available in the structure.

If you type the name of a structured action parameter in a test step, followed by a colon (:), UFT displays the structure’s elements. If you type a structured parameter element, followed by a period (.), UFT displays the relevant sub-elements.

Add ClickSpecial for InsightObject

The InsightObject.Click method brings the Insight object’s parent test object into focus before performing the click.

In some cases, this change of focus may hide your Insight object in the application, making it impossible for UFT to find and click it. In those cases, you can use the new InsightObject.ClickSpecial method, which does not bring the parent test object into focus before clicking.

Full Support for .XLSX Format Excel Files

UFT 12 fully supports the .xlsx format of Excel files for importing data to the Data Table or when specifying an Excel file for use with ALM configurations.

Use the Errors Pane to Detect Unmapped Repository Parameters

When your test contains an unmapped repository parameter, the Errors pane displays the test name and path in the Item column.

Web Add-in Enhancements

You can now use the new Style/* notation to access the values of HTML5 CSS properties of Web-based objects.

For example, you could use the following programmatic description to identify all edit boxes on a page that had a red background color:

  1. Set oDesc =Description.Create()
  2. oDesc(“micclass”).Value=“WebEdit”
  3. oDesc(“style/background-color”).Value=“rgb\(255, 0, 0\)”

New Supported HTML 5 Identification Properties for WebEdit

  • pattern. The regular expression pattern defined for the edit box, which controls which values that the edit box will accept.
  • placeholder. The hint text that is displayed in the edit box until a value is entered in it.
  • required. Indicates whether the edit box must be populated before the form is submitted.

Mozilla Firefox only: A new method, DialogExists, is available for Browser test objects. The DialogExists method checks whether a dialog box is currently open in the browser. This can be useful before using the Browser.HandleDialog or Browser.GetDialogText methods.

New Supported Operating Systems and Environments

UFT 12 supports IE 11, Firefox version till 24 and Chrome browser till v30. HP keeps on updating its support for various browsers using various patches it release from time to time. You can bookmark this page to keep yourself updated on the new patches.

uft12environmentsupport

 

You can check these step-by-step instructions to download and install UFT 12 on your machine.

Advertisements

New Features of UFT 12: A Detailed Look

UFT 12 was launched on March 20, 2014. This new version of UFT comes with a lot of new features and integrates all features that were incorporated for various patches of UFT 11.5. We will have a detailed look on all those features below.

Faster, Smaller and More Secure Installation Package

UFT 12.00 comes with a new installation package, enabling you to install UFT more quickly and with greater security:

  • The size of the installation package is 1.5 GB which is significantly smaller than in previous releases, speeding up the installation time.
  • You can choose to install the UFT Add-in for ALM and the Run Results Viewer as part of the UFT installation.
  • The installation process includes all of the configurations needed to run UFT. You no longer have to run additional post-installation programs.
  • The installation is more secure, enabling you to install UFT without needing to temporarily disable the User Account Control (UAC) for your computer as was the case with UFT 11.5 and earlier versions of UFT/QTP on Windows Vista, Windows 7 and Windows 8.
  • You can now install UFT in any supported language without the need to install a separate language pack in addition to the UFT product installation.

You can also perform a single silent installation without the need to run additional installations, including the following features:

  • All installation prerequisites can be installed with a single command. (without the need to install each separately)
  • All add-ins (including the ALM Add-in for UFT) installed with a single silent installation command and without the need to restart.
  • All UFT configurations can be added to the silent installation commands.
  • The silent installation can be run without administrator permissions.

Run GUI Tests on Safari on a Remote Mac Computer

For the first time ever in the history of QTP/UFT, HP has started to expand the testing capabilities of UFT beyond Windows. You can now run tests on Web applications on a Safari browser that is running on a remote Mac computer.

This feature is provided at Technology Preview level (in other words beta mode).

UFT 12 supports Safari 6.00 and 6.10 (on Mac OS Mountain Lion 10.8) and Safari 7.00 (on Mac OS Mavericks 10.9)

After you install the UFT Connection Agent (provided with the UFT installation) on your remote Mac computer, UFT can connect to the Mac computer remotely and run Web steps on the Safari browser.

Note that you must design the tests locally using a supported (Windows) browser, and that you can only run Web test object steps on the Safari browser. All other steps, including Utility object steps, such as SystemUtil.Run, run locally on the UFT computer.

Conditionally Upload Run Results to ALM After a Run Session

Your ALM site administrator can now set a site parameter that instructs UFT to conditionally upload run results from a run session to ALM. You can set the parameter so that the results are always uploaded, or you can use site parameter arguments to specify the conditions for which the results will be uploaded.

Once this parameter is set, all projects on the site can use the parameter when running UFT tests. This feature is supported for ALM version 12.00.

New UFT Look and Feel for BPT

UFT provides Business Process Testing from within UFT, using the native UFT user interface. This enables users to create, maintain, debug, and run BPT tests together with GUI and API tests, providing a single, one-stop-shop product for seamless functional testing.

Business process tests and flows are comprised of business components, which can be used to test specific parts of your application modularly. Business components include keyword GUI components, scripted GUI components, and API components.

If you are familiar with using BPT in ALM, you can use BPT in UFT as follows:

  • Add components and flows to your tests and flows by dragging them from the Toolbox pane to the test or flow opened in the document pane.
  • Manage component iterations in the Data pane.
  • Link and promote parameters in the Component Parameters tab of the Properties pane. Use the other Properties pane tabs to view and modify various test, flow, component, or group details, such as descriptions, fields, and comments.
  • Set parameter promotion options in the BPT Testing tab of the Options dialog box.
The BPT canvas view is no longer available for BPT and Flow test types when editing them in UFT.

Run Both GUI and API Tests using Virtualized Services

Using UFT, you can now run GUI tests as well as API tests that use a virtualized service. This enables you to run tests of your application using a service that would otherwise be inaccessible for test runs.

Using Service Virtualization, you design your virtualized service. Then, using UFT, you deploy the virtualized service on a Service Virtualization server. When the test runs, the application accesses the virtual service instead of the real service.

In addition, you can specify performance models for your virtualized service as well as different data models. In this manner, you can vary the responses and performance of your application and service to check its performance in a variety of different scenarios.

ALM AUT Parameters – Now for GUI Tests Too

If you work with server-side execution using ALM Lab Management, you can now take advantage of the option to link the parameters of your GUI test to ALM AUT Environment parameters. The AUT Environment parameters are then used when running the tests using server-side execution.

In previous versions of UFT, AUT parameters were supported only for API tests.

What is server-side execution?

In server-side execution, you run tests on remote host machines at predefined times or on an ad-hoc basis, not requiring anyone to be logged in to the host to initiate and control the test runs.

Pass Complex Values from SAP Solution Manager to UFT Tests

When you work in integrated mode with SAP Solution Manager, you can use structure-type test parameters to pass complex values such as XML values or arrays from a Solution Manager test script to a GUI test, or vice versa.

You create and maintain the structured parameters in SAP Solution Manager. Then you can map action parameters to the structured parameters in your test. When you run your test, UFT receives parameter values from SAP Solution Manager; and resolves the mapped local parameter with the actual value from SAP Solution Manager.

The UFT automation object model also supports the new structure value type for test and action parameters. The UFT Add-in for SAP Solutions now supports SAP NetWeaver Business Client navigation objects.

Run Flex Tests on Multiple UFT Instances Simultaneously (Windows Sever)

To communicate with the Flex application during testing, UFT now selects an available port in the range 24654 – 24663 . This enables multiple Windows Server users to run UFT tests on Flex applications simultaneously without competing for use of the same port.

Connect to ALM Using External Authentication (e.g. CAC)

UFT can now use external authentication to connect to an ALM 12.00 server and project, instead of using the traditional model of entering the user name and password in the ALM Connection dialog box.

This enables users to use their installed external authentication certificates or single sign-on mechanisms instead of maintaining and remembering a separate user name and password for their ALM projects. If the ALM 12.00 server is configured to use an External Authentication system, such as CAC (Common Access Card) or SiteMinder, then UFT uses this authentication method when you open the ALM Connection dialog box.

Enable or Disable Test Runs to Stop at Breakpoints During an ALM or Automation Run

A new RunDebug method is available in the Automation Object Model. This method instructs UFT to stop at breakpoints when running a test using automation, whether from ALM or in an automation run.

If you use the already-existing Run Automation method, your tests do not stop at any breakpoints saved in the test.

See Details of Your Test’s Virtualized Services in the Run Results

When you run a test that uses a virtualized service, you can now view the service’s details in the run results:

  • The name of the service and location of the deployed service
  • Deployment status of the service
  • The performance and data models used in this test run-time agent mode
  • The data simulation and performance simulation accuracy for the virtualized service in this test run.

Use UFT’s Testing Extensibility with Newer Visual Studio Versions

  • Testing Extensibility now supports Visual Studio 2010 and Visual Studio 2012.The sample applications have been updated:
    • The Visual Studio 2003 samples were removed.
    • New Visual Studio 2010 and Visual Studio 2012 versions of the QuickId and HoursReport samples are available.
  • The new Testing Extensibility SDK includes new interfaces that enable you to:
    • Add unrecorded steps to the test during a recording session.
    • Add lines to a report during a run session. The report can be generic, or associated with a test object.
    • Provide an image file for an active screen, instead of a rectangle

Use the Run Results Deletion Tool Directly from the Run Results Viewer

The Run Results Deletion tool is now incorporated into the Run Results Viewer. This enables you to automatically delete test results from tests and business process tests stored on ALM without needing to independently connect the Run Results Deletion tool to ALM.

Removed – Remote Agent Log Settings

The log setting options previously included in the ALM Remote Agent Settings dialog box were designed primarily to enable HP support engineers to generate logs during support calls. They are not needed for regular use. These options have been removed from the dialog box.

More Detailed Reporting Options in the UFT Self Check Tool

You can use the UFT Self Check Tool to see additional installation and configuration data for your UFT installation, including:

  • Browser details
  • UFT installation details
  • UFT Add-in installation details
  • UFT configuration settings
  • SAP GUI installation details
  • UFT tool dependencies information

Stop Your Run Session Using a Shortcut Key

You can define a shortcut key or key combination that stops the current recording session (for GUI tests only) or run operation, even if UFT is not in focus or is in hidden mode. In the Run Sessions pane in the Options dialog box (Tools > Options > General pane > Run Sessions node, click in the Stop command shortcut key field and then press the required key or key combination on the keyboard.

The default key combination is CTRL+ALT+F5.

It is important to define a shortcut that is not already defined for some other operation by the application being tested. If this is the case and:

  • you open the application manually before you click Record or Run, the shortcut defined in the application is applied for its original purpose.
  • you start a record or run session and UFT opens the application for you, the shortcut you define stops the session.

Continue Running GUI Tests on a Remote Computer After Disconnecting

When working with an RDP connection, UFT can continue running GUI tests or (GUI-based) business process tests on a remote computer after you disconnect your local computer from it. Use this option to free up resources on your local computer so you can increase your overall productivity, or so you can close your computer and go home for the day, while UFT continues to run your test.

To enable this, configure the Allow UFT to continue running GUI or business process tests after disconnecting from an RDP computer option in the Run Sessions pane of the Options dialog box.

Simplified Test Parameter Management

The Parameters pane of the Test Settings dialog box, in which GUI Test parameters were managed in previous versions of UFT and QuickTest, has been removed. You now perform all test parameter creation and maintenance operations for both GUI and API tests from the Parameters tab of the UFT Properties pane.

Simplified Configuration for Flex Applications

In previous versions of UFT, if you wanted to test Flex applications, you needed to first compile them specifically for testing. UFT 12 includes the UFT Flex Runtime Loader, which you can use to open most of your Flex applications for testing, without having to pre-compile the application.

You can use the new Flex tab in the Record and Run Settings dialog box to instruct UFT to open Flex applications at the beginning of a record or run session. In this tab, you specify whether you have prepared the application in advance for testing, or whether UFT should open the application using the Runtime Loader.

You can also configure the new Flex Record and Run settings using an automation script.

New Flex Test Object Methods and Properties

In addition to the Flex test object support that was introduced in 11.50, new test object methods and properties were added in UFT:

flexnewpropertiesuft

Specify Areas to Ignore in an Insight Test Object Image

When using Insight to recognize objects, UFT searches for objects on your screen that match a stored test object image.

When modifying a test object’s image, you can now specify areas within the image that UFT ignores when searching for a match. This is useful if parts of an object do not always look the same. For example, if different icons are used on different operating systems to run a certain application.

Additional Support for HTML5 Objects

The UFT Web Add-in now supports the following additional objects for HTML5 object recognition:

  • WebAudio. Supports recognition of HTML audio objects.
  • WebVideo. Supports recognition of HTML5 video objects.
  • WebNumber. Supports recognition of HTML5 number objects. These objects may look like numeric edit boxes or up-down spin controls, depending on the browser.
  • WebRange. Supports recognition of HTML5 range objects.

Pass Output Parameters from a Called API Test Back to the Calling GUI Test

Previously, when calling an API test from a GUI test, you could view and set the run-time value only for the API test input parameters.

However, using the new RunAPITest method, you are able to see and use the output parameter and value of the output parameter from an API test in later steps of a GUI test. Thus, if the service (API) layer of your application returns a value that your application’s GUI then uses, you can easily and accurately test this instead of having to write complex functions to extract the information from the API test output.

Make Your ALM or Network-Based GUI Tests into Portable Tests

The popular Save with Resources feature from QuickTest is now also available for GUI Tests in UFT.

It comes in handy if you need to open or run a test when you do not have access to a network drive or ALM. For example, you may need to create a portable copy of a test for use when traveling to other sites. Using the File > Save (Other) > Save with Resources command, you can save everything you need to a local drive or to another storage device .

When you use this option, UFT creates a copy of the test, its resource, and any external actions called by your test, and adjust the references from your test to the resources and external actions so that you can use them locally.

Create 64-Bit COM Object References

Standard VBScript provides the CreateObject function, which enables creating 32-bit COM object references. UFT has added the CreateObject64 statement, enabling you to create 64-bit COM object references.

Action Templates and External Properties are Back

The Action template and External Action Properties tab, which were available in QTP 11.00, but not yet available in UFT 11.50, are now available in UFT 12.

Action Templates

You may want to create an action template when you want to add the same element to each new action you create, such as the same comment, or the same ExecuteFile statement.

To create a new action template, create a text file containing all of the elements that you want to include in your template, and save it as ActionTemplate.mst, in the <UFT installation>\dat folder. The ActionTemplate.mst file must have the same structure and format as an action in the Editor.

External Action Properties

The External Action Properties tab enables you to specify the data source for the selected action. It is available only when viewing properties for external actions. The External Action tab provides the following options:

  • Use data stored with the original action (read-only). Uses the original action’s data. If you select this option, the data is read-only when viewed from the calling test, and all changes to the original action’s data sheet apply when the action runs in the calling test.
  • Use a local, editable copy. Uses an editable copy of the data in the test’s data table. If you select this option, a copy of the called action’s data sheet is added to the calling test’s data table and is independent of the original action.If the called action has parameterized steps that rely on new information in the original action’s data sheet, enter the relevant column names and required data to the action sheet in the calling test manually.

Insert SAP Structured Parameters in Your Test Using Statement Completion

In UFT, you can map action parameters in you test to structured parameters defined in SAP Solution Manager. Now, UFT’s statement completion helps you use these structured parameters in your test by displaying the elements available in the structure.

If you type the name of a structured action parameter in a test step, followed by a colon (:), UFT displays the structure’s elements. If you type a structured parameter element, followed by a period (.), UFT displays the relevant sub-elements.

Add ClickSpecial for InsightObject

The InsightObject.Click method brings the Insight object’s parent test object into focus before performing the click.

In some cases, this change of focus may hide your Insight object in the application, making it impossible for UFT to find and click it. In those cases, you can use the new InsightObject.ClickSpecial method, which does not bring the parent test object into focus before clicking.

Full Support for .XLSX Format Excel Files

UFT 12 fully supports the .xlsx format of Excel files for importing data to the Data Table or when specifying an Excel file for use with ALM configurations.

Use the Errors Pane to Detect Unmapped Repository Parameters

When your test contains an unmapped repository parameter, the Errors pane displays the test name and path in the Item column.

Web Add-in Enhancements

You can now use the new Style/* notation to access the values of HTML5 CSS properties of Web-based objects.

For example, you could use the following programmatic description to identify all edit boxes on a page that had a red background color:

  1. Set oDesc =Description.Create()
  2. oDesc(“micclass”).Value=“WebEdit”
  3. oDesc(“style/background-color”).Value=“rgb\(255, 0, 0\)”

New Supported HTML 5 Identification Properties for WebEdit

  • pattern. The regular expression pattern defined for the edit box, which controls which values that the edit box will accept.
  • placeholder. The hint text that is displayed in the edit box until a value is entered in it.
  • required. Indicates whether the edit box must be populated before the form is submitted.

Mozilla Firefox only: A new method, DialogExists, is available for Browser test objects. The DialogExists method checks whether a dialog box is currently open in the browser. This can be useful before using the Browser.HandleDialog or Browser.GetDialogText methods.

New Supported Operating Systems and Environments

UFT 12 supports IE 11, Firefox version till 24 and Chrome browser till v30. HP keeps on updating its support for various browsers using various patches it release from time to time. You can bookmark this page to keep yourself updated on the new patches.

uft12environmentsupport

You can check these step-by-step instructions to download and install UFT 12 on your machine.

What is QTP (UFT)

QuickTest Professional, popularly known by its acronym QTP is an automation testing tool originally from Mercury Interactive which was acquired by Hewlett Packard (HP) in 2006. QTP is primarily used for functional and regression automated testing. Using QTP, you can automate user actions on a web or client based computer application and test the same actions for different users, different data set, on various Windows operating systems and/or different browsers. Automation using QTP if planned and executed in a proper manner can save considerable time and money.
With the release of version 11.50, QTP and Service Test became part of UFT 11.50 software.
QTP is one of the most widely used automation testing tools in the market today with over 60% market share. Due to this reason, skilled QTP professionals are always in demand.

Supported Languages

All versions of QTP/UFT comes pre-installed with a Product Availability Matrix available by the name QTP_PAM.pdf (for versions below 11.0) or UFT_PAM.pdf (for versions 11.5 or above) This is the best way to find compatibility of QTP/UFT with various Operating systems, browsers, technologies, addins etc.

HP QuickTest Professional uses VB Script as its scripting language. This is the only language that is fully supported by QTP’s IDE. VB Script supports Object Oriented Programming concepts but not polymorphism and inheritance.

Supported Browsers

  • Internet Explorer 6, 7, 8, 9, 10, 11 (with appropriate patches and service packs)
  • Firefox 3.0.X, 3.5, 3.6 to v24 (with appropriate patches and service packs)
  • Google Chrome till v35 (with appropriate patches and service packs)
  • Safari on Mac OS (in Beta mode)

Supported Operating Systems

Windows XP, Windows Vista, Windows 7 and Windows 8/8.1 (with a patch). UFT 12 supports Safari on Mac OS (in Beta mode)

As of February 2015, UFT does not support Linux OS. An Enhancement Request (ER) is open for review on HP but there is no timeline mentioned If you have a valid SAID ID you can view the request here.

System Requirements for the current version (UFT 12.02)

To successfully install and run HP QuickTest Professional 12.02, your computer must meet the minimum system requirements shown below.
However, It is always recommended to have a configuration higher than the minimum requirements.

  • Computer/Processor: Pentium IV or higher microprocessor (minimum 1 Ghz)
  • Operating System: Windows XP Service Pack 3, Windows Vista, Windows 7 and Windows 8/8.1 (with a patch)
  • Memory: Minimum of 1GB when no more than three add-ins are loaded simultaneously.  [Additional memory is required when loading more add-ins and when using the Save movie to results option to capture movies during run sessions.]
  • Color Settings: High Color (16 bit)
  • Graphics Card: Graphics card with 64 MB video memory
  • Free Hard Disk Space: 1 GB of free disk space for application files and folders. [You must also have an additional 120 MB of free disk space on the system disk (the disk on which the operating system is installed).]

Supported Technologies

QTP can be used to automate web based and windows based client-server applications. However, it doesn’t support all technologies by default. For an extended support, we need to load the corresponding add–in. For instance, if you were to automate an application based on Java technology, you will have to load Java add–in. [QTP Add-Ins are software provided by HP that needs to be installed on a machine where QTP is installed  – to support a corresponding technology.]

Quick Test Professional comes with 3 add ins by default – ActiveX, Visual Basic and Web. All-in-all QTP supports .Net, Web, VB, Java, Oracle apps, SAP, PeopleSoft, Siebel, Stingray, Terminal Emulators (Unix, Mainframes), Power Builder, Delphi, Visual Age, Web Services, Flex (By Adobe), Shunra VE Desktop Professional for WAN emulation (By Shunra)

License Types

When you install HP Quick Test Professional, it comes with a default 30 days fully functional demo license. After the demo period, we need to purchase one of the licenses so as to continue working with the tool.

There are two types of license, Seat and Concurrent License.

Seat License

It’s a license that is specific to the computer on which the tool is installed i.e. if two or more people want to work on the tool then each one of them has to install the seat license on their respective machines.

Concurrent License

This is a network based license that can be used by multiple users at the same time. This license is installed on a remote license server. Hence a particular number of users can work with the tool by connecting to the license server at the same time; the number varies based on the number of concurrent licenses purchased.
There is a sub type of concurrent license called commuter license. It is a concurrent license that works like a seat license for a given time period. The validity period is usually 180 days. Let’s assume we have configured 10 concurrent licenses and one or two members have to travel on a business trip because of which they couldn’t connect to the license server. In such instances, we can ask administrator to configure commuter license. This works like a seat license for a given time period. Thus for this specific time period, the concurrent licenses available offshore will be equal to total concurrent licenses minus commuter licenses.

Read about QTP licenses in detail

Cost of QTP

[sociallocker]The cost of a QTP license may vary by geography. In US, a seat license starts from $8000 (USD). These licenses are normally sold to organizations and not to individuals.

Certifications Available for QTP

HP has introduced an entry level certification for QTP called HP0-M47. The exam is conducted by Pearson VUE in collaboration with HP. You can take help of LearnQTP’s high quality mock papers to prepare for QTP certification.

Training on QTP

There are many options available for QTP training. HP offers classroom based trainings but the general consensus among QTP professionals is that the fee charged by them is too high and the syllabus covered is too narrow.  LearnQTP has been conducting an affordable online QTP training program called QTP training OnDemand. This program was started back in 2009 and has seen many revisions since then incorporating feedback from trainees and adding content as per the needs. It is one of the most recommended and well liked QTP training programs available today. Since the program is available online, provides real world knowledge, individuals across the world join this training to enhance their skill set. There is online Training Course held reputed lecturer name Ankur Jain by opening his website

A Raw Example Where QTP can be Used

Let’s consider the scenario where you want to test login for a particular user. To test this scenario manually, you would generally follow these steps –

  1. Open web browser
  2. Enter the URL of the application.
  3. Enter user id & password and then click on “Login” button on login page.
  4. Verify that login is successful

Now consider a case where you have to test this login functionality many a times or you have to test the same functionality for large number of different users say a 1000 or more users. Performing this action manually is time consuming & tiresome activity. Now QTP helps you replicate your actions that you do manually such as opening the application, entering user id and password and hitting the “Login” or “Submit” button and verifying whether or not you have logged in successfully. To achieve this, you can write your code for log in scenario in QTP and run the code any number of times with a single click of a button, of course with same or different test data as required. This is a very raw example, in trained hands QTP can accomplish a lot many tasks. As of February 2015, HP Unified Functional Testing (UFT) 12.02 is the latest version available in the market.

Version history of QTP

Astra Quicktest (First version)

The first version of QTP was named Astra QuickTest and it was released by Mercury Interactive(MI) in May 1998. The starting price for the software was $3995 per copy. Source: 10k Sec filing by MI on March 29th, 2001

Astra QuickTest 3.0

Astra QuickTest 3.0 was released in Feb 2000. The software copy was priced at $2995 and it needed IE4.0 or higher to run. Source: Mike Oliveira

Astra QuickTest 5.0 (Astra QuickTest Professional 5.5)

Astra QuickTest 5.0 was released in Feb 2001. This version was able to test multimedia elements like Real Audio/Video and Macromedia Flash etc. After the addition of various patches, Astra Quicktest 5.0 was renamed Astra QuickTest Professional 5.5. This version was able to test websites to ensure they meet the requirements of Section 508, an amendment to the Rehabilitation Act of 1973

QuickTest Professional 6.5

QuickTest Professional 6.5 was released in Sep 2003 and lost Astra as part of its name. The major new features added in this version were:

  • Support for QuickTest Automation Object Model
  • Recovery Mechanism
  • XML Output Value
  • XML Schema Validation
  • Analog Recording

QuickTest Professional 8.0

QuickTest Professional 8.0 was released in late 2004. The major new features added in this version were:

  • Unicode Support
  • Keyword View
  • Business Process Testing
  • Action/Test Parameters

QuickTest Professional 8.2

QuickTest Professional 8.2 was released in early 2005. The major new features added in this version were:

  • Patches on top of version QTP 8.0
  • Ability for Auto-Documentation
  • Step Generator
  • Enhanced Expert View

QuickTest Professional 9.0

QuickTest Professional 9.0 was released in April 2006. This was the time when Mercury started phasing out another popular product WinRunner since the company had integrated all its capabilities in QTP. The major new features added in this version were:

  • Object Repository Manager
  • Object Repository Merge Tool
  • Multiple Object Repositories per Action or Component
  • XML Object Repository Format
  • Function Library Editor
  • Handling Missing Actions and Resources

QuickTest Professional 9.1/9.2

QuickTest Professional 9.2 was released in Feb 2007. During this time HP completed its acquisition of Mercury interactive(MI) which started in late 2006. The major new features added in this version were:

  • Mercury Screen Recorder
  • Dynamic Management of Object Repositories

QuickTest Professional 9.5

QuickTest Professional 9.5 was released in Jan 2008. The major new features added in this version were:

  • Support for tabbed browsing
  • Bitmap checkpoint tolerance level through UI itself
  • WebAddin Extensibility

QuickTest Professional 10.0

QuickTest Professional 10.0 was released in Jan 2009. With this version QTP started providing 30 days trial instead of 14 days trial offered in the earlier versions.  The major new features introduced in this version were:

  • Centrally Manage and Share Testing Assets, Dependencies, and Versions in Quality Center 10.00
  • Perform Single-User Local System Monitoring While Running Your Tests
  • Improve Portability by Saving Copies of Tests Together with Their Resource Files
  • Call Actions Dynamically During the Test Run
  • Develop Your Own Bitmap Checkpoint Comparison Algorithm
  • Centrally Manage Your Work Items and ToDo Tasks in the To Do Pane
  • Improve Test Results Analysis with New Reporting Functionality
  • Test Standard and Custom Delphi Objects Using the Delphi Add-in and Delphi Add-in Extensibility

QuickTest Professional 11.0

QuickTest Professional 11.0 was released in Sep 2010. The major new features introduced in this version were:

  • XPath and CSS based object identification
  • Good Looking and Enhanced Results Viewer
  • Easy Regular Expressions
  • Now identify objects not only in relation to each other but in relation to neighboring objects. Visual Relation Identifier
  • Load Function Libraries at Run Time
  • Test Your GUI and UI-Less Application Functionality in One Test
  • Record Support For FireFox is now available
  • QTP 11 is capable of receiving Java or .NET log framework messages from your application which can then be embedded in the run results
  • Embed/Run Javascript in web pages
  • Improved test data management when integrated with Quality Center
  • QTP 11 now supports Web 2.0 Toolkit Applications out-of-the-box similar to any other add-ins.

QuickTest Professional 11.50 Unified Functional Testing 11.50

Unified Functional Testing 11.50 was released in Dec 2012. The combo of QuickTest Pro(QTP) + Service Test(ST) is now integrated into Unified Functional Testing(UFT). The major new features introduced in this version were:

  • HP UFT Insight
  • Multiple script Debugging
  • PDF Checkpoints
  • Support Open Source CI Systems
  • Mobile Testing Support

Unified Functional Testing 11.51

A service pack UFT_00001.exe was released in Feb 2013 which has changed the version of UFT from UFT 11.50 to UFT 11.51.

  • This patch has various bug fixes and minor enhancements. It has an added support for Windows 8 and IE 10.
  • Mozilla Firefox version 19 is now supported with a patch UFT_00037.EXE

Unified Functional Testing 11.52

A service pack UFT_00022.EXE was released in June 2013 which has changed the version of UFT from UFT 11.51 to UFT 11.52. (This service pack can be installed directly on top of 11.50, you don’t need UFT 11.51 if you have not installed it earlier)

  • This patch has various bug fixes and minor enhancements. With this patch, UFT now fully supports .xlsx format.
  • HP is keeping pace with Firefox. It has added support for Firefox 21 in this pack.
  • A new method was added for Insight objects: ClickSpecial.
  • New versions are supported for SAP CRM, WDA, SAP Portal.
  • New support for numerous SAP Web Dynpro ABAP controls.

Unified Functional Testing 11.53

A service pack UFT_00044.EXE was released in December 2013 which has changed the version of UFT from UFT 11.52 to UFT 11.53. (This service pack can be installed directly on top of 11.50, you don’t need UFT 11.51 or 11.52 if you have not installed them earlier)

  • This Service Pack addresses quality and performance issues found in the 11.50 Major release and its previous service packs, SP 1 & SP 2.
  • This service pack is a mandatory update for all UFT 11.50/11.51/11.52 and Service Test 11.50/11.51/11.52 users.

Unified Functional Testing 12

UFT 12 was released in March 2014. The major new features introduced in UFT 12 were:

  • Better, Faster installer
  • Better ALM authentication
  • Auto Upload of run results to ALM
  • Introducing support to test Safari browser on a remote Mac (in technology preview mode)
  • Support for more technologies

Unified Functional Testing 12.01

UFT 12.01 was released in July 2014. The major new features introduced in UFT 12.01 were:

  • Official support for Windows 8.1
  • Support for Safari on Mac OS is now out of Tech Preview and available for production environment
  • Chrome extension for UFT is available in Chrome Store from now on
  • Better documentation
  • Support for windows run time objects

UFT 12.02 is the latest version available in the market as of February 2015.

QTP Tutorials for Beginners

The ideal way of learning QTP or for that matter any other tool is to go through the basics first. Once you are clear with the basics, you can start learning the advanced concepts of the tool. This article aims to list out all the basic concepts that QTP beginners should go through as part of their initial learning of the tool. For those of you who have had exposure to QTP, this article would serve as a checklist to see whether or not you have missed any of the basic concepts.

Basic Concepts in QTP

  • What is QTP? This is the topic you should ideally start with. You should have an idea of what QTP is all about, what type of testing you can do with QTP, different types of applications that it supports & other general stuff like what is the latest QTP version, from where you can download QTP, what are the different license modes etc.
  • What sort of Applications / Test Cases should be considered for Automation using QTP. Now this is a very important concept that must be looked at before starting with any automation project using QTP. You should be able to analyze your manual test cases and your application to see if it is can be automated or not. If it can be automated, you should be able to figure out if you’d really derive any benefit by automating the test cases.
  • Get familiar with the QTP tool. Before starting to create test scripts in QTP, you should be familiar with the QTP tool. You should be aware of the different panes and controls in the QTP window. You should know what they are and for what purpose they are used.
  • Test Objects and Object Repositories. You should know what are test objects, what is object hierarchy, how you can identify objects using QTP and how you can identify unique properties for your objects. You should also know what object repositories are, why they are used and how you can use them to add objects.
  • Creating Test Scripts / Actions. Now comes the real scripting part. You should be able to use the record & playback method to create & run test cases. Together with record & playback method, you should be able to ‘write’ your code after associating object repositories to your actions.
  • Analyzing your Test Run Results. Once you run your test scripts, you should be able to analyze the test run results. You should be able to find out which steps have passed & which have failed. You should also be able to identify the test case flow using the run results.
  • Creating Functions & Using Function Libraries. You should be able to identify reusable flows & functionality in your test cases. You should be able to write user defined functions for the reusable flows. You should also be able to create new function libraries, add some reusable functions to these function libraries and use these functions in your script by associating the function libraries to your test script.
  • Working with Data Tables. You should know how you can use data table to pass on data values in your test script. You should also be aware of how you can take data from excel sheets and use it in your scripts.
  • Basics of Debugging. You should have a clear understanding of the basic debugging techniques in QTP. You should know how to use breakpoints in your code. You should also know how you can make use of the debug viewer pane while running your test scripts.

What is QTP?

QTP or QuickTest Professional is an automation tool which is primarily used for functional and regression testing. With QTP, you can automate (write code for) the manual steps that you would perform to test a particular scenario. As an example let us consider that you want to verify that the log in functionality of your web application is working fine. Now to test this scenario manually, you would generally follow these steps –

  • Open web browser and enter the URL of the application.
  • Navigate to log in page.
  • Enter user id & password and then click on Log in/Submit button.
  • Verify that log in is successful.

Now consider a case where you have to test this functionality say a 100 times or maybe you want to test the log in functionality for 100 different users. Doing this same thing manually again & again is a time consuming & boring activity. Now what if you can automate this entire process? What if you can write some code, which can replicate your actions that you do manually (like opening the application URL in web browser, entering user id & password, hitting log in button and verifying successful log in).

This is exactly what QTP would do for you. You can write your code for log in scenario in QTP and run the code any number of times with a single click of a button, of course with same or different data (as per your wish).

Background

QTP was originally developed by Mercury Interactive Corporation and it was known as Mercury QuickTest Professional. In the year 2006, Mercury Interactive was acquired by HP and from then onwards QTP is available as HP QuickTest Professional. The latest version of the tool is Version 11.00 which was released in 2010. The previous version i.e. QTP 10 was released in 2009.

Different Types of Applications that can be tested using QTP

QTP can be used only on Windows Operating System. QTP cannot be installed on other operating systems such as Unix, Linux etc. However there are many 3rd party tools such as Putty, Hummingbird Host Explorer etc using which you can access Unix / Mainframe server in Windows OS. QTP can be configured to work with these 3rd party tools and thus in a way can be used for testing applications in Mainframe/Unix etc.

QTP can be used to automate a variety of applications built using different technologies. It is used most commonly for web applications. Other than web applications QTP can be used on applications developed using Java, .NET, VB, SAP, Siebel, Mainframes, Oracle, Delphi, WPF, Ajax, Silverlight, People Soft, VisualAge Smalltalk etc.

Primarily QTP is used for automation of GUI based application but it can also be used for Non-GUI based testing such as web services testing, database testing and file system operations.

QTP Download/License Information

HP QuickTest Professional is a licensed software available from HP Software Division. QTP has 2 different license modes – Seat License, in which every system where QTP is installed has a separate license & Concurrent License where QTP is installed on individual machines but the license is installed on a license server. Here, the individual machines should have access to the license server, then only they can use QTP.

Other than the licensed version, the trail version of QTP is also available for download from HP website. The trial version of the software is available for 30 days.

Can your Test Cases be Automated using QTP?

In this section, we’ll see what sort of applications / test cases can’t be automated using QTP:

  • Does QTP support the technology used to build your application? Now this is the first thing that needs to be checked. There are certain programming languages such as C++ that are not supported by QTP. Hence if yours is a C++ application then QTP is not for you.
  • Do your Test Cases require Manual Intervention? Consider an end to end order creation test case where once the order request is placed, manual intervention is needed to help flow the order from one system to another. Its always better not to automate such cases.
  • Does your Test Case needs to be checked in multiple Browsers? There are many browsers such as Chrome, Netscape,  Safari etc that are not supported by QTP. Hence if you want to check your test cases in any of these browsers, QTP wouldn’t be of any help to you.
  • Some things just can’t be fully automated. Consider a scenario where you need to place an order and verify that an sms is sent to the concerned person. Such test cases can’t be automated completely. Though it can definitely be argued that the scenario can be partially automated.

Is it Worth Automating? The Return On Investment (ROI) Perspective

Now, there would be many cases where you’d have some test cases to automate but it would really not make any sense to automate them. In this section, we’ll discuss some of those scenarios.

  • Test Cases that need to be executed once or twice. Imagine that you have some test cases that you need to execute only once or twice. There’s really no point in spending few hours to automate some test case(s) that you would running once or twice only, that too when total execution time of all the runs is lesser than the time taken to automate those test cases. Ideally greater the number of runs of your automated scripts, better is the ROI.
  • Does your application undergo frequent changes? Now if the application that you are planning to automate undergoes frequent changes, then most of your time would be spent on maintenance of the scripts. Ideally, such applications should not be considered for automation. Lesser the changes needed in your application, lesser is the effort required for test case maintenance and hence greater is the ROI.
  • Do It Now testing. Suppose that at this moment you get a list of test cases that need to be checked as soon as possible. In this situation, the primary goal is to finish the testing as soon as possible rather than spending a couple of hours to automate the scenarios. Hence automation is generally a No for such scenarios.
  • Ad-hoc testing. If you have any test cases that need to be checked in an ad-hoc manner, without any proper plan or test case flow, then it is always better to keep them out of the automation scope.

Now this is definitely not an exhaustive list that covers all the points that should be kept in mind while deciding to go for automation using QTP. If you have any other points to add, please use the comments section to let us know about the same. Happy Reading .. ::-))

Automation Testing

In software testing, test automation is the use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes.Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or add additional testing that would be difficult to perform manually.

Overview

Some software testing tasks, such as extensive low-level interface regression testing, can be laborious and time consuming to do manually. In addition, a manual approach might not always be effective in finding certain classes of defects. Test automation offers a possibility to perform these types of testing effectively. Once automated tests have been developed, they can be run quickly and repeatedly. Many times, this can be a cost-effective method for regression testing of software products that have a long maintenance life. Even minor patches over the lifetime of the application can cause existing features to break which were working at an earlier point in time.

There are many approaches to test automation, however below are the general approaches used widely:

  • Code-driven testing. The public (usually) interfaces to classes, modules or libraries are tested with a variety of input arguments to validate that the results that are returned are correct.
  • Graphical user interface testing. A testing framework generates user interface events such as keystrokes and mouse clicks, and observes the changes that result in the user interface, to validate that the observable behavior of the program is correct.
  • API driven testing. A testing framework that uses a programming interface to the application to validate the behaviour under test. Typically API driven testing bypasses application user interface altogether.

Test automation tools can be expensive, and are usually employed in combination with manual testing. Test automation can be made cost-effective in the long term, especially when used repeatedly in regression testing.

In automated testing the Test Engineer or Software quality assurance person must have software coding ability, since the test cases are written in the form of source code which, when run, produce output according to the assertions that are a part of it.

One way to generate test cases automatically is model-based testing through use of a model of the system for test case generation, but research continues into a variety of alternative methodologies for doing so. In some cases, the model-based approach enables non-technical users to create automated business test cases in plain English so that no programming of any kind is needed in order to configure them for multiple operating systems, browsers, and smart devices.

What to automate, when to automate, or even whether one really needs automation are crucial decisions which the testing (or development) team must make. Selecting the correct features of the product for automation largely determines the success of the automation. Automating unstable features or features that are undergoing changes should be avoided.

Code-driven testing

A growing trend in software development is the use of testing frameworks such as the xUnit frameworks (for example, JUnit and NUnit) that allow the execution of unit tests to determine whether various sections of the code are acting as expected under various circumstances. Test cases describe tests that need to be run on the program to verify that the program runs as expected.

Code driven test automation is a key feature of agile software development, where it is known as test-driven development (TDD). Unit tests are written to define the functionality before the code is written. However, these unit tests evolve and are extended as coding progresses, issues are discovered and the code is subjected to refactoring .Only when all the tests for all the demanded features pass is the code considered complete. Proponents argue that it produces software that is both more reliable and less costly than code that is tested by manual exploration.It is considered more reliable because the code coverage is better, and because it is run constantly during development rather than once at the end of a waterfall development cycle . The developer discovers defects immediately upon making a change, when it is least expensive to fix. Finally, code refactoring is safer; transforming the code into a simpler form with less code duplication, but equivalent behavior, is much less likely to introduce new defects.

Graphical User Interface (GUI) testing

Many test automation tools provide record and playback features that allow users to interactively record user actions and replay them back any number of times, comparing actual results to those expected. The advantage of this approach is that it requires little or no software development. This approach can be applied to any application that has a graphical user interface. However, reliance on these features poses major reliability and maintainability problems. Relabelling a button or moving it to another part of the window may require the test to be re-recorded. Record and playback also often adds irrelevant activities or incorrectly records some activities.

A variation on this type of tool is for testing of web sites. Here, the “interface” is the web page. This type of tool also requires little or no software development.However, such a framework utilizes entirely different techniques because it is reading HTML instead of observing window events.

Another variation is scriptless test automation that does not use record and playback, but instead builds a model of the Application Under Test (AUT) and then enables the tester to create test cases by simply editing in test parameters and conditions. This requires no scripting skills, but has all the power and flexibility of a scripted approach.Test-case maintenance seems to be easy, as there is no code to maintain and as the AUT changes the software objects can simply be re-learned or added. It can be applied to any GUI-based software application.The problem is the model of the AUT is actually implemented using test scripts, which have to be constantly maintained whenever there’s change to the AUT.

API driven testing

API driven testing is also being widely used by software testers as it’s becoming tricky to create and maintain GUI-based automation testing.

Programmers or testers write scripts using a programming or scripting language that calls interface exposed by the application under test. These interfaces are custom built or commonly available interfaces like COM, HTTP, command line interface. The test scripts created are executed using an automation framework or a programming language to compare test results with expected behaviour of the application.

What to test

Testing tools can help automate tasks such as product installation, test data creation, GUI interaction, problem detection (consider parsing or polling agents equipped with oracles[further explanation needed]), defect logging, etc., without necessarily automating tests in an end-to-end fashion.

One must keep satisfying popular requirements when thinking of test automation:

  • Platform and OS independence
  • Data driven capability (Input Data, Output Data, Metadata)
  • Customizable Reporting (DB Data Base Access, Crystal Reports)
  • Easy debugging and logging
  • Version control friendly – minimal binary files
  • Extensible & Customizable (Open APIs to be able to integrate with other tools)
  • Common Driver (For example, in the Java development ecosystem, that means Ant or Maven and the popular IDEs). This enables tests to integrate with the developers’ workflows.
  • Support unattended test runs for integration with build processes and batch runs. Continuous integration servers require this.
  • Email Notifications like bounce messages
  • Support distributed execution environment (distributed test bed)
  • Distributed application support (distributed SUT)

Framework approach in automation

A test automation framework is an integrated system that sets the rules of automation of a specific product. This system integrates the function libraries, test data sources, object details and various reusable modules. These components act as small building blocks which need to be assembled to represent a business process. The framework provides the basis of test automation and simplifies the automation effort.

The main advantage of a framework of assumptions, concepts and tools that provide support for automated software testing is the low cost for maintenance. If there is change to any test case then only the test case file needs to be updated and the driver Script and startup script will remain the same. Ideally, there is no need to update the scripts in case of changes to the application.

Choosing the right framework/scripting technique helps in maintaining lower costs. The costs associated with test scripting are due to development and maintenance efforts. The approach of scripting used during test automation has effect on costs.

Various framework/scripting techniques are generally used:

  1. Linear (procedural code, possibly generated by tools like those that use record and playback)
  2. Structured (uses control structures – typically ‘if-else’, ‘switch’, ‘for’, ‘while’ conditions/ statements)
  3. Data-driven (data is persisted outside of tests in a database, spreadsheet, or other mechanism)
  4. Keyword-driven
  5. Hybrid (two or more of the patterns above are used)
  6. Agile automation framework

The Testing framework is responsible for:

  1. defining the format in which to express expectations
  2. creating a mechanism to hook into or drive the application under test
  3. executing the tests
  4. reporting results

Test automation interface

Test automation interface are platforms that provide a single workspace for incorporating multiple testing tools and frameworks for System/Integration testing of application under test. The goal of Test Automation Interface is to simplify the process of mapping tests to business criteria without coding coming in the way of the process. Test automation interface are expected to improve the efficiency and flexibility of maintaining test scripts.[6]

 220px-Test_Automation_Interface

Test Automation Interface Model

Test Automation Interface consists of the following core modules:

  • Interface Engine
  • Interface Environment
  • Object Repository

Interface engine

Interface engines are built on top of Interface Environment. Interface engine consists of a parser and a test runner. The parser is present to parse the object files coming from the object repository into the test specific scripting language. The test runner executes the test scripts using a test harness.

Interface environment

Interface environment consists of Product/Project Library and Framework Library. Framework Library have modules related with the overall test suite while the Product/Project Library have modules specific to the application under test.

Object repository

Object repositories are a collection of UI/Application object data recorded by the testing tool while exploring the application under test.

Defining boundaries between automation framework and a testing tool

Tools are specifically designed to target some particular test environment, such as Windows and web automation tools, etc. Tools serve as a driving agent for an automation process. However, an automation framework is not a tool to perform a specific task, but rather an infrastructure that provides the solution where different tools can do their job in a unified manner. This provides a common platform for the automation engineer.

There are various types of frameworks. They are categorized on the basis of the automation component they leverage. These are:

  1. Data-driven testing
  2. Modularity-driven testing
  3. Keyword-driven testing
  4. Hybrid testing
  5. Model-based testing
  6. Code driven testing
  7. Behavior driven testing
%d bloggers like this: