Pós-Graduação em Ciência da Computação – UFPE
Defesa de Dissertação de Mestrado Nº 1.999


Aluno: Denini Gabriel Silva
Orientador: Prof. Marcelo Bezerra d’Amorim
Co-orientador: Prof. Breno Alexandro Ferreira de Miranda
Título: Usando Ruído para Detectar Testes Flakiness
Data: 25/02/2022
Hora/Local: 10h – Virtual – Interessados em assistir entrar em contato com o aluno
Banca Examinadora:
Prof. Leopoldo Motta Teixeira (UFPE / Centro de Informática)
Prof. Márcio de Medeiros Ribeiro (UFAL / Instituto de Computação)
Prof. Marcelo Bezerra d’Amorim  (UFPE / Centro de Informática)


RESUMO:

Diz-se que um teste é flaky quando passa ou falha de forma não determinística em diferentes execuções na mesma configuração (por exemplo, código). O teste flaky afeta negativamente o teste de regressão, pois as observações de falha não são necessariamente uma indicação de bugs no programa. Técnicas estáticas e dinâmicas para detecção de testes flaky têm sido propostas na literatura, mas são limitadas. Estudos anteriores mostraram que a flakiness do teste é causada principalmente por comportamento concorrente. Com base nessa observação, levantamos a hipótese de que a adição de ruído no ambiente pode interferir na ordenação dos eventos do programa e, consequentemente, influenciar nas saídas dos testes. Propomos o Shaker, uma técnica prática para detectar testes flaky comparando as saídas de várias execuções de teste em ambientes ruidosos. Comparado com uma execução de teste regular, uma execução de teste com o Shaker é mais lenta à medida que o ambiente é carregado, ou seja, o processo de teste compete por recursos (por exemplo, memória ou cpu) com tarefas estressantes que o Shaker cria. No entanto, conjecturas que o Shaker compensa ao detectar falhas em menos execuções em comparação com a alternativa de executar o conjunto de testes várias vezes em um ambiente regular (sem ruído). . Por exemplo, descobrimos que (1) Shaker é 96% preciso; é quase tão preciso quanto o ReRun, que por definição não relata falsos positivos, que (2) o recall do Shaker é muito maior em comparação com o do ReRun (0,95 versus 0,65), e que (3) o Shaker detecta testes irregulares com muito mais eficiência do que ReRun, apesar da sobrecarga de execução imposta pela abordagem. Em resumo, os resultados indicam que o ruído é uma abordagem promissora para detectar descamação.


Palavras-chave: Teste de regressão, testes “flaky”, geração de ruído.

Comentários desativados