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:

  1. 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?
  2. 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.
  3. 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).
  4. 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.
  5. 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?

1 Answer 1


I read the link that Respawned Fluff posted, along with talking to some of our board vendors. However, if anyone has some real world experience I would be glad to hear it.

  1. The code is mostly autogenerated from the PCB design files, and then manually tweaked. It seems like it is test-machine dependent.
  2. The PCB/PCA manufacturer writes the code to work on their machine. It is the design engineers responsibility, however, to make sure that ICT is possible.
  3. ICT is only used for low-level testing of groups/individual components. Functional testing should be performed afterwards on a custom test fixture.
  4. Making the bed-of-nails fixture is expensive, so ICT tends to be used for large volume production. There is another type of ICT (flying-lead) which uses an automated probe to move around the board. The flying lead can be used for lower volume production, but takes more time to run the tests.
  5. Bed-of-nails doesn't work for high-density boards with BGA-type parts--unless you make special pads where spring-loaded pins can go. Flying-lead has an easier time with small parts, but even that sometimes doesn't work. In that case, use boundary-scan type things or make other testing arrangements.
  • 1
    \$\begingroup\$ This is more or less my experience working/consulting with board vendors. Before ICT is implemented, the board house will run a Design for Test analysis and give you an estimate of maximum coverage and what nets would not be covered, then you redesign (if you want) and write a large check for them to make the jig. \$\endgroup\$
    – crasic
    Nov 19, 2015 at 17:26
  • 2
    \$\begingroup\$ Additionally, ICT can be fully comprehensive, meaning you can use ICT to load functional test software (say through JTAG) and it can replace the majority of what a seperate custom functional test station would do. \$\endgroup\$
    – crasic
    Nov 19, 2015 at 17:28

Not the answer you're looking for? Browse other questions tagged or ask your own question.