I recently bought a Super OBD device (I'm a bit of a sucker for gadgets) which plugs into the OnBoardDiagnostic socket on a car. (All cars after 1996 should have this fitted.)
The idea is you put an App on your phone which connects to your gizmo and then displays errors codes and a whole rook of info.
As you can see below there were no error codes (apparently this thing will decode the code and display the fault) and I thought: 'Shall I put an error on the engine to test it ?' (yank out a wire or something) and then I thought: 'Are you out of your tiny mind ?' and moved on.
Shown are a few of the displays available.
In terms of diagnostics I can't really test it without zonking something, and that seems like shooting yourself in the foot.