Uma abordagem para integração e teste de módulos baseada em agrupamento e algoritmos de otimização multiobjetivos
Abstract
Resumo: Para encontrar defeitos de comunicaçõ entre diferentes partes de um sistema é realizado o teste de integração, no qual cada módulo desenvolvido deve ser integrado e testado com os módulos já existentes. Entretanto, um módulo a ser integrado e testado, pode necessitar de recursos de outro módulo ainda em desenvolvimento, levando a necessidade de se construir um stub. Stubs são simula_c~oes de recursos essenciais para o teste mas que ainda não estão disponíveis. O stub não faz parte do sistema, então a construção de stubs implica em custo adicional. Para minimizar a necessidade de stubs e conseqüentemente reduzir o custo do projeto, várias estratégias para integrar e testar módulos foram propostas. Porém, nenhuma dessas estratégias considera uma característica presente na maioria dos sistemas, que é a modularização. Dado este fato, este trabalho propõe uma estratégia que considera agrupamentos de módulos durante o estabelecimento de ordens para a integração e teste. Esta estratégia é implementada em uma abordagem chamada MECBA-Clu, uma abordagem baseada em algoritmos de otimização multiobjetivos e diferentes medidas de acoplamento para avaliar diversos fatores que inuenciam o custo de construção de stubs. A abordagem MECBA-Clu é avaliada através da condução de um experimento com oito sistemas reais, quatro Orientados a Objetos e quatro Orientados a Aspectos, no qual os três diferentes algoritmos evolutivos multiobjetivos NSGA-II, SPEA2 e PAES foram aplicados. Os resultados apontam que o espaço de busca fica restrito a determinadas áreas em que as soluções podem ser encontradas. Além disso, de acordo com quatro indicadores de qualidade utilizados, observa-se que o algoritmo PAES obteve o melhor resultado, seguido pelo NSGA-II e por fim o SPEA2. Exemplos da utilização da abordagem também são apresentados. Abstract: In the integration test phase, the modules are integrated and tested in order to nd communication faults. However, a module to be integrated and tested may require resources from another module still under development. In such cases, a stub is required. Stubs are simulations of essential resources, which are not available yet for testing a module. The stub is not part of the system, then the stubbing construction involves additional cost. To minimize stubbing costs, several strategies have been proposed to integrate and test modules. However, no one of them considers a characteristic of most systems, the modularization. Therefore, this work proposes a strategy that considers clusters of modules during the establishment of integration and testing orders. This strategy is implemented in an approach, called MECBA-Clu, which considers multi-objective optimization algorithms and dierent coupling measures to evaluate several factors that in uence the stubbing construction cost. The MECBA-Clu approach is evaluated through an experimental study with eight real systems, four Object-Oriented and four Aspect-Oriented ones, where three dierent multi-objective evolutionary algorithms, NSGA-II, SPEA2 and PAES, were applied. The results show that the search space is restricted to certain areas where the solutions can be found. In addition to this, by using four quality indicators, we can attest that the algorithm PAES has the best performance, followed by NSGA-II and nally SPEA2. Usage examples of the approach are also presented.
Collections
- Teses & Dissertações [9119]