Thursday, February 17, 2011

What is OTA? How to use OTA API? What all are possible with OTA API?

Quality Centre is a HP product, well before was HP it was owned by Mercury. Well this product is basically used by QA Organization with in a company as a Test Management Tool. Most of the organizations use this. However there could be a scenario where a particular project requires to use some other tool to log defects/ bugs. For ex: a project running in an Agile development environment that may use BugZilla for example, so development using 1 tool and QA using its organization specific QualityCentre may not be possible or in other words its hell a lot of work to enter bugs in to both the tools & keep them in sync as the project goes along.

To handle those scenarios QualityCentre comes with an API that a project can use to sync up other tools with QualityCentre. This API is called Open Test Architecture (OTA). You may notice QuickTest Professional and Quality Centre also uses this API to speak to each other. Another example is, people exporting bulk tests/  defects/ requirements in to QualityCentre from excel. This process also uses OTA in the background. However for this API the entry point is TDconnect.exe. You can download this exe file from internet by google'ing for it. Once you install this you will have the flexibility to use this in Excel or use the references/ API's in any other programming languages.

This way user can directly play with the database that the Quality Centre is running on without opening the GUI for it. You can literally perform every function that you can perform by logging on to its console, like
  • Logging in to QC
  • Find specific details about a Defect/ Requirement/ Test/ TestSet
  • Filtering Tests/ defects/ Requirements etc
  • Perform CRUD operations on Requirements/Tests/ TestSets/ Runs/ Defects etc
  • Also create links between Requirements > Tests, Tests > TestSets, TestSets > Defects and so on
You name it, you got it. Everything that you can manually on Quality Centre can also be done programatically using this API.

In order to perform most of the above mentioned stuff you would need to know the database structure/ schema so you know which table, which column to hit to get a value associated with a particular field in QC. Database schema is all open for everyone to know and is available on-line as well.

If you have Quality Centre installed on your machine, you can find the OTA reference guide, OTA database guide, and OTA custom type help files in your help folder. Alternatively, you can hit Help and then go to documentation page where you should get all this documentation ready available for you to either reference or download. In these help files you should see a good set of examples for each and every class module that we can use. an Example code to connect to QC is found as below:


Reference: OTA COM 9.0 Type Library

Note: You can find a list of open source tools that're currently available by searching for them on the internet. I found this link on the net http://www.software-pointers.com/en-defecttracking-opensource-tools.html