I have been a happy S75D owner for more than half a year now. While I'm still getting anxious every two weeks hoping I can be the early adopter of a new software update, I suspect I'm definitely not the only who finds it intriguing to know a bit about how Tesla test/validate its software. Think about these points:
1. Tesla release a new (minor) version of software usually every two weeks - so the internal QA/Testing team has at most two weeks to test the current version before they have to start testing the next release. (While for traditional auto makers who usually release a firmware once a year, they have a full year to do tests!)
2. Although the changes are usually small between adjacent releases, the risks of regression are always there for complex systems like it in Tesla - think about the regression bugs recently: charging cable connection issue from 2018.14, air suspension issue from a release in 2017, etc. You think Tesla has figured out a way to do full regression test every two weeks while other auto makes need a full year to do the same?
3. The software are mission critical. They control functionality such as AP, auto-braking, response to acceleration pedal (e.g. chill vs regular mode, released through a software update), etc. Even the smallest bug can cause huge damage. One of the advantages Tesla has is the gradual releases to users in batch. But even for releasing to a small batch of early adopter, the potential risk needs either bravery or some amazing testing mechanism to overcome.
Anyways, being a software engineer myself, I have been more than impressed by how Tesla has been holding a high bar on the quality and speed of their software releases. Those small bugs aside, I haven't heard of any major incidents that were caused by bugs introduced by software updates (knock on wood).
1. Tesla release a new (minor) version of software usually every two weeks - so the internal QA/Testing team has at most two weeks to test the current version before they have to start testing the next release. (While for traditional auto makers who usually release a firmware once a year, they have a full year to do tests!)
2. Although the changes are usually small between adjacent releases, the risks of regression are always there for complex systems like it in Tesla - think about the regression bugs recently: charging cable connection issue from 2018.14, air suspension issue from a release in 2017, etc. You think Tesla has figured out a way to do full regression test every two weeks while other auto makes need a full year to do the same?
3. The software are mission critical. They control functionality such as AP, auto-braking, response to acceleration pedal (e.g. chill vs regular mode, released through a software update), etc. Even the smallest bug can cause huge damage. One of the advantages Tesla has is the gradual releases to users in batch. But even for releasing to a small batch of early adopter, the potential risk needs either bravery or some amazing testing mechanism to overcome.
Anyways, being a software engineer myself, I have been more than impressed by how Tesla has been holding a high bar on the quality and speed of their software releases. Those small bugs aside, I haven't heard of any major incidents that were caused by bugs introduced by software updates (knock on wood).