Tester, pegue suas coisas, você está demitido

70
TESTER, PEGUE SUAS COISAS, VOCÊ ESTÁ DEMITIDO

Transcript of Tester, pegue suas coisas, você está demitido

TESTER, PEGUE SUAS COISAS, VOCÊ ESTÁ DEMITIDO

WHO AM I?

➤ Leonardo Galani

➤ Quality Engineer @ VideoStitch (fr)

➤ Admin @ AgileTesters.com.br

➤ Blogger @ keeptesting.com.br

➤ Blogger @ lazytester.com.br

➤ Tester com 8 anos ++ de experiência em qualidade e desenvolvimento de software.

MOTIVAÇÃO DO TALK

TIMELINE

Software Engineer dev

dev front dev back

Tester

Fábricas de Software

Fábricas de Teste

Agile Methodologiesdev fullstack devops dev

???

O QUE VAMOS FALAR?(NÃO NECESSARIAMENTE NESSA ORDEM)

➤ Arquitetura básica de uma aplicação

➤ Fundamentos básicos de implementação

➤ Habilidades de um tester

➤ O que ficar de olho.

➤ Casos reais de WTF?!

VOCÊ SABE ME DIZER A DIFERENÇA ENTRE:

WEB SERVER X APP SERVER ?

RUBY ON RAILS / .NET

UNICORN / TOMCAT / NODEJS

NGINX / APACHE

RUBY ON RAILS / .NET

NGINX / APACHE

FRAMEWORKSUNICORN / TOMCAT / NODEJS

RUBY ON RAILS / .NET

UNICORN / TOMCAT / NODEJS

NGINX / APACHE

FRAMEWORKS

APPLICATION SERVERS

RUBY ON RAILS / .NET

UNICORN / TOMCAT / NODEJS

NGINX / APACHE

FRAMEWORKS

APPLICATION SERVERS

WEB SERVERS

“POR QUE EU, TESTER, DEVO SABER ISSO?"

Entender quais os possíveis pontos de falha no deploy de uma aplicação.

Saber que existe a probabilidade de sua arquitetura usar um load balancer

e aquele erro de produção estar em outra máquina.

Entender que pode existir processamento de informação sem

que uma chamada HTTP tenha chegado na aplicação.

Entender melhor a arquitetura do seu ambiente para criar testes de performance mais concisos e

eficientes.

VOCÊ SABE ME DIZER A DIFERENÇA ENTRE:FRONTEND X BACKEND

?

VOCÊ SABE ME DIZER A DIFERENÇA ENTRE:

FRONTEND X BACKEND X MIDDLEWARE ?

ANGULAR / REACT

EXPRESS / PHP-FPM / DJANGO

MONGO / SQL-SERVER / ERP

ANGULAR / REACT

EXPRESS / PHP-FPM / DJANGO

MONGO / SQL-SERVER / ERP

FRONTEND

ANGULAR / REACT

EXPRESS / PHP-FPM / DJANGO

MONGO / SQL-SERVER / ERP

FRONTEND

MIDDLEWARE

ANGULAR / REACT

EXPRESS / PHP-FPM / DJANGO

MONGO / SQL-SERVER / ERP

FRONTEND

MIDDLEWARE

BACKEND

APLICAÇÃO MOBILE

APLICAÇÃO DESKTOP CLIENT-SERVER

APLICAÇÃO MOBILE

APLICAÇÃO DESKTOP CLIENT-SERVER

FRONTEND

FRONTEND

“Como eu faço para testar perfomance da minha aplicação desktop?

Caso Real

DETALHES DA PERGUNTA

➤ "Tempo de resposta com determinados volumes na base.”

➤ "Buscou informações sobre testes de performance voltados para aplicações desktops mas só encontrou mais voltados para web e acredita que precisa de uma abordagem diferente”

COMO O TESTER PODERIA TER

INVESTIGADO?

Saber qual protocolo de conexão client-server (HTTP, TCP/IP, OSI)?

Entender que tudo que tem uma interface que pode receber conexões / requisições via internet é considerado WEB*, logo qualquer

aplicativo de teste de performance como locust.io, JMeter, etc pode realizar o

processo.

Entender os conceitos por trás de teste de carga e teste de stress.

Realizar prova de conceito.

Pausa para água :)

APRENDA A REPORTAR MELHOR SEUS ERROS

ç

BASH!!!

REGEX

ç

ç

PARE DE AUTOMATIZAR APRENDA A PROGRAMAR

➤ “Quero começar devagar, usando o selenium IDE e depois ir me adaptando”

➤ “Acho que preciso usar a linguagem que os desenvolvedores usam para ter suporte quando precisar.”

➤ “Vou começar aprendendo com Java por que é mais fácil e vi na faculdade…”

➤ “Não tenho tempo, preciso do script para semana que vem poiso projeto vai entrar no ar”

➤ “Quero começar devagar, usando o selenium IDE e depois ir me adaptando”

➤ “Acho que preciso usar a linguagem que os desenvolvedores usam para ter suporte quando precisar.”

➤ “Vou começar aprendendo com Java por que é mais fácil e vi na faculdade…”

➤ “Não tenho tempo, preciso do script para semana que vem poiso projeto vai entrar no ar”

“Meu teste automatizado não está indo para o próximo caso de teste

- Caso real

When(/^Something..xyz$/) do xyz = driver.findElement(………) if xyz.displayed? #do something else next end end

Ruby Cucumber Sample Code

When(/^Something..xyz$/) do xyz = driver.findElement(………) if xyz.displayed? #do something else

next end end

Ruby Cucumber Sample Code

???????

ONDE APRENDER A PROGRAMAR

➤ Codecademy

➤ Packtpub oferece livros gratuitos (em inglês)

➤ Documentação da própria linguagem

➤ code.org

O QUE APERFEIÇOAR PRIMEIRO

➤ Tipos de Classes e Objetos

➤ Tomada de decisão

➤ Loops e interação dentro de objetos

➤ Herança e Polimorfismo

DESIGN PATTERNS

FRAMEWORKS (TESTE E DESENVOLVIMENTO)

FERRAMENTAS DE TESTE DE ACEITAÇÃO

DEPOIS

DEPOIS

DESENVOLVIMENTO PAREADO

CODE REVIEW?

CODE REVIEW YOU MUST!

OBRIGADO AMIGUINHO!

AGILETESTERS.COM.BR