Resumo (PT):
Várias linguagens de especificação algébrica têm sido usadas com sucesso para a especificação formal de tipos de dados abstratos (ADTs). Em alguns casos, as linguagens foram equipadas com abordagens que permitem derivar casos de teste de forma automática para testar a conformidade da implementação de ADTs em relação à sua especificação. No entanto, as abordagens existentes apresentam limitações relativas ao teste de ADTs genéricos (parametrizados). Este artigo apresenta uma nova abordagem para derivar automaticamente casos de teste a partir de especificações algébricas de ADTs genéricos, garantindo a cobertura de axiomas, sem a necessidade de ter presente implementações dos parâmetros do ADT. A especificação algébrica é primeiro traduzida para Alloy, de forma a usar o Alloy Analyzer para encontrar modelos para cada objetivo de teste (caso axiomático a cobrir). Destas instâncias são extraídos casos de teste e implementações finitas dos parâmetros do ADT. A abordagem é suportada pela ferramenta GenT que gera testes em JUnit a partir de especificações algébricas em ConGu.
Language:
Portuguese
Type (Professor's evaluation):
Scientific