Thursday, July 17, 2008

Scripting Customizations in Quality Center

Photo of first computer bugImage via WikipediaHP's or ex-Mercury Interactive's Quality Center is a test management tool. This means it provides a central storage area for test requirements, test cases, test execution records and defects. Great huh? Well it might be but for the fact that testing is meant to identify as many bugs as possible within an application. The problem with all test management tools is that there is a focus on the management aspect with a loss to the target purpose of performing testing. This is a wonderfully general statement.

Today I was asked to look at a customization bug in QC. I sympathize with developers... how can a tester write a bug report without explaining the problem. I actually had input from four different people about the problem and in the end still couldn't tell anyone what the problem was. In the end I looked at the project and tried a few things and my best guess was that the field change rule on a new defect was not being activated while it was being activated on editing a defect.

Having at least found a problem... I then looked at the script. Having helped out before I knew that I was heading into a realm of badly coded hacked together copy-paste nightmares. It may have a VBScript backend but that is no excuse. Today's function was the worst I've seen. The entire block of code under the new defect customization was a copy of the field change customization. Besides the fact that the fields are blank and so changing the some entries to prettier strings is a futile exercise, all the code is hidden within a "one error resume next" block.

Herein lay the problem. The problem I uncovered was another instance of attempting to set a value in a field based on the entry in another field which is blank and has to be on a new defect and so is happily caught by the on field change customization. I caught the error by simply including the error description in a message box. Fixed the error and ran it again and received a different error. This second error was the annoying one. A half hour later with everything in the function commented out and an error reset command prior to the msgbox, I was still getting the error.

My conclusion is that the function customization in QC are not scripted through a clean interface as they trigger an object does not support that function error. So much for knowing whether or not the code has problems.

Zemanta Pixie

No comments: