Integration Tests Applied to Object Oriented Software: Class Order Heuristics
Abstract
An important issue when applying object oriented integration testing is concerned with the decision about the classes’ integration order. The classes need to be integrated one by one or, in some cases, in small clusters [7], since big-bang integration approach can not be directly applied. Concepts such as encapsulation, inheritance and polymorphism can increase integration testing complexity, mainly for those situations when developers need to identify a set of criteria (heuristics) to break down the dependences among classes. This paper describes a set of heuristics applied to UML class diagrams that allows classes’ integration priority order identification. The number of stubs needed for testing is used as an effort measure. Such heuristics, when compared with the other existent approaches, can be applied in higher abstraction level (design) making possible decisions anticipation regarding the integration testing planning. A case study demonstrates its use and shows the results comparison with other related studies found in technical literature.
Keywords:
Integration Test, Integration Order, Object-Oriented Software Engineering, Experimentation
References
ANTONIOL, G.; BRIAND, L.C.; DI PENTA, M.; LABICHE, Y.; A case study using the round-trip strategy for state-based class testing, Proceedings of the 13th International Symposium on Software Reliability Engineering, 12-15 Nov. 2002, Page(s): 269 –279
BEIZER, B.; Software System Testing and Quality Assurance; Van Nostrand Reinhold Company Inc, 1984.
BINDER, R.V.; Testing object-oriented systems: models, patterns, and tool; Addison- Wesley, 2000.
BOOCH, G., RUMBAUCH, J., JACOBSON, I., UML – Guia do Usuário, Editora Campus, 2000.
BRIAND, L.C.; LABICHE, Y.; YIHONG, W; Revisiting strategies for ordering class integration testing in the presence of dependency cycles, ISSRE 2001. Proceedings of the. 12th International Symposium on Software Reliability Engineering, Nov. 2001, Page(s): 287 -296
BRIAND, L.C.; LABICHE, Y.; SOCCAR, G.; Automating impact analysis and regression test selection based on UML designs, Software Maintenance, 2002. Proceedings. International Conference on, 3-6 Oct, 2002.
BRIAND, L.C.; FENG, J. ; LABICHE, Y.; Experimenting with Genetic Algorithms and Coupling Measures to Devise Optimal Integration Test Orders, Carleton University, Technical Report SCE-02-03, Version 3, Oct, 2002.
BRIAND, L.C.; LABICHE, Y.; YIHONG, W; An investigation of graph-based class integration test order strategies, IEEE Transactions on Software Engineering, 0098- 5589/03, Vol. 29, Issue: 7, July, 2003, Page(s): 594 -607
FURLAN, J.D.; Modelagem de Objetos através da UML, Makron Books, São Paulo, 1998.
Le TRAON, Y.; JÉRON, T.; JÉZÉQUEL, J.; e MOREL, P., Efficient Object-Oriented Integration and Regression Testing, IEEE Transactions Reliability, Vol. 49, no. 1, Page(s): 12-25, 0018-9529/00, 2000.
LIMA, G.M.P.S.; TRAVASSOS, G.H.; Testes de Integração Aplicados a Software Orientado a Objetos: Heurísticas para Ordenação de Classes, Relatórios Técnicos do Programa de Engenharia de Sistemas e Computação, ES-632/04, COPPE, UFRJ, 2004.
LORENZ, M., KIDD, J.; Object-Oriented Metrics: A Pratical Guide, Prentice Hall, USA, 1994.
OLIVEIRA, H.; Construção de um componente genérico baseado em heurísticas para ordenação das classes em ordem de prioridade de teste de integração, Estudo da disciplina Laboratórios de Engenharia de Software, COPPE, UFRJ, 2003.
PFLEEGER, S. L., Engenharia de Software: Teoria e Prática, Prentice Hall, 2a Edição, 2004.
PRESSMAN, R. S., Engenharia de Software, Mc Graw Hill, 5a . Edição, 2001.
ROCHA, A. R. C., MALDONADO, J. C., WEBER, K. C., Qualidade de Software: Teoria e Prática, Prentice Hall, 2001.
TRAVASSOS, G.H.; GUROV, D.; AMARAL, E.A.G.G., Introdução à Engenharia de Software Experimental, Relatório Técnico ES-590/02-Abril, Programa de Engenharia de Sistemas e Computação, COPPE/UFRJ.
VIEIRA, M.E.R.; Abordagem para Apoio ao Teste Baseado no Comportamento de Sistemas Orientados a Objetos, Tese de Mestrado, Programa de Engenharia de Sistemas e Computação, COPPE, UFRJ, Rio de Janeiro, 1998.
BEIZER, B.; Software System Testing and Quality Assurance; Van Nostrand Reinhold Company Inc, 1984.
BINDER, R.V.; Testing object-oriented systems: models, patterns, and tool; Addison- Wesley, 2000.
BOOCH, G., RUMBAUCH, J., JACOBSON, I., UML – Guia do Usuário, Editora Campus, 2000.
BRIAND, L.C.; LABICHE, Y.; YIHONG, W; Revisiting strategies for ordering class integration testing in the presence of dependency cycles, ISSRE 2001. Proceedings of the. 12th International Symposium on Software Reliability Engineering, Nov. 2001, Page(s): 287 -296
BRIAND, L.C.; LABICHE, Y.; SOCCAR, G.; Automating impact analysis and regression test selection based on UML designs, Software Maintenance, 2002. Proceedings. International Conference on, 3-6 Oct, 2002.
BRIAND, L.C.; FENG, J. ; LABICHE, Y.; Experimenting with Genetic Algorithms and Coupling Measures to Devise Optimal Integration Test Orders, Carleton University, Technical Report SCE-02-03, Version 3, Oct, 2002.
BRIAND, L.C.; LABICHE, Y.; YIHONG, W; An investigation of graph-based class integration test order strategies, IEEE Transactions on Software Engineering, 0098- 5589/03, Vol. 29, Issue: 7, July, 2003, Page(s): 594 -607
FURLAN, J.D.; Modelagem de Objetos através da UML, Makron Books, São Paulo, 1998.
Le TRAON, Y.; JÉRON, T.; JÉZÉQUEL, J.; e MOREL, P., Efficient Object-Oriented Integration and Regression Testing, IEEE Transactions Reliability, Vol. 49, no. 1, Page(s): 12-25, 0018-9529/00, 2000.
LIMA, G.M.P.S.; TRAVASSOS, G.H.; Testes de Integração Aplicados a Software Orientado a Objetos: Heurísticas para Ordenação de Classes, Relatórios Técnicos do Programa de Engenharia de Sistemas e Computação, ES-632/04, COPPE, UFRJ, 2004.
LORENZ, M., KIDD, J.; Object-Oriented Metrics: A Pratical Guide, Prentice Hall, USA, 1994.
OLIVEIRA, H.; Construção de um componente genérico baseado em heurísticas para ordenação das classes em ordem de prioridade de teste de integração, Estudo da disciplina Laboratórios de Engenharia de Software, COPPE, UFRJ, 2003.
PFLEEGER, S. L., Engenharia de Software: Teoria e Prática, Prentice Hall, 2a Edição, 2004.
PRESSMAN, R. S., Engenharia de Software, Mc Graw Hill, 5a . Edição, 2001.
ROCHA, A. R. C., MALDONADO, J. C., WEBER, K. C., Qualidade de Software: Teoria e Prática, Prentice Hall, 2001.
TRAVASSOS, G.H.; GUROV, D.; AMARAL, E.A.G.G., Introdução à Engenharia de Software Experimental, Relatório Técnico ES-590/02-Abril, Programa de Engenharia de Sistemas e Computação, COPPE/UFRJ.
VIEIRA, M.E.R.; Abordagem para Apoio ao Teste Baseado no Comportamento de Sistemas Orientados a Objetos, Tese de Mestrado, Programa de Engenharia de Sistemas e Computação, COPPE, UFRJ, Rio de Janeiro, 1998.
Published
2004-05-31
How to Cite
LIMA, Gladys Machado Pereira Santos; TRAVASSOS, Guilherme Horta.
Integration Tests Applied to Object Oriented Software: Class Order Heuristics. In: BRAZILIAN SOFTWARE QUALITY SYMPOSIUM (SBQS), 3. , 2004, Brasília.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2004
.
p. 162-174.
DOI: https://doi.org/10.5753/sbqs.2004.16191.
