Um Framework de Geração de Dados de Teste para Critérios Estruturais Baseados em Código Objeto Java

  • Lucilia Yoshie Araki UFPR
  • Silvia Regina Vergilio UFPR

Resumo


O teste evolutivo de software orientado a objeto é uma área de pesquisa emergente. Algumas abordagens promissoras sobre o assunto são encontradas na literatura, entretanto, estas não consideram critérios propostos recentemente que utilizam o código objeto Java para obter os requisitos de teste. Além disso, os trabalhos geralmente não estão integrados a uma ferramenta de teste. Neste artigo, um framework, chamado TDSGen/OO para geração de dados de teste é descrito. TDSGen/OO utiliza Algoritmos Genéticos e trabalha de maneira integrada com a ferramenta JaBUTi, que implementa diferentes critérios de teste baseados no bytecode e em mecanismos de tratamento de exceções, permitindo o teste de componentes mesmo que o código fonte não esteja disponível. Alguns resultados preliminares são também apresentados que mostram benefícios no uso do framework.

Referências

Afzal, W. R. Torkar and Feldt, R. A systematic review of search-based testing for non-functional system properties. Information and Software Technology, vol 51 (6), pp 95 –976. June, 2009.

Cheon, Y.; Kim, M. Y and Peruandla, A. 2005. A Complete Automation of Unit Testing for Java Programs. Disponivel em: http://cs.utep.edu/cheon/techreport/tr05-05.pdf.

Ferreira, L. P. and S Vergilio, S. R.. TDSGEN: An Environment Based on Hybrid Genetic Algorithms for Generation of Test Data. In 17th International Conference on Software Engineering and Knowledge Engineering. Taipei, Taiwan, July., 2005

Goldberg, D. E. and Richardson, J. Genetic algorithms with sharing for multimodal function optimization. In Proc of International Conf. on Genetic Algorithms, 1987.

Harman, M. The Current State and Future of Search Based Software Engineering. International Conference on Software Engineering. pp 342-357. 2007

Harrold, M. J. and Rothermel, G. 1994. Performing data flow testing on claases. In: Second ACM SIGSOFT Symposium on Foundations os Software Engineering, New York: ACM Press, 1994, p. 154-163.

Lemos, O.A.L.; Vincenzi, A.M.; Maldonado, J.C. and Masiero, P.C. Control and data flow structural testing criteria for aspect-oriented programs. Journal of Systems and Softwre, v. 80(6), pp 862-882, June, 2007.

Liu, X.; Wang, B.; and Liu, H. Evolutionary search in the context of object-oriented programs. MIC2005: The Sixth Metaheuristics International Conference, Vienna, Austria. 2005

Mantere, T. and Alander, J.T. Evolutionary software engineering, a review. Applied Software Computing. V. 5., pp 315-331, 2005.

McMinn, P., “Search-based software test data generation: a survey,” Software Testing, Verification and Reliability, vol. 14, no. 2, pp. 105–156. 2004.

Michael, C.; McGraw, M. C. and Schatz, M.A. Generating Software Test Data by Evolution. IEEE Transactions on Software Engineering, Vol.SE-27(12): 1085-1110. December. 2001.

Muller, R.A. and Holcombe, M. A Symbolic Java virtual machine for test case generation. In: IASTED Conference on Software Engineering, pp 365-371, 2004.

Offut, A. J. and Irvine, A. Testing object-oriented software using the category-partition method. In: XVII International Conference on Technology of Object-Oriented Languages Systems, p. 293 – 304, Santa Barbara, CA, EUA, Agosto. Prentice-Hall. 1995.

Polo, M.; Piattini, M. and Garcia-Rodriguez, I. Decreasing the cost of mutation testing with second-order mutants. Software Testing, Verification & Reliability, v. 19, pp. 111 – 131, 2009.

Ribeiro, J.C.; Veja, F.F. and Zenha-Rela, M.. Using Dynamic Analisis of Java Bytecode for Evolutionary Object-Oriented Unit Testing. Em 25th Brazilian Symposium on Computer Networks and Distributed Systems, Belém/PA. 2007

Ribeiro, J.C. Search-Based Test Case Generation for Object-Oriented Java Software Using Strongly-Typed Genetic Programming., Em Proc. of the GECCO '08, pp. 1819-1822, Atlanta, Georgia, USA, July 2008.

Sagarna, R., A. and Yao, A. X. Estimation of Distribution Algorithms for Testing Object Oriented Software. In: IEEE Congress on Evolutionary Computation (CEC, 2007).

Seesing and H Gross A Genetic Programming Approach to Automated Test Generation for Object-Oriented Software. In: 1st International Workshop on Evaluation of Novel Approaches to Software Engineering, Erfurt, Germany, September 19—20, 2006.

Tonella, P. Evolutionary Testing of Classes. ISSTA '04: Proceedings of the 2004 ACM SIGSOFT International Symposium on Software testing and Analysis. ACM Press: 119-128. Boston, Massachusetts, USA, 2004.

Vincenzi, M. R; Delamaro, M. E. e Maldonado, J. C. JaBUTi – Java Bytecode Undestanding and Testing. Technical Report – University of São Paulo, March 2003.

Vincenzi, M. R.; .Delamaro, M.E.; Maldonado, J.C. and Wong, E. Establishing Structural Testing Criteria for Java Bytecode. Software Practice and Experience, 36(14): 1.512 – 1.541. Nov. 2006.

Wapller, S. and Lammermann, F. Using evolutionary algorithms for the unit testing of object-oriented software, Proceedings of the 2005 conference on Genetic and evolutionary computation, June 25-29, Washington DC, USA, 2005.

Wappler, S. and Lammermann, F. Evolutionary Unit Testing of Object-Oriented Software Using a Hybrid Evolutionary Algorithm. In: IEEE Congress on Evolutionary Computation, 2006. CEC 2006. Volume , Issue , pp 851 – 858. 2006

Wappler, S. and Wegener, J.: Evolutionary Unit Testing of Object-Oriented Software Using Strongly-Typed Genetic Programming. Em: GECCO ‘06’, Seattle/ Washignton, 2006.

Wegener, J., Baresel, A. and Sthamer, H. Evolutionary test environment for automatic structural testing. Information and Software Technology, 43:841-854, 2001.
Publicado
28/05/2010
ARAKI, Lucilia Yoshie; VERGILIO, Silvia Regina. Um Framework de Geração de Dados de Teste para Critérios Estruturais Baseados em Código Objeto Java. In: WORKSHOP DE TESTES E TOLERÂNCIA A FALHAS (WTF), 11. , 2010, Gramado/RS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2010 . p. 91-104. ISSN 2595-2684. DOI: https://doi.org/10.5753/wtf.2010.23098.