Testing Services

UDS Testing Guide - All 22 ISO 14229 Services Automated

What UDS testing is, every ISO 14229 service explained, and how to automate session management, security access, DID validation, fault memory, and flash programming.

UDS testing guide ISO 14229

WHAT IS UDS TESTING?

UDS (Unified Diagnostic Services) testing is the automated validation of ISO 14229-compliant diagnostic communication between a tester and an ECU - verifying that the ECU correctly handles diagnostic service requests, responds with correct PDUs, and manages session states, security access, and timing within specification.

UDS (ISO 14229) defines 22 diagnostic services used by every automotive OEM and Tier-1 supplier: session management, DID read/write, fault memory operations, ECU reset, security access, routine control, communication control, software download, and more. Every ECU in a modern vehicle implements a subset of these services - testing that implementation is the purpose of UDS testing.

Why UDS testing is critical: Incorrect UDS implementation blocks field diagnosis, prevents software updates, fails ISO 26262 validation evidence requirements, and can trigger regulatory non-compliance for OBD2-connected vehicles. A 22-block UDS test suite run overnight catches these defects before the ECU reaches a vehicle integration lab.

THE 22 UDS SERVICES

All ISO 14229 Services - Testable With TestBot

TestBot's UDS Client Agent implements all 22 services. Each is a configurable test block.

Service IDService NameWhat It Tests
0x10DiagnosticSessionControlTransition between Default, Extended, and Programming sessions; session timeout behaviour
0x11ECUResetHard reset, soft reset, key-off-on - ECU restart behaviour and recovery time
0x14ClearDiagnosticInformationDTC memory clear, confirmation response, post-clear behaviour
0x19ReadDTCInformationDTC read by status mask, by record number, snapshot data - fault memory content validation
0x22ReadDataByIdentifierDID value read, scaling, offset, multi-DID batching
0x23ReadMemoryByAddressRaw memory read at specified address and length
0x24ReadScalingDataByIdentifierDID scaling data - units, formula, display range
0x27SecurityAccessSeed/key exchange, algorithm validation, attempt counter, lockout behaviour
0x28CommunicationControlEnable/disable TX/RX, network management message control
0x2AReadDataByPeriodicIdentifierPeriodic DID scheduling, rate validation
0x2CDynamicallyDefineDataIdentifierDynamic DID composition from DIDs and memory addresses
0x2EWriteDataByIdentifierDID write, range validation, write-protected DID rejection
0x2FInputOutputControlByIdentifierIO control activation, return-to-normal, input substitution
0x31RoutineControlStart/stop/result for diagnostic routines - flash erase, checksum verification
0x34RequestDownloadFlash download initiation - address, length, compression method
0x35RequestUploadECU data upload initiation
0x36TransferDataChunk-by-chunk data transfer, block sequence counter validation
0x37RequestTransferExitTransfer completion, final checksum
0x38RequestFileTransferFile-based transfer for applicable ECUs
0x3DWriteMemoryByAddressRaw memory write at specified address
0x3ETesterPresentKeep-alive during long operations - session timeout prevention
0x85ControlDTCSettingEnable/disable DTC storage - used during calibration and parameter write sequences

TESTBOT UDS AGENTS

Agent
CAN / CAN FD Agent
Hardware Required
CAN Adapter (CAN FD capable)
Hardware Required
Send and receive CAN 2.0A/B and CAN FD frames using DBC definitions - validate signals, message timing, bus load, and error injection.
Agent
UDS Client Agent
Hardware Required
CAN Adapter (CAN FD capable)
Hardware Required
Run automated UDS diagnostic sessions across all 22 ISO 14229 services - session management, DID read/write, fault memory, flash programming, and security access.
Agent
UDS Server Agent
Hardware Required
CAN Adapter (CAN FD capable)
Hardware Required
Simulate an ECU responding to UDS diagnostic requests - test the tester tool, validate diagnostic sequences from the server side.
Agent
OBD2 Client Agent
Hardware Required
CAN Adapter (CAN FD capable)
Hardware Required
Query OBD-II PIDs, read live sensor data, and validate emissions-related diagnostic services over CAN.
Agent
OBD2 Server Agent
Hardware Required
CAN Adapter (CAN FD capable)
Hardware Required
Simulate an OBD-II-compliant ECU - test diagnostic scan tools and aftermarket testers against a controlled virtual vehicle.
Agent
J1939 Client Agent
Hardware Required
CAN Adapter (CAN FD capable)
Hardware Required
Transmit and receive SAE J1939 PGNs for commercial vehicle ECU validation - trucks, buses, construction, and agricultural equipment.
Agent
J1939 Server Agent
Hardware Required
CAN Adapter (CAN FD capable)
Hardware Required
Simulate a J1939 node on the vehicle bus - test fleet management systems, telematics gateways, and body controllers.
Agent
XCP Server Agent (CAN)
Hardware Required
CAN Adapter (CAN FD capable)
Hardware Required
Simulate an XCP slave over CAN for calibration and measurement workflows - enable ECU parameter write and DAQ list recording in test sequences.
TEST SCENARIOS

UDS Test Scenarios With TestBot

ScenarioUDS Services UsedValidated Outcome
ECU Startup Diagnostic Check0x10 (Default Session) + 0x19 (ReadDTC)No unexpected DTCs after cold start, all required DIDs readable
Security Access Sequence0x27 (SecurityAccess) + Seed/Key AlgorithmSeed received, key computed correctly, Extended session granted
Flash Programming Cycle0x10 (Programming Session) + 0x27 + 0x31 (Erase) + 0x34-0x37All blocks written, CRC verified, ECU boots correctly post-flash
Fault Injection + DTC ReadI/O Module fault injection + 0x19 (ReadDTC) + 0x14 (ClearDTC)Correct DTC stored with freeze frame, cleared correctly, no ghost DTCs
DID Write Validation0x10 (Extended Session) + 0x27 + 0x2E (WriteDID)All writable DIDs accept valid values, reject out-of-range, honour write-protection
Communication Control0x28 (CommControl) + CAN MonitorTX suppressed on command, RX unaffected, NM messages handled correctly

Frequently Asked Questions - UDS Testing

UDS testing FAQ

UDS testing is the automated validation of ISO 14229 Unified Diagnostic Services communication between a tester and an ECU. It verifies that the ECU correctly handles all implemented diagnostic service requests - session management, DID read/write, fault memory operations, security access, routine control, and flash programming - and responds with correct PDUs within timing specification.

Continue Learning

RELATED GUIDES

Automate Your UDS Diagnostic Test Suite

All 22 ISO 14229 services. Drag-and-drop or Python. 14-day free trial.