linux-works
Active Member
I really doubt any software team in the world writes all the software, and THEN write the unit-tests. That would make no sense, because you need to know the code you're testing, to write good and valuable tests, which means the only reasonable time to write the tests is the same time and the same person who wrote the unit.
you don't want to know how many bay area companies have employees that skip the unit test phase, or just fake it. not kidding; schedules are brutal and we as engineers are usually not given enough time for a proper job. that's one of the faults of software life in the bay area, sad to say. nothing tesla-specific, here.
System-level testing however mostly cannot be automatic
actually, most of it can. automation can happen at Hardware-In-the-Loop (HIL), software in the loop, model in the loop, etc. when you are at system level, there are often very expensive vector brand chassis that setup test cases, inject triggers and look for the expected results. it can take hours and hours and its a key investment for the company. there are requirements vendors (jama), there are vendors who sell testing 'systems' (dspace) - and there's a LOT of money in this whole 'test the car before you ship it' ecosystem. (in fact, I'm rather annoyed by how much these companies charge for stuff like this; they used to be able to get away with it, but not sure they can continue to ask such high prices, as more vendors choose to write their own instead of buying).
development and hw/sw test for automotive is like 'making laws and sausages'; most people should probably NOT see the actual real world process that goes on.