Todos los programadores de mi equipo están familiarizados con las pruebas unitarias y las pruebas de integración. Todos hemos trabajado con eso. Tenemos todas las pruebas escritas con él. Algunos de nosotros incluso hemos sentido una mayor sensación de confianza en su propio código.
Sin embargo, por alguna razón, escribir pruebas de unidad / integración no se ha convertido en un reflejo para ninguno de los miembros del equipo. Ninguno de nosotros se siente mal cuando no escribimos pruebas unitarias al mismo tiempo que el código real. Como resultado, nuestra base de código se descubre principalmente mediante pruebas unitarias, y los proyectos entran en producción sin probar.
El problema con eso, por supuesto, es que una vez que sus proyectos están en producción y ya funcionan bien, es prácticamente imposible obtener tiempo y / o presupuesto para agregar pruebas de unidad / integración.
Los miembros de mi equipo y yo ya estamos familiarizados con el valor de las pruebas unitarias ( 1 , 2 ), pero no parece ayudar a incorporar las pruebas unitarias a nuestro flujo de trabajo natural. En mi experiencia, hacer que las pruebas unitarias y / o una cobertura objetivo sean obligatorias solo da como resultado pruebas de baja calidad y ralentiza a los miembros del equipo simplemente porque no existe una motivación autogenerada para producir estas pruebas. Además, tan pronto como la presión disminuye, las pruebas unitarias ya no se escriben.
Mi pregunta es la siguiente: ¿Hay algún método con el que hayas experimentado que ayude a construir una dinámica / impulso dentro del equipo, lo que lleva a las personas que naturalmente desean crear y mantener esas pruebas?