Last updated on: April 24, 2024, 3:20 p.m.

PCBA Functional Testing

The Printed Circuit Board Assembly (PCBA) process has multiple types of testing such as AOI, AOX, ICT, Smoke Testing, Black Box Testing, and Regression Testing. Functional Testing (FCT) powers the device and validates expected operations.


This article is part 1 in a series that covers PCBA Functional Testing. It covers general hardware testing procedures and what their specific goals are. It briefly outlines the printed circuit board assembly process, then gives examples of Automated Optical Inspection, X-Ray Inspection, Flying Probe Tests, In-Circuit Testing, and Functional Testing.

Printed Circuit Board Assembly Test Stages

The printed circuit board assembly (PCBA) process typically consists of the following steps.

PCB Assembly and Testing

After soldering the components onto the PCB, perform a series of inspection and test processes on the printed circuit board assembly. This board is commonly referred to as the device under test or DUT. We'll briefly outline each of these steps below.

Automated Optical Inspection

Automated Optical Inspection stations use a camera to take images of the circuit board and then use computer vision to verify that all components are populated and that the solder joints look good.


Images are taken using various light sources and can also use cameras at multiple angles. AOI identifies issues like missing components or tombstoned resistors.


An example of a tombstoned resistor

Automated X-Ray Inspection

Automated X-Ray Inspection (AOX) is similar to AOI. However, instead of processing optical images, it uses computer vision on X-Ray images. The test can validate all of the solder connections on the board by analyzing X-Ray images, including solder joints hidden underneath a component. AOX test stations are perfect for validating that ball grid array (BGA) components are correctly attached to each PCB product.


An example X-Ray capture of a BGA component

The above image shows some solder voids. Look for the lighter grey areas within the darker grey pad. A large enough void indicates missing solder joints from the reflow process.

Flying Probe and In-Circuit Testing

Both Flying Probe and In-Circuit Testing (ICT) use the same methodology for testing a DUT. These test methods use pogo pins to measure the resistance, capacitance, and other primary qualities between test points on the product.


An example of test points on a circuit board.​​

It is best to have a test point for each net on the DUT. Having test points for each pogo pin in test fixtures enables Flying Probe and In-Circuit test stations to validate that there are no shorts or opens and confirm the correct placement of each component on the DUT.

A Flying Probe tester uses robotic test probes to quickly contact each test point and take measurements between it and every other test point. This process can take up to 30 seconds.


An example of a Flying Probe test station.​​

Flying Probe test stations don't require a custom fixture, making them ideal for getting test results from low-volume production runs.

An In-Circuit Tester (ICT jig) is better for high-volume production runs. The test systems contain many test probes or pogo pins to contact every test point on the DUT. They are also known as Bed-of-Nails testers.


The Bed-of-Nails mechanical fixture in an ICT test system has to be custom designed for each DUT. This added cost and development time typically means that they're only cost-effective for mass-produced PCBA's. These fixtures get the same test results that a flying probe system performs but in a fraction of the time.

Another key distinction is that Flying Probe and ICT tests do not apply power to the Device Under Test.

Functional Testing

A functional test (FCT) also uses a Bed-of-Nails fixture; however, it validates that the DUT operates as expected instead of testing the electrical connection between various nets. For example, it is confirming that the firmware functions. This information is critical for validating that the hardware functions!

fixturfab-production-test-system (350 x 230 px)

Typical tests performed during functional tests include

  • Validating that the voltage rails generate the correct voltages when the DUT is powered
  • Programming microcontrollers and memory
  • Validating various communication buses on the device.


In the next part of this series, we cover what components are needed to build a turnkey Functional Test System and FixturFab's approach.