Six months after launch, the overnight translation sync runs as usual. The next morning, the checkout button in the Polish app is blank. Nobody changed the code. The translation tool added a new key for every language, left the Polish value empty, and the app showed the empty string as if it were a translation.
The same week, a routine server upgrade goes out. Users who saved their timezone as Europe/Kiev years ago now get an error on every page, because the new operating system no longer recognises that name.
Neither bug existed on launch day. Testing catches problems before you ship. This chapter is about the ones that turn up afterwards: strings that go missing as features are added, locales you add and later remove, and the world changing its own rules underneath you.