Uma Abordagem Leve para Testar o Comportamento Excepcional

Detalhes bibliográficos
Autor(a) principal: BERNARDO, Rafael Brito Di
Data de Publicação: 2011
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFPE
Texto Completo: https://repositorio.ufpe.br/handle/123456789/2839
Resumo: Muitos dos problemas encontrados no uso do mecanismo de tratamento de exceções são causados pela falta de projeto e teste do comportamento excepcional de um sistema em fases iniciais do desenvolvimento de software. Como consequência, exceções são propagadas de forma inesperada durante causando impacto negativo na confiabilidade de um software. Neste trabalho apresentamos uma abordagem que possibilita projetar testes desde as atividades iniciais do desenvolvimento e verificar, em tempo de execução, como as exceções trafegam ao longo de um sistema. Através da especificação do fluxo excepcional esperado é possível determinar se uma exceção foi propagada corretamente. Um segundo uso desta abordagem destina-se ao auxilio das atividades de manutenção de um sistema. Para isto, uma versão inicial existente é especificada e os testes são executados nas novas versões ao longo da evolução do sistema. Com isso é possível verificar a consistência do comportamento excepcional a cada nova versão. Um benefício da abordagem proposta deve-se ao fato de que os testes escritos servem como a própria documentação viva do sistema mantendo-a sempre atualizada. Para a avaliação desta abordagem foram selecionados três sistemas: aTunes, jEdit e Health Watcher. Através do seu uso foram descobertos dezesseis bugs. Deste total doze foram erros inéditos não reportados na base de bugs destes projetos. Não somente bugs foram descobertos com a utilização desta abordagem. Do ponto de vista de testes automatizados, como artefatos de documentação, foram apontadas diversas diferenças entre as versões dos sistemas com relação aos fluxos excepcionais testados. Para auxiliar a automação dos testes, a abordagem foi implementada como uma extensão do framework JUnit. Os testes especificados nesta extensão contém informações complementares sobre o fluxo excepcional esperado
id UFPE_9fe7393e746332b72b7c291930661e10
oai_identifier_str oai:repositorio.ufpe.br:123456789/2839
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling BERNARDO, Rafael Brito DiCASTON, Fernando2014-06-12T16:01:30Z2014-06-12T16:01:30Z2011-01-31Brito Di Bernardo, Rafael; Caston, Fernando. Uma Abordagem Leve para Testar o Comportamento Excepcional. 2011. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2011.https://repositorio.ufpe.br/handle/123456789/2839Muitos dos problemas encontrados no uso do mecanismo de tratamento de exceções são causados pela falta de projeto e teste do comportamento excepcional de um sistema em fases iniciais do desenvolvimento de software. Como consequência, exceções são propagadas de forma inesperada durante causando impacto negativo na confiabilidade de um software. Neste trabalho apresentamos uma abordagem que possibilita projetar testes desde as atividades iniciais do desenvolvimento e verificar, em tempo de execução, como as exceções trafegam ao longo de um sistema. Através da especificação do fluxo excepcional esperado é possível determinar se uma exceção foi propagada corretamente. Um segundo uso desta abordagem destina-se ao auxilio das atividades de manutenção de um sistema. Para isto, uma versão inicial existente é especificada e os testes são executados nas novas versões ao longo da evolução do sistema. Com isso é possível verificar a consistência do comportamento excepcional a cada nova versão. Um benefício da abordagem proposta deve-se ao fato de que os testes escritos servem como a própria documentação viva do sistema mantendo-a sempre atualizada. Para a avaliação desta abordagem foram selecionados três sistemas: aTunes, jEdit e Health Watcher. Através do seu uso foram descobertos dezesseis bugs. Deste total doze foram erros inéditos não reportados na base de bugs destes projetos. Não somente bugs foram descobertos com a utilização desta abordagem. Do ponto de vista de testes automatizados, como artefatos de documentação, foram apontadas diversas diferenças entre as versões dos sistemas com relação aos fluxos excepcionais testados. Para auxiliar a automação dos testes, a abordagem foi implementada como uma extensão do framework JUnit. Os testes especificados nesta extensão contém informações complementares sobre o fluxo excepcional esperadoporUniversidade Federal de PernambucoAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessTratamento de exceçõestestecomportamento excepcionalespecificação do comportamento excepcionalUma Abordagem Leve para Testar o Comportamento Excepcionalinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPETHUMBNAILarquivo9418_1.pdf.jpgarquivo9418_1.pdf.jpgGenerated Thumbnailimage/jpeg1248https://repositorio.ufpe.br/bitstream/123456789/2839/4/arquivo9418_1.pdf.jpg1800442ce36db0de84b5f642e96761d6MD54ORIGINALarquivo9418_1.pdfapplication/pdf2222541https://repositorio.ufpe.br/bitstream/123456789/2839/1/arquivo9418_1.pdfb014d66f1d25c6852ecac19fa19003b7MD51LICENSElicense.txttext/plain1748https://repositorio.ufpe.br/bitstream/123456789/2839/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52TEXTarquivo9418_1.pdf.txtarquivo9418_1.pdf.txtExtracted texttext/plain320180https://repositorio.ufpe.br/bitstream/123456789/2839/3/arquivo9418_1.pdf.txta6eb83a12cd9539922c04999d259a840MD53123456789/28392019-10-25 03:49:25.09oai:repositorio.ufpe.br:123456789/2839Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T06:49:25Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.pt_BR.fl_str_mv Uma Abordagem Leve para Testar o Comportamento Excepcional
title Uma Abordagem Leve para Testar o Comportamento Excepcional
spellingShingle Uma Abordagem Leve para Testar o Comportamento Excepcional
BERNARDO, Rafael Brito Di
Tratamento de exceções
teste
comportamento excepcional
especificação do comportamento excepcional
title_short Uma Abordagem Leve para Testar o Comportamento Excepcional
title_full Uma Abordagem Leve para Testar o Comportamento Excepcional
title_fullStr Uma Abordagem Leve para Testar o Comportamento Excepcional
title_full_unstemmed Uma Abordagem Leve para Testar o Comportamento Excepcional
title_sort Uma Abordagem Leve para Testar o Comportamento Excepcional
author BERNARDO, Rafael Brito Di
author_facet BERNARDO, Rafael Brito Di
author_role author
dc.contributor.author.fl_str_mv BERNARDO, Rafael Brito Di
dc.contributor.advisor1.fl_str_mv CASTON, Fernando
contributor_str_mv CASTON, Fernando
dc.subject.por.fl_str_mv Tratamento de exceções
teste
comportamento excepcional
especificação do comportamento excepcional
topic Tratamento de exceções
teste
comportamento excepcional
especificação do comportamento excepcional
description Muitos dos problemas encontrados no uso do mecanismo de tratamento de exceções são causados pela falta de projeto e teste do comportamento excepcional de um sistema em fases iniciais do desenvolvimento de software. Como consequência, exceções são propagadas de forma inesperada durante causando impacto negativo na confiabilidade de um software. Neste trabalho apresentamos uma abordagem que possibilita projetar testes desde as atividades iniciais do desenvolvimento e verificar, em tempo de execução, como as exceções trafegam ao longo de um sistema. Através da especificação do fluxo excepcional esperado é possível determinar se uma exceção foi propagada corretamente. Um segundo uso desta abordagem destina-se ao auxilio das atividades de manutenção de um sistema. Para isto, uma versão inicial existente é especificada e os testes são executados nas novas versões ao longo da evolução do sistema. Com isso é possível verificar a consistência do comportamento excepcional a cada nova versão. Um benefício da abordagem proposta deve-se ao fato de que os testes escritos servem como a própria documentação viva do sistema mantendo-a sempre atualizada. Para a avaliação desta abordagem foram selecionados três sistemas: aTunes, jEdit e Health Watcher. Através do seu uso foram descobertos dezesseis bugs. Deste total doze foram erros inéditos não reportados na base de bugs destes projetos. Não somente bugs foram descobertos com a utilização desta abordagem. Do ponto de vista de testes automatizados, como artefatos de documentação, foram apontadas diversas diferenças entre as versões dos sistemas com relação aos fluxos excepcionais testados. Para auxiliar a automação dos testes, a abordagem foi implementada como uma extensão do framework JUnit. Os testes especificados nesta extensão contém informações complementares sobre o fluxo excepcional esperado
publishDate 2011
dc.date.issued.fl_str_mv 2011-01-31
dc.date.accessioned.fl_str_mv 2014-06-12T16:01:30Z
dc.date.available.fl_str_mv 2014-06-12T16:01:30Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv Brito Di Bernardo, Rafael; Caston, Fernando. Uma Abordagem Leve para Testar o Comportamento Excepcional. 2011. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2011.
dc.identifier.uri.fl_str_mv https://repositorio.ufpe.br/handle/123456789/2839
identifier_str_mv Brito Di Bernardo, Rafael; Caston, Fernando. Uma Abordagem Leve para Testar o Comportamento Excepcional. 2011. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2011.
url https://repositorio.ufpe.br/handle/123456789/2839
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
bitstream.url.fl_str_mv https://repositorio.ufpe.br/bitstream/123456789/2839/4/arquivo9418_1.pdf.jpg
https://repositorio.ufpe.br/bitstream/123456789/2839/1/arquivo9418_1.pdf
https://repositorio.ufpe.br/bitstream/123456789/2839/2/license.txt
https://repositorio.ufpe.br/bitstream/123456789/2839/3/arquivo9418_1.pdf.txt
bitstream.checksum.fl_str_mv 1800442ce36db0de84b5f642e96761d6
b014d66f1d25c6852ecac19fa19003b7
8a4605be74aa9ea9d79846c1fba20a33
a6eb83a12cd9539922c04999d259a840
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1802310824111374336