Testes de design: uma abordagem baseada em testes para verificação automática de conformidade estrutural entre implementação e regras de design.
Ano de defesa: | 2010 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
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 |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | 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. |