![]() That's also why I think other automated tools and "code quality" metrics don't help so much tests are more of a sanity/last-chance check and shouldn't be relied upon to catch everything. Yet everyone who has subscribed to a set of mailing lists that happened to issue such an exact sequence of messages would see the bug. If you let everyone in Apple "dogfood" the software, they might not hit. Even if you specifically test power-of-2 sizes, the two-in-a-row subcondition would make that improbable. ![]() ![]() Anything involving multithreading/asynchronous code tends to fall in that category, but even single-threaded code can be like that to make an artificial relevant example, it could be something like "if two consecutively received emails are exactly 8192 bytes long, and the first one is the 256th message in the folder when sorted by the sender's email, then the second one will be missing." That's a condition which you're highly unlikely to hit, even more so if you're generating test data randomly (as some tools like to do, and fuzzing is one prominent example). I wouldn't place much emphasis on testing, and Apple most likely has tests, because the exact conditions that trigger such bugs are often so narrow that an artificial testing environment for them to "make the stars line up" would be nearly impossible to create. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |