La primera empresa de software real en la que trabajé tenía que ver con las pruebas unitarias (NUnit). No sé si éramos muy estrictos en ese entonces; no tengo idea de cómo era nuestra cobertura de código y estaba escribiendo la mayoría de las pruebas unitarias. Desde entonces, me he encontrado con algunas empresas que hacen muchas pruebas, pero es una prueba de silla: depende de la presencia de una persona, tiene poca repetibilidad y pocas posibilidades de detectar errores. La otra actitud es: era algo con lo que querían empezar "en el futuro"; básicamente cuando el dinero cae del cielo.
Extraño las pruebas unitarias, simplemente hace la vida más fácil. Pero descubro que cuando busco un nuevo trabajo, las pruebas unitarias son algo que a las empresas les gustaría "empezar" en el futuro o algo que no hacen en absoluto (uhh, ha existido por un tiempo ¡ahora!). Yo diría que entre el 60 y el 75% de los requisitos de trabajo que he examinado durante los últimos 2 años no incluyen pruebas unitarias en absoluto. Solo puedo pensar en uno o dos que tuvieran experiencia en pruebas unitarias como requisito (para un puesto de desarrollador de nivel medio).
Entonces la pregunta es, ¿qué falta ? Creo que hace que la gente sea más productiva, pero eso solo después de pasar una gran cantidad de tiempo realmente haciéndolo. ¿No hay buenos estudios sobre el ahorro de costes de las pruebas unitarias? ¿Es el tipo de empresa que estoy viendo?
Editar: aunque el título es un poco defensor de los demonios, me considero un proponente de pruebas unitarias.