Desenvolvedor na
e aluno da pós-graduação em Métodos Ágeis na
Lucas Tagliani Aguiar
"não dá tempo"
"testes são muito caros"
"meu caso é muito específico"
"o que são testes automatizados?"
Motivador: debate entre usar e não usar TDD
Teste de exploração
Teste de avaliação
Teste de validação
Teste de comparação
Teste de laboratório
Teste caixa preta
Testa uma unidade de código isoladamente e de forma independente.
Maiores benefícios: errar rápido e segurança em manutenções.
Ferramentas: frameworks como
NUnit / Fluent Assertions (C#)
e JUnit / Mockito (Java).
Testa se a comunicação entre as camadas (controller, serviços, dados...) do software está funcionando.
Não testa regra de negócio!
Use setUp() e cleanUp()!
Ferramentas: frameworks como
NUnit / Fluent Assertions (C#)
e JUnit / Mockito (Java).
Testa a interface do sistema através de comportamentos que um usuário poderia ter.
Super indicado pra quem utiliza fluxos longos de cadastro e/ou muitas funcionalidades no front-end.
Ferramenta: Selenium
Testa o uso de um sistema, produto ou serviço através de análise de comportamento.
Importante principalmente para ideias inovadoras.
Filmar o comportamento, reações, dúvidas e até o movimento do mouse podem ser boas práticas.
Testa a capacidade (resposta, disponibilidade, robustez) de um sistema.
Tipos: carga, estresse, resistência e subida rápida.
Se eu fizer 1000 requisições simultâneas pra esse serviço, ele consegue me retornar? Em quanto tempo?
Ferramenta: Apache JMeter