5
\$\begingroup\$

I am brand new to EE/ECE (my background is software) and I am curious about how real-world electronics testing takes place.

In software, there are many different types of tests that a piece of code should be run through to make sure it's of high quality and that it is functional/correct:

  • Code reviews (manual process)
  • Static analysis (basically automated tools that scan your code and tell you if it stinks or not)
  • Unit tests (small tests that are quick to run which test flow through a particular "path" in the code; essentially tests a single function/method)
  • Integration tests (test a particular unit of code integrating against some other unit of code, or, say, a mocked database)
  • Functional tests (an end user - either a human being or an automated process - actually using the software and checking for correctness at the top/system-level)
  • Performance tests (the software might be functional, but perhaps its slow or consumes too much memory, etc.)
  • Security tests (the software might be functional and fast/efficient, but perhaps its not secure and will be easily hacked)
  • Smoke tests (basically a subset of functional tests that can be used to make a quick go/no go decision as to whether the software is functioning correclty)
  • And many more!

I'm wondering what the testing equivalences are in EE-land, and what they look like. I would imagine that the unit testing counterpart would be testing all the individual parts/components (making sure the LEDs light up, that the motors spin, etc.). I would also imagine that the integration testing counterpart would be testing each individual subsystem assembly for correctness. But beyond that:

  • What different types of tests are typical in EE-land? How are they conducted?
  • What about non-functional tests? Like making sure the device works under particular humidity or temperature ranges, etc.?
  • Is functional testing performed on each final device, or is cherry picking/spot checking employed? If I have 10,000 units of a prroduct/device, I would imagine it would be timely/costly to conduct full bore tests on each one...
\$\endgroup\$

closed as too broad by Leon Heller, Andy aka, PeterJ, Daniel Grillo, Ricardo Jul 10 '15 at 12:44

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    \$\begingroup\$ Single specific design questions are required. \$\endgroup\$ – Leon Heller Jul 8 '15 at 6:52
6
\$\begingroup\$

I can answer this for my particular experience in ECE. Digital design, embedded design, and system design. Essentially we do all the same tests as software folks.

Design reviews
We have manual reviews of designs for digital implementations, PCBs, and analog circuits. Similar to code reviews. For embedded designs, the embedded code is reviewed similarly to software. For digital designs the HDL is evaluated the same way.

Static analysis
There is a lot of automated error checking for certain design processes. For the most part, they are the same but require a lot more design specific settings for the rules. Design rule checks (DRCs) for PCBs and design constraints for analog design come to mind.

Block tests
This probably most closely relates to unit tests. The electrical design is segmented into blocks for design and testing. The block has known inputs and corresponding desired outputs. A block test will confirm that this sub-set of the design is working properly.

System tests
The obvious next step from successful block tests are system tests, similar to integration testing. The blocks are connected in a logical sequence to ensure the entire design works as expected.

Functional tests
This would be analogous to user testing. Certain common uses are tested to ensure the sequence of use doesn't break the design.

Performance tests
Quite commonly we need to test whether the design is not drawing too much power or getting too hot through regular use. This is especially important in my field of implanted medical electronics.

Security tests
This may be a little less common. Hacking hardware is fairly common. The only test I have designed and performed here had to do with ensuring certain parts of the ROM in a MCU design could not be read externally. Otherwise things like adding that black resin over an ASIC is fairly good security to minimally protect designs.

Smoke tests
Also quite common. In fact, as you might have guessed, this test gets its name from hardware testing. Hardware can go up in smoke literally.


The final two are probably only applicable to hardware and don't have analogous testing done in software.

Environmental testing
For "non-functional" testing, we make sure the device works in the specified environment. Temperature is at least tested, humidity less often. There are lots of things in electronics with a temperature coefficient, we have to test in the range of specified use to make sure that coefficient isn't going to mess with performance or functionality.

Testing selection
This depends on the industry. For implanted medical devices we test every component as well as every completed device. For something like graphics cards, cherry picking of the final products is preferred.

\$\endgroup\$
3
\$\begingroup\$

This is a very broad topic. I hope you will receive more than one response. My response is based on my experience in the automotive space. The test and validation for consumer and medical space is fairly different. As I understand the Aerospace is much different.

Depending on the product automotive space primarily has to validation phases which is Design Validation (DV) and Process Validation (PV)


Design Validation
This phase mostly validates the electrical design. During this process the product is tested rigorously validates the design meets the electrical parameters. All automotive electrical components to most part are required to work at 14V nominal voltage, with low and high supply voltage let says for discussion is 10V and 16V.

Lets assume the a particular product has an electrical signal output of 3Vpp +/- 10% at 10KHz +/- 10%. The output of this signal is validated at 10V and 16V ensure that the signal meet customer specifications.

Now in the automotive space temperature requirement vary wide. Let say nominal is temperature is 25C. The low and high temperatures are -40C and 125C. The above electrical output signal is validated at all three temperatures to ensure the product meets specification.

That is not all, the product is subjected to various environmental conditions, such as humidity, vibration, thermal shock, EMC/EMI, salt test and many more. Under all this conditions the about mention electrical output signal is validate to confirm that the product meets customer requirement.

In short the design is validated extensively.


Process Validation
This phase mostly validates the electrical manufacturing process. These include incoming material, manufacturing lines, manufacturing process etc.

Let assume the above mention electrical signal has a 10uF +/- 10% at 25V capacitor in the signal path. All incoming material is validated to ensure that the material meets specification.

Lets assume that the product is manufactured using three different manufacturing lines in three different locations. All off the manufacturing systems need to be validated.

In automotive space these validation results are documented in a Production Part Approval Process (PPAP) document.


Below are few references where you can find more infomation.

References:

\$\endgroup\$
0
\$\begingroup\$

1 type of test hasn't been mentionned yet. Destructive test, in power electronics, you must know what is the real limit of your device and how your device start to behave in extrem conditions. Therefore, you test your device by going out-limit and most of the timit you will damage/destroy the device. An example of destructive test, is to send hundreds or even thousands of amps into a transformer.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.