PASS or FAIL Isn’t Enough
A production test has one obvious job, tell us whether the board passes or fails.
But sooner or later, a board will fail and at that point, FAIL is only the beginning of the engineering problem. The more useful question becomes:
Why did it fail?
The First Failed Board Changes the Question
When every board is passing, the test strategy can look excellent.
Then the first failure arrives, perhaps DDR isn’t responding, an Ethernet interface doesn’t come up, a peripheral can’t be detected or the product simply refuses to boot.
A functional test may tell you which part of the system isn’t behaving correctly.
But the test engineer still has to determine whether the cause is:
- A component fault
- An open connection
- A short
- An incorrectly fitted device
- A configuration problem
- Or something else entirely
Suddenly the quality of the diagnostic information matters just as much as the test itself.
Think About Diagnosis While You’re Designing the Test
There is an important difference between:
“This interface failed.”
and:
“These connections associated with this interface are not behaving as expected.”
The second gives the engineer somewhere to start. That is why a good test strategy shouldn’t only consider whether a fault can be detected.
It should also ask:
What information will we get when it happens?
The answer can have a major effect on repair time, manufacturing throughput and ultimately the cost of dealing with failures.
Structural Testing Adds Another Layer of Evidence
This is one area where Boundary Scan can be particularly useful. Because Boundary Scan software understands the PCB connectivity, a structural test can often relate an unexpected result back to the signals and devices involved.
Instead of knowing only that a memory test failed, for example, engineers may be able to investigate the individual connections making up that interface.
That doesn’t mean Boundary Scan identifies every fault automatically.
But it can significantly reduce the area that needs investigating.
And reducing uncertainty is often the fastest way to find the real problem.
A Test Should Help the Person Who Comes Next
It is easy to develop tests from the perspective of the person creating them. But think about the engineer who receives the failed board six months later.
They may not have designed the hardware.
They may not know its history.
They may be supporting hundreds of products rather than one prototype.
For them, FAIL isn’t much of a diagnostic.
A useful test should provide enough information to help answer:
Where should I look next?
Closing Thought
Detecting a faulty board is important. Understanding why it failed is considerably more valuable.
So when you’re thinking about test coverage, don’t stop at:
“Can we test this?”
Ask one more question:
“If it fails, what will the test tell us?”
That question can make the difference between quickly isolating a manufacturing fault and putting another board onto the growing pile marked investigate later.
Board Design Tip of the Week
When reviewing your test strategy, look at some realistic failure scenarios.
Imagine an open circuit beneath a BGA, a short between two adjacent signals or a peripheral that hasn’t been assembled correctly.
Then ask: Would our test merely tell us that the board failed or would it help an engineer work out where to look?
Good diagnostics should be considered alongside good test coverage.
Discover more about your board design with the Free XJTAG Layout Viewer.
To get started find out how the Free XJTAG Layout Viewer can help you see on your board:
Related Reading
