Software configuration management

You can use the ClearCase® or Rational Team Concert integration with Functional Tester to maintain an auditable and repeatable history of your organization's test assets.


What is software configuration management?

Software configuration management is referred to as source control, change management, and version control.

Software configuration management systems are commonly used in software development groups in which several developers are concurrently working on a common set of files. If two developers change the same file, that file might be overwritten and critical code changes lost. Software configuration management systems are designed to avoid this inherent problem with sharing files in a multiuser environment.

Any software configuration management system creates a central repository to facilitate file sharing. Each file to be shared must be added to the central repository to create the first version of the file. After a file is part of the central repository, users can access and update it, creating new versions.


Benefits of software configuration management

If you have not used a software configuration management system or are not that familiar with the concept, you might wonder whether it is appropriate to use software configuration management on your project. Test automation is a software development effort. Every time a test script is created, whether through recording or coding, a file is generated that contains code. When created, developed, or edited, that code is a valuable test asset.

A team environment presents the risk of losing functioning code or breaking test scripts by overwriting files. A software configuration management system offers a way to overcome this risk. Every time a file changes, a new version is created and the original file is preserved.

For the team that is new to software configuration management, all of the essential features for versioning test scripts are available through the Functional Tester interface. This integration simplifies the use and adoption of software configuration management.

It is recommended that you have a software configuration management like ClearCase or Rational Team Concert if multiple users must access functional test assets in a test team environment.


Software configuration management products

The ClearCase or Rational Team Concert integration for versioning Functional Tester test assets is specialized and cannot be duplicated with other tools. For this reason, some ClearCase operations cannot be performed outside Functional Tester.

When you use Functional Tester, the ClearCase or Rational Team Concert operations appear to be very simple. But a lot is going on behind the scenes. A Functional Tester script is a collection of files. The complexity of treating several files as a single entity is hidden because all actions in the Functional Tester user interface are performed on the script. You do not see the related files anywhere in the user interface. In addition, some software configuration management operations, such as merging, are very complex. There is built-in logic to determine the order in which files are merged, and then different utilities are employed as needed to complete the merge.

ClearCase:

The built-in Functional Tester integration with ClearCase provides all the basic software configuration management features and hides the complexity of the Functional Tester test asset structure.

Also, if a user attempts to perform file operations on Functional Tester files outside the Functional Tester user interface, scripts may become out of sync with their related files and become corrupt or unusable.

Functional Tester works in a ClearCase view enabled for Unified Change Management (UCM) if the view was created as part of a single-stream UCM project. Functional Tester does not work in views that are part of multistream UCM projects.

Functional Tester uses its own integrated Team provider. It does not support using the SCM integration adapter directly with Functional Tester projects.

In ClearCase, a checkout operation creates a local copy of the file in which you can make changes. When you are satisfied with your work, you check in the file to create a new version. The original file version always exists.

One fact of life in a multiuser environment is that many users can check out the same file at the same time. When this happens, a special feature of the software configuration management system called "merge" is available to combine multiple changes to a single file. The first user to check in the file creates the new version. The second user to check in the file must merge her changes into that version. If the software configuration management system can combine the changes, they are merged into a new version of the file. If the changes conflict or cannot be resolved by the software configuration management system, the conflicts must be resolved manually.

Rational Team Concert:

You can use Jazz source control to manage source code, documents, and other artifacts that you want to place under version control and share with a team. Jazz source control is closely integrated with the other application development lifecycle tools included in Rational Team Concert.


Functional test assets

A typical Functional Tester test script object includes these files:

This file is created through recording.

Each script has a script helper file that is generated after recording.

Each script has a map file. The map file can be associated with only one script (*. rftxmap ) or shared among many scripts (*. rftmap ). To prevent users from accidentally selecting a private map name as a shared map, the suffixes are different.

Each script may also contain one or more verification point files. Verification point files are not shared among scripts.

Each script contains a script definition file. The script definition file contains the name of the map file, script name, the names of all of the recognized objects, and other file linkage information.

You can associate a public or private test datapool with a test script. You can associate a public test datapool with one or several test scripts.


Related concepts

Manage functional test projects

ClearCase

Related tasks

Create a functional test project

Sharing a project

Add an element to source control

Checking out an element

Showing checkouts

Editing an element

Checking in an element

Undoing a checkout

Related reference

Functional Test Projects view

Source control icons