Aumentando a confiança nos resultados de testes de sistemas multi-threaded: evitando asserções antecipadas e tardias.
Autor(a) principal: | |
---|---|
Data de Publicação: | 2010 |
Tipo de documento: | Tese |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da UFCG |
Texto Completo: | http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1420 |
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 oubugs), mas sim devido a problemas nos testes. 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, apresenta-se uma abordagem baseada na monitoração e controle das threads daaplicação e quedê suporte ao desenvolvimento de testes corretos de sistemas multi-threaded. A abordagem visa facilitar a implementação de testes envolvendo operações assíncronas e aumentar a confiança dos desenvolvedores nos seus resultados. Esta abordagem foi avaliada através de estudos de caso utilizando uma ferramenta de suporte ao teste de sistemas multi-threaded, desenvolvida para este trabalho, e também através de sua modelagem formal utilizando a linguagem TLA+, com o objetivo de demonstrar que asserções antecipadas e tardias não ocorrem quando ela é utilizada. |
id |
UFCG_c63e593a33336fade4881e8afdf4032f |
---|---|
oai_identifier_str |
oai:localhost:riufcg/1420 |
network_acronym_str |
UFCG |
network_name_str |
Biblioteca Digital de Teses e Dissertações da UFCG |
repository_id_str |
4851 |
spelling |
Aumentando a confiança nos resultados de testes de sistemas multi-threaded: evitando asserções antecipadas e tardias.Increasing confidence in test results from multi-threaded systems.Sistemas Multi-ThreadedTestes de SoftwareSoftware - ConfiabilidadeAvaliação de SoftwareAbordagem Thread Control for TestsSoftware TestingCiência da Computação.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 oubugs), mas sim devido a problemas nos testes. 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, apresenta-se uma abordagem baseada na monitoração e controle das threads daaplicação e quedê suporte ao desenvolvimento de testes corretos de sistemas multi-threaded. A abordagem visa facilitar a implementação de testes envolvendo operações assíncronas e aumentar a confiança dos desenvolvedores nos seus resultados. Esta abordagem foi avaliada através de estudos de caso utilizando uma ferramenta de suporte ao teste de sistemas multi-threaded, desenvolvida para este trabalho, e também através de sua modelagem formal utilizando a linguagem TLA+, com o objetivo de demonstrar que asserções antecipadas e tardias não ocorrem quando ela é utilizada.Testing multi-threaded systems is quite a challenge. The inherent non-determinism of these systems makes their implementation and the implementation of their tests far more susceptible to error. It is common to have tests of these systems that may not sometimes pass and whose failures are not caused by application faults (bugs), but by problems with the tests. For instance, thiscan happen when there are asynchronous operations whose corresponding test verifications (assertions) are performed at inappropriate times. Unreliable tests make developers waste their time trying to find non-existing bugs, or else make them search for bugs in the wrong place. Another problem is that developers may cease to believe that certain test failures are caused by software bugs even when this is the case. Scenarios like these have motivated this work. Our main objective is to avoid test failures that are caused, not by application defects, but by test assertions performed either too early or too late. In order to achieve this goal, we present an approach whose basic idea is to use thread monitoring and control in order to support the development of multi-threaded systems tests involving asynchronous operations. This approach is intended to make it easier the development of correct tests for these systems and also to improve developers’ confidence on the results of their tests. The proposed approach has been evaluated through case studies using a tool to support the development of multi-threaded systems tests (developed for this work) and also by formally modeling the approach using theTLA+ language in order to prove that early and late assertions do not occur when this approach isused.CNPqUniversidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGBRASILEIRO, Francisco Vilar.BRASILEIRO, F. V.http://lattes.cnpq.br/5957855817378897MACHADO, Patrícia Duarte de Lima.GUERRERO, Dalton Dario Serey.D'AMORIM, Marcelo Bezerra.COELHO, Roberta de Souza.REBOUÇAS, Ayla Débora Dantas de Souza.2010-08-302018-08-13T17:20:26Z2018-08-132018-08-13T17:20:26Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesishttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1420REBOUÇAS, Ayla Débora Dantas de Souza. Aumentando a confiança nos resultados de testes de sistemas multi-threaded: evitando asserções antecipadas e tardias. 2010. 302 f. (Tese de Doutorado em Ciência da Computação), Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2010. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1420porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2022-03-14T17:53:53Zoai:localhost:riufcg/1420Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512022-03-14T17:53:53Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false |
dc.title.none.fl_str_mv |
Aumentando a confiança nos resultados de testes de sistemas multi-threaded: evitando asserções antecipadas e tardias. Increasing confidence in test results from multi-threaded systems. |
title |
Aumentando a confiança nos resultados de testes de sistemas multi-threaded: evitando asserções antecipadas e tardias. |
spellingShingle |
Aumentando a confiança nos resultados de testes de sistemas multi-threaded: evitando asserções antecipadas e tardias. REBOUÇAS, Ayla Débora Dantas de Souza. Sistemas Multi-Threaded Testes de Software Software - Confiabilidade Avaliação de Software Abordagem Thread Control for Tests Software Testing Ciência da Computação. |
title_short |
Aumentando a confiança nos resultados de testes de sistemas multi-threaded: evitando asserções antecipadas e tardias. |
title_full |
Aumentando a confiança nos resultados de testes de sistemas multi-threaded: evitando asserções antecipadas e tardias. |
title_fullStr |
Aumentando a confiança nos resultados de testes de sistemas multi-threaded: evitando asserções antecipadas e tardias. |
title_full_unstemmed |
Aumentando a confiança nos resultados de testes de sistemas multi-threaded: evitando asserções antecipadas e tardias. |
title_sort |
Aumentando a confiança nos resultados de testes de sistemas multi-threaded: evitando asserções antecipadas e tardias. |
author |
REBOUÇAS, Ayla Débora Dantas de Souza. |
author_facet |
REBOUÇAS, Ayla Débora Dantas de Souza. |
author_role |
author |
dc.contributor.none.fl_str_mv |
BRASILEIRO, Francisco Vilar. BRASILEIRO, F. V. http://lattes.cnpq.br/5957855817378897 MACHADO, Patrícia Duarte de Lima. GUERRERO, Dalton Dario Serey. D'AMORIM, Marcelo Bezerra. COELHO, Roberta de Souza. |
dc.contributor.author.fl_str_mv |
REBOUÇAS, Ayla Débora Dantas de Souza. |
dc.subject.por.fl_str_mv |
Sistemas Multi-Threaded Testes de Software Software - Confiabilidade Avaliação de Software Abordagem Thread Control for Tests Software Testing Ciência da Computação. |
topic |
Sistemas Multi-Threaded Testes de Software Software - Confiabilidade Avaliação de Software Abordagem Thread Control for Tests Software Testing Ciência da Computação. |
description |
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 oubugs), mas sim devido a problemas nos testes. 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, apresenta-se uma abordagem baseada na monitoração e controle das threads daaplicação e quedê suporte ao desenvolvimento de testes corretos de sistemas multi-threaded. A abordagem visa facilitar a implementação de testes envolvendo operações assíncronas e aumentar a confiança dos desenvolvedores nos seus resultados. Esta abordagem foi avaliada através de estudos de caso utilizando uma ferramenta de suporte ao teste de sistemas multi-threaded, desenvolvida para este trabalho, e também através de sua modelagem formal utilizando a linguagem TLA+, com o objetivo de demonstrar que asserções antecipadas e tardias não ocorrem quando ela é utilizada. |
publishDate |
2010 |
dc.date.none.fl_str_mv |
2010-08-30 2018-08-13T17:20:26Z 2018-08-13 2018-08-13T17:20:26Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
format |
doctoralThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1420 REBOUÇAS, Ayla Débora Dantas de Souza. Aumentando a confiança nos resultados de testes de sistemas multi-threaded: evitando asserções antecipadas e tardias. 2010. 302 f. (Tese de Doutorado em Ciência da Computação), Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2010. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1420 |
url |
http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1420 |
identifier_str_mv |
REBOUÇAS, Ayla Débora Dantas de Souza. Aumentando a confiança nos resultados de testes de sistemas multi-threaded: evitando asserções antecipadas e tardias. 2010. 302 f. (Tese de Doutorado em Ciência da Computação), Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2010. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1420 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de Campina Grande Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UFCG |
publisher.none.fl_str_mv |
Universidade Federal de Campina Grande Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UFCG |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da UFCG instname:Universidade Federal de Campina Grande (UFCG) instacron:UFCG |
instname_str |
Universidade Federal de Campina Grande (UFCG) |
instacron_str |
UFCG |
institution |
UFCG |
reponame_str |
Biblioteca Digital de Teses e Dissertações da UFCG |
collection |
Biblioteca Digital de Teses e Dissertações da UFCG |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG) |
repository.mail.fl_str_mv |
bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br |
_version_ |
1809744356623515648 |