rocketseat-education / bootcamp-gostack-desafios

Repositório contendo todos os desafios dos módulos do Bootcamp Gostack
https://pages.rocketseat.com.br/gostack
MIT License
1.18k stars 996 forks source link

Correção nos textos sobre testes #55

Closed olaviolacerda closed 4 years ago

olaviolacerda commented 4 years ago

Fala devs, acredito que há um equívoco onde falam sobre testes (https://github.com/rocketseat/bootcamp-gostack-desafios/tree/master/faq-desafios#o-que-s%C3%A3o-os-testes-automatizados).

No texto em questão, é explorado e explicado como interpretar e criar testes para garantir que modificações não afetrão demais partes do código. Porém, no texto são chamados de Testes automatizados mas os exemplos e explicações são sobre Testes unitários.

Como podemos ver, Testes automatizados, em sua maioria, são realizados por softwares desenvolvidos para garantir consistência e funcionamento das aplicações para que sejam validadas antes de irem para um ambiente de produção. Sugiro que deem uma atenção a isso para não confundir a galera!

Obrigado e não entendam isso como uma crítica e sim uma sugestão de melhoria!

Fonte: http://www.tecnisys.com.br/noticias/2019/testes-automatizados-e-ferramentas-de-testes#:~:text=Se%20o%20teste%20unit%C3%A1rio%20consome,comparar%20resultados%20com%20testes%20anteriores.

josepholiveira commented 4 years ago

Faala @olaviolacerda !

Talvez você tenha entendido um pouco mal, mas dentro dos testes automatizados podemos ter alguns tipos de testes. Podemos ter os testes unitários, testes de integrações, entre outros. O objetivo deles é justamente automatizar esse processo de testes, sem a necessidade de um humano testar isso manualmente.

Em todos os casos dos nossos desafios, nós implementamos os tipos de testes sendo testes de integração e não testes unitários como você citou, para que assim nós não iremos "ditar" exatamente como o código deve ficar mas sim o resultado final.

Exatamente como você disse, os testes automatizados são testados por alguma ferramenta ou algo que foi desenvolvido para realizar os testes de forma automática, e esse é justamente o propósito do JEST, ser um framework/ferramenta focado no desenvolvimento de automação de testes.

Sobre a questão de ir para um ambiente de produção, esse é apenas um exemplo mais claro de usabilidade sobre testes automatizados. No caso dos desafios, como são apenas desafios, teoricamente eles não vão pra produção, mas esse é o mesmo processo para levar um app para a produção, esperar que as coisas vão funcionar perfeitamente para o seu caso de uso, e o que você mesmo disse poderia representar a necessidade disso: "para garantir consistência e funcionamento das aplicações para que sejam validadas", só que ao invés de ir para produção, era será avaliada pelo nosso corretor dos desafios.

Enfim, espero que eu possa ter esclarecido essa sua dúvida, e caso não tenha sido claro pode me chamar que eu posso explicar algo que não tenha entendido! 💜

olaviolacerda commented 4 years ago

Ficou bem claro mesmo, agradeço muito pela explicação detalhada @josepholiveira !