Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design.

Detalhes bibliográficos
Autor(a) principal: MONTEIRO, João Arthur Brunet.
Data de Publicação: 2010
Tipo de documento: Dissertação
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/1534
Resumo: Assegurar que um programa está de acordo com sua especificação é um elemento chave na garantia de qualidade de software. Embora haja amplo suporte ferramental para checar se uma implementação está funcionalmente de acordo com seus requisitos, checar se ela está em conformidade com regras de design ainda é uma atividade que por muitas vezes é executada manualmente. Neste trabalho propomos uma técnica que visa automatizar a checagem de conformidade entre regras de design de baixo-nível e implementação. A técnica proposta, intitulada testes de design, permite a verificação de programas baseada em testes. O objetivo da técnica é checar se os programadores estão seguindo as regras de design previamente especificadas. Regras são especificadas como testes, daí o nome testes de design. De fato, testes de design são JUnit test cases com uma semântica diferente de testes funcionais. Testes funcionais checam se o software se comporta como esperado quando estimulado por determinadas entradas, ao passo que testes de design checam se o software está sendo construído da maneira esperada. Para dar suporte à abordagem de testes de design, foi desenvolvida uma biblioteca chamada DesignWizard (http://www.designwizard.org). Uma avaliação levando em consideração a usabilidade e a escalabilidade do DesignWizard foi efetuada com o objetivo de mostrar sua viabilidade na checagem de conformidade de grandes projetos. Os resultados do experimento de escalabilidade apontam na direção de que a eficiência não é um problema para a ferramenta e que, de acordo com o experimento de usabilidade, o suporte da ferramenta à escrita de testes de design cumpre com as expectativas dos desenvolvedores.
id UFCG_13967c80d404bb8c00ea0009d7b0b33a
oai_identifier_str oai:localhost:riufcg/1534
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str 4851
spelling GUERRERO, Dalton Dario Serey.FIGUEIREDO, Jorge César Abrantes de.GUERRERO, D. D. S.FIGUEIREDO, J. C. A.http://lattes.cnpq.br/2050632960242405http://lattes.cnpq.br/1424808046858622MASSONI, Tiago Lima.VALENTE, Marco Tulio de Oliveira.MONTEIRO, J. A. B.http://lattes.cnpq.br/7892247821251194MONTEIRO, João Arthur Brunet.Assegurar que um programa está de acordo com sua especificação é um elemento chave na garantia de qualidade de software. Embora haja amplo suporte ferramental para checar se uma implementação está funcionalmente de acordo com seus requisitos, checar se ela está em conformidade com regras de design ainda é uma atividade que por muitas vezes é executada manualmente. Neste trabalho propomos uma técnica que visa automatizar a checagem de conformidade entre regras de design de baixo-nível e implementação. A técnica proposta, intitulada testes de design, permite a verificação de programas baseada em testes. O objetivo da técnica é checar se os programadores estão seguindo as regras de design previamente especificadas. Regras são especificadas como testes, daí o nome testes de design. De fato, testes de design são JUnit test cases com uma semântica diferente de testes funcionais. Testes funcionais checam se o software se comporta como esperado quando estimulado por determinadas entradas, ao passo que testes de design checam se o software está sendo construído da maneira esperada. Para dar suporte à abordagem de testes de design, foi desenvolvida uma biblioteca chamada DesignWizard (http://www.designwizard.org). Uma avaliação levando em consideração a usabilidade e a escalabilidade do DesignWizard foi efetuada com o objetivo de mostrar sua viabilidade na checagem de conformidade de grandes projetos. Os resultados do experimento de escalabilidade apontam na direção de que a eficiência não é um problema para a ferramenta e que, de acordo com o experimento de usabilidade, o suporte da ferramenta à escrita de testes de design cumpre com as expectativas dos desenvolvedores.Assuring that a program conforms to its specification is a key concern in software quality assurance. Although there is substantial tool support to check whether an implementation complies to its functional requirements, checking whether it conforms to its design remains as an almost completely manual activity. We propose the concept of design tests, which are test-like programs that automatically check whether an implementation conforms to a specific design rule. Design rules are implemented directly in the target programming language in the form of tests. As a proof of concept, we present DesignWizard, an library developed to support design tests for Java programs as JUnit test cases. We have performed an evaluation to show that DesignWizard’s API is easy to use and the tool scales as software grows. To achieve this, we have conducted an experiment to assess the usability of DesignWizard’s API by analysing eleven developers on the activity of composing five design tests using DesignWizard’s API. Besides that, we have measured the time and memory consumption that DesignWizard takes to apply static analysis on several projects sizes varying between 0.125MB and 46MB. The results of our study show that the time and memory consumption of static analysis performed by Design Wizard has a linear form as the size of the application grows. Besides that, the experiment conducted with the programmers leads us to conclude that DesignWizard’s API is easy to use in the sense that it meets to programmers expectations.Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-08-22T23:26:49Z No. of bitstreams: 1 JOÃO ARTHUR BRUNET MONTEIRO - DISSERTAÇÃO PPGCC 2010..pdf: 1055709 bytes, checksum: e8145387f1111c96339e77c6b84ebade (MD5)Made available in DSpace on 2018-08-22T23:26:49Z (GMT). No. of bitstreams: 1 JOÃO ARTHUR BRUNET MONTEIRO - DISSERTAÇÃO PPGCC 2010..pdf: 1055709 bytes, checksum: e8145387f1111c96339e77c6b84ebade (MD5) Previous issue date: 2010-07-26Universidade Federal de Campina GrandePÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGBrasilCentro de Engenharia Elétrica e Informática - CEEICiência da Computação.Testes de Design - ComputaçãoAbordagem Baseada em Testes - ComputaçãoVerificação Automática de ConformidadeRegras de DesignTeste de SoftwareEngenharia de SoftwareDesign de SoftwareTestes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design.Design tests: a test-based approach for automatic verification of structural compliance between implementation and design rules.2010-07-262018-08-22T23:26:49Z2018-08-222018-08-22T23:26:49Zhttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1534MONTEIRO, João Arthur Brunet. Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design. 2010. 102 f. (Dissertação de Mestrado 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 - Paraiba - Brasil, 2010. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1534info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisporinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCGORIGINALJOÃO ARTHUR BRUNET MONTEIRO - DISSERTAÇÃO PPGCC 2010.pdfJOÃO ARTHUR BRUNET MONTEIRO - DISSERTAÇÃO PPGCC 2010.pdfapplication/pdf895598http://dspace.sti.ufcg.edu.br:8080/xmlui/bitstream/riufcg/1534/3/JO%C3%83O+ARTHUR+BRUNET+MONTEIRO+-+DISSERTA%C3%87%C3%83O+PPGCC+2010.pdfe50ac7d818d9b8611f1af73b531794f8MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-81748http://dspace.sti.ufcg.edu.br:8080/xmlui/bitstream/riufcg/1534/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52riufcg/15342022-03-18 09:59:35.228oai:localhost:riufcg/1534Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Biblioteca 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:48512024-07-01T09:56:23.899971Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.pt_BR.fl_str_mv Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design.
dc.title.alternative.pt_BR.fl_str_mv Design tests: a test-based approach for automatic verification of structural compliance between implementation and design rules.
title Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design.
spellingShingle Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design.
MONTEIRO, João Arthur Brunet.
Ciência da Computação.
Testes de Design - Computação
Abordagem Baseada em Testes - Computação
Verificação Automática de Conformidade
Regras de Design
Teste de Software
Engenharia de Software
Design de Software
title_short Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design.
title_full Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design.
title_fullStr Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design.
title_full_unstemmed Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design.
title_sort Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design.
author MONTEIRO, João Arthur Brunet.
author_facet MONTEIRO, João Arthur Brunet.
author_role author
dc.contributor.advisor1.fl_str_mv GUERRERO, Dalton Dario Serey.
FIGUEIREDO, Jorge César Abrantes de.
dc.contributor.advisor1ID.fl_str_mv GUERRERO, D. D. S.
FIGUEIREDO, J. C. A.
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/2050632960242405
http://lattes.cnpq.br/1424808046858622
dc.contributor.referee1.fl_str_mv MASSONI, Tiago Lima.
dc.contributor.referee2.fl_str_mv VALENTE, Marco Tulio de Oliveira.
dc.contributor.authorID.fl_str_mv MONTEIRO, J. A. B.
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/7892247821251194
dc.contributor.author.fl_str_mv MONTEIRO, João Arthur Brunet.
contributor_str_mv GUERRERO, Dalton Dario Serey.
FIGUEIREDO, Jorge César Abrantes de.
MASSONI, Tiago Lima.
VALENTE, Marco Tulio de Oliveira.
dc.subject.cnpq.fl_str_mv Ciência da Computação.
topic Ciência da Computação.
Testes de Design - Computação
Abordagem Baseada em Testes - Computação
Verificação Automática de Conformidade
Regras de Design
Teste de Software
Engenharia de Software
Design de Software
dc.subject.por.fl_str_mv Testes de Design - Computação
Abordagem Baseada em Testes - Computação
Verificação Automática de Conformidade
Regras de Design
Teste de Software
Engenharia de Software
Design de Software
description Assegurar que um programa está de acordo com sua especificação é um elemento chave na garantia de qualidade de software. Embora haja amplo suporte ferramental para checar se uma implementação está funcionalmente de acordo com seus requisitos, checar se ela está em conformidade com regras de design ainda é uma atividade que por muitas vezes é executada manualmente. Neste trabalho propomos uma técnica que visa automatizar a checagem de conformidade entre regras de design de baixo-nível e implementação. A técnica proposta, intitulada testes de design, permite a verificação de programas baseada em testes. O objetivo da técnica é checar se os programadores estão seguindo as regras de design previamente especificadas. Regras são especificadas como testes, daí o nome testes de design. De fato, testes de design são JUnit test cases com uma semântica diferente de testes funcionais. Testes funcionais checam se o software se comporta como esperado quando estimulado por determinadas entradas, ao passo que testes de design checam se o software está sendo construído da maneira esperada. Para dar suporte à abordagem de testes de design, foi desenvolvida uma biblioteca chamada DesignWizard (http://www.designwizard.org). Uma avaliação levando em consideração a usabilidade e a escalabilidade do DesignWizard foi efetuada com o objetivo de mostrar sua viabilidade na checagem de conformidade de grandes projetos. Os resultados do experimento de escalabilidade apontam na direção de que a eficiência não é um problema para a ferramenta e que, de acordo com o experimento de usabilidade, o suporte da ferramenta à escrita de testes de design cumpre com as expectativas dos desenvolvedores.
publishDate 2010
dc.date.issued.fl_str_mv 2010-07-26
dc.date.accessioned.fl_str_mv 2018-08-22T23:26:49Z
dc.date.available.fl_str_mv 2018-08-22
2018-08-22T23:26:49Z
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.uri.fl_str_mv http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1534
dc.identifier.citation.fl_str_mv MONTEIRO, João Arthur Brunet. Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design. 2010. 102 f. (Dissertação de Mestrado 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 - Paraiba - Brasil, 2010. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1534
url http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1534
identifier_str_mv MONTEIRO, João Arthur Brunet. Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design. 2010. 102 f. (Dissertação de Mestrado 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 - Paraiba - Brasil, 2010. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1534
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
dc.publisher.program.fl_str_mv PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
dc.publisher.initials.fl_str_mv UFCG
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Centro de Engenharia Elétrica e Informática - CEEI
publisher.none.fl_str_mv Universidade Federal de Campina Grande
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
bitstream.url.fl_str_mv http://dspace.sti.ufcg.edu.br:8080/xmlui/bitstream/riufcg/1534/3/JO%C3%83O+ARTHUR+BRUNET+MONTEIRO+-+DISSERTA%C3%87%C3%83O+PPGCC+2010.pdf
http://dspace.sti.ufcg.edu.br:8080/xmlui/bitstream/riufcg/1534/2/license.txt
bitstream.checksum.fl_str_mv e50ac7d818d9b8611f1af73b531794f8
8a4605be74aa9ea9d79846c1fba20a33
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
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_ 1803396523218698240