VERA for ALM, Tosca Server and Project Initialization

Project Creation

When creating a new ALM project, it is important to specify correct information about the Tosca environment so that ALM users can link the correct Tosca Test Cases and Execution Lists to corresponding ALM entities. Specifically, each project is setup to point to a specific Tosca Server (configured as a multi-user environment), and a specific Tosca "Workspace" on that server.
The integration allows for various organizational models for connecting ALM to Tosca. The following model is recommended and works well for a large organization with many business units:

Prerequisites

The Integration requires several items to be in place in order to successfully establish communication and control between the two systems:

  • Tosca is setup in a multi-user environment
  • The Tosca REST API service must be installed & configured
  • A Tosca "lock" group and "unlock" group must be defined in order to control access to Tosca items. The "lock" group must be a group containing only Admin users. The "unlock" group is a group that all Tosca engineers are a member of. This enables "locking" and "unlocking" Tosca items from ALM – i.e. when an item is routed for approval, ALM changes the Tosca "owning group" to the "lock" group.
  • Tosca Integration property fields are configured.
  • One or more Tosca Agent machines are setup with Tosca Commander, Tosca Remote Agent, and the appropriate software required for target testing (i.e. the System/Application under Test).
  • A Tosca-enabled ALM template is configured, with a Tosca Test Type and associated add-in components.

Recommended Enterprise Organizational Model

The following model attributes are recommended:

  • Each business unit has its own Tosca "Repository" (e.g. if using SQL Server, each business unit has its own database).
  • In ALM, each business unit has its own "Domain". Therefore, each ALM Domain contains all of business unit's projects.
  • Each project in a domain is configured to point to a unique Tosca Workspace on the Tosca Server. That Workspace is configured to store all work in the corresponding Tosca Repository, created for that business unit. In other words, create the Workspace to point to the business unit's repository.
  • There is a one-to-one mapping between an ALM Domain and a Tosca Repository.
  • There is a one-to-one mapping between an ALM Project and a defined Workspace on the Tosca Server.
  • Name each Tosca Workspace on the server in the form "<ALMDomain>_<ALMProject>".


The following illustrates a sample organization of ALM Domains/Projects and how they map to Tosca Repositories, via Workspaces on the Tosca Server.

Figure: Sample Project / Workspace Organization
In the diagram above, three ALM Domains are defined. Each Domain has a corresponding Tosca Repository in the Tosca environment. Each ALM project is configured (in the Synchronization Policy file) to access Tosca through a corresponding Workspace, defined on the Tosca Server. The implementation uses the project's Tosca Workspace information, in order to communicate to Tosca, via REST.

High Level Project Creation Steps

  1. Create Tosca Repository, if necessary.
  2. Create Tosca Workspace on the Tosca Server to point to the correct repository.
  3. Create ALM/VERA Project.
  4. Identify elevated Admin level Tosca Account for communicating from ALM to Tosca. Make sure to have the encrypted password to put in the project's Synchronization Policy file.
  5. Update the ALM/VERA project's Synchronization Policy file to fill in information for Server, Workspace, Service Account credentials, and the Tosca Lock/Unlock group names.

Test Execution

A Tosca Remote Agent must be setup to run a test for a specific application. The Remote Agent software communicates with the primary Tosca Server's Distributed Execution service (aka "Dex"). When a Tosca Test Set is executed in ALM/VERA, VERA requests from Dex that a Tosca Execution List is run and to return results to ALM. This is accomplished using Tosca's "CI Client" software, designed to remotely launch tests on command through Dex.

Once a Test Set completes, ALM/VERA runs a report and saves that report to the Test Set. Approvers view the Report to Approve results.