Jump to content

Rational ClearQuest

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 50.168.4.193 (talk) at 23:12, 19 January 2016 (Criticisms: None of the points made in this section were sited and are otherwise based on opinion.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Rational ClearQuest
Developer(s)Rational Software
Stable release
8.0.1.9 / September 16, 2015; 9 years ago (2015-09-16)
TypeWorkflow engine
LicenseProprietary
Websitewww.ibm.com/software/awdtools/clearquest/

Rational ClearQuest is an enterprise level workflow automation tool from the Rational Software division of IBM. Commonly, ClearQuest is configured as a bug tracking system, but it can be configured to act as a CRM tool or to track a complex manufacturing process. It can also implement these functions together. IBM provides a number of predefined "schemas" for common tasks such as software Defect Tracking which can themselves be further customized if required.

Common ClearQuest Terminology

Fields

Elementary receptacle for a datum which is associated with a single Record Type. As a minimum, a field comprises a data type and a name and is analogous to a database column. Supported data types are:

ClearQuest Field data types
Data Type Description
ATTACHMENT_LIST Special field type that allows one or more arbitrary files to be stored.
DATE_TIME Date and time field.
INT Integer.
MULTILINE_STRING Multi-line string stored as a database blob.
REFERENCE Special field type that refers to a single instance of a Record Type (an Entity).
REFERENCE_LIST Special field type that refers to multiple instances of a Record Type (an Entity).
SHORT_STRING Single-line string equivalent to a database varchar.

Hook

A hook is an arbitrary piece of code that can be configured to be executed when a particular event occurs. There are two main types of hooks: Field Hooks and Action Hooks and ClearQuest breaks these down further to allow very fine-grained control over when hook code is run.

Hooks can be used for a variety of tasks such as pre-populating fields, validating Field and Record data, and even creating new Record Types.

On Unix and Linux, hook code must be written in Perl, whereas on Windows it can be written in either Perl or VBScript.

Record Type

Definition of an individual entity. A Record Type encapsulates one or more Fields and is analogous to a database table. Record Types can be either "Stateless" or "State-based" with the latter being able to transition between a defined set of states.

For example, a "Defect" Record Type used to record software bugs may move between states such as "New", "open", "Assigned", "Fixed", "Rejected", "Reopened", "Deferred" and "closed". Note that states do not have to follow a linear progression and very complex transitions are possible.

Schema

A Schema in ClearQuest terminology encapsulates a single workflow including information on states, actions, data structures and hooks. Schemas are versioned in ClearQuest and all versions are stored in a Schema Repository

Schema Repository

A database containing one or more Schemas. The schemas are actually stored as SQL within the tables of the Schema Repository database itself.

Test Database

A database used by administrators to test changes to a production system without impacting the live system. Each Test Database is associated with a version of a Schema.

User Database

A database containing the data entered and queried by users. Each User Database is associated with a version of a Schema.

Architecture

Overview

ClearQuest is a client-server application although note that technically there is no ClearQuest "backend". Rather, the ClearQuest clients utilize an existing database server.

Client

Traditionally, ClearQuest has comprised a fat client and a number of databases existing on a backend RDBMS server to store all captured data. ClearQuest supports various backend databases including Oracle, SQL Server and IBM DB2.

More recently, IBM has introduced a web interface to ClearQuest called "CQWeb" which utilizes an application server to generate the web-based interface. The client then becomes simply a supported web browser, which alleviates the heavy requirements of the full client version. The web version offers all the functionality of the full version except for the ability to create reports.

As of version 7, ClearQuest ships with an Eclipse-based client which provides almost the same features as the original Win32 Windows ClearQuest client. Charts and complex queries must still be constructed on the Windows client, even if they can be used on the other clients.

Apart from the standard ClearQuest user client, a design tool called ClearQuest Designer is also provided. This allows administrators to configure every aspect of not only the client interface but also the way in which data from specific widgets in the client are captured in the backend database. The ClearQuest Designer is currently only available for Microsoft Windows.

All clients talk to the backend databases via ODBC.

Clients are available for Microsoft Windows, Linux, AIX, HP-UX and Solaris operating systems.

Databases

A standard ClearQuest installation contains a minimum of three databases:

Schema Repository

Contains a complete description of the process(es) being modelled

User Database

"Main" database containing the data entered and queried by users. This must be tagged as a "production database" to ClearQuest.

Test Database

Database tagged as a "test database" and can be thought of as being logically paired with a production User database; commonly, the User and Test databases will be associated with the same Schema, but with different versions of that schema. If the production User Database is associated with version "x" of a particular Schema and the administrators are working on new functionality which they intend to roll out to the production User Database, the Test Database may be associated with Schema version "x+1" (or higher).

Customization

Full customization of the client interface and even the manner in which actual data is stored are possible using the ClearQuest Designer which provides a drag-and-drop interface for laying out the client data input Forms.

The designer allows administrators to create and modify Record Types, Fields, Lists, hook code and scripts in a simple fashion.

Making changes in the ClearQuest Designer modifies a particular version of a Schema (or creates a new version).

Once an administrator is satisfied with their changes, they are able to test them without impacting the live production system by deploying the new Schema version to a Test Database associated with the Schema in question. Once testing is complete, the new Schema version can be applied to the production User Database such that all users will have access to the new schema. Note that the ClearQuest Designer performs a number of checks on the changes made by the administrator to ensure that the constraints have not been violated. This minimizes the chance that erroneous changes will be "rolled-out" to general ClearQuest users.

ClearQuest 7.1 introduces the ability within the designer to "diff" two arbitrary versions of a particular schema to allow the administrator to see easily what changes have been made.

Reporting

ClearQuest places heavy emphasis on reports, allowing users and administrators to define their own reports and charts (called Personal Queries) or shared reports and charts (called Public Queries). The ClearQuest client provides a simple interface to allow even new users to create useful reports with the minimum of effort. Additionally, since ClearQuest stores all its data in an RDBMS, the client can be used to create arbitrarily complex SQL queries which can again be made available to other users.

Administration

Aside from the ClearQuest Designer, ClearQuest also provides a full API to allow programmatic access to ClearQuest. Like the hook code, this API is via Perl on Unix and Linux and either Perl or VBScript on Windows. Rather than providing a Perl module for an existing Perl installation, IBM includes their own version of Perl with ClearQuest (called "cqperl", now deprecated in favour of "ratlperl") to allow administrative access to the "CQPerlExt" module.

Additionally, a number of command-line tools are provided to aid administrators, such as "pdsql" which is an ODBC SQL client allowing various actions to be taken on the backend database along with the execution of arbitrary SQL code. Another important example is "cqload" which provides a number of facilities including the ability to import and export schema versions.

Integration

ClearQuest is designed to be used with other Rational Software testing tools, such as IBM Rational Performance Tester, IBM Rational Functional Tester and IBM Rational Manual Tester. ClearQuest also provides a robust environment for software quality assurance.

Using the Rational ClearQuest Bridge in IBM Rational Team Concert, you can work with your ClearQuest records in an agile development environment.

The tool can also be linked to Microsoft Project to create ordered steps for resources assigned to specific goals.

ClearQuest also integrates well with IBM Rational ClearCase/UCM revision control system. This allows to correlate source code sets or activities with ClearQuest records (i.e. bugs), simplifying some aspects of bug tracking and source code management.

IBM sells a supplementary product called ClearQuest MultiSite to allow ClearQuest databases to be synchronized, for example between two or more company offices potentially located in different countries.

ClearQuest can be configured to perform user authentication utilizing LDAP.

Licensing

ClearQuest uses FlexLM for licensing; each user who logs into ClearQuest must be able to obtain a FlexLM license from the available pool, or they will be denied access to ClearQuest.

Note that no licenses are consumed by programs and scripts utilizing the ClearQuest API. The rationale behind this decision being that programs run by administrators against their installation must not fail due to insufficient licenses.