Logo do repositório
 
A carregar...
Miniatura
Publicação

Property-based testing

Utilize este identificador para referenciar este registo.
Nome:Descrição:Tamanho:Formato: 
COM_OliveiraA_SEI25_camera_ready_23.pdf1.16 MBAdobe PDF Ver/Abrir

Orientador(es)

Resumo(s)

Este manuscrito apresenta o desenvolvimento e aplicação de testes unitários e de testes baseados em propriedades (Property-Based Testing — PBT), utilizando a biblioteca Hypothesis, dedicada ao suporte de PBT em Python. A abordagem iniciou-se com a criação de testes PBT para pequenos exemplos de código, explorando a capacidade da ferramenta para gerar automaticamente conjuntos diversificados de entradas, incluindo alguns casos extremos, permitindo analisar e validar as propriedades do software. Posteriormente, esses testes foram aplicados à biblioteca py-money e à Embedded Test Automation Framework (ETAF) da Capgemini Engineering, que já dispunham de alguns testes unitários. Assim, para potenciar o seu melhor desempenho, são usados testes unitários, complementados com testes PBT para ultrapassar algumas das suas falhas, particularmente, em cenários envolvendo a biblioteca py-money operando com os diversos tipos de moedas mundiais – onde o número de casas décimais pode variar ou simplesmente não ser usado. A formulação de propriedades PBT e a geração automática de casos extremos pela biblioteca Hypothesis acelera a identificação de erros, reduzindo o esforço manual necessário para implementação de testes dedicados a casos específicos. A avaliação comparativa entre os dois testes considerou os resultados obtidos, o tempo de execução e a cobertura dos cenários a analisar, corroborando a utilidade dos testes baseados em propriedades como um complemento para o incremento da robustez do software. Conclui-se que a geração automática de casos de teste diversificados e críticos antecipa a identificação de erros, aumentando significativamente a cobertura e a robustez dos sistemas testados.

Descrição

Palavras-chave

Property-based testing Hypothesis Python Py-money ETAF

Contexto Educativo

Citação

Oliveira, A. L., Alves, F. M., Carvalho, F., Afonso, L., Mendonça, J. & Sousa, A. (2025, dezembro 9). Property-based testing. In Sá, C., Oliveira, C., Silva, E., Cardoso, M., Morgado, N., Proença, P., Carvalho, P., Vieira, R., Meireles, R., & Moreira, S. (Eds.). Simpósio de Engenharia Informática 2025. Instituto Superior de Engenharia do Porto ISEP – P.Porto

Projetos de investigação

Unidades organizacionais

Fascículo

Editora

Instituto Superior de Engenharia do Porto (ISEP) – P.Porto