O documento discute os benefícios e boas práticas de testes de software. É enfatizado que testes unitários devem ser rápidos e isolar unidades menores de código, ao passo que testes de integração e aceitação podem ser mais demorados. Cobertura total de testes não é garantia de qualidade, sendo mais importante testar fluxos e casos críticos.
17. Certa vez um sábio disse:
A test is not a unit test if:
* it talks to the database
* it communicates across the network
* it touches the file system
* it can’t run at the same time as any of your other unit tests
* you have to do special things to your environment (such as editing config files) to run it
Tests that do these things aren’t bad. Often they are worth writing, and they can be written in a unit
test harness. However, it is important to keep them separate from true unit tests so that we can run
the unit tests quickly whenever we make changes.
--
Ou um chapa disse em português:
Um teste não é um teste unitário se:
- Comunica com o banco de dados
- Comunica pela rede
- “Toca” no sistema de arquivos
- Se não pode ser rodado ao mesmo tempo de outros testes unitários
- Se você tem que configurar determinadas coisas como arquivos de configuração
sábado, 20 de julho de 13
31. Fazem operações num
banco de dados
Ou no sistema de arquivos
Existe I/O
Ou em rede
sábado, 20 de julho de 13
32. Para que?
Meus dados estão vindo de forma correta?
Meus dados estão sendo gravados de forma correta?
Minha camada de modelo está se comunicando corretamente com o ORM?
sábado, 20 de julho de 13
52. Por isso...
É aconselhável testar apenas as telas mais importantes
Telas mais utilizadas ou com nível de complexidade maior
sábado, 20 de julho de 13
53. Por isso...
É aconselhável testar apenas as telas mais importantes
Telas mais utilizadas ou com nível de complexidade maior
Contanto que faça!
sábado, 20 de julho de 13
54. Junte tudo
Testes unitários + de integração + de aceitação
E coloque em um servidor de integração contínua
sábado, 20 de julho de 13
70. E que critério eu utilizo?
Bom senso
sábado, 20 de julho de 13
71. E que critério eu utilizo?
Bom senso
sábado, 20 de julho de 13
72. E que critério eu utilizo?
Teste o que pode quebrar
sábado, 20 de julho de 13
73. E o que eu não testo?
1. Não precisa testar métodos da linguagem
sábado, 20 de julho de 13
74. E o que eu não testo?
1. Não precisa testar métodos da linguagem
2. Não precisa testar métodos do framework
sábado, 20 de julho de 13
75. E o que eu não testo?
1. Não precisa testar métodos da linguagem
2. Não precisa testar código dos frameworks
3. Não precisa testar código dos plugins
sábado, 20 de julho de 13
76. E o que eu não testo?
1. Não precisa testar métodos da linguagem
2. Não precisa testar código dos frameworks
3. Não precisa testar código dos plugins
Esse código já deveria estar testado, né?
sábado, 20 de julho de 13