| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 1.16 MB | Adobe PDF |
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
Editora
Instituto Superior de Engenharia do Porto (ISEP) – P.Porto
