Redução de conjuntos de casos de teste aplicados ao teste de regressão em programas java utilizando algoritmos de aprendizado de aáquina
Data
Orientador
Título da Revista
ISSN da Revista
Título de Volume
Editor
Resumo
O teste é uma atividade fundamental para a garantia da qualidade de software. Qualquer modificação realizada no software deve ser testada e, portanto, o teste de regressão é essencial para verificar se as modificações efetuadas não introduziram defeitos nas partes do software que funcionavam corretamente. Muitas metodologias têm sido propostas visando reduzir o tempo dispendido na atividade de teste de regressão, visto que esse tipo de teste é efetuado na fase de manutenção de software que já é muito custosa. Dentre elas, a utilização de Aprendizado de Máquina relacionando as informações coletadas durante a atividade de teste para identificação de casos de teste com comportamentos semelhantes e, geração de regras que podem ser aplicadas para a redução do conjunto de casos de teste. A redução do conjunto de casos de teste pode reduzir significativamente o tempo do teste de regressão, pois exclui permanentemente os casos de teste redundantes. Diante disso, o objetivo desse trabalho é aplicar a metodologia proposta por (LENZ, 2010) para apoiar a redução do conjunto de casos de teste, com intuito de reduzir o tempo gasto na atividade de teste de regressão de métodos implementados na linguagem java. Para tanto, os dados obtidos através da execução do teste estrutural (obtidos através da ferramenta Jabuti) e do teste baseado em erros (obtidos através da ferramenta Mujava) foram agrupados e submetidos a algoritmos de agrupamento (disponíveis na ferramenta Weka) visando encontrar comportamentos semelhantes, e foi aplicado um algoritmo de classificação para geração de regras a serem utilizadas na redução do conjunto de casos de teste. Os resultados dos experimentos manuais conduzidos nessa pesquisa demonstram que é possível reduzir significativamente o tempo gasto no teste de regressão através da identificação de redundâncias no conjunto de casos de teste. No entanto, para obtenção de resultados mais precisos, sugere-se a implementação de uma ferramenta que automatize essa metodologia para a linguagem java.