Publicação
Property-based testing
| datacite.subject.fos | Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática | |
| datacite.subject.sdg | 09:Indústria, Inovação e Infraestruturas | |
| dc.contributor.author | Oliveira, André Leal | |
| dc.contributor.author | Alves, Fabiana Manuela | |
| dc.contributor.author | Carvalho, Fernando | |
| dc.contributor.author | Afonso, Luís | |
| dc.contributor.author | Mendonça, Jorge | |
| dc.contributor.author | Sousa, António | |
| dc.date.accessioned | 2026-04-27T15:28:37Z | |
| dc.date.available | 2026-04-27T15:28:37Z | |
| dc.date.issued | 2025-12-09 | |
| dc.description.abstract | 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. | por |
| dc.identifier.citation | 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 | |
| dc.identifier.isbn | 978-989-36167-7-2 | |
| dc.identifier.uri | http://hdl.handle.net/10400.22/32311 | |
| dc.language.iso | por | |
| dc.peerreviewed | yes | |
| dc.publisher | Instituto Superior de Engenharia do Porto (ISEP) – P.Porto | |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | |
| dc.subject | Property-based testing | |
| dc.subject | Hypothesis | |
| dc.subject | Python | |
| dc.subject | Py-money | |
| dc.subject | ETAF | |
| dc.title | Property-based testing | eng |
| dc.type | conference paper | |
| dspace.entity.type | Publication | |
| oaire.citation.conferenceDate | 2025-12-09 | |
| oaire.citation.conferencePlace | Porto, Portugal | |
| oaire.citation.title | SEI'25 - Simpósio de Engenharia Informática 2025 | |
| oaire.version | http://purl.org/coar/version/c_970fb48d4fbd8a85 | |
| person.familyName | Sousa | |
| person.givenName | António | |
| person.identifier.orcid | 0000-0003-2015-7980 | |
| person.identifier.rid | J-8313-2013 | |
| person.identifier.scopus-author-id | 13006494000 | |
| relation.isAuthorOfPublication | a5e2bffc-5a8a-4bf7-a29d-b0eea9aae9de | |
| relation.isAuthorOfPublication.latestForDiscovery | a5e2bffc-5a8a-4bf7-a29d-b0eea9aae9de |
