Software configuration management

You can use the ClearCase® or Engineering Workflow Management integration with Rational® 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 Rational® Functional Tester interface. This integration simplifies the use and adoption of software configuration management.

Note: Use 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 Engineering Workflow Management integration for versioning test assets is specialized and cannot be duplicated with other tools. For this reason, some ClearCase operations cannot be performed outside Rational® Functional Tester.

When you use Rational® Functional Tester, the ClearCase or Engineering Workflow Management operations appear to be very simple. But a lot is going on behind the scenes. A Functional Test script is a collection of files. The complexity of treating several files as a single entity is hidden because all actions in the product 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 Rational® Functional Tester integration with ClearCase provides all the basic software configuration management features and hides the complexity of the Rational® Functional Tester test asset structure.

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

Rational® 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. Rational® Functional Tester does not work in views that are part of multistream UCM projects.

Note: Rational® Functional Tester uses its own integrated Team provider. It does not support using the SCM integration adapter directly with Functional Test 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.

  • You can create a project in your workspace, share the project to place the project under Jazz source control.
  • Check-in your changes to the repository workspace.
  • Deliver the changes to the stream from the repository workspace so that the changes are available to all members of the team.
  • You can accept a team invitation, or create a new repository workspace from one of the streams of the team.

Functional test assets

A typical Rational® Functional Tester test script object includes these files:

  • Script file ( scriptname.java for Rational® Functional Tester, Eclipse Integration, or scriptname.vb for Rational® Functional Tester, Microsoft Visual Studio .NET Integration)

This file is created through recording.

  • Script helper file ( scriptname ScriptHelper.java for Rational® Functional Tester, Java Scripting, or scriptname ScriptHelper.vb for Rational® Functional Tester, VB.NET Scripting)

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

  • Shared test object map file ( kadov_tag{{<ignored>}}filename.rftmap kadov_tag{{</ignored>}}) or private test object map file (scriptname.rftxmap )

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.

  • Verification Point file ( verificationpointname .rftvp )

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

  • Script Definition file (scriptname.rftdef )

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.

  • Public Test dataset ( filename.rftdp ) or Private Test dataset ( scriptname.rftxdp )

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