Design for Test Coverage Analysis

Test coverage is the proportion of the possible defects on a board that a set of tests can actually detect. It is not the same as the number of tests, and it is not the same as the yield. A board with a hundred test points and a coverage figure of 60 % will pass a defect that the remaining 40 % would have caught, and the escape will be attributed to the manufacturing process rather than to the test strategy. Coverage analysis is how the three are separated.

What Coverage Means

Coverage is measured against a list of possible defects, not against the nets. A short between two adjacent nets, an open at a via, a wrong component value, an inverted diode and a missing decoupling capacitor are all defects, and each needs a test that can detect it. Two nets that are both accessible but that are never tested against each other are not covered for the defect between them.

The figure is a fraction with a denominator that someone has to define. The denominator is the defect spectrum for the product, weighted by the likelihood of each defect and by the consequence of it escaping. A product with a safety function weights the defects that affect it more heavily, and the coverage figure is then a weighted one rather than a simple count.

Coverage matrix mapping defect types to the test methods that detect them

The Defect Spectrum and Its Weighting

The spectrum comes from the process and from the design. Process data gives the relative frequency: on a given line, solder defects, wrong components and damaged parts occur at different rates, and the rates can be measured from the defect data already collected. Design data gives the sensitivity: a net that carries a critical signal or a safety function ranks higher than one that drives an indicator lamp.

Weighting the two together produces a list that is specific to the product and to the line. The list should be produced at the design stage, when it can still change the layout, and reviewed when the process changes. A spectrum that is copied from a previous product is a reasonable starting point, and it becomes misleading as soon as the new product has a different package mix or a different power architecture.

Test Point Access and Fixture Limits

In-circuit test needs a probe on each net, and the space for those probes is limited. A net that is buried under a component, on a pad that is too small for a reliable probe, or on a fine-pitch lead where the probe would touch a neighbour cannot be probed without risk. The layout decision is therefore a coverage decision, and it should be made with the test engineer rather than after the layout is released.

Where a net cannot be probed directly, it may be reachable through a via, a test pad or a connector pin, and the test point design notes describe the pad sizes and the clearances that make a probe reliable. Where none of those is available, the net is not covered by in-circuit test, and the coverage analysis should record that explicitly so that the gap is known rather than discovered at the first escape.

Underside of a test fixture showing probe access to a dense board

Coverage of Each Test Method

In-circuit test covers opens, shorts, wrong values and reversed parts on accessible nets, and it does so with a high degree of confidence where the fixture is good. Boundary scan covers the connections of a device that supports it, including nets that are not accessible, which makes it the natural complement to a fixture that cannot reach every net. The in-circuit test method and the boundary scan chain should be planned together rather than as alternatives.

Optical inspection covers placement, polarity and joint appearance on visible parts, and it cannot see anything under a shield or under a package. X-ray covers hidden joints, voids and ball grid array connections, and it is the only method that sees the joints it is aimed at. Functional test covers the behaviour of a circuit rather than the presence of its parts, so a wrong value that does not affect the tested function will pass. Each method has a coverage profile, and the analysis is the union of them.

Analysing a Design Before Release

The analysis should be a document, not a conversation. It lists the defect types, the nets or components affected, the test method that covers each, and the residual gaps. Where a gap is accepted, the reason should be recorded, along with the mitigation such as a downstream functional test or an assembly-level check. The document should be reviewed at the design for test review and signed off by the test owner.

The analysis is easiest to do with the netlist and the bill of materials in a spreadsheet, with the accessible nets marked from the fixture access data. The work is tedious and it is done once, and it prevents a class of escape that is otherwise invisible until the customer finds it. The bed of nails arrangement defines what the fixture can reach, and the analysis should be run against the actual fixture rather than an assumed one.

Dealing With Uncovered Nets

An uncovered net has three possible treatments. It can be made accessible by changing the layout, which is the cheapest option while the design is still open. It can be covered by another method, such as boundary scan or a functional test that exercises it. Or it can be accepted, with the risk documented and the downstream detection identified.

Accepting a gap silently is the failure mode that the analysis exists to prevent. Where a gap is accepted, the assembly should have another way to detect the defect, and that way should be tested during the first article. Where neither is possible, the gap should be raised with the customer rather than absorbed by the supplier, because the consequence of the escape is theirs to define. The engineering test station arrangements often provide the place where such nets are covered.

Coverage Records and Change Control

The coverage analysis should be a controlled document with a revision, and it should be updated when the design, the fixture or the test programme changes. A change of fixture that removes a probe changes the coverage, and a change of test programme that skips a step changes it too. Neither change is usually recorded as a coverage change, which is how a coverage figure becomes stale.

The review should include the test programme itself, not only the fixture. A step that has been disabled or a limit that has been widened for a specific batch changes what the test detects, and the change should be reflected in the analysis. Where the change is temporary, the analysis should record the period and the reason, so that the coverage is not assumed to have been in place when it was not.

Reviewing Coverage After Production

Production data closes the loop. A defect that reaches the customer despite the coverage analysis indicates either that the analysis was wrong or that the test did not perform as designed. Comparing the escapes against the analysis shows which, and both outcomes are useful: the first improves the model, and the second improves the test.

The review should also check the tests that never fail. A test that has not caught anything in a year is either covering a defect that no longer occurs, which is good, or it is not performing its function, which is not. Where a test is found not to be performing, the coverage figure for the corresponding defects should be reduced until it is restored. Keeping the analysis current is the only way the figure can be quoted with any confidence to a customer or an auditor.

FAQ

Is 100 % coverage achievable? Rarely, and it is usually not economic. The goal is a coverage figure that is known, documented and appropriate to the product’s risk, rather than a figure that is high on paper and unverified in practice.

Does functional test cover everything that in-circuit test misses? No. A functional test exercises the behaviour the design intends and will not catch a wrong value that does not affect the tested function, a missing decoupling capacitor or a net that is unused. The two methods cover different defect classes and both are needed.

Who should own the coverage analysis? The test engineer, with the design engineer providing the criticality input. Where the analysis is owned by the design team alone, the fixture constraints are often overlooked, and the coverage figure is optimistic.

Leave A Comment