Si se refiere al lanzamiento en general, incluidos los lanzamientos primero, segundo y futuros, como se sugiere en las otras respuestas, su empleador probablemente tenga poca experiencia en el desarrollo y lanzamiento de software, ya que eliminar las pruebas unitarias no le permitirá enviar más rápido, más bien ralentizará el proceso de desarrollo y lanzamiento.
Si se refiere a la primera versión de software, le agradecería a su empleador que tenga experiencia en la liberación de software e incluso comprenda el valor de las pruebas unitarias (muy pocas no lo hacen). No es raro que los empleadores revisen la cartera de pedidos de planificación e intenten eliminar los elementos de trabajo que no son críticos para la primera versión. Probablemente, cuando su empleador vio que reservaba un tiempo dedicado para las pruebas unitarias, pensó que también podría enviar antes en lugar de gastar ese tiempo extra, ya que las pruebas unitarias por sí mismas no son críticas para el éxito de la primera versión. Uno puede tener una versión exitosa sin una sola prueba unitaria, siempre que el sistema haya sido probado exhaustivamente de principio a fin,
En ambos casos, su error fue dejar de lado el tiempo dedicado a las ‘pruebas unitarias’ , en lugar de considerar las pruebas unitarias como parte integral del proceso de desarrollo, que hasta cierto punto, está acelerando el proceso, no desacelerándolo.
- ¿Cuál es el punto de no decirle a nadie que tienes una gran idea?
- ¿Tienen los inversores motivos legales para luchar en caso de que una empresa más grande se acerque a una startup con una oferta de adquisición y, en cambio, termine haciendo fuertes ofertas de empleo personalmente a los fundadores?
- ¿Cuáles son todas las cosas que una mujer india tiene en mente para tener éxito?
- Quiero abrir una tienda de comercio electrónico que venda cosméticos. ¿Es bueno el margen de beneficio?
- ¿Cuándo una startup ya no se considera una startup? ¿Qué hitos implica esto?
El error de su empleador es que no se da cuenta del gran costo de no incluir pruebas unitarias en el software desde el principio. Más que nada, es fundamental, ya que ayudará a garantizar que el código esté diseñado para ser comprobable. Ayudará a mantener alejados a los asesinos de prueba como no permitir el reemplazo de dependencia, violar la Ley de Demeter, etc. Se asegurará de que diseñe su código para permitir que el código externo (sus pruebas, sus monitores) tenga la capacidad de control requerida (capacidad de inyectar entrada) y capacidad de observación (capacidad de evaluar el resultado), con suerte sin tener que depender de los marcos simulados.
El costo de cambiar el código existente para permitir la capacidad de prueba es extremadamente alto, incluye desestabilización y en algunos casos requiere una reescritura completa.
Intente explicar estas cosas en un idioma que su empleador entienda. Dígale que tomará una semana extra desarrollar el mismo software sin pruebas unitarias básicas. Dígale que tendría que volver a escribir parte del código antes de los próximos lanzamientos. Si todavía no lo entiende, la próxima vez excluya las pruebas unitarias de su cartera de pedidos (y las conversaciones con su empleador). No recuerdo cuándo fue la última vez que vi una tarea acumulada dedicada a las pruebas unitarias. El trabajo de prueba de la unidad generalmente se tiene en cuenta al calcular el costo del trabajo de desarrollo del componente bajo prueba.
Sin embargo , no debe obsesionarse con la cobertura de pruebas unitarias como condición previa para su primer lanzamiento de software (¿tal vez es por eso que asignó tiempo dedicado para pruebas unitarias?). Las pruebas unitarias son críticas para construir un sistema de software que se pueda mantener, no es una herramienta para encontrar errores. Incluso con una cobertura de prueba del 100%, se puede enviar un software horrible que está lleno de errores. Las mejores herramientas para encontrar errores son (pero no se limitan a) pruebas funcionales de extremo a extremo, pruebas exploratorias. Así es como encuentras tus bloqueadores de barcos. Comida de perro. Use el software usted mismo. Deje que su equipo use el sistema / servicio, recopile telemetría. Use esa telemetría para evaluar la calidad y la preparación del barco
Después de enviar : ¡ahora sus pruebas unitarias comienzan a producir el valor real! Serán esenciales para construir una tubería de integración / entrega continua efectiva, que (en combinación con otros medios) le permitirá realizar cambios y lanzar nuevas funciones de manera fácil y mucho más efectiva.