3 ms·
The Crowdstrike report explains why it crashed, but not how it passed final end-to-end testing. There appears to have been many tests of piece parts (unit testi
by dwheeler 2y ago
The Crowdstrike report explains why it crashed, but not how it passed final end-to-end testing. There appears to have been many tests of piece parts (unit testing), but that's not the same as testing the full system.
I would think all the end-to-end tests of the full system would have been instantly detected the problem and prevented it, because it would have failed all the end-to-end tests.
Did I miss something? Did they never test the complete system as deployed? Looks like it, but maybe I misunderstood something.
- tadfisher 2y agoFrom what I understand, this was a failure in parsing a configuration update file, and while they do end-to-end testing for releases of the Falcon code with the latest configuration, they don't (or didn't) do so against all configuration updates in the interim.
- dwheeler 2y agoIn other words, they failed to do end-to-end testing in some cases. They tested pieces, but not the full system they released. If you don't test each config update, by definition you didn't test it. Rust has many nice properties, but it can panic too. You should still test the whole system before each release if it's critical.