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...