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

Testes automatizados de software Um guia prático

Mauricio Aniche

Conteúdo

Quantas vezes você não colocou um "else" a mais ou trocou um maior por maior-igual? Problemas como esses acontecem todos os dias em nossos códigos. E aposto que você sabe como evitá-los: testando seu software. A grande pergunta é: por que evitamos (ou pior, odiamos) testar?

Testar custa caro, é demorado e é chato. Mas tudo isso só é verdade, pois ainda delegamos essas tarefas para um ser humano. Este livro mostra de maneira prática como escrever um programa que fará esse teste por você!

Mergulhe de cabeça nessa ideia, aprenda a escrever testes automatizados, e passe a dormir bem, tranquilo, pois seu software agora funciona.

 

Sumário

  • 1 Testes de Unidade
  • 1.1 Um código qualquer
  • 1.2 Implementando uma nova funcionalidade
  • 1.3 O que aconteceu?
  • 1.4 Olá mundo, JUnit!
  • 1.5 Convenções na escrita de testes
  • 1.6 Mas será que sou produtivo assim?
  • 1.7 Testando o que realmente é necessário
  • 1.8 Classes de equivalência
  • 1.9 Import estático do Assert
  • 1.10 A próxima funcionalidade: os 3 maiores lances
  • 1.11 Testando casos especiais
  • 1.12 A bateria de testes nos salvou mais uma vez!
  • 1.13 Quais são as dificuldades?
  • 1.14 Cuidando dos seus testes
  • 1.15 Test Data Builders
  • 1.16 @After, @BeforeClass e @AfterClass
  • 1.17 Acoplamento entre testes e produção
  • 1.18 Cuide bem dos seus testes
  • 1.19 Testando exceções
  • 1.20 Melhorando a legibilidade dos testes
  • 1.21 100% de cobertura de testes?
  • 2 Praticando Test-Driven Development (TDD)
  • 2.1 Testes, do jeito que você já sabe
  • 2.2 Mudando a maneira de desenvolver
  • 2.3 Test-Driven Development
  • 2.4 Efeitos no design de classes
  • 2.5 Baby steps
  • 2.6 Devo ver o teste falhar?
  • 2.7 TDD 100% do tempo?
  • 2.8 Onde posso ler mais sobre isso?
  • 3 Mock Objects
  • 3.1 Simulando a infraestrutura
  • 3.2 Mock Objects
  • 3.3 Mocks estritos e acoplamento
  • 3.4 Fugindo de métodos estáticos
  • 3.5 Garantindo que métodos foram invocados
  • 3.6 Contando o número de vezes que o método foi invocado
  • 3.7 Outros métodos de verificação
  • 3.8 Mocks que lançam exceções
  • 3.9 Simulando exceções
  • 3.10 Capturando argumentos recebidos pelo mock
  • 3.11 Isolando para testar
  • 3.12 Criando abstrações para facilitar o teste
  • 3.13 O que mockar e o que não mockar?
  • 4 Testes de Integração
  • 4.1 Devemos mockar um DAO?
  • 4.2 Testando DAOs
  • 4.3 Testando cenários mais complexos
  • 4.4 Praticando com consultas mais complicadas
  • 4.5 Testando alteração e deleção
  • 4.6 Organizando testes de integração
  • 5 Testes de Sistema
  • 5.1 Automatizando o primeiro teste de sistema
  • 5.2 Novamente, as vantagens do teste automatizado
  • 5.3 Boas práticas: Page Objects
  • 5.4 Testando formulários complexos
  • 5.5 Classes de teste pai
  • 5.6 Como limpar o banco em testes de sistema?
  • 5.7 Requisições Ajax
  • 5.8 Builders em testes de sistema
  • 5.9 API para criação de cenários
  • 6 Testes de serviços web
  • 6.1 Usando o Rest-Assured
  • 6.2 Testando JSONs
  • 6.3 Enviando dados para o WebService
  • 6.4 Outros recursos do Rest-Assured
  • 7 E agora?
  • 7.1 Não há mais nenhum tipo de teste?
  • 7.2 Não preciso nunca de testes manuais?
  • 7.3 Testes de sistema o tempo todo?
  • 7.4 Onde posso falar mais sobre o assunto?
  • 7.5 Obrigado!

veja mais detalhes

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:
166
ISBN:
978-85-5519-028-5

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter