Testes Automatizados:
do zero ao clean code
Joyce Bastos
Analista de Qualidade –
DBServer
6 anos na área
Projetos WEB e MOBILE
MOTIVAÇÃO
3
Primeiro você anda, depois você corre!!
ZERO...
Testes
▹ Plano de Testes
▹ Test Cases
▸ Cenários de testes
▹ Execução Manual
5
Imagem:https://medium.com/system-it-solutions/internet-das-coisas-o-que-e-exemplos-b82855d1a969
ZERO...
Problemas
▸ Manual
▸ Baixa reutilização
▸ Depende da linguagem natural que é
ambígua
▸ São demorados e chatos
▸ Regressão: acúmulo de testes
▸ Tempo de execução é grande 6
7
Iniciativa: Vamos automatizar
Surgem então algumas dúvidas
▸ Por onde começo?
▸ Qual linguagem escolher?
▸ Frameworks?
▸ Como executar os testes?
▸ Executo local ou em um
ambiente especifico? 8
Que ferramenta utilizar?
WEB MOBILE
Qual a linguagem de Programação?
10
E, a IDE?
11
Como executar os Testes?
12
Onde guarda-los?
13
Surgem então algumas dúvidas
▸ Test Case Manual  Test
Case Automatizado
▸ Por onde começo?
▸ Qual linguagem escolher?
▸ Frameworks?
▸ Como executar os testes?
▸ Executo local? Ou em um
ambiente especifico?
14
Exemplo
15
Cenário de Testes
▹ Cenário de Teste: Cadastro com
sucesso
1. Preencher os campos obrigatórios
2. Clicar em Salvar
3. Receber a mensagem de cadastro salvo
com sucesso
16
17
Exemplo de um Script de Cenário de Teste
Automatizado
Lógica envolvida para montar um
Script
Cada interação com a tela vira um
passo/linha independente que compõe o
script
Resolvemos o problema da
automação
o/
Porém...
▹ Difícil manutenção
▹ Muito menos legível que o manual
▹ Misturando níveis de abstrações de
código diferentes
Próximos passos
Código de Testes é código
Podemos usar técnicas que ajudam a
melhorar qualquer código
Por exemplo:
▹ Coesão: As coisas que fazem sentido
juntas tem que estar juntas
Separar o que é manipulação da tela (ação)
do que são Regras de Negócio
▸ Teste
▸ Page
▸ Driver
Page Objects
▹ É a classe que contém o objeto que irá simular a
sua página (web ou mobile)
▹ Possuirá métodos e atributos para trabalhar com
cada página
▹ Por exemplo:
Use locators para representar os
elementos da tela (web e mobile)
Siga a ordem correta dos
seletores
▸ ID
▸ Name
▸ CSS
▸ Xpath
Use locators para representar os
elementos da tela (web e mobile)
Não use asserts nas Pages
Não use Thread.sleep
▹ WebDriverWait
▹ Expected Condictions
▹ FluentWait
Script de Teste
28
Tá melhor que antes...
Mas, ainda dá pra evoluir!!!
Alguns padrões se repetem...
Clean Code
Agora posso automatizar TUDO!!!
Novo versus Legado
Evolução...
Você sempre tem que melhorar
mas, não tem que deixar de
fazer porque não esta perfeito
OBRIGADA!
https://www.facebook.com/joyce.bastos.7
https://www.linkedin.com/in/joyce-bastos-49261571/

Automacao de Testes - do zero ao clean code

Notas do Editor

  • #36 https://prezi.com/imr8mccb5su1/design-patterns-para-automacao-de-testes-usando-selenium/