Compliance Test Tool (CTT)
The OPC UA Compliance Test Tool (UACTT) is the OPC Foundation's official conformance tester. It is script-driven per conformance unit, exercises every Facet a server claims in ServerProfileArray, and produces a pass, fail or warn report. It is used both for vendor self-testing and as the basis of test-lab certification of a product.
What it does
The tool connects as a client and drives a scripted suite organised by conformance unit, checking not only that a service returns something but that it returns the specified StatusCode for bad inputs, honours limits, and behaves correctly at boundaries. Output is a structured report with a verdict per conformance unit. That report, not a demo, is what a serious buyer should ask to see.
Your claimed facets select the test suite
The tool tests what you claim. Whatever profile and facet URIs sit in ServerProfileArray determine which scripts run, which is why over-claiming there translates directly into failures here. Run the tool against your honest short list first, then add one facet at a time.
How the open stacks use it
Both major open-source stacks gate releases on it. open62541's release criteria include zero errors reported by the Compliance Test Tool for the supported features, and it runs those tests under Valgrind, Dr. Memory and AddressSanitizer to catch memory faults that only appear under conformance load. UA-.NETStandard ships a dedicated Ctt.ReferenceServer.Config.xml selected with a --ctt flag, so the reference server can be started in the configuration the tool expects.
Getting hold of it
The tool is hosted on the OPC Foundation developer-tools site and distribution is restricted to members. If you are not a member, the practical substitutes are a lab engagement, an interoperability workshop, and disciplined negative testing of your own: feed every service bad NodeIds, out-of-range IndexRanges, oversized requests and expired continuation points, and check the StatusCode you return against the specification.
Example
Shape of a conformance report - verdicts are per conformance unit
Conformance unit Result Notes
--------------------------------------- -------- ---------------------------
Address Space Base PASS
Attribute Read - IndexRange PASS
Subscription Base - Publish PASS
Subscription - Deadband Percent FAIL EURange missing on 3 nodes
History Read Raw - Continuation Points WARN GoodMoreData not returned
Method Call - Argument Validation FAIL BadInvalidArgument expected
Start the .NET reference server in the expected configuration:
dotnet run --project Applications/ConsoleReferenceServer -- --ctt
Defined in: Part 7 - Profiles defines what is tested. The tool itself is an OPC Foundation product, not part of IEC 62541.
Last verified 7 September 2026 against OPC UA 1.05.07. OPC UA Connect is an educational resource and is not affiliated with the OPC Foundation.