Recently, I found a bug randomly by clicking around LivingSocial. When users mark vouchers as used, the voucher wasn’t moved from “unused” to “all” vouchers. This was not the case, and my team would have never caught this bug unless someone happen to notice it in production.
All I could think was “the fuck? How long has this been broken for and how come nobody noticed it?” It turns out couple weeks back a service that mobile-web depends on changed! (In cases like this, SOA can be annoying and dangerous) Why? Because there was no test around this feature to alert us.
Whats the lesson here? If you’re making an external request, that code needs some testing love. We need to that we’re getting correct data back and the feature works as expected. Not following this procedure can lead to the external service changing and breaking code in our end.