Eu acho que você certamente deve escrever o maior número possível de testes para o aplicativo. Eles ajudarão você a aprender a base de código e a prepará-lo para a eventual refatoração ou novo desenvolvimento.
Existem alguns tipos de testes que você pode escrever nesse cenário, cada um deles com seus próprios méritos. Escrever esses testes ensinará muito sobre o aplicativo com o qual você está lidando.
Antes de tudo, antes de você começar a escrever testes de correção, escreva testes que capturem o comportamento atual , seja ele certo ou errado. É uma aposta bastante segura que você descubra bugs em casos de canto ou em partes do código que não foram completamente testadas ao executar o programa. Não se preocupe com o que o código deve fazer, apenas capture o que ele faz. À medida que prosseguir, não se preocupe em ler o código ou em gastar muito tempo tentando descobrir qual deve ser a saída. Basta executar seu teste e capturar essa saída em uma afirmação.
Isso fornecerá uma sólida base de entendimento de como o código opera e onde estão os principais pontos problemáticos ou áreas fracas. Se você descobrir bugs, poderá abordar pessoas com o poder de decidir se vale a pena consertar ou não e tomar essas decisões.
Em seguida, você pode escrever alguns testes maiores (no escopo) que cobrem partes do código que podem não ser facilmente testáveis por unidade, mas onde ainda seria importante testar o máximo possível os fluxos de trabalho. Esses testes de fluxo de trabalho ou testes de integração , dependendo de como você deseja vê-los, fornecerão uma boa base para refatorar esses fluxos de trabalho, para torná-los mais testáveis e protegê-lo quando for necessário adicionar um novo recurso que possa afetar um fluxo de trabalho existente.
Com o tempo, você criará um conjunto de testes para ajudar você ou a próxima pessoa que acabar herdando o aplicativo.