Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1534
Title: Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design.
Other Titles: Design tests: a test-based approach for automatic verification of structural compliance between implementation and design rules.
???metadata.dc.creator???: MONTEIRO, João Arthur Brunet.
???metadata.dc.contributor.advisor1???: GUERRERO, Dalton Dario Serey.
FIGUEIREDO, Jorge César Abrantes de.
???metadata.dc.contributor.referee1???: MASSONI, Tiago Lima.
???metadata.dc.contributor.referee2???: VALENTE, Marco Tulio de Oliveira.
Keywords: 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
Issue Date: 26-Jul-2010
Publisher: Universidade Federal de Campina Grande
Citation: 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
???metadata.dc.description.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.
Abstract: 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.
Keywords: 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
???metadata.dc.subject.cnpq???: Ciência da Computação.
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1534
Appears in Collections:Mestrado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
JOÃO ARTHUR BRUNET MONTEIRO - DISSERTAÇÃO PPGCC 2010.pdfJoão Arthur Brunet Monteiro - Dissertação PPGCC 2010.874.61 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.