In Portuguese
A atividade de teste constitui uma fase de grande importância no processo de desenvolvimento de software, tendo como objetivo garantir um alto grau de confiabilidade nos produtos desenvolvidos. Com o advento do paradigma da orientação a objetos, novos problemas foram introduzidos na atividade de teste de programas, tornando-a mais complexa do que para sistemas tradicionais. Com o objetivo de auxiliar o processo de teste de programas orientados a objetos, este trabalho aborda o desenvolvimento de uma ferramenta, para programas escritos em Java, orientada ao teste de estados com apoio da tecnologia de reflexão computacional. Através do emprego de asserções, especificadas pelo usuário, é possível verificar a integridade dos estados dos objetos durante a execução do programa em teste.
In English
Software testing is a very important step in the software development cycle, whose goal is the obtainment of systems with a high degree of reliability. With the advent of the object oriented paradigm, new problems have been introduced in the software testing activity, by making it more complex than the traditional procedural validation. This paper focuses on the development of a tool to support the testing process of object oriented programs. KTest is oriented to state-based testing of Java-written programs, supported by the mechanism of computational reflection. By evaluating user specified assertions, KTest verifies the state integrity of the objects during the execution of the program being tested.