Teste baseado em modelo
Este artigo não cita fontes confiáveis. (Agosto de 2021) |
Teste baseado em modelo é uma forma de teste de software onde os casos de teste são derivados de um modelo que descreve aspectos (geralmente funcionais) do sistema sendo testado. Tais casos são conhecidos como a suite abstrata de testes, e seu nível de abstração está intimamente relacionado ao nível de abstração do modelo. Eles não podem ser executados no ambiente de teste, mas sim derivados numa suite executável de testes.
Por serem baseados em modelos e não no código fonte propriamente dito, o teste baseado em modelo é visto como uma forma de teste de caixa-preta.
A eficácia desse teste está associada primordialmente no potencial de automação que oferece. Se o modelo pode ser processado formalmente, os casos de teste podem ser derivados mecanicamente. O modelo geralmente é traduzido em uma máquina de estado finito que representa as possíveis configurações do sistema. Para encontrar os casos de teste, procura-se pelos caminhos de execução. Entretanto, dependendo da complexidade do sistema, a quantidade de caminhos pode ser muito grande, requerendo então heurísticas para encontrar os mais relevantes. Entre as formas de derivação da suite abstrata de teste estão: a geração por prova de teorema, programação com restrições, verificação de modelo, execução simbólica, modelo de fluxo de eventos e cadeias de Markov.