Procedures

Define your test sequence for your Units Under Test.

Overview

The Procedures allow you to set up the test sequence for one or more units under test. It provides analytics and test performances across multiple runs, including average test duration, yields, Cpk, and Control Chart for numerical values.

Integration

You can create a new procedure automatically from your test scripts by setting its ID, name, Unit Under Test, and test status.

Basic parameters

import openhtf as htf
from tofupilot.openhtf import TofuPilot

def main():
    test = htf.Test(
        procedure_id="FVT1",
        procedure_name="PCB Testing",     # By default set as "openhtf_test"
        part_number="PCB1",
    )
    with TofuPilot(test):
        test.execute(lambda: "PCB1A001")  # Duration calculated during execution

if __name__ == '__main__':
    main()
  • Name
    procedure_id
    Type
    str
    Description

    Define unique procedure ID.

  • Name
    procedure_name
    Type
    str (optional)
    Description

    Set or rename the procedure name.

  • Name
    run_passed
    Type
    bool
    Description

    Set Pass/Fail status of the procedure.

  • Name
    duration
    Type
    timedelta (optional)
    Description

    Determine duration of the test.

Advanced parameters

You can define several important additional parameters for your procedures, each covered in a separate section:

In-app view

In TofuPilot, you can explore different procedures in the Procedures tab. On a Procedure page (for example, procedure_id FVT1 with the procedure_name PCB Testing), you can navigate between various tabs that display analytics for all runs executed from this procedure. These include:

  • The status of Runs over time, defined by run_passed
  • The average test Duration over time, compute from duration
  • First-Pass Yield
  • Cpk for tests with numerical measurements and limits.

These features will be explained in more detail in the Test phases analysis section.

Was this page helpful?