Um catálogo de stubs para apoiar o teste de integração de programas orientados a aspectos

  • Reginaldo Ré UTFPR
  • André L. dos S. Domingues USP
  • Paulo Cesar Masiero USP

Abstract


A problem on the integration testing of object oriented programs is the order which classes are integrated and tested in the presence of dependency cycles. This problem, also observed in aspect oriented (AO) programs, causes additional effort during the testing activity, especially implementing stubs to break dependency cycles. This paper presents some stubs and drivers involving classes and aspects collected in a categorization study of four different testing strategies of two AO programs. The context which stubs and drivers were used and decisions about how to implement them according this context are also presented. Furthermore, guidelines to implement these software artifacts are proposed to support the testing of aspect-oriented programs.

References

Alexander, R. T. and Bieman, J. M. (2004). Towards the systematic testing of aspect-oriented programs. Technical Report CS-4-105, Colorado State University, Fort Collins, Colorado.

Binder, R. V. (1999). Testing object-oriented systems: models, patterns, and tools. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.

Camargo, V. V. and Masiero, P. C. (2005). Object-oriented frameworks. In XIX SBES - Brazilian Symposium on Software Engineering, pages 200–216, Uberlândia – Brazil. in Portuguese.

Ceccato, M., Tonella, P., and Ricca, F. (2005). Is AOP code easier or harder to test than OOP code? In First Workshop on Testing Aspect-Oriented Programs (WTAOP 2005), Chicago, Illinois – USA.

Cibrán, M., D’Hondt, M., and Jonckers, V. (2003). Aspect-oriented programming for connecting business rules. In 6th International Conference on Business Information Systems.

Colyer, A., Rashid, A., and Blair, G. (2004). On the separation of concerns in program families. Technical Report COMP-001-2004, Lancaster University.

Douence, R., Fradet, P., and Südholt, M. (2004). Composition, reuse and interaction analysis of stateful aspects. In Murphy, G. C. and Lieberherr, K. J., editors, Fourth International Conference on Aspect-Oriented Software Development (AOSD’2005) – Workshop On Testing Aspect Oriented Programs, pages 141–150. ACM.

Filman, R. E. and Friedman, D. P. (2005). Aspect-oriented programming is quantification and obliviousness. In Filman, R. E., Elrad, T., Clarke, S., and Aksit, M., editors, AspectOriented Software Development, pages 21–35. Addison-Wesley, Boston.

Gradecki, J. D., Lesiecki, N., and Gradecki, J. (2003). Mastering AspectJ: AspectOriented Programming in Java. John Wiley & Sons, Inc.

Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C. V., Loingtier, J.-M., and Irwin, J. (1997). Aspect-oriented programming. In Aksit, M. and Matsuoka, S., editors, ECOOP’97 Object-Oriented Programming, 11th European Conference, Jyväskylä, Finland, June 9-13, 1997, Proceedings, volume 1241 of Lecture Notes in Computer Science, pages 220–242. Springer.

Kienzle, J. and Guerraoui, R. (2002). AOP: Does it make sense? The case of concurrency and failures. In Magnusson, B., editor, ECOOP 2002, Malaga, Spain, June 10-14, 2002, Proceedings, volume 2374 of LNCS, pages 37–61. Springer.

Kienzle, J., Yu, Y., and Xiong, J. (2003). On composition and reuse of aspects. In Leavens, G. T. and Clifton, C., editors, FOAL: Foundations of Aspect-Oriented Languages at the AOSD 2003.

Krechetov, I., Tekinerdogan, B., Garcia, A., Chavez, C., and Kulesza, U. (2006). Towards an integrated aspect-oriented modeling approach for software architecture design. In 8th Workshop on Aspect-oriented Modeling (AOM’06) at the Fifth International Conference on Aspect-Oriented Software Development (AOSD’06), Bonn, Germany.

Kung, D. C., Gao, J., Hsia, P., Lin, J., and Toyoshima, Y. (1995). Class firewal, test order and regression testing of object-oriented programs. Journal of Object-Oriented Program, 8(2):51–65.

McGregor, J. D. and Sykes, D. A. (2001). A practical guide to testing object-oriented software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.

Ré, R., Lemos, O. A. L., and Masiero, P. C. (2007). Minimizing stub creation during integration test of aspect-oriented programs. In WTAOP ’07: Proceedings of the 3rd workshop on Testing aspect-oriented programs, pages 1–6, New York, NY, USA. ACM Press.

Ré, R. and Masiero, P. C. (2007). Integration testing of aspect-oriented programs: a characterization study to evaluate how to minimize the number of stubs. In XXI SBES - Brazilian Symposium on Software Engineering, volume 21, pages 411–426, João Pessoa – Brazil.

The AspectJ Team (2002). The AspectJ programming guide. Xerox Croporation.

Zhou, Y., Richardson, D., and Ziv, H. (2004). Towards a practical approach to test aspect-oriented software. In Beydeda, S., Gruhn, V., Mayer, J., Reussner, R., and Schweiggert, F., editors, Testing of Component-Based Systems and Software Quality, TECOS 2004 (Workshop Testing Component-Based Systems), pages 1–16, Erfurt – Germany.
Published
2008-10-13
RÉ, Reginaldo; DOMINGUES, André L. dos S.; MASIERO, Paulo Cesar. Um catálogo de stubs para apoiar o teste de integração de programas orientados a aspectos. In: BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES), 22. , 2008, Campinas. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2008 . p. 65-80. ISSN 2833-0633. DOI: https://doi.org/10.5753/sbes.2008.21324.