An open API service indexing awesome lists of open source software.

https://github.com/wlsf82/como-aprendi-cypress-ensinando-cypress

Palestra no GUTS-RS em 21 de Maio de 2022 - https://youtu.be/PuoFnGN70LA
https://github.com/wlsf82/como-aprendi-cypress-ensinando-cypress

Last synced: 6 months ago
JSON representation

Palestra no GUTS-RS em 21 de Maio de 2022 - https://youtu.be/PuoFnGN70LA

Awesome Lists containing this project

README

          

# Como aprendi Cypress ensinando Cypress

![Test status](https://github.com/wlsf82/como-aprendi-cypress-ensinando-cypress/actions/workflows/ci.yml/badge.svg)

Há algum tempo, descobri que a forma mais efetiva de aprender, é ensinando.

Porém, para poder ensinar, você precisa aprender.

E não basta só saber, você tem que saber tão bem, ao ponto de explicar aos outros e se fazer entender.

Por volta de 2012, ou um pouco antes, "o bixo do compartilhamento de conhecimento me picou."

Em 2014, passei a compartilhar conhecimento por meio de _blog posts_ (no que hoje se tornou minha marca - [Talking About Testing](https://talkingabouttesting.com/).)

O intuito inicial do blog era manter contato com as pessoas da minha rede profissional, quando decidi deixar Porto Alegre para morar em Florianópolis com minha esposa e nosso casal de gatos.

Em 2015, criei um [canal no YouTube](https://www.youtube.com/c/talkingabouttesting), desta vez (com os aprendizados de um ano como _blogger_), para compartilhar meus aprendizados (na époda de sua criação, minhas experiências com o Protractor).

Em 2016 comecei a mentorar pessoas (algo que está _on-hold_ no momento.)

Ao longo das mentorias, mentorei muitas pessoas em assuntos relacionados à automação de testes (primeiro com Protractor, e mais recentemente com Cypress.)

E então minha história com o [Cypress](https://www.cypress.io/) começou.

## Em 2018

- Comecei a ouvir falar sobre Cypress
- Participei de um workshop sobre testes automatizados utilizando bibliotecas JavaScript para a escrita de diferentes tipos de testes, onde o Cypress era uma delas (e o workshop foi um fracasso)
- Até que um dia li um tutorial (tipo um _hello world_) tão bem explicado o qual consegui seguir e escrever meu primeiro teste automatizado com Cypress
- Naquele dia (na verdade nas próximas três madrugadas) resolvi ler toda a documentação do Cypress. Literalmente. Eu li tudo. Naquela época o Cypress ainda estava em uma versão beta

## Entre 2018 e 2019

- Usei Cypress pela primeira vez em um projeto real (ainda em beta) e, na época, voltamos ao Protractor. O Cypress ainda não era estável o suficiente para nossas necessidades

## Em 2019

- Percebi que o Cypress passou a ficar mais estável (em meus experimentos fora do horário de trabalho)
- Lancei a versão 1 (agora já na [v2](https://www.udemy.com/course/testes-automatizados-com-cypress-basico/?referralCode=5E367E0C332F3B967B6C)) do curso básico de Cypress
- Criei algumas provas de conceito do uso de Cypress para testar o GitLab

## Em 2020

- Lancei o [curso intermediário de Cypress](https://www.udemy.com/course/testes-automatizados-com-cypress-intermediario/?referralCode=F14505FB0076672E51A2), voltado a ensinar como otimizar testes de _GUI_ (_graphical user interface_) utilizando chamadas de API, além de uma aula sobre como utilizar o Cypress para rodar comandos a nível de sistema operacional. Neste curso também ensinei o básico de _CI_. A idéa do curso veio das minhas experiencias trabalhando no GitLab
- Lancei o curso básico de [testes de regressão visual com Cypress e Percy](https://www.udemy.com/course/testes-automatizados-com-cypress-e-percy-basico/?referralCode=BCA9A82D86243C618DA9)

## Em 2021

- Me tornei [embaixador do Cypress](https://www.cypress.io/ambassadors/)!
- Retomei a escrita constante no blog TAT com as "Pitadas de Cypress", inspiradas em aprendizados que eu queria passar adiante, além de respostas para perguntas frequentes da comunidade
- Retomei a criação de vídeos no YouTube (lives, cy.handsOn, cy.chat, explorando a [Cypress RWA](https://github.com/cypress-io/cypress-realworld-app), Exemplos do Cypress, etc.)
- Criei a [_Newsletter_ da TAT](https://mailchi.mp/6b1f35857228/newsletter-talking-about-testing), onde alguns (ou quem sabe vários) conteúdos exclusivos foram/são sobre Cypress
- Fiz dois cursos que influenciaram em minha metodologia de ensino, os quais moldaram os próximos cursos que eu viria a lançar/re-lançar. Os cursos foram o [Epic React](https://epicreact.dev/), de Kent C. Dodds, e [_CSS for JavaScript Developers_](https://css-for-js.dev/) de Josh Comeau
- Lancei o [curso Avançado de Cypress](https://www.udemy.com/course/testes-automatizados-com-cypress-avancado/?referralCode=92639E4BD579A09A972D) para ensinar como testar o _frontend_ desacoplado do _backend_, com a idéia de atrair não só _testers_, como também _developers_
- Lancei o curso de [Boas Práticas em automação de testes com Cypress](https://www.udemy.com/course/boas-praticas-em-automacao-de-testes-com-cypress/?referralCode=53A9772BD676F93DC8A1), como uma forma de combater más práticas (gerais no desenvolvimento de software e em testes automatizados)
- Lancei o curso de [Testes _end-to-end_ com Cypress](https://www.udemy.com/course/testes-end-to-end-com-cypress/?referralCode=BFC58FC7B29F2F37904D) (uma coleção dos meus mais recentes aprendizados e o curso mais completo da Escola TAT)

## Em 2022

- Re-lancei o [curso básico (v2)](https://www.udemy.com/course/testes-automatizados-com-cypress-basico/?referralCode=5E367E0C332F3B967B6C) em Março (que está batendo o curso de testes _e2e_.) Antes do re-lançameto, o curso tinha nota 4.5. Atualmente está com nota 4.8

___

## Aprendizados

- Ouço meus "seguidores" e alinho o que me interessa com algo que possa os/as ajudar
- Criei uma cadência de criação de conteúdos (lives semanais, posts mensais, _Newsletter_ mensal e [podcast](https://anchor.fm/testando-na-gringa) mensal)
- Criei uma cadência semanal de aprendizado, como consequência das cadências de criação de conteúdos
- Acompanho de perto o [_changelog_](https://docs.cypress.io/guides/references/changelog) do Cypress e suas novas versões
- Acompanho outros criadores de conteúdo que conhecem o Cypress profundamente
- Experimento novas (e antigas) funcionalidades, onde muitas vezes, faço ao vivo, compartilhando meu aprendizado com meu público
- Acompanho de perto funcionalidades que estão por vir, as quais são do meu interesse e da comunidade ao meu redor
- Venho aprendendo a ser objetivo no que quero ensinar, com exemplo práticos, direto ao ponto e fáceis de "digerir", além de uma estrutura clara na forma de repassar o conhecimento

## _Hands-on_

Um dos meus experimentos mais recentes foi com o plugin [cypress-terminal-report](https://www.npmjs.com/package/cypress-terminal-report), e portanto, pensei em fazer uma breve sessão "mão-na-massa" pra te mostrar como ele funciona e o que ele se propõe a resolver.

Obrigado!

___

Este projeto foi feito com ❤️ por [Walmyr](https://walmyr.dev).