Dissertação

Applying Multi-Objective Test Selection for Continuous Integration at OutSystems APPROVED

A realização de testes de regressão exaustiva sempre que uma alteração ocorre em grandes sistemas de software tende a ser inviável, uma vez que leva muito tempo para executar todos os casos de teste. A principal motivação deste trabalho é fornecer um ciclo de feedback mais curto e mais cedo aos programadores quando uma alteração é feita, em vez de esperar pelo feedback atualmente mais lento da execução do pipeline de Continuous Integration. A técnica desenvolvida e ferramenta, MOTSD, implementa uma abordagem de seleção de testes multi-objetivo para código C#. O MOTSD usa um algoritmo de otimização de enxame de partículas para procurar seleções relevantes e usa uma métrica de diagnosabilidade de suites de testes e métricas históricas como objetivos. São apresentados vários desafios de implementação relacionados com a recolha de dados de cobertura e integração com sistemas externos. Quando comparado com seleções aleatórias, o MOTSD é capaz de corresponder em termos de capacidade de selecionar testes com falha, além de fornecer, em pelo menos 25% dos commits, seleções que eram, em média, 93% menores e 76% mais rápidas de executar. Além disso, o impacto de commits inocentes nos resultados e a relevância de outros dados, como o tamanho da alteração ao código, foram estudados para entender o contexto industrial dos OutSystems.
seleção de testes, multi-objetivo, diagnosabilidade, tempo de feedback, continuous integration, optimização por enxame de partículas

Novembro 14, 2019, 18:0

Documentos da dissertação ainda não disponíveis publicamente

Orientação

ORIENTADOR

Rui Filipe Lima Maranhão de Abreu

Departamento de Engenharia Informática (DEI)

Professor Associado