Extending a property-based testing tool with parallel and distributed execution

Autor: Costas Sánchez, Pablo
Přispěvatelé: Castro Souto, Laura Milagros, Sagonas, Konstantinos, Enxeñaría informática, Grao en
Jazyk: angličtina
Rok vydání: 2020
Předmět:
Zdroj: RUC. Repositorio da Universidade da Coruña
instname
RUC: Repositorio da Universidade da Coruña
Universidade da Coruña (UDC)
Popis: [Abstract] Software testing plays an important role in software development, as it not only helps find bugs in the code, but also boosts the confidence of the developers that the program behaves correctly, besides reducing the cost of fixing such errors or flaws if done in early stages. One of the most common methods of software testing is unit testing, which tests individual components of the software by asserting whether for cherry-picked test cases (i.e., for a given input), the component or unit produces the expected output. This approach to testing has however its downsides, as it is a tedious time-consuming activity, prone to errors of the developer, such as not covering every possible case. Property-Based Testing is a method of testing that fixes the problems found in unit testing, for it uses properties, which are simply logical statements that capture partial correctness of the program, to generate random input to test whether the program satisfies those properties or not. However, while automation allows for the execution of many more tests, increasing their number also means longer test running times. The main goal of this project is to extend PropEr, the most powerful property-based testing tool written in Erlang, with parallel and distributed execution and measure the obtained speedup from doing so. [Resumo] Probar o noso código é unha das cousas máis importantes na disciplina do desenvolvemento do software, xa que non só nos axuda a encontrar erros no noso código, se non que tamén aumenta a confianza das desenvoldedoras e desenvoldedores de que o seu programa se comporta correctamente, ademais de reducir o custo de arranxar devanditos erros ou fallos se se fai dende o inicio. Un dos métodos máis comúns para facer probas ao software son as denominadas probas de unidade, nas que para probar compoñentes individuáis do software, mírase se para casos específicos (ou sexa, para entradas concretas) o compoñente ou unidade produce a saída esperada. Esta forma de probar o código ten, porén, as súas desvantaxes, xa que é unha tarefa tediosa e pesada de facer que consume moito tempo, e a maiores é propensa e susceptíbel a erros das desenvoldedoras e desenvolvedores, coma non cubrir tódolos casos posibles. As probas baseadas en propiedades son un método de probar software que soluciona estes problemas das probas de unidade, xa que no seu lugar empregan o concepto de propiedade, que é un predicado lóxico que captura a corrección parcial do programa. Estas propiedades son usadas para xerar entradas aleatorias para comprobar se o programa satisface as súas expectativas ou non. Porén aínda que a automatización permite realizar moitas máis probas, os tempos de execución tenden a incrementarse correlativamente. O obxectivo principal deste proxecto é estender PropEr, a ferramenta de probas baseadas en propiedades máis potente escrita en Erlang, para permitir a súa execución paralela ou distribuída. Traballo fin de grao (UDC.FIC). Enxeñaría informática. Curso 2019/2020
Databáze: OpenAIRE