me he unido a un equipo que trabaja en un producto. Este producto ha existido durante ~ 5 años aproximadamente y utiliza ASP.NET WebForms. Su arquitectura original se ha desvanecido con el tiempo, y las cosas se han vuelto relativamente desorganizadas a lo largo de la solución. De ninguna manera es terrible, pero definitivamente puede usar un poco de trabajo; todos ustedes saben lo que quiero decirRefactoring para Comprobabilidad en un sistema existente
He estado realizando algunas refactorizaciones desde que llegué al equipo del proyecto hace unos 6 meses. Algunas de esas refactorizaciones son simples, Método de extracción, Método de extracción, etc. Algunas de las refactorizaciones son más estructurales. Los últimos cambios me ponen nervioso ya que no hay un conjunto completo de pruebas unitarias para acompañar cada componente.
Todo el equipo está a cargo de la necesidad de realizar cambios estructurales a través de la refactorización, pero nuestro Gerente de Proyecto ha expresado algunas preocupaciones de que no tenemos las pruebas adecuadas para hacer refactorizaciones con la confianza de que no estamos presentando errores de regresión en el sistema. A él le gustaría que escribiéramos más pruebas primero (en contra de la arquitectura existente), luego realizamos las refactorizaciones. Mi argumento es que la estructura de clases del sistema está demasiado estrechamente unida a escribir pruebas adecuadas, y que el uso de un enfoque más Test Driven mientras realizamos nuestras refactorizaciones puede ser mejor. Lo que quiero decir con esto no es escribir pruebas en contra de los componentes existentes, pero escribir pruebas para los requisitos funcionales específicos, a continuación, refactorización código existente para satisfacer esas necesidades. Esto nos permitirá escribir pruebas que probablemente tendrán más longevidad en el sistema, en lugar de escribir un montón de pruebas de "descarte".
¿Alguien tiene alguna experiencia en cuanto a cuál es la mejor línea de conducta? Tengo mis propios pensamientos, pero me gustaría escuchar algunos comentarios de la comunidad.