Test Virtualization overview

Test Virtualization is software that is used for creating, maintaining, publishing, and running message-based stubs and database stubs.

Components

Test Virtualization comprises several software components. The following table outlines how each of those components is used within Test Virtualization.

Software component Mandatory, optional, or conditional Purpose

HCL DevOps Test Integrations and APIs (Test Integrations and APIs)

Mandatory

This is the primary application for creating stubs. It can be regarded as the design-time environment for stubs. It can also be used for limited deployment of virtual services.

It enables you to:

  • Record events from the system.
  • Create stubs in a variety of ways, including from recorded events, and then executing them.
  • Create data models based on data in recorded messages for groups of stubs to use, facilitating the creation of richer virtual services.

HCL DevOps Test Virtualization Control Panel (Test Virtualization Control Panel)

Mandatory

This application enables you to manage virtual services, agents, and proxies within an environment.

Typically, after a stub has been created, it will be published from Test Integrations and APIs to the Test Virtualization Control Panel. The stub is then stored in a repository on the server. From this repository, each virtual service can be configured, deployed, and managed.

HCL DevOps Test Integrations and APIs Agent (Test Integrations and APIs Agent)

Mandatory

Agents run stubs in the Test Virtualization environment and are deployed on one or more computers within the environment.

Agents act as hosts for virtual services, enabling them to be deployed to different locations across a network.

They are registered with, receive instructions from, and report log data to Test Virtualization Control Panel.

HCL DevOps Test Integrations and APIs (Test Integrations and APIs) proxies

Conditional, depending on your testing requirements

Test Integrations and APIs proxies are required if you want to record:
  • Live HTTP(S)- or TCP-based messages and route those messages automatically to either the live system or to a stub without having to constantly change the configuration of any client or server applications.
  • SQL events and/or stub databases that use JDBC connections.

Test Integrations and APIs proxies are registered with, receive instructions from, and report log data to, the server.

Test Integrations and APIs JDBC proxies are registered with, receive instructions from, and report log data to, the server.

HCL DevOps Test Integrations and APIs (Test Integrations and APIs) Java Virtualization technologies

Conditional, depending on your testing requirements

The Test Integrations and APIs Java virtualization agent enable you to intercept and record Java method calls.

Consider using this technology to virtualize services when middleware technology is unavailable or too expensive to acquire, or when other Test Integrations and APIs virtualization capabilities do not support a particular middleware technology.

Note: The Test Integrations and APIs Java virtualization agent is available with the Test Virtualization Control Panel and it supports Java versions 6, 7, and 8.
Note: Depending on whether Test Virtualization users are recording, or stubbing (virtualizing), or both, the communications among all these components will be slightly different.

Virtualization capability

Test Virtualization virtualization functionality is more granular than that of a Virtual Machine (VM) because Test Virtualization can virtualize an application or database or just part of an application or database.

In contrast, Virtual Machines (VMs):

  • Are designed to virtualize an entire machine.
  • Require licenses for their applications and are usually not maintained by test teams.
  • Are less flexible for testing purposes, whereas a stub in Test Virtualization can be manipulated easily to fit your testing purposes. For example, Service Virtualization enables you to created stubs that can send erroneous data for negative testing of a system under test.