Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Aplicação de testes em casos de uso real

Olá.

Durante o curso, foram feitos vários testes que eu consideraria "simples": mostrar um valor na tela, verificar se uma lista está no document, verificar se evento do onclick foi disparado. Não consegui enxergar a vantagem disso (tirando a possibilidade de automação).

Por favor, gostaria de entender: em um caso real de trabalho, são esses tipos de teste que, de fato, são realizados?

Eu tinha uma expectativa diferente para o que seria um teste unitário. Eu pensava que estes testes seriam responsáveis por coisas mais complexas como, por exemplo, "ao clicar no botão, tal estado muda, tal valor é atualizado e tal componente é renderizado". Ou esse exemplo já seria um caso de teste de integração?

Obrigado.

1 resposta
solução!

Fala, Matheus! Beleza?

Então, trazendo um pouco a lembrança da Pirâmide de Testes, os tipos de testes mais comuns são os unitários, de integração e testes de ponta a ponta, ou end to end.

Em um cenário real, você, sua equipe ou empresa teriam que decidir qual tipo de teste realizar dependendo das necessidades da sua aplicação.

Por exemplo, os testes unitários testam uma unidade, devem ser simples mesmo, mas dependendo da quantidade desses testes em uma aplicação você consegue cobrir muitos cenários e não precisar, ou quase bem pouco, realizar testes de integração ou de ponta a ponta.

Em aplicações que possuem cenários onde diferentes componentes estão sempre interagindo em conjunto ou de forma integrada, como é o caso de uma transação que é realizada em um componente e exibida em outro, você pode explorar mais os testes de integração, pois eles são ótimos para esses cenários.

Agora, se você quiser testar fluxos mais completos, por exemplo, em uma aplicação de e-commerce, onde a pessoa usuária vê os produtos, seleciona um, adiciona ao carrinho, faz o pagamento e recebe uma confirmação, você pode utilizar os testes de ponta a ponta que são muito bons para testar esses fluxos.

Então tudo depende da sua aplicação e das escolhas suas, do seu time, chefe, etc. Tem muitos cenários que são totalmente testados apenas com testes unitários, e isso é até bom, pois esses testes são mais rápidos de serem realizados e mais baratos que os de integração e de ponta a ponta.

Tudo tranquilo? Espero ter ajudado a esclarecer sua dúvida.

Grande abraço!