Exploring QC customization (HP ALM / QC)

Posted by Albert Gareev on May 05, 2015 | Categories: HP ALM / QC

This is a technical entry with my research-and-experiment notes. Feel free to add or argue. Try at your own risk.

..And here it is – HP ALM version 12. Test Director (TD) became Quality Center (QC) which is now rebranded as Application Lifecycle Management.
The main positive thing I notice immediately – it’s not painfully slow anymore. The UI also became more intuitive.

As I quickly discovered, the default project setup would probably fit some dated Waterfall model. So customization is certainly needed.

Areas of customization

Entities. Just a “defect” is not enough, while we have such issues as “System Problem”, “Enhancement”, “Configuration Problem”, and so forth. The big chunk of work is to define new “root” type as issue, and custom fields for issues.

Workflow. “Lifecycle” of issues and “permissions” (as well as definitions of roles) also must be defined. Which includes writing and debugging workflow scripts (that’s the way you customize with QC). Custom scripts must handle desired defaulting and auto-population of fields, but also visibility and access to fields.

Reports. If you add custom fields for reporting purposes, then you of course need to create custom reports utilizing those fields. Which may again require VB and SQL scripting.

Tiers of customization

As I’ve identified, 3 ‘tiers’ are accessible for customization

  • DB level. You can change DB schema and contents by executing SQL queries from QC Site Admin. But beware to screw up.
    • Changes on this level typically apply to all projects.
    • Most likely, they will not be forward compatible – when you update or upgrade in the future, your customization might be overwritten. So plan carefully, make a back up, and keep records of what/how was changed at DB level.
    • Some changes are only available at this level.
      • insert into DATACONST values (‘REPLACE_TITLE’, ‘Defect;Issue;Defects;Issues’) is how I ‘converted’ root artifact from “defect” type to “issue” type.
  • Template Project. You can change ‘root’ project entity – and all linked ‘child’ projects will be auto-updated where applicable and where possible. Since much of customization is done through real-time execution of your custom VBScript, OOP concept of inheritance is in effect.
  • Particular Project. You can just customize your own project without affecting other ones. You can customize on top of ‘parent’ Template Project.

Customization Project

As customization involves numerous data changes in multiple levels AND writing / debugging custom VBScript, the customization becomes as project by itself. I foresee that as “iterative implementation”.


  • Define abstract logic for the state and/or state transition
  • Document logic
  • (Where applicable) Define / modify roles and permissions
  • (Where applicable) Add / modify fields
  • Implement VBScript
  • Test VBScript
  • Apply script to project
  • Test the workflow


  • Define and document the field
  • Customize issue by adding / modifying the field, including defaults, look ups, and verification rules
  • (Where applicable) Implement / modify VBScript
  • (Where applicable) Test VBScript
  • Apply script to project
  • Test the workflow, including use of the field
  • (Where applicable) Update and test the reports


  • Define report metrics and document the formulas and rules
  • Sketch the report
  • (Where applicable) Add / modify fields
  • (Where applicable) Implement / modify VBScript
  • (Where applicable) Define / modify roles and permissions
  • Create Report Template
  • Prepare data for testing of the report
  • Test the report


  • One response to "Exploring QC customization (HP ALM / QC)"

  • Rekha
    14th June 2016 at 0:43

    The users would like to customize the subject line of the automails being sent.

    Example format:
    :Defect id :Summary

    Can you please let me know how to do it in ALM 11 ?

    Also if we upgrade this ALM to 12.20 would all the customization’s still be present ?


    [ Albert replies:
    Hi, Rekha – I’m currently working with a system other than ALM, so you might want to experiment yourself to address the 1st question. As for the 2nd – only HP knows. I’ve seen things going either way after upgrades.
    Good luck! ]

  • Leave a Reply

    * Required
    ** Your Email is never shared

Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported
This work by Albert Gareev is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported.