Como a prática de TDD influencia o projeto de classes em sistemas orientados a objetos
Desenvolvimento Guiado por Testes (TDD) e uma das praticas sugeridas na Programacao Extrema. A mecanica da pratica e simples: o programador escreve o teste antes de escrever o codigo. E, portanto, possivel inferir que a pratica de TDD e uma pratica de testes de software. Entretanto, muitos autor...
Main Author: | |
---|---|
Other Authors: | |
Language: | Portuguese |
Published: |
Universidade de São Paulo
2012
|
Subjects: | |
Online Access: | http://www.teses.usp.br/teses/disponiveis/45/45134/tde-31072012-181230/ |
id |
ndltd-IBICT-oai-teses.usp.br-tde-31072012-181230 |
---|---|
record_format |
oai_dc |
collection |
NDLTD |
language |
Portuguese |
sources |
NDLTD |
topic |
Desenvolvimento Guiado por Testes
Projeto de Classes Qualidade Interna de Codigo. Sistemas Orientados a Objetos Class Design Internal Code Quality. Object-Oriented Systems Test-Driven Development |
spellingShingle |
Desenvolvimento Guiado por Testes
Projeto de Classes Qualidade Interna de Codigo. Sistemas Orientados a Objetos Class Design Internal Code Quality. Object-Oriented Systems Test-Driven Development Mauricio Finavaro Aniche Como a prática de TDD influencia o projeto de classes em sistemas orientados a objetos |
description |
Desenvolvimento Guiado por Testes (TDD) e uma das praticas sugeridas na Programacao Extrema. A mecanica da pratica e simples: o programador escreve o teste antes de escrever o codigo. E, portanto, possivel inferir que a pratica de TDD e uma pratica de testes de software. Entretanto, muitos autores de livros conhecidos pela industria e academia afirmam que os efeitos da pratica vao alem. Segundo eles, TDD ajuda o desenvolvedor durante o processo de criacao do projeto classes, fazendo-os criar classes menos acopladas e mais coesas. Entretanto, grande parte dos trabalhos da literatura sao voltados a descobrir se a pratica faz diferenca na qualidade do codigo gerado, mas poucos sao os autores que discutem como a pratica realmente auxilia. Mesmo os proprios praticantes nao entendem ou conseguem expressar bem como a pratica os guia. Este trabalho tem por objetivo compreender melhor os efeitos de TDD e como sua pratica influencia o desenvolvedor durante o processo de projeto de sistemas orientados a objetos. Para entende-las, neste trabalho optamos por um estudo exploratorio essencialmente qualitativo, no qual participantes foram convidados a resolver exercicios pre-preparados utilizando TDD e, a partir dos dados colhidos nessa primeira parte, nos levantamos detalhes sobre como a pratica influenciou as decisoes de projeto de classes dos participantes por meio de entrevistas. Ao final, observamos que a pratica de TDD pode guiar o desenvolvedor durante o processo de criacao do projeto de classes por meio de constantes feedbacks sobre a qualidade do projeto. Esses feedbacks alertam desenvolvedores sobre possiveis problemas, como alto acoplamento ou baixa coesao. Os desenvolvedores, por sua vez, devem interpretar e melhorar o projeto de classes. Este trabalho catalogou e nomeou os padroes de feedback percebidos pelos participantes.
===
Test-Driven Development (TDD) is one of the suggested practices in Extreme Programming (XP). The mechanical is simple: the developer writes a test before writing the implementation. Thus, TDD is often seen as a software testing technique. However, many famous book authors suggest that TDD can help developers during the class design creation process, enabling developers to create less coupled highly cohesive classes. Most of the academic studies are interested on finding the difference between a TDDd and a non-TDDd code. Only a few of them discuss how the practice really supports class design. Even practitioners do not understand how the practice guides them. This work aims to understand better the effects of TDD and how the practice influences the practitioner during the class design process in object-oriented systems. To better understand them, we did a essencially qualitative explorative study, in which participants were invited to solve a set of pre-prepared exercises using TDD and, based on the gathered data, we retrieved details of how the practice influenced the developers class design decisions through interviews. At the end, we observed that the practice of TDD can guide developers during the class design creation process through constant feedback about its quality. These feedbacks alert developers about possible problems, such as high coupling or low cohesion. Developers then should interpret and improve the class design accordingly. This study also catalogues the TDD feedback patterns perceived by the participants.
|
author2 |
Marco Aurélio Gerosa |
author_facet |
Marco Aurélio Gerosa Mauricio Finavaro Aniche |
author |
Mauricio Finavaro Aniche |
author_sort |
Mauricio Finavaro Aniche |
title |
Como a prática de TDD influencia o projeto de classes em sistemas orientados a objetos
|
title_short |
Como a prática de TDD influencia o projeto de classes em sistemas orientados a objetos
|
title_full |
Como a prática de TDD influencia o projeto de classes em sistemas orientados a objetos
|
title_fullStr |
Como a prática de TDD influencia o projeto de classes em sistemas orientados a objetos
|
title_full_unstemmed |
Como a prática de TDD influencia o projeto de classes em sistemas orientados a objetos
|
title_sort |
como a prática de tdd influencia o projeto de classes em sistemas orientados a objetos |
publisher |
Universidade de São Paulo |
publishDate |
2012 |
url |
http://www.teses.usp.br/teses/disponiveis/45/45134/tde-31072012-181230/ |
work_keys_str_mv |
AT mauriciofinavaroaniche comoapraticadetddinfluenciaoprojetodeclassesemsistemasorientadosaobjetos AT mauriciofinavaroaniche howthepracticeoftddinfluencestheclassdesignonobjectorientedsystems |
_version_ |
1718890434648866816 |
spelling |
ndltd-IBICT-oai-teses.usp.br-tde-31072012-1812302019-01-21T22:04:34Z Como a prática de TDD influencia o projeto de classes em sistemas orientados a objetos How the practice of TDD influences the class design on object-oriented systems Mauricio Finavaro Aniche Marco Aurélio Gerosa Rafael Prikladnicki Ismar Frango Silveira Desenvolvimento Guiado por Testes Projeto de Classes Qualidade Interna de Codigo. Sistemas Orientados a Objetos Class Design Internal Code Quality. Object-Oriented Systems Test-Driven Development Desenvolvimento Guiado por Testes (TDD) e uma das praticas sugeridas na Programacao Extrema. A mecanica da pratica e simples: o programador escreve o teste antes de escrever o codigo. E, portanto, possivel inferir que a pratica de TDD e uma pratica de testes de software. Entretanto, muitos autores de livros conhecidos pela industria e academia afirmam que os efeitos da pratica vao alem. Segundo eles, TDD ajuda o desenvolvedor durante o processo de criacao do projeto classes, fazendo-os criar classes menos acopladas e mais coesas. Entretanto, grande parte dos trabalhos da literatura sao voltados a descobrir se a pratica faz diferenca na qualidade do codigo gerado, mas poucos sao os autores que discutem como a pratica realmente auxilia. Mesmo os proprios praticantes nao entendem ou conseguem expressar bem como a pratica os guia. Este trabalho tem por objetivo compreender melhor os efeitos de TDD e como sua pratica influencia o desenvolvedor durante o processo de projeto de sistemas orientados a objetos. Para entende-las, neste trabalho optamos por um estudo exploratorio essencialmente qualitativo, no qual participantes foram convidados a resolver exercicios pre-preparados utilizando TDD e, a partir dos dados colhidos nessa primeira parte, nos levantamos detalhes sobre como a pratica influenciou as decisoes de projeto de classes dos participantes por meio de entrevistas. Ao final, observamos que a pratica de TDD pode guiar o desenvolvedor durante o processo de criacao do projeto de classes por meio de constantes feedbacks sobre a qualidade do projeto. Esses feedbacks alertam desenvolvedores sobre possiveis problemas, como alto acoplamento ou baixa coesao. Os desenvolvedores, por sua vez, devem interpretar e melhorar o projeto de classes. Este trabalho catalogou e nomeou os padroes de feedback percebidos pelos participantes. Test-Driven Development (TDD) is one of the suggested practices in Extreme Programming (XP). The mechanical is simple: the developer writes a test before writing the implementation. Thus, TDD is often seen as a software testing technique. However, many famous book authors suggest that TDD can help developers during the class design creation process, enabling developers to create less coupled highly cohesive classes. Most of the academic studies are interested on finding the difference between a TDDd and a non-TDDd code. Only a few of them discuss how the practice really supports class design. Even practitioners do not understand how the practice guides them. This work aims to understand better the effects of TDD and how the practice influences the practitioner during the class design process in object-oriented systems. To better understand them, we did a essencially qualitative explorative study, in which participants were invited to solve a set of pre-prepared exercises using TDD and, based on the gathered data, we retrieved details of how the practice influenced the developers class design decisions through interviews. At the end, we observed that the practice of TDD can guide developers during the class design creation process through constant feedback about its quality. These feedbacks alert developers about possible problems, such as high coupling or low cohesion. Developers then should interpret and improve the class design accordingly. This study also catalogues the TDD feedback patterns perceived by the participants. 2012-04-25 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis http://www.teses.usp.br/teses/disponiveis/45/45134/tde-31072012-181230/ por info:eu-repo/semantics/openAccess Universidade de São Paulo Ciência da Computação USP BR reponame:Biblioteca Digital de Teses e Dissertações da USP instname:Universidade de São Paulo instacron:USP |