O documento discute testes de software, com foco em testes de ponta a ponta (end-to-end) usando a ferramenta Cypress. Apresenta os principais tipos de testes, como unitários e de integração, e explica porque testes são importantes para melhorar a qualidade do código e evitar bugs. Também mostra como usar Cypress para automatizar testes end-to-end de forma prática.
3. Olá,
Eu sou a Bruna G Paula
Desenvolvedora Front-end e Analista Adobe AEM na Gauge
Formada pelos Bootcamps Laboratória.la e Programaria
. . .
@brubriele
, programadora,
mãe e baterista
nas horas vagas.
4. Startup social que promove um Bootcamp Intensivo de
Desenvolvimento Front-end e UX/UI voltado à inclusão de
voltado à inclusão de mulheres cis e trans no mercado de TI.
Organização sem fins lucrativos que promove um curso de
Introdução ao Desenvolvimento Web em HTML/CSS e
JavaScript voltado à mulheres cis e trans, Eu Programo.
https://www.programaria.org/ https://www.laboratoria.la/br
5. 1
2
3
Universo dos testes
Principais metodologias
End to end
Para quê servem
Bugs
4 Cypress
Qual problema resolve
Agenda
Vamos falar um pouco sobre o
universo de testes e como eles
colaboram para tornar nosso código
limpo, simples, fácil de acompanhar e
bem documentado
(+ self-documented)
Para quê te quero
6. Mundo dos testes
Testes como parte do desenvolvimento é parte de uma cultura nova que visa
melhorar a lógica, documentar e aumentar a qualidade do código.
TDD (Test Driven Development) Desenvolvimento
orientado a testes, método onde se escreve o teste antes do código
BDD (Behavior Driven Development)
Desenvolvimento orientado ao comportamento, ideal para validação
de regras de negócio e execução dos cenários com base no
comportamento do usuário
7. Para testar a menor unidade da aplicação,
geralmente implementados para funções.
Unitários
{
}
8. Podem testar cenários, integração com servidor,
API’s, geralmente implementados para
componentes em conjunto. Conhecido também
como teste ponta a ponta.
Integração
{
}
9. Ao desenvolver,
gastamos investimos a
maior parte do tempo
depurando código.
2020 – GAUGE DIGITAL CONSULTING | STEFANINI GROUP
Ok, mas..
Por que dedicar nosso
tempo com testes?!
10. 2020 – GAUGE DIGITAL CONSULTING | STEFANINI GROUP
Pelo seguinte:
Mais clareza na
hora de escrever
o código
Menos
bugs
Evitar futuras
regressões no
código
11.
12. 2020 – GAUGE DIGITAL CONSULTING | STEFANINI GROUP
E principalmente,
porque:
Testes falham
antes de o
problema se tornar
difícil de encontrar
e caro de corrigir..
13. Além de colaborar efetivamente para diminuição de bugs e
retrabalho, a prática de testar regras antes de aplica-las ou
integrá-las, ajuda a entender o código e melhorar o estado de
seu projeto atual.
2020 – GAUGE DIGITAL CONSULTING | STEFANINI GROUP
Planejar antes de agir..
14. Tem como finalidade testar a integração da aplicação a
partir de ações do usuário na interface, de forma prática
e objetiva.
End to end
#BDD
{
}
Estruturas de linguagem de asserção como should ou
expect guiadas pelo estilo BDD (Behavior Drive
Development), Desenvolvimento Orientado ao
Comportamento.
*Compartilham do mesmo padrão chai utilizado em testes unitários como mocha
15. Cypress
• Tem interface própria
• Open source
• Boa documentação
• Roda local
• Grava vídeos
• Integração com o provedor de CI
Solução prática e objetiva para os principais problemas que
desenvolvedores e engenheiros de QA enfrentam ao testar
aplicações Web.
SELECIONA O
ELEMENTO NO DOM
ASSERÇÃO
PASSA O EVENTO
características
18. e na
prática?
A vantagem é que não precisamos
instalar um milhão de libs para prepapar
o setup de testes
2020 – GAUGE DIGITAL CONSULTING | STEFANINI GROUP
21. (...) Você aprenderá mais
caindo algumas vezes do
que lendo durante dias
como se equilibrar.
O mesmo ocorre com
códigos.
2020 – GAUGE DIGITAL CONSULTING | STEFANINI GROUP
Pete Goodliffe
22. Referências
Documentação Cypress
https://docs.cypress.io/
The code for Cypress Documentation including Guides, API, Examples, Dashboard & FAQ
https://github.com/cypress-io/cypress-documentation
Chai Assertion Library
https://www.chaijs.com/api/bdd/
The Importance of Clean Code
https://www.arcanys.com/blog/the-importance-of-clean-code
Como ser um Programador Melhor: um Manual Para Programadores que se Importam com Código
de Goodliffe, Pete
PESSOAS INFLUENCIAM PESSOAS
Influenciadores (campanha de performance)
pesquisa mostra que elas se sentem mais conectadas a creators do YouTube do que a celebridades da TV.
A marca não é o que ela diz que é, é sobre o que as pessoas falam dela.
Color codes
Our colors take advantage of our existing strong, globally positive association.A change to whiter and a manageable range of distinctive secondary and tertiary colors allow Royal Blue to continue working for us while adopting a lighter feel.