Casa do Código - Livros e Tecnologia

  • Programação
  • Lógica
  • Java
  • .NET
  • PHP
  • Games
  • OO
  • Funcional
  • Python
  • Outros
  • Todos
  • Mobile
  • iOS
  • Android
  • Multiplataforma
  • Outros
  • Todos
  • Front-end
  • HTML e CSS
  • JavaScript
  • Outros
  • Todos
  • Infraestrutura
  • Web
  • Dados
  • Outros
  • Todos
  • Business
  • Startups
  • Marketing Digital
  • Gestão
  • Agile
  • Outros
  • Todos
  • Design & UX
  • Você tem 0 itens na sacola 0 Abrir navegação por categorias e busca Ir para ao topo da página

    Use o código e tenha 10% de desconto!

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

    Mauricio Aniche
    Livro de TDD em .NET

    *Você terá acesso às futuras atualizações do livro.

    Conteúdo

    Por que não testamos software? Porque é caro? Porque é demorado? Porque é chato? Testes automatizados são a solução para todos esses problemas. Aprenda a escrever um programa que testa seu programa de forma rápida, barata e produtiva, e aumente a qualidade do seu produto final.

    Neste livro, você aprenderá sobre TDD, uma das práticas ágeis de desenvolvimento de software mais populares, através da linguagem C#. TDD faz o desenvolvedor escrever o teste antes mesmo de implementar o código. Essa simples inversão na maneira de se trabalhar faz com o que o desenvolvedor escreva um código mais testado, com menos bugs, e, inclusive, com mais qualidade. Seja profissional, teste seu software!

    Todos os exemplos desse livro foram escritos em C#.

    Saiba o que você vai aprender

     

    Sumário

    • 1 Introdução
    • 1.1 Era uma vez um projeto sem testes...
    • 1.2 Por que devemos testar?
    • 1.3 Por que não testamos?
    • 1.4 Testes automatizados e TDD
    • 1.5 Conclusão
    • 2 Testes de unidade
    • 2.1 O que é um teste de unidade?
    • 2.2 Preciso mesmo escrevê-los?
    • 2.3 O primeiro teste de unidade
    • 2.4 Continuando a testar
    • 2.5 Conclusão
    • 3 Introdução ao Test-Driven Development
    • 3.1 O problema dos números romanos
    • 3.2 O primeiro teste
    • 3.3 Refletindo sobre o assunto
    • 3.4 Quais as vantagens?
    • 3.5 Um pouco da história de TDD
    • 3.6 Conclusão
    • 4 Simplicidade e Baby Steps
    • 4.1 O problema do cálculo de salário
    • 4.2 Implementando da maneira mais simples possível
    • 4.3 Passos de bebê (ou Baby Steps)
    • 4.4 Usando baby steps de maneira consciente
    • 4.5 Conclusão
    • 5 TDD e design de classes
    • 5.1 O problema do carrinho de compras
    • 5.2 Testes que influenciam no design de classes
    • 5.3 Diferenças entre TDD e testes da maneira tradicional
    • 5.4 Testes como rascunho
    • 5.5 Conclusão
    • 6 Qualidade no código do teste
    • 6.1 Repetição de código entre testes
    • 6.2 Nomenclatura dos testes
    • 6.3 Test Data Builders
    • 6.4 Testes repetidos
    • 6.5 Escrevendo boas asserções
    • 6.6 Testando listas
    • 6.7 Separando as classes de teste
    • 6.8 Conclusão
    • 7 TDD e a coesão
    • 7.1 Novamente o problema do cálculo de salário
    • 7.2 Ouvindo o feedback dos testes
    • 7.3 Testes em métodos privados?
    • 7.4 Resolvendo o problema da calculadora de salário
    • 7.5 O que olhar no teste em relação a coesão?
    • 7.6 Conclusão
    • 8 TDD e o acoplamento
    • 8.1 O problema da nota fiscal
    • 8.2 Mock Objects
    • 8.3 Dependências explícitas
    • 8.4 Ouvindo o feedback dos testes
    • 8.5 Classes estáveis
    • 8.6 Resolvendo o problema da nota fiscal
    • 8.7 Testando métodos estáticos
    • 8.8 TDD e a constante criação de interfaces
    • 8.9 O que olhar no teste em relação ao acoplamento?
    • 8.10 Conclusão
    • 9 TDD e o encapsulamento
    • 9.1 O problema do processador de boleto
    • 9.2 Ouvindo o feedback dos testes
    • 9.3 Tell, Don't Ask e Lei de Demeter
    • 9.4 Resolvendo o problema do processador de boletos
    • 9.5 O que olhar no teste em relação ao encapsulamento?
    • 9.6 Conclusão
    • 10 Testes de integração e TDD
    • 10.1 Testes de unidade, integração e sistema
    • 10.2 Quando não usar mocks?
    • 10.3 Testes em DAOs
    • 10.4 Devo usar TDD em testes de integração?
    • 10.5 Testes em aplicações web
    • 10.6 Conclusão
    • 11 Quando não usar TDD?
    • 11.1 Quando não praticar TDD?
    • 11.2 100% de cobertura de código?
    • 11.3 Devo testar códigos simples?
    • 11.4 Erros comuns durante a prática de TDD
    • 11.5 Como convencer seu chefe sobre TDD?
    • 11.6 TDD em sistemas legados
    • 11.7 Conclusão
    • 12 E agora?
    • 12.1 O que ler agora?
    • 12.2 Dificuldade no aprendizado
    • 12.3 Como interagir com outros praticantes?
    • 12.4 Códigos do Livro
    • 12.5 Conclusão final
    • 13 Apêndice: Princípios SOLID
    • 13.1 Sintomas de projetos de classes em degradação
    • 13.2 Princípios de projeto de classes
    • 13.3 Conclusão

    Autor

    Mauricio Aniche

    Maurício é instrutor e desenvolvedor da Caelum, possui mais de 9 anos de experiência de desenvolvimento de softwares, tendo participado de projetos para grandes empresas nacionais e internacionais. Mauricio é também mestre em Ciência da Computação pela Universidade de São Paulo (USP) onde pesquisa sobre TDD e sua influência no design de sistemas orientados a objetos. Atualmente é aluno de doutorado pelo mesmo instituto. Palestrante em eventos nacionais e internacionais, com destaque para sua apresentação no 1o Workshop Internacional sobre Test-Driven Development, localizado em Paris, no ano de 2010, Agile Brazil 2010, 2011 e 2012, e QCON SP 2010 e 2012. Mauricio gosta de discutir sobre TDD, melhores práticas e princípios de orientação a objetos, métodos ágeis de desenvolvimento de software e linguagens de programação. Está no Twitter como @mauricioaniche.

    Dados do produto

    Número de páginas:
    198
    ISBN:
    978-85-66250-25-1
    Data publicação:
    05/2013
    Submeter errata Fórum de discussões

    Compartilhe!

    Compartilhe no Facebook Compartilhe no Twitter

    Impulsione sua carreira aprendendo também...

    Livro de Orientação a Objetos em C#
    Orientação a Objetos em C#
    +
    Livro de Programação funcional em .NET
    Programação funcional em .NET
    altLogoFooter

    Links da
    Casa do Código

    • Meus ebooks
    • Sobre a Casa do Código
    • Todos os livros
    • Nossas coleções
    • Quero escrever um livro ou fazer parceria
    • Perguntas Frequentes
    • Política de Privacidade
    • Fale conosco

    Nas redes sociais

    • /CasaDoCodigo
    • @casadocodigo
    • @casadocodigo

    Receba novidades e lançamentos

    Este site aceita Pix, Cartão de Crédito, Débito

    • pagarme
    • paypal

    Grupo Alura

    • Educação em Tecnologia

      • FIAP
      • Casa do Código
      • PM3 - Cursos de Produto
    • Mais Alura

      • Alura Start
      • Alura Língua
      • Alura Para Empresas
      • Alura LATAM
    • Comunidade

      • Tech Guide
      • 7 days of code
      • Hipsters ponto Jobs
    • Podcasts

      • Hipsters ponto Tech
      • Dev sem Fronteiras
      • Layers ponto Tech
      • Like a Boss
      • Scuba Dev