Use this link to cite:
http://hdl.handle.net/2183/32825 Comparativa de herramientas de pruebas basadas en propiedades para el lenguaje Python
Loading...
Identifiers
Publication date
Authors
Fernández González, Jorge
Other responsabilities
Universidade da Coruña. Facultade de Informática
Journal Title
Bibliographic citation
Type of academic work
Academic degree
Abstract
[Resumen]: Las pruebas basadas en propiedades son un tipo de pruebas que está ganando popularidad en
los últimos años, y se diferencian de las más tradicionales pruebas basadas en ejemplos en que,
mientras que estas últimas comprueban el funcionamiento del software mediante pruebas individuales
implementadas para cada escenario concreto, las pruebas basadas en propiedades
generan múltiples ejecuciones a partir de descripciones que se centran en los aspectos generales
que debe cumplir ese escenario. Las pruebas basadas en propiedades aportan así un nivel
más de abstracción que las pruebas tradicionales, ya que el programador sólo decide el tipo de
datos a probar, pudiendo especificar aspectos, como el valor máximo o la longitud máxima,
pero sin necesidad de determinar valores concretos manualmente.
La popularidad de este nuevo tipo de pruebas puede apreciarse en la aparición de diferentes
herramientas que le dan soporte en los diferentes lenguajes. Ante varias alternativas dentro
de cada tecnología, surge la necesidad de compararlas y contrastarlas, pero estas comparaciones
son escasas o inexistentes a día de hoy, por lo que la decisión de escoger la herramienta
que más se ajusta a las necesidades resulta poco fundamentada.
El objetivo de este trabajo es comparar las herramientas PyPBT e Hypothesis, ambas basadas
en propiedades, para el lenguaje de programación Python, y ayudar a la comunidad
a elegir la herramienta más beneficiosa para cada proyecto. Para ello, diseñaremos y realizaremos
una comparativa completa entre ambas herramientas, incluyendo una selección de
proyectos de la comunidad sobre los que ilustrar los resultados obtenidos.
[Abstract]: Property-based testing is an increasingly popular type of testing, and it differs from more traditional example-based testing in that, while the latter checks the behaviour of the software via individual tests for each particular scenario, property-based testing generates multiple runs from descriptions focused on more general aspects of said scenario. Property-based testing provides, hence, a higher level of abstraction than traditional tests, since the programmer only determines the type of data to be used, limiting some aspects if desired, such as the maximum value or the maximum length, but without the burden of explicitly and manually choosing concrete values. The popularity of this new testing technique shows in the appearance of different tools that support it for different programming languages. Given the number of choices for a given technology, the need arises to compare and contrast them, but formal comparisons are scarce or non-existent nowadays, rendering the decission a poorly founded one. The aim of this work is to compare PyPBT and Hypothesis, two property-based testing tools for the Python programming language. In doing so, we aim to help the community choose the most beneficial for each project. We have designed and conducted a full comparison between these tools, featuring also a selection of community projects to illustrate the obtained results.
[Abstract]: Property-based testing is an increasingly popular type of testing, and it differs from more traditional example-based testing in that, while the latter checks the behaviour of the software via individual tests for each particular scenario, property-based testing generates multiple runs from descriptions focused on more general aspects of said scenario. Property-based testing provides, hence, a higher level of abstraction than traditional tests, since the programmer only determines the type of data to be used, limiting some aspects if desired, such as the maximum value or the maximum length, but without the burden of explicitly and manually choosing concrete values. The popularity of this new testing technique shows in the appearance of different tools that support it for different programming languages. Given the number of choices for a given technology, the need arises to compare and contrast them, but formal comparisons are scarce or non-existent nowadays, rendering the decission a poorly founded one. The aim of this work is to compare PyPBT and Hypothesis, two property-based testing tools for the Python programming language. In doing so, we aim to help the community choose the most beneficial for each project. We have designed and conducted a full comparison between these tools, featuring also a selection of community projects to illustrate the obtained results.
Description
Editor version
Rights
Atribución 3.0 España








