Professional OPC
Development Tools

logos

Have you ever seen something like this, when connecting to an OPC server?

opcda://TEST-OPC/Kepware.KEPServerEX.V5/{B3AF0BF6-4C0C-4804-A122-6F3B160F4397}

It looks like an URL. But, is it an URL? In this case, you might guess that it refers to an OPC Data Access server, and that the TEST-OPC is the name of the computer, "KEPServerEX.V5" is the OPC server's ProgID, and {B3AF0BF6-4C0C-4804-A122-6F3B160F4397} is its CLSID.

For long time, we have been performing automated tests of our OPC client libraries. This is basically a combination of unit tests and integration tests, and we have developed these tests along with the products themselves.

This year (2013), however, we have been been going through the OPC compliance certification procedures for OPC Unified Architecture (OPC-UA) with our QuickOPC product, and a new area of tests has emerged. The OPC Foundation provides a Compliance Test Tool (CTT) that allows testing of both OPC servers and clients. It is a script-based engine and GUI. For client testing, the original design of the CTT assumed that the tester would manually enable certain scripts in the CTT (such as for error injection), then run the sequence of operation in the client, and observe and evaluate the results (both in the client and in the CTT) to see if everything went as expected.

This process gets VERY tedious over the time. Consider the facts that there are hundreds of tests in the basic CTT suite, that they are (at least sometimes) quite complicated to set up, and that the whole testing process needs to be repeated over and over, for regression testing. It seems that nobody has really gone through this for the OPC client testing so far. In fact the CTT test script themselves are not yet finished, and we have contributed multiple improvements and bug fixes to the OPC Foundation during our work. Even with the corrected scripts, it was not feasible to perform this kind of testing manually. We have therefore suggested a handful of changes to the CTT tool (engine) itself, and OPC Foundation has implemented them, with us being the reviewer.