El problema es que los test deberian ser unitarios y funcionales.
Los test unitarios son una chorrada que rara vez van a fallar en despliegue. Y si lo hacen, ante un problema complejo, la mayoria optara por eliminarlos para poder llegar a plazos. Al final, en un proyecto de larga duracion, los test unitarios solo estan para perder el tiempo, porque tienen tantas excepciones que pueden devolver una mierda con ojos y seria valido porque en el caso de uso 35869453643558 puede darse el caso que venga una mierda con ojos, pero algun servicio posterior puede no aceptar esa mierda con ojos y va a petar aun habiendo pasado los test unitarios.
Para mi, todo test unitario debe ir acompañado de sus correspondientes test funcionales, y su juego de datos. En la linea de lo que dice #9 , el problema es que a un desarrollo de 4 horas, le tienes que sumar 15 minutos de picarte los unitarios, una hora de picarte los funcionales (happy y unhappy path), y otra hora de montar un juego de datos y los correspondientes scripts que generen la informacion para los test, y que borren la informacion (y todo lo generado por el desarrollo) al terminar tus pruebas.
Asi que de un desarrollo, le tienes que sumar un 60% en "desarrollar" las pruebas. Un proyecto de 1 año, se transforma en un proyecto de casi 2 años ... y eso es demasiado cuando realmente el beneficio a lo mejor no llegar a verlo nunca (el proyecto se abandona, o no tiene cambios importantes). Y al final, en ese año, siempre habra alguna urgencia o algun momento critico en el cual alguien dira "desactiva y tira ya lo arreglaremos" ... y ahi se va a quedar.
Y todo esto en proyectos nuevos, obviamente ni de coña vas a ponerte a cascar el plan de pruebas en un proyecto ya desarrollado, q depende de la edad y la tecnologia, algunas cosas funcionan y ni puta idea de porque funcionan.
#11 Existe mucho meme de eso, un buen equipo de QA es esencial, y aun asi puede fallar. Como desarrollador, muchas veces se obvia que el usuario es como un mono con pistolas.