Skip to content

pytest-f3ts Test CaseKnowledge Base

This section contains a collection of example test cases that can help with the development of pytest-f3ts test plans.

General PCBA Functional Test Flow

Throughout our years of implementing automated PCBA functional tests, we've found that using the following test flow is useful:

Pre-Test Setup

  • Serial Number Entry
    • Scan the serial number from the device under test (DUT) or any other identifying information from the device.
  • Fixture Interlock or Closed State
    • Check if the fixture is closed or if the interlock is engaged.

Test Plan

  • Continuity Tests
    • Test continuity between power and ground on any connections that provide power to the device under test
    • Prevents powering the device when an easily detectable short is available
    • Typically covered by ICT or Flying Probe testing, however, this is a very fast test to implement and prevents damaging failed DUTs.
  • Pre-Programming Voltage Tests
    • Check all voltage rails on the DUT that are enabled by default (i.e not controlled by a processor or MCU)
  • Programming
    • Program any processor or MCU on the DUT, or any other programmable logic (EEPROM, FLASH, etc.)
  • Post-Programming Voltage Tests
    • Check any additional voltage rails that are enabled/controlled by the processor or MCU
  • Functional Tests
    • Test the DUT to ensure it is functioning correctly
    • These tests will typically use a method to communicate with the DUT and then verify the DUT's responses are as expected.
  • Calibration
    • Perform any calibration that is required for the DUT to function correctly.

Post-Test Cleanup

  • Production Firmware Programming
    • In some cases, final production firmware is programmed to the DUT, or various variables are cleared/reset. (i.e Runtime Variables, Serial Number, etc.)