Estou encarregado de obter um aplicativo herdado em teste de unidade. Primeiro, alguns antecedentes sobre o aplicativo: é uma base de código RCP LOC Java de 600k com esses grandes problemas
- duplicação maciça de código
- sem encapsulamento, a maioria dos dados privados pode ser acessada de fora, alguns dos dados de negócios também são usados como singletons, para que não sejam apenas alteráveis de fora, mas também de qualquer lugar.
- sem abstrações (por exemplo, nenhum modelo de negócios, os dados corporativos são armazenados em Object [] e double [] []), portanto, não há OO.
Existe um bom conjunto de testes de regressão e uma equipe eficiente de controle de qualidade está testando e localizando bugs. Conheço as técnicas de como testá-lo em livros clássicos, como Michael Feathers, mas isso é muito lento. Como existe um sistema de teste de regressão em funcionamento, não tenho medo de refatorar agressivamente o sistema para permitir a gravação de testes de unidade.
Como devo começar a atacar o problema para obter alguma cobertura rapidamente , para poder mostrar progresso ao gerenciamento (e de fato começar a ganhar com a rede de segurança dos testes JUnit)? Não quero empregar ferramentas para gerar conjuntos de testes de regressão, por exemplo, AgitarOne, porque esses testes não testam se algo está correto.