Usually, you need a mixture of approaches to get things to work. Idealism in software engineering, or in engineering, works about as well as idealism in politics, ie it doesnt really, it misses key points. But, in both areas, it's much easier to create a platform on idealism, and so people who propose one single idealistic viewpoint often do quite well.
In practice, in software engineering, saying 'all tests must be automated, 100%', misses that some things are really hard to test automatically, but can be tested by hand quite simply. Similarly for creating test harnesses, mocking, which this article is the hardware-engineering equivalent for. Sometimes it's easier to mock, and do real 'unit-testing', and sometimes it isnt, and insisting that every project, and every part of every project, uses the exact uniform standard, might not always work as well as it looks like it will in the Powerpoint presentation :-P