Tool · Diagnostics
Compliance Test Tool (UACTT)
| Vendor | OPC Foundation |
|---|---|
| Cost | Members-only distribution |
| Platforms | Confirm current platform support with the OPC Foundation |
| Type | Diagnostics |
The OPC UA Compliance Test Tool, UACTT, is the OPC Foundation's official conformance test harness. It runs scripted tests per conformance unit against a server or client and produces a pass, fail and warning report. It is used both for self-testing and as the basis of test-lab certification, and its distribution is members-only.
What you actually use it for
- Testing your own server or client against the conformance units of the facets you intend to claim, long before a certification lab sees it.
- Deciding what to advertise in ServerProfileArray, by testing each claimed facet rather than guessing.
- Gating releases on conformance, which is what both open62541 and the .NET reference stack do.
- Reading and interpreting a supplier's CTT report during procurement, so a compliance claim can be checked rather than believed.
- Finding the specification behaviour you got subtly wrong in areas no interoperability test would exercise.
Walkthrough
- Establish your access route firstDistribution is members-only. Confirm your organisation's membership status and entitlement before planning a certification timeline, because this is often the longest lead item in the plan.
- Decide which facets you are claimingWrite down the profiles and facets you intend to advertise, and only those. The guidance from the reference stack's own documentation is blunt: only advertise a facet the application genuinely implements, because the CTT will exercise every claimed facet.
- Select the conformance units for those facetsThe tool is script-driven per conformance unit. Select the units that belong to your claimed facets so the run reflects your claim rather than the whole tool.
- Configure the tool against your endpoint and certificatesPoint it at your server's endpoint and give it the certificate and trust configuration it needs. Certificate misconfiguration produces a wall of failures that look like conformance defects and are not.
- Run, then read the report by categoryWork through failures before warnings, and group them by conformance unit rather than by test. A cluster of failures in one unit is usually one implementation defect, not many.
- Reconcile the report with your advertised profilesWhere a claimed facet fails, either fix the implementation or stop advertising the facet. Over-claiming ServerProfileArray is a leading cause of failed certification, and even the reference server's advertised set has been tracked as an open issue rather than treated as automatically correct.
- Put the run in CI, then go to a labBoth major open stacks gate releases on CTT results; open62541's release criteria require zero CTT errors for supported features and it runs those tests under memory checkers. Certification itself happens at an independent test lab, and it is granted to a product version, not to a library.
What it will not do
- Members-only distribution, which puts it out of reach for many integrators and for most individual engineers.
- It tests conformance, not fitness. A fully conformant server can still be useless for your application.
- It is a considerable body of work to configure and interpret; the report is not self-explanatory.
- Passing a self-run CTT is not certification. Certification is a product-level program run at an independent OPC Foundation test lab, and it is tied to a specific product version.
- It exercises the specification, not your machine semantics, so nothing in a CTT pass says anything about a companion specification being usefully implemented.
Alternatives
| Instead of this | When |
|---|---|
| consolereferenceserver | Test your client against reference behaviour, and against the stack's compliance-test configuration, when the CTT itself is out of reach. |
| ua-netstandard-mcp-server | For scripted, repeatable exercising of Part 4 service sets against your server as a poor engineer's regression harness. |
| uaexpert | For manual interoperability checking against the client most of your customers will actually use. |
Verify before you rely on this: Membership tiers and cost, the exact entitlement that includes UACTT, the current supported platforms, and the certification test-lab list, locations, process and pricing are all OPC Foundation matters that change and that this page does not assert. Confirm every one of them with the OPC Foundation directly before you build a certification schedule or budget. Note also that the OPC Foundation certifies products, not people; no CTT result is a personal credential.
Related status codes
Concepts on this page
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.