About System Sets and Environment Sets
You can create multiple versions of each environment and system to establish sets of related systems or environments. When creating a new version of an existing system or environment, you can determine:
- Which environments are included in each system version.
- Which components are included in each system and/or environment.
- Whether common components are shared or duplicated across versions.
- Which component instances are available for each environment version.
For instance, you might want to create two versions of a similar test environment: one for functional testing and one for performance testing. You can then configure one version to focus on the components and component instances for functional testing and the other to focus on those for performance testing.Or, you might want to replicate an existing test environment that has all the associated assets (e.g., virtual assets, proxies, provisioning actions) hosted on a different Virtualize server. In this case, you can have CTP automatically transfer the associated assets to the designated server as it replicates the environment.
If you create copies of a system multiple times, a "system set" is created based on the name of the primary system (the one with the "version" variable value set to "1.0"). The members of the set will be grouped within the system tree.
Preventing Conflicts with Duplicate Virtual Assets or Proxies
Each time you create a new version of a system or environment, you’re given the option to either share or duplicate the included components. Sharing reuses the same component with the same configuration across multiple environments. Duplicating enables you to configure and provision multiple copies of the same component (e.g., one copy of a virtual asset set to use performance profile A, another copy of that same asset set to use performance profile B)...without impacting any other team members.
To enable this, a duplicate virtual asset will be deployed at a different endpoint than the original one. When you provision an environment using a duplicate virtual asset, the associated proxy will be automatically reconfigured to use the duplicate virtual asset’s endpoint. As long as the proxy is not also duplicated, there is no change to how the application under test (AUT) accesses the proxy.
If you are able to configure another version of the AUT to access a different message proxy or JDBC controller, you can create a duplicate proxy as well as a duplicate virtual asset. Note that a duplicate proxy will be available at a different endpoint. As a result, you will need to reconfigure the application under test (AUT) to access the new instance of the proxy. Any new copies of virtual assets or proxies will be added to the Virtualize server; if you delete a copy in CTP, it will automatically be cleared from the Virtualize server.
Each time an environment is provisioned, CTP will check for potential conflicts with assets used in other environments. If it finds any, it will display a warning explaining what environments and endpoints could be impacted if you proceed to provision the environment as is.
Copying a System
To create a new copy of an existing system:
- With the system you want to copy a) active, b) in Edit mode, and c) saved, choose Copy from the page-level action menu.
- Complete the dialog that opens to indicate which components and (if applicable) environments you want included in the new version and whether you want them shared:
- Share: Shares/links the component with the other versions. Any changes to this component will be propagated to all related systems and/or environment versions.
- Duplicate: Creates a unique version of this component that is completely separate from the other versions. Any changes to this component will be isolated to this specific version; they will not be propagated to similar components in other system and/or environment versions.
- Ignore: Omits this component.
A new system will be created and added to the home page. After you open that system, you can go into Edit mode to rename it, mark it with a version variable and any applicable tags, and specify permissions for accessing and modifying it. To control how the copied system is labeled in the Systems tree, set a version variable; otherwise, it will be shown as "Version not set."
Copying an Environment
To replicate an existing environment:
- With the environment you want to copy a) active, b) in Edit mode, and c) saved, choose Copy from the page-level action menu.
- Complete the dialog that opens to indicate which components you want included in the new version and whether you want them shared:
- Share: Shares/links the component and its component instances with the other versions. Any changes to this component will be propagated to all related environment versions.
Duplicate: Creates a unique version of this component that is completely separate from the other versions. Component instances will also be duplicated to this version, along with any associated virtual assets or proxies. Changes to the component’s name or description will be seen across all environment versions, but any other changes to this component will be isolated to this specific version; they will not be propagated to similar components in other environment versions.
Ignore: Omits this component.
- If you are duplicating components that use virtual assets, provisioning actions, or proxies—and you want to copy them to a different Virtualize Server, check Copy provisioning actions, virtual assets, and proxies to another Virtualize Server, then specify which server you want them copied to.
- If you are duplicating components that use Parasoft Data Repositories—and you want to copy them to a different Data Repository Server, check Copy data repositories to another server, then specify which Data Repository server you want them copied to.
A new environment will be created and listed in the Versions area of the Environments page.
The new environment will include any environment instances that were in the original environment. You can then go into Edit mode to rename it, mark it with a version variable and any applicable tags, and specify permissions for accessing and modifying it.
Tip—Changing the component instances available in a version
To change what component instances are available for a component in the current environment version:
- Hover over the component, then select Edit Component from the drop-down menu.
- Use the available controls to indicate which instances you want to be available in this version.