I'm trying to find some information about the basics of ICT (In Circuit Testing) but having trouble finding anything useful. From the few things I managed to find, I gather that an ICT tester is a machine that can inject power and signals, then read back voltages and currents. It looks like it usually does this through a bed of nails so that it can inject signals into any node it wants.
The part I'm having trouble with is finding answers to these questions:
- I am guessing that there has to be some "code" written with which defines expected values, which test nodes to look at, sequence of signals, etc. What kind of language is this code written in? Is it a manufacturer specific language or some kind of industry standard?
- In a typical workplace, whose responsibility is it to write this test code? Is this something that the design engineer would typically write, or something that an assembly house does.
- Does ICT do functional testing or is it usually limited to low level things (like checking if the IC is actually an opamp, or making sure a resistor is within tolerance).
- Is this typically used only for high volume boards, or is it used in low quantities as well? I'm guessing the bed of nails isn't cheap.
- I couldn't expect that a bed of nails would work too well on modern, high-density PCAs. Do these kind of boards need to be designed with ICT in mind and have test pads placed all around?