Publication:
jPET: un generador de casos de prueba sobre programas Java

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2011
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
PET es una herramienta ya existente para la generación de casos de prueba que recibe como entrada un código de bytes de Java y una selección entre los criterios de recubrimiento disponibles y obtiene como salida un conjunto de casos de prueba (test-cases) que garantizan el recubrimiento seleccionado. Puesto que el código de bytes es una representación de bajo nivel del programa, la información inferida por PET es difícilmente interpretable por el usuario. Esto en concreto impide la utilización de PET durante el proceso de desarrollo de software, área en la que el testing tiene un amplio campo de aplicación. El objetivo del presente proyecto es la extensión de PET para su uso sobre programas Java de alto nivel y su integración en el entorno de desarrollo integrado Eclipse, con el objetivo de poder usar los resultados obtenidos por PET durante el proceso de desarrollo de software. El presente proyecto, al que hemos nombrado jPET, hace especial hincapié en el tratamiento posterior de la información generada por PET con el objetivo de presentarla al usuario de una forma fácil de entender. jPET incorpora un visor de casos de prueba (test-case viewer) que puede mostrar el contenido de la memoria antes de la ejecución (heap de entrada) y después de la ejecución de cada caso de prueba (heap de salida). jPET puede mostrar la traza de ejecución de un caso de prueba dado (i.e., la secuencia de instrucciones que el caso de prueba ejecutaría) de dos formas distintas: (1) marcando todas las instrucciones implicadas o (2) permitiendo al usuario reproducir la secuencia de instrucciones paso a paso usando la interfaz de depuración de Eclipse. Por último, puede analizar sintácticamente precondiciones de métodos escritas en JML (Java modeling language) y usarlas para evitar la generación de casos de prueba poco interesantes. Las principales contribuciones del proyecto se han recogido en un artículo titulado Software testing using jPET [2] que tenemos previsto enviarlo próximamente a un congreso internacional. [ABSTRAC] PET is an existing test case generation tool that takes as input a Ja-va bytecode program and a selection of a coverage criteria (among those available in the system) and returns in the output a set of test-cases which ensure the selected coverage. As bytecode is a low-level representation of the program, the information obtained by PET is difficult to interpret by a non-expert user. This particularly prevents the use of PET during software development, an area in which testing has a large application field. The goal of this pr oject is the extension of PET for its use on Java source programs and its integration within the Eclipse integrated development environment with the objective of being able to apply the results obtained by PET during sofware development. This project, named jPET, puts special emphasis on advanced processing of the information generated by PET in order to display it to the user in an easy way to interpret. For this purpose, jPET incorporates a viewer of test cases (test-case viewer) that can display the contents of the memory before execution (heap entry) and after the execution of each test case (heap output). jPET can show the execution trace of a given test case (i.e.,the sequence of instructions that execute the test case) in two ways: (1) by marking all instructions involved or (2) by allowing the user to reproduce the sequence of instructions step by step using the Eclipse debugger interface. Finally, jPET can parse preconditions of methods written in JML (Java Modeling Language) and use them to avoid the generation of test cases which are not interesting. The main contributions of this project have been written in a paper entitled Software testing using jPET [2] that will be submitted soon to an Internacional Conference
Description
Proyecto de Sistemas Informáticos (Facultad de Informática, Curso 2010-2011)
Keywords
Citation