Primeiro, você precisaria de uma estrutura de teste de unidade. No passado, eu usei o UnitTest ++ e o Google Test . O primeiro é muito leve e o segundo é mais destacado, mas um pouco mais pesado. Ele se integra bem ao Google Mock, caso você precise desse tipo de coisa. Obviamente, existem muitas outras opções: consulte esta lista (pelo eventual autor do UnitTest ++) e a Wikipedia, por exemplo.
O teste de unidade trata da escrita de testes focados para enfatizar determinados bits de código independentes isolados ("unidades") em vários cenários. Embora em alguns casos você possa testar tudo, geralmente não é prático obter 100% de cobertura e, especialmente em jogos, pode ser bastante difícil - é discutível se o teste de unidade da saída do renderizador é ou não significativo, útil ou um teste de unidade "verdadeiro" independentemente.
É importante lembrar que qualquer teste (automatizado) é melhor do que nenhum teste (automatizado). Portanto, você não deve se estressar demais com o fato de seus testes não serem "verdadeiros testes de unidade" e se orgulhar de ter simplesmente testes. As estruturas de teste de unidade geralmente são úteis para criar testes "não unitários", mais frouxos, pois incluem funcionalidade para testes de empacotamento e relatório de falhas de maneira uniforme.
Gostaria de encorajá-lo a ressuscitar seus testes antigos e transformá-los em um projeto de teste usando uma das estruturas disponíveis - algo que você pode executar facilmente de tempos em tempos (ou automaticamente como parte de uma versão ou integração) que executa todos os seus testes. Escreva novos testes para bits de código, pois fica aparente que seria útil para você; por exemplo, se você descobrir um bug sutil que poderia ter detectado com um teste, poderá adicionar um para capturar todas as regressões que fizer no futuro.
Você provavelmente descobrirá que esse código de utilidade de nível inferior é passível de teste de unidade em jogos. Tudo bem - é o código básico que pode perturbar muitas camadas mais altas se quebrar.
Você não irá ao purgatório do programador por não ter testes para todas as funções e portas lógicas da sua base de código; portanto, não gaste mais tempo do que precisa para escrever testes. Se você precisar pensar mais ou gastar significativamente mais tempo escrevendo os testes de um módulo do que o necessário para criar o módulo, pode estar desperdiçando seu tempo. Teste de unidade - teste em geral - é uma ferramenta que você aprende a usar adequadamente para ajudá-lo, não uma tarefa que você deve executar para tudo.