ICT is generally a manufacturing verification test. Coverages vary depending on the board. I've run lots with as low as 25% coverage on the board (but produced 98% FPY post board assembly).
Functional test is exactly what it sounds like. Checking the function of the board.
Neither test should be considered 100%.
ICT designers will typically design fixtures/programs to test 100% of available nets on the board. This does not mean 100% components/circuitry, however, as often times circuit nets are not 100% available. A Test Engineer will then adjust the testing parameters based upon an actual boards. Some items that can mess with ICT testing resulting in tests being disabled are RC circuits, LR circuits, parallel resistors, etc. Active circuits can give variable results which make it near to impossible to get consistently repeatable results, so a Test Engineer will opt to disable those parts of the test.
Every product is different; but the important thing to remember is that just because a product passes in-circuit test, doesn't mean that it will work; or that it will be a correctly built board. ICT is a manufacturing verification test, that is, it verifies placement, shorts/opens, and value of discreet parts. More advanced testers can exercise IC's by passing data-bits through them, and reading the outputs.
I guess I'm saying it's not a catch-all in manufacturing; though, it can be a life-saver when you're running 5000 boards, and find out that there's a wrong value resistor installed on the first 100!
cheers ..rob
reply »