Título: Manutenção de Requisitos e Casos de Testes de Software: uma abordagem para automatização da rastreabilidade usando o BERT
Comissão Examinadora - Titulares
Profa. Dra. Regina Lucia de Oliveira Moraes (Presidente) - FT/Unicamp
Prof. Dr. Plínio Roberto Souza Vilela - FT/Unicamp
Profa. Dra. Eliane Martins - IC/Unicamp
Suplentes
Prof. Dr. Leonardo Tomazeli Duarte - FT/Unicamp
Prof. Dr. Bruno Barbieri de Pontes Cafeo - IC/Unicamp
Local - Sala de Defesa (Prédio da Pós-Graduação da FT) | https://stream.meet.google.com/stream/0c18b744-47e1-4def-b145-9d46b9acb33b
Resumo: A crescente adoção das metodologias ágeis no desenvolvimento de software tem trazido à tona desafios relacionados à gestão dinâmica de requisitos e à atualização constante de casos de teste. Em um ambiente onde as mudanças são frequentes e os requisitos evoluem rapidamente, garantir a qualidade e a consistência dos testes é essencial para o sucesso dos projetos. Nesse contexto, esta pesquisa desenvolveu uma abordagem automatizada para a gestão de requisitos e casos de teste, utilizando o modelo de linguagem BERT para identificar automaticamente os impactos das alterações dos requisitos e dos casos de teste relacionados.
A metodologia implementada neste trabalho permite que requisitos e casos de teste sejam adicionados, editados e removidos de forma integrada, assegurando que todas as mudanças sejam refletidas de maneira eficiente. A solução desenvolvida utiliza tokenização e embeddings gerados pelo BERT, combinados com análise de similaridade de cosseno, para identificar requisitos e casos de teste que podem ser afetados por alterações. Foram desenvolvidos dois algoritmos principais: um algoritmo base e uma versão melhorada que incorpora preprocessamento de texto, extração de componentes estruturais de histórias de usuário e mecanismos de penalização para reduzir falsos positivos.
Os experimentos efetuados para validar a metodologia utilizou dados reais de um sistema em produção. O conjunto de requisitos era composto por 35 histórias de usuário e foram efetuadas 37 operações (19 adições, 10 edições e 8 remoções). Os resultado monstraram que a abordagem mantém uma cobertura média superior a 70% na identificação de requisitos verdadeiramente relacionados, cumprindo o critério mínimo estabelecido para viabilidade empresarial. Entretanto, os experimentos também revelaram desafios relacionados à precisão, com falsos positivos variando entre 10 e 17 ocorrências por iteração.
A comparação com um algoritmo desenvolvido por inteligência artificial generativa estabeleceu uma linha de base, permitindo validar a eficácia da abordagem proposta e identificar oportunidades de melhoria. Apesar das limitações observadas, o sistema permanece utilizável, pois prioriza a identificação abrangente de possíveis impactos, permitindo que o usuário filtre os resultados conforme necessário.
Uma ferramenta web completa foi desenvolvida utilizando Vue.js, Django e MySQL, disponibilizando uma implementação da metodologia. Em termos de desempenho, a resposta da ferramenta foi praticamente instantânea, com mecanismo de cache integrado que elimina atrasos perceptíveis no uso real.
Esta pesquisa contribui para o avanço das práticas de desenvolvimento ágil ao preencher uma lacuna identificada na literatura, onde nenhuma abordagem existente contemplava adequadamente a identificação automática de requisitos e casos de teste afetados por mudanças. A automatização desenvolvida reduz significativamente o esforço na gestão de mudanças, minimizando riscos de inconsistências e melhorando a qualidade geral do software produzido.
Considera-se que há potencial para refinamentos futuros por meio da incorporação de modelos de linguagem de grande escala.