6. Testes manuais
● Testar o sistema inteiro é trabalhoso.
● Retrabalho
● Existem testes que são humanamente impossíveis realizá-los
Ex: Teste de carga
10. Mas cada caso é um caso
Sempre utilize os dois com inteligência
então...
11. Testes unitários
● É um nível de teste de software no qual componentes
individuais são testados. (Métodos e funções)
● O propósito é validar se cada unidade do software executa
como esperado
O que é?
12. Testes unitários
● Garantir que problemas sejam descobertos cedo
● Facilitar manutenção de código
● Servir como documentação
● Ajudam a melhorar o design do seu código
Benefícios
19. Problemas
● Tenho que criar arquivos de verdade no projeto
● Teste falhando antes da hora, arquivo criado permanecerá
● Posso acabar apagando um arquivo necessário.
32. Problemas
● Necessidade de acesso à internet
● Configuração válida com aws
● Todos testes enviaram arquivos de verdade para aws
33. Testando o envio de conteúdo para aws
Mas não estávamos usando mock.path.object?
34. patch vs patch.object
mock.patch.object(os, remove)
mock.patch('example.cenario2.os.remove')
Necessita importar antes do realizar o mock
Não necessita importar antes de realizar o mock
47. Problemas
● Necessidade de acesso à internet
● Request de verdade
● Usuário do testes deixar de existir, teste quebra
● Informações do usuário alterada, teste quebra
Se eu tenho no meu menu a opção de mudar o background do meu site para azul, e eu clico nesse opção e ele muda para vermelho e então não realiza ação nenhuma, eu tenho um bug em produção.