Eu também descreveria isso como elegante, mas gostaria de adicionar o problema, se você perdoar minha intrusão.
Sei que existem pacotes de software muito caros para lidar com situações como essa, mas na empresa em que trabalho não podemos arcar com os custos, a menos que tenhamos certeza de que faz o que precisamos.
O TDD (Test Driven Development - Desenvolvimento Orientado a Testes) é um dos melhores sistemas que já ouvi falar em desenvolvimento, e eu aprecio isso, mas os problemas que levam meu tempo são normalmente causados por interrupções complexas e eventos de hardware que muitos chamariam de falhas. Parece uma coisa pequena ter um problema a cada 2 horas quando as estrelas se alinham, mas se o seu telefone congelasse apenas uma vez por semana, você amaldiçoaria o nome dos engenheiros. No nosso caso, temos que caminhar para um lote de ração quando as coisas realmente quebram, o que, como você pode imaginar, eu gosto de evitar.
Vi soluções muito inteligentes para verificar a funcionalidade dos subsistemas, que, se implementadas adequadamente, provavelmente me economizariam 3 horas em uma semana de trabalho de 50 horas, mas se houvesse uma maneira inteligente de encontrar situações de falha, isso me economizaria semanas de trabalho procurando o "bug" que acontece no campo ocasionalmente sob carga pesada.
Este post provavelmente não ajuda muito, mas acho que trazer tudo à luz facilita tudo a resolver. Se houvesse um método TDD para encontrar situações de falha, eu poderia obter 10s de milhares alocados para pagar por isso. -Max