Uma ferramenta baseada em aspectos para o teste funcional de programas Java

  • André Dantas Rocha USP
  • Adenilso da Silva Simão USP
  • José Carlos Maldonado USP
  • Paulo Cesar Masiero USP

Resumo


A disponibilidade de ferramentas de teste de software propicia maior qualidade e produtividade para as atividades de teste. Neste artigo é apresentada uma ferramenta para teste funcional de programas Java. A ferramenta, denominada J-FuT, apóia os principais critérios da técnica funcional e oferece análise de cobertura baseada nesses critérios. A Programação Orientada a Aspectos é utilizada pela ferramenta nas etapas de instrumentação e execução dos critérios de teste. O uso dessa técnica permite a separação clara entre o código de teste e o código do programa, assim como torna mais fácil a adição e remoção dos aspectos que implementam o teste.

Palavras-chave: Programação Orientada a Aspectos, Teste Funcional, Análise de Cobertura

Referências

AUTOMATEDQA CORP. TestComplete. 1999. Disponível em [link] (Acessado em 07/12/2004)

BARBOSA, D. L.; ANDRADE, W. L.; MACHADO, P. D. L.; FIGUEREDO, J. C. A. SPACES - Uma Ferramenta para Teste Funcional de Componentes. Anais da XI Sessão de Ferramentas - XVIII Simpósio Brasileiro de Engenharia de Software, p. 55-60, 2004.

BINDER, R. V. Testing Object-Oriented Systems: Models, Patterns, and Tools. 1 ed. Massachusetts: Addison Wesley, 1191 p., 1999.

BRUEL, J.-M.; ARAÚJO, J.; MOREIRA, A.; ROYER, A. Using Aspects to Develop Built-In Tests for Components. In: AKKAWI, F.; BOOCH, O. A. A. G.; CLARKE, S.; GRAY, J.; HARRISON, B.; KANDÉ, M.; STEIN, D.; TARR, P.; ZAKARIA, A., eds. Proceedings of the 4th AOSD Modeling With UML Workshop, San Francisco - CA, 2003.

CHAIM, M. L. Poke-tool: Uma Ferramenta para Suporte ao Teste Estrutural de Programas Baseados em Análise de Fluxo de Dados. Dissertação de Mestrado, DCA/FEE/UNICAMP, Campinas - SP, 1991.

DEBUSMANN, M.; GEIHS, K. Efficient and Transparent Instrumentation of Application Components using an Aspect-oriented Approach. In: 14th IFIP/IEEE Workshop on Distributed Systems: Operations and Management (DSOM 2003), Heidelberg - Germany: Springer, 2003, p. 209-220 (Lecture Notes in Computer Science (LNCS), v.2867).

DETERS, M.; CYTRON, R. K. Introduction of Program Instrumentation using Aspects. In: Proceedings of the OOPSLA 2001 Workshop on Advanced Separation of Concerns in Object-Oriented Systems, Tampa - FL: ACM, 2001.

DIOTALEVI, F. Contract enforcement with AOP: Apply Design by Contract to Java software development with AspectJ. 2004. Disponível em [link] (Acessado em 25/08/2004)

ELRAD, T.; AKSIT, M.; KICZALES, G.; LIEBERHERR, K.; OSSHER, H. Discussing Aspects of AOP. Communications of the ACM, v. 44, n. 10, p. 33-38, 2001.

GAMMA, E.; BECK, K. JUnit, Testing Resources for Extreme Programming. 2002. Disponível em http://www.junit.org/ (Acessado em 16/11/2004)

ISBERG, W. Get Test-Inoculated! Software Development Article, 2002. Disponível em http://www.sdmagazine.com/documents/s=7360/sdm0205b/ (Acessado em 26/10/2004)

KICZALES, G.; HILSDALE, E.; HUGUNIN, J.; KERSTEN, M.; PALM, J.; GRISWOLD, W. G. An Overview of AspectJ. Lecture Notes in Computer Science, v. 2072, p. 327- 355, 2001.

KICZALES, G.; LAMPING, J.; MENHDHEKAR, A.; MAEDA, C.; LOPES, C.; LOINGTIER, J.-M.; IRWIN, J. Aspect-Oriented Programming. In: AKSIT, M.; MATSUOKA, S., eds. Proceedings of the European Conference on Object-Oriented Programming, v. 1241, Berlin, Heidelberg, and New York: Springer-Verlag, p. 220-242, 1997.

LINKMAN, S.; VINCENZI, A. M. R.; MALDONADO, J. C. An Evaluation of Systematic Functional Testing Using Mutation Testing. In: Proceedings of 7th International Conference on Empirical Assessment in Software Engineering, Staffordshire - UK, 2003, p. 1-15.

MALDONADO, J. C.; BARBOSA, E. F.; VINCENZI, A. M. R.; DELAMARO, M. E.; SOUZA, S.; JINO, M. Teste de Software: Teoria e prática. In: Minicurso - XVII Simpósio Brasileiro de Engenharia de Software (SBES 2003), Manaus - AM, 2003.

MAO, X.; MAY, J. A Framework of Integration Testing Using AspectJ. International Workshop on Aspect-Oriented Software Development (WAOSD 2004), 2004.

MONK, S.; HALL, S. Virtual Mock Objects using AspectJ with JUnit. http://XProgramming.com, 2002. Disponível em [link] (Acessado em 20/11/2004)

MYERS, G. J. The Art of Software Testing. 1 ed. New York: Wiley, 177 p., 1979.

OSTRAND, T. J.; BALCER, M. J. The category-partition method for specifying and generating fuctional tests. Communications of the ACM, v. 31, n. 6, p. 676-686, 1988.

PARASOFT CORPORATION Jtest. 1997. Disponível em http://www.parasoft.com/jtest (Acessado em 05/11/2004)

PEARSON, C. A Framework for the Aspect-Oriented Dynamic Instrumentation of Java Programs. Relatório Técnico, Department of Computing Imperial College London, London - France, 2003.

PRESSMAN, R. S. Engenharia de Software. 5 ed. Rio de Janeiro: McGraw-Hill, 843 p., 2002.

RAJAN, H.; SULLIVAN, K. Generalizing AOP for Aspect-Oriented Testing. Relatório Técnico CS-2004-30, University of Virginia, Virginia - USA, 2004.

RATIONAL CORP. IBM Rational XDE Tester. 2002. Disponível em [link] (Acessado em 12/12/2004)

ROCHA, A. D. Uma ferramenta baseada em aspectos para apoio ao teste funcional de programas Java. Dissertação de Mestrado, Universidade de São Paulo - ICMC/USP, São Carlos - SP, 2005.

VINCENZI, A. M. R.; WONG, W. E.; DELAMARO, M. E.; MALDONADO, J. C. JaBUTi: A Coverage Analysis Tool for Java Programs. In: Anais da Sessão de Ferramentas do XVII Simpósio Brasileiro de Engenharia de Software, Manaus - AM, 2003.
Publicado
03/10/2005
ROCHA, André Dantas; SIMÃO, Adenilso da Silva; MALDONADO, José Carlos; MASIERO, Paulo Cesar. Uma ferramenta baseada em aspectos para o teste funcional de programas Java. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 19. , 2005, Uberlândia/MG. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2005 . p. 263-278. DOI: https://doi.org/10.5753/sbes.2005.23824.