Tese de Doutorado: 30/08/2010, 09:00.

postado em 26 de ago de 2010 13:55 por Hyggo Oliveira de Almeida
Aluno: Ayla Débora Dantas de Souza Rebouças.
Título: Aumentando a Confiança nos Resultados de Testes de Sistemas Multi-threaded: Evitando Asserções Antecipadas e Tardias.
Local: Auditório do LSD - Bloco CO.
Banca Examinadora: Prof. Francisco Vilar Brasileiro, Ph.D (Orientador), Marcelo D'Amorim, Ph.D - UFPE, Patricia Machado, Ph.D e Dalton Guerrero, D.Sc - UFCG e Profa. Roberta de Souza Coelho, Dra. (UFRN/DIMAP).
Data: 30/08/2010.
Hora: 09:00.

Resumo: Testar sistemas com múltiplas threads é uma atividade que envolve vários desafios. O fato de serem inerentemente não determinísticos torna tanto a implementação desses sistemas quanto a implementação de seus testes suscetível a erros. É comum existirem testes nestes sistemas que falham em apenas algumas execuções, sem que as causas dessas falhas sejam faltas na aplicação (também conhecidas como defeitos ou bugs). Por exemplo, isso pode
acontecer se a fase dos testes em que são feitas as verificações (asserções) for executada em momentos inadequados. Isso é freqüente quando os testes envolvem operações assíncronas. Deve-se evitar que nestes testes as asserções sejam feitas antes que essas operações tenham sido concluídas ou também que sejam feitas em um momento tardio, quando o sistema mudou de estado e as condições verificadas não são mais satisfeitas, gerando assim falsos positivos. Testes que não são confiáveis, como os que falham devido a tais problemas, levam os desenvolvedores a desperdiçar muito tempo procurando faltas de software que não existem. Além disso, os desenvolvedores podem perder a confiança nos testes parando de acreditar que falhas em certos testes são devidas a faltas, mesmo quando este é o caso. A existência de tais cenários foi o que motivou este trabalho, que tem como objetivo evitar que asserções em testes sejam feitas cedo ou tarde demais. Para atingir esse objetivo, pretende-se propor uma abordagem baseada na monitoração e controle das threads da aplicação e que dê suporte ao desenvolvimento de testes corretos de sistemas multi-threaded.
Espera-se através da abordagem proposta facilitar a implementação de testes envolvendo operações assíncronas e aumentar a confiança dos desenvolvedores nos seus resultados.

Agradecemos a sua presença.