Aniche Mauricio - Test-Driven Development: Teste e Design no Mundo Real com .NET

Шрифт
Фон

© Casa do Código

Todos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998.

Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem auto-

rização prévia por escrito da editora, sejam quais forem os meios: fotográficos,

eletrônicos, mecânicos, gravação ou quaisquer outros.

Casa do Código

Livros para o programador

Rua Vergueiro, 3185 - 8º andar

04101-300 Vila Mariana São Paulo SP Brasil

Casa do Código

Agradecimentos

Essa talvez seja a seção mais difícil de se escrever, pois a quantidade de pessoas que participaram direta ou indiretamente do livro é muito grande.

Vou começar agradecimento meu pai, mãe e irmão, que a todo momento me

apoiaram na decisão de fazer um mestrado, entender como ciência deve ser feita,

e que sofreram junto comigo nos momentos de grande stress (que todo mestrado

proporciona!).

Agradeço também ao meu orientador de mestrado e doutorado, prof. Dr. Marco

Aurelio Gerosa, que me ensinou como as coisas funcionam do lado de lá. Sem

ele, acho que esse livro seria muito diferente; seria mais apaixonado, porém menos

verdadeiro. Se meu texto olha TDD de maneira fria e imparcial, a culpa é dele.

Os srs. Paulo Silveira e Adriano Almeida também merecem uma lembrança.

Mesmo na época em que a Casa do Código não existia de fato, eles já haviam aceitado

a ideia do livro de TDD. Obrigado pela confiança.

Todas as pessoas das últimas empresas em que atuei também me ajudaram muito

com as incontáveis conversas de corredor sobre o assunto. Isso com certeza enrique-

ceu muito o texto.

Agradeço também aos amigos José Donizetti, Guilherme Moreira e Rafael Fer-

reira, que gastaram tempo lendo o livro e me dando sugestões de como melhorar.

Por fim, obrigado a você que está lendo esse livro. Espero que ele ajude.

i

Casa do Código

Quem sou eu?

Meu nome é Mauricio Aniche, e trabalho com desenvolvimento de software há por

volta de 10 anos. Em boa parte desses 10 anos, atuei como consultor para diferentes

empresas do mercado brasileiro e internacional. Com certeza, as linguagens mais

utilizadas por mim ao longo da minha carreira foram Java, C# e C.

Como sempre pulei de projeto em projeto (e, por consequência, de tecnologia

em tecnologia), nunca fui a fundo em nenhum delas. Pelo contrário, sempre foquei

em entender princípios que pudessem ser levados de uma para outra, para que no

fim, o código saísse com qualidade, independente da tecnologia.

Em meu último ano da graduação, 2007, comecei a ler mais sobre a ideia de

testes automatizados e TDD. Achei muito interessante e útil a ideia de se escrever

um programa para testar seu programa, e decidi praticar TDD, por conta própria,

para entender melhor como ela funcionava.

Gostei muito do que vi. De 2007 em diante, resolvi praticar, pesquisar e divulgar

melhor minhas ideias sobre o assunto. Comecei devagar, apenas blogando o que

estava na minha cabeça e que gostaria de feedback de outros desenvolvedores. Mas

para fazer isso de maneira mais decente, resolvi ingressar no programa de Mestrado

da Universidade de São Paulo. Lá, pesquisei sobre os efeitos da prática de TDD no

design de classes.

Ao longo desse tempo participei da grande maioria dos eventos relacionados

ao assunto. Palestrei nos principais eventos de métodos ágeis do país (como Agile

Brazil, Encontro Ágil), de desenvolvimento de software (QCON SP e DNAD), entre

outros menores. Cheguei a participar de eventos internacionais também; fui o único

palestrante brasileiro no Primeiro Workshop Internacional sobre TDD, em 2010, na

cidade de Paris. Isso mostra também que tenho participado dos eventos acadêmicos.

Em 2011, apresentei um estudo sobre TDD no WBMA (Workshop Brasileiro de Mé-

todos Ágeis), e em 2012, no maior simpósio brasileiro sobre engenharia de software,

o SBES.

iii

Casa do Código

Atualmente trabalho pela Caelum, como consultor e instrutor. Também sou

aluno de doutorado pela Universidade de São Paulo, onde continuo a pesquisar sobre

a relação dos testes de unidade e qualidade do código.

Portanto, esse é meu relacionamento com TDD. Nos últimos anos tenho olhado

ele de todos os pontos de vista possíveis: de praticante, de acadêmico, de pesquisador, de apaixonado, de frio.

Esse livro é o relato de tudo que aprendi nesses últimos anos.

iv

Casa do Código

Prefácio

TDD é uma das práticas de desenvolvimento de software sugeridas por diversas me-

todologias ágeis, como XP. A ideia é fazer com que o desenvolvedor escreva testes

automatizados de maneira constante ao longo do desenvolvimento. Mas, diferen-

temente do que estamos acostumados, TDD sugere que o desenvolvedor escreva o

teste antes mesmo da implementação.

Essa simples inversão no ciclo traz diversos benefícios para o projeto. Baterias de

testes tendem a ser maiores, cobrindo mais casos, e garantindo uma maior qualidade

externa. Além disso, escrever testes de unidade forçará o desenvolvedor a escrever

um código de maior qualidade pois, como veremos ao longo do livro, para escrever

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке