top of page

Your Ultimate Guide to Open Test Architecture


In the ever-evolving landscape of software testing, efficiency and accuracy are paramount. Open Test Architecture (OTA) serves as a cornerstone for automating and managing test processes within ALM/QC environments. This guide will walk you through the intricacies of OTA, from updating test plan fields to managing test sets, ensuring you have the tools to streamline your testing procedures.

What is Open Test Architecture (OTA)?

OTA image

Open Test Architecture (OTA) is a powerful API provided by HP's Application Lifecycle Management (ALM) and Quality Center (QC) solutions. OTA allows testers and developers to interact programmatically with the ALM/QC databases, enabling the automation of various test management tasks. This capability is crucial for enhancing productivity and maintaining consistency across testing efforts.

Understanding OTA: Core Components

API Overview

The OTA API comprises a set of objects and methods that facilitate access to the ALM/QC databases. These objects represent different entities within ALM/QC, such as test plans, test sets, and defects.

Key Objects in OTA

  • TDConnection: Manages connections to the ALM/QC server.

  • TestFactory: Handles operations related to test plans.

  • TestSetFactory: Manages test sets.

  • BugFactory: Manages defect-related operations.

Setting Up OTA: Initial Steps


Before diving into OTA, ensure you have the following:

  • Access to an ALM/QC server.

  • Valid credentials (username and password).

  • Basic knowledge of VBScript or another supported scripting language.

Connecting to ALM/QC

Connecting to ALM/QC using OTA involves initializing a connection object, logging in, and connecting to the desired project. Here's a sample code snippet:


set tdc = createobject("TDApiOle80.TDConnection")

tdc.InitConnectionEx "http://yourURL/qcbin"

tdc.Login "yourName","yourPassword"

tdc.Connect "yourDomain","yourProject"

Updating Test Plan Fields with OTA

Identifying Field Name

To update a test plan field, you need to know its backend name in ALM/QC. You can find this in the Project Customization section under Project Entities.

Sample Code to Update a Test Plan Field

Here's an example of updating the 'Status' field of a test plan:


testPlanID = 6

Set TestList = tdc.TestFactory

Set TestPlanFilter = TestList.Filter

TestPlanFilter.Filter("TS_STATUS") = testPlanID

Set TestPlanList = TestList.NewList("")

Set myTestPlan = TestPlanList.Item(testPlanID)

myTestPlan.Field("TS_STATUS") = "Ready"


Set TestPlanFilter = Nothing

Set myTestPlan = Nothing

Set TestList = Nothing

Set TestPlanFilter = Nothing

Managing Test Sets with OTA

Creating and Updating Test Sets

Managing test sets is another critical function of OTA. You can create, update, and delete test sets programmatically. Here’s a snippet to update all tests in a test set:


Set TestList = tdc.TestFactory

Set TestPlanFilter = TestList.Filter

Set TestPlanList = TestList.NewList("")

For each tpTest in TestPlanList

 Set myTestPlan = TestPlanList.Item(tpTest.ID)

 myTestPlan.Field("TS_STATUS") = "Ready"



Set TestPlanFilter = Nothing

Set myTestPlan = Nothing

Set TestList = Nothing

Set TestPlanFilter = Nothing

Advanced OTA Techniques

Bulk Operations

Performing bulk operations, such as updating multiple test cases or defects, can significantly improve efficiency. Use loops and batch processing to handle large datasets.

Error Handling and Logging

Implement robust error handling and logging mechanisms to ensure smooth operation and easy troubleshooting. Use try-catch blocks and write logs to external files.

Best Practices for Using OTA

Security Considerations

Ensure that your OTA scripts are secure. Avoid hardcoding credentials and use encrypted connections where possible.

Maintaining Code Quality

Maintain clean and well-documented code. Use comments and modular programming techniques to enhance readability and maintainability.


Open Test Architecture (OTA) is an indispensable tool for automating and managing test processes within ALM/QC. By leveraging OTA, you can streamline your testing efforts, improve accuracy, and save valuable time. Whether you're updating test plan fields, managing test sets, or handling defects, OTA provides the flexibility and power needed to enhance your testing workflows.

Key Takeaway:

OTA Overview:
  • OTA is an API provided by HP's ALM/QC for automating test management tasks.

  • It facilitates interaction with ALM/QC databases, enhancing productivity.

Core Components of OTA:
  • API Overview: OTA includes objects like TDConnection, TestFactory, TestSetFactory, and BugFactory.

  • Key Objects: These manage connections, test plans, test sets, and defects programmatically.

Setting Up OTA:
  • Ensure access to ALM/QC server, valid credentials, and basic scripting knowledge.

  • Connect to ALM/QC server using VBScript or compatible languages.

Updating Test Plan Fields:
  • Identify field names in ALM/QC project customization settings.

  • Use OTA scripts to update fields like 'Status' in test plans.

Managing Test Sets:
  • OTA allows creation, update, and deletion of test sets programmatically.

  • Use loops for batch updates to improve efficiency.

Advanced OTA Techniques:
  • Bulk Operations: Perform actions on multiple test cases or defects efficiently.

  • Error Handling: Implement robust error handling and logging for smooth operation.

Best Practices with OTA:
  • Security Considerations: Avoid hardcoding credentials; use encrypted connections.

  • Code Quality: Maintain clean, well-documented scripts for readability and maintainability.


How do I find the backend name of a field in ALM/QC?

Navigate to Tools > Customize in ALM/QC, and look under Project Entities to find the backend names of fields.

Can I update multiple fields simultaneously using OTA?

Yes, you can update multiple fields by setting their values before calling the Post method.

Is it possible to automate defect management using OTA?

Absolutely. OTA allows you to create, update, and manage defects programmatically.

What languages are supported by OTA?

OTA supports several scripting languages, including VBScript, JavaScript, and others compatible with COM objects.

How can I handle large data sets efficiently with OTA?

Use batch processing and loops to handle large datasets efficiently. Implement error handling to manage exceptions.

Is OTA compatible with the latest versions of ALM/QC?

Yes, OTA is designed to be compatible with various versions of ALM/QC, although specific features may vary.

External Article Sources:


bottom of page