Geração Automática de Casos de Testes de Software
Uma Avaliação Empírica na Utilização das Ferramentas Evosuite e Randoop
DOI:
https://doi.org/10.5281/zenodo.13367669Palavras-chave:
Teste de software, Automação de testes, Evosuite, Randoop, Qualidade de softwareResumo
O Teste de Software se constitui em uma das principais atividades no ciclo de vida do processo de desenvolvimento de software para controlar a qualidade. Geralmente a atividade de teste é realizada de forma manual e tem um alto custo no processo de desenvolvimento de software. Ferramentas para automação das atividades de teste de software podem reduzir o esforço e os custos associados, melhorando o processo de desenvolvimento e consequentemente a qualidade do produto. O principal objetivo deste trabalho é investigar o uso de ferramentas para geração automática de scripts de teste. Foi realizado um estudo empírico para avaliar a eficácia em revelar falhas, cobertura de código e qualidade das condições de teste comparando duas ferramentas para geração de casos de teste automatizados a EvoSuite e Randoop. As ferramentas foram submetidas ao mesmo projeto e a cobertura de código bem como a qualidade dos casos de teste foram analisados. Os resultados mostram que ainda existe a necessidade de mais pesquisas e melhorias para que ferramentas automatizadas na geração de casos de testes sejam amplamente adotadas na comunidade de desenvolvimento de software.
Downloads
Referências
AMMANN, P.; OFFUTT, J. Introduction to software testing. 2. ed. Cambridge: Cambridge University Press, 2017.ASTOS, A.; RIOS, E.; CRISTALLI, R.; MOREIRA, T. Base de conhecimento em teste de software. 2. ed. São Paulo: Martins, 2007.
CAMPOS, J.; PANICHELLA, A.; FRASER, G. EvoSuite at the SBST 2019 tool competition. In: 2019 I CHICANELLI, Rachel et al. Aspectos sociais, humanos e econômicos da utilização de testes automatizados no desenvolvimento de sistemas. In: Décima Oitava Conferência Ibero Americana de Sistemas Cibernética e Informática. 2019.EEE/ACM 12th International Workshop on Search-Based Software Testing (SBST). IEEE, 2019. p. 29-32.
CHOUDHARY, D.; KUMAR, V. Software testing. Journal of Computational Simulation and Modeling, v. 1, n. 1, p. 1, 2011.
COLES, H. et al. Pit: a practical mutation testing tool for java. In: Proceedings of the 25th international symposium on software testing and analysis. 2016. p. 449-452.
DELAMARO, Marcio; JINO, Mario; MALDONADO, Jose. Introdução ao teste de software. Elsevier Brasil, 2013.
ELBERZHAGER, F., MÜNCH, J., & NHA, V. T. (2012). A systematic mapping study on the combination of static and dynamic quality assurance techniques. Information and Software Technology. 54(1), 1-15.
FREITAS, E. C.; PRODANOV, C.C. Metodologia do trabalho de pesquisa: métodos e técnicas de pesquisa e do trabalho científico. 2 ed. Novo
FRASER, G.; ARCURI, A. Evosuite: automatic test suite generation for object-oriented software. In: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering. 2011. p. 416-419.
FRASER, Gordon; ARCURI, Andrea. Evosuite at the second unit testing tool competition. In: Future Internet Testing: First International Workshop, FITTEST 2013, Istanbul, Turkey, November 12, 2013, Revised Selected Papers 1. Springer International Publishing, 2014. p. 95-100.
FRASER, Gordon; ARCURI, Andrea. Whole test suite generation. IEEE Transactions on Software Engineering, v. 39, n. 2, p. 276-291, 2012.
GAROUSI, Vahid; MÄNTYLÄ, Mika V. A systematic literature review of literature reviews in software testing. Information and Software Technology, v. 80, p. 195-216, 2016.
GIL, A. C. Métodos e técnicas do conhecimento científico. São Paulo: Atlas, 2000.
JIA, Y.; HARMAN, M. An analysis and survey of the development of mutation testing. IEEE Transactions on Software Engineering, v. 37, n. 5, p. 649–678, 2011.
KITCHENHAM, B.; MENDES, E. Software productivity measurement using multiple size measures. IEEE Transactions on Software Engineering, v. 30, n. 12, p. 1023-1035, 2004.
MYERS, G. J.; SANDLER, C.; BADGETT, T. The art of software testing. 3. ed. Hoboken, NJ: John Wiley & Sons, 2011.
PACHECO, C.; LAHIRI, S. K.; ERNST, M. D.; BALL, T. Feedback-directed random test generation. In: Proceedings of the 29th international conference on Software Engineering. [S.l.]: IEEE Computer Society, 2007. p. 75–84.
SERNA, E. M.; MARTÍNEZ, R. M.; TAMAYO, P. O. A review of reality of software test automation | Una revisión a la realidad de la automatización de las pruebas del software. Computacion y Sistemas, [s. l.], v. 23, n. 1, p. 169–183, 2019.
SILVA, André et al. Flacoco: Fault localization for java based on industry-grade coverage. arXiv preprint arXiv:2111.12513, 2021.
SILVA, I. P. S. C.; ALVES, E. L. G.; ANDRADE, W. L. Analyzing automatic test generation tools for refactoring validation. In: 2017 IEEE/ACM 12th International Workshop on Automation of Software Testing (AST). IEEE, 2017. p. 38-44.
SMEETS, N.; SIMONS, A. J. Automated unit testing with Randoop, JWalk and µJava versus manual JUnit testing. Research report, Department of Computer Science, University of Sheffield/University of Antwerp, Sheffield, Antwerp, 2011.
SOMMERVILLE, I. Engenharia de Software. 8ª ed. São Paulo: Pearson Education Brasil, 2007.
TORRES, D. G. Specnl: Uma ferramenta para gerar descrições em linguagem natural a partir de especificações de casos de teste. 2006. Dissertação de Mestrado. Universidade Federal de Pernambuco.
VERA-PÉREZ, O. L.; MONPERRUS, M.; BAUDRY, B. Descartes: A pitest engine to detect pseudo-tested methods: Tool demonstration. In: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering. 2018. p. 908-911.
AMMANN, P.; OFFUTT, J. Introduction to software testing. 2. ed. Cambridge: Cambridge University Press, 2017.
Downloads
Publicado
Como Citar
Edição
Seção
Licença
Copyright (c) 2024 Ana Caroline Vitória de Lima Bastos , Edson Saraiva De Almeida
Este trabalho está licenciado sob uma licença Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Política de Direito Autoral
Ao submeter um manuscrito para publicação na EnGeTec em Revista, os autores concordam, antecipada e irrestritamente, com os seguintes termos:
- Os autores mantêm os direitos autorais e concedem à EnGeTec em Revista o direito de primeira publicação do manuscrito, sem nenhum ônus financeiro, e renunciam a qualquer outra remuneração pela sua publicação na EnGeTec em Revista.
- Ao ser submetido à EnGeTec em Revista, o manuscrito fica automaticamente licenciado sob a Licença Creative Commons Attribution, que permite o compartilhamento do trabalho com reconhecimento da autoria e da publicação inicial na EnGeTec em Revista.
- Os autores têm autorização para assumir contratos adicionais separadamente, paradistribuição não exclusiva da versão do trabalho publicada na EnGeTec em Revista (publicar em repositórios ou como capítulo de livro), com reconhecimento da publicação inicial na EnGeTec em Revista, desde que tal contrato não implique num endosso do conteúdo do manuscrito ou do novo veículo pela EnGeTec em Revista.
- Os autores têm permissão e são estimulados a publicar e distribuir seu trabalho online, em repositórios institucionais, por exemplo depois de concluído o processo editorial.
- Os autores garantem ter obtido a devida autorização dos seus empregadores para a transferência dos direitos nos termos deste acordo, caso esses empregadores possuam algum direito autoral sobre o manuscrito. Além disso, os autores assumem toda e qualquer responsabilidade sobre possíveis infrações ao direito autoral desses empregadores, isentando a EnGeTec em Revista de toda e qualquer responsabilidade neste sentido.
- Os autores assumem toda responsabilidade sobre o conteúdo do trabalho, incluindo as devidas e necessárias autorizações para divulgação de dados. coletados e resultados obtidos, isentando a EnGeTec em Revista de toda e qualquer responsabilidade neste sentido.