Como @kevin cline apontou, existem duas restrições diferentes. Eu chamarei estes a exatidão e as limitações da eficiência.
A verificação da restrição de precisão deve ser simples. Basicamente, tudo que você precisa fazer é testar se pode recriar os dados originais. Isso deve ser fácil, pois você pode usar ferramentas como o Patch, como o kevin sugere.
Mas a restrição de eficiência é mais complicada. Eu acho que definir um limite é uma má ideia. Suponha que você defina os limites com 10% de redução no desempenho atual dos algoritmos.
- O que acontece se a eficiência do algoritmo cair 1% como resultado de uma alteração? Seus testes não vão falar sobre isso.
- E se a eficiência do algoritmo aumentar em 1%, você perceberá?
- O que acontece se o algoritmo for melhorado em 20% e, em seguida, degradado em 10%, você ainda estará bem acima de seus limites iniciais, portanto, o teste não ajudará você.
O problema é que as restrições de eficiência não são uma preocupação de aprovação / reprovação. Tentar forçá-lo a um teste de aprovação / reprovação com um limite não é uma boa ideia.
Acho que você deveria tratar isso como um teste de desempenho. Para cada revisão, execute todos os testes e colete os dados de eficiência. Plote todos os dados em um gráfico mostrando a eficiência em mudança com diferentes revisões. Sempre que a eficiência de um teste diminuir, envie automaticamente um e-mail para alguém que possa decidir se é aceitável ou não.