[en] A FRAMEWORK FOR TEST AUTOMATION WITH CONFIGURABLE SPECIFICATION LANGUAGES - BRUNO LOUREIRO REZENDE (MAXWELL, 2010)
[pt] Nesse trabalho foi criado um framework para a realização de testes automatizados de acordo com as práticas de desenvolvimento dirigido por testes, o qual pode ser estendido com novas linguagens de especificação, utilizando idéias de desenvolvimento dirigido por comportamentos. Espera-se que, ao utilizar esse framework, equipes de projetos de software possam especificar testes em uma linguagem mais adequada para o domínio de sua aplicação, através do suporte de uma ferramenta que permita tal nível de personalização. O framework foi instanciado com a criação de uma linguagem baseada em máquinas de estado, utilizada para a aplicação da ferramenta em um projeto real. O objetivo deste trabalho é avaliar os impactos da aplicação dessas técnicas, através da experiência de utilização da ferramenta no projeto. A motivação para esse trabalho surgiu da experiência no desenvolvimento de sistemas de controle, usualmente reativos e com requisitos de tempo real, nos quais muitas vezes a descrição de seus comportamentos é feita através de máquinas de estado, que possivelmente é a melhor linguagem para este domínio. === [en] In this work we create a framework for automated testing according to test driven development practices that can be extended to support new specification languages, following ideas from behavior driven development. We expect that, by using this framework, software development teams will be able to specify tests in more proper languages for the application domain, with the support of a tool that allows such level of customization. The framework was instantiated with the creation of a language based on state machines, and used on a real-life project. The goal of this work is that software project teams become able to specify tests in the most fitting language for their application domain, through the support of a tool that makes possible such level of customization. The motivation for this work comes from the experience with the development of control systems, usually with real-time requirements, which often have their behaviors described by state machines, possibly the best language for this domain.