Planejamento de Testes
em um mundo ágil
Jacqueline Sampaio Costa
Sobre mim
Trabalhando na área de qualidade desde 2013.
Blogueira. Winner of Best Insight.
Apaixonada por tudo o que faço e adoro aprender algo novo.
/in/jacquelinescosta/
jacqueline.costa@matera.com
Agile Testing
“Forget about ‘Ready for Test’ columns. Everything is continuously
being tested and not necessarily by you. Think about how you can
integrate your tester mind-set to be heard” (Kim Knup)
Do que se trata?
X Validador
V Facilitador
Pensamento mais voltado para:
- Como podemos mitigar os riscos?
- Deixar de quebrar o sistema e provar que tem bugs.
“Testing “early and often” is the biggest tenet of QA in an agile team.”
(Dayana Stockdale)
Resumidamente..
No contexto ágil o
testador deixar de ser o
único responsável por
dizer se o que está
sendo entregue está
com qualidade.
O time passa a
assumir essa
responsabilidade,
pois todos fazem
parte do processo de
entrega.
Planejando seus testes :)
Agora que sabemos o que é agile testing...
Por onde começar?
- Contexto tradicional:
- Mapeamento = Requisitos já prontos
- Checklist com todas as regras
- Documentação enorme (planos de testes,
documentação de execução, documentação de
erros, relatórios de resultados e ações).
Gasta-se mais tempo com documentação do que com a
execução
Por onde começar?
Exemplos de trabalho em
conjunto na concepção da
solução
- Saber como nossas metodologias
funcionam.
- É importante se perguntar “Por quê?”
e “Como?”
Pensar no que é necessário para
testar
- Não basta ter apenas um documento...
- Qual será o ambiente que vamos precisar (vou
precisar integrar com outro sistema?)
- Criar massa de dados (vou precisar de algum
tipo de mock? Vou precisar de uma massa de
dados específica?)
- Priorizar os testes
#PartiuTestarTudo
- Bom, já que os requisitos estão definidos é hora de
esperar o desenvolvimento terminar e
#partiuTestarTudo #partiuQuebrarTudo
#partiuDizerQueNaMinhaMáquinaNãoFunciona
Espere...
Antes de sair testando...também é importante
participar da fase de desenvolvimento
Falando um pouco sobre
automação
- O que vamos automatizar?
- Mas antes de sair por aí automatizando precisamos
entender primeiro o que é necessário automatizar,
quais as formas de automatizar e o que se encaixa
em nosso contexto.
- A automação dos testes deve levar em consideração:
- Maior Risco
- Quantidade de vezes que este cenário será
executado (em casos de regressão por exemplo)
- Linguagem
- Vou perder o que estou fazendo?
Existem diferentes níveis
Decidir aqueles que irão melhorar a qualidade do que
está sendo entregue ao longo do tempo.
“But rather than thinking in terms of what layer is being
tested, or how a test is written, it is far more useful to think
in terms of how a test adds value by increasing
confidence or reducing risk” (John Smart)
Existem diferentes níveis
Existem diferentes níveis
A pirâmide de testes nos
permite ter uma noção
de “custo”.
Mas a decisão de qual
“base” automatizar
depende do projeto.
Mas como eu vou saber qual base
automatizar?
“Be pragmatic: write the simplest and fastest test that
you can get away with that does two things:
1) Illustrates the point you are trying to
demonstrate
2) Make it easy to identify the cause of the
problem should the test fail” (John Smart)
Mas como eu vou saber qual base
automatizar?
For example,
if you are illustrating how a user achieves a goal via a web
application, and end-to-end UI test will probably be most
appropriate.
[...]
And if you are illustrating a business rule or calculation, a unit or
service-level test will most likely be sufficient.” (John Smart)
Vou precisar codificar?
- A resposta é SIM, muitas vezes vai ser necessária a
codificação.
- Tornar mais rápida uma tarefa que você faz
repetidamente.
- Costumo muito ouvir que: “se você faz esta tarefa mais
de uma vez, está na hora de automatizar”
Vou precisar codificar?
Bom já que uma das bases mencionadas na pirâmide são os
testes unitários, de certa forma o time de desenvolvimento
irá desenvolver testes unitários principalmente se adotarem
a questão do TDD (Test Driven Development).
Este é um bom momento para
que o Testador esteja
em conjunto
com o desenvolvedor.
Benefícios em fazer pair com um
dev
- Você pode entender melhor o que está
sendo testado de forma unitária ou
funcional
- Você pode até bater o pé sobre o que
está sendo validado
- Fica mais fácil de abstrair o que não está
coberto
- É possível desenvolver maneiras para
facilitar o seu trabalho:
- como scripts para criar massa de
dados;
- facilitadores de testes;
- testar antes de todo o
desenvolvimento ficar pronto
Importante saber sobre seus testes
automatizados
- Testes manuais
- Dependência de testes
- Pequenas partes
“Não usamos a automação para reduzir os testes
manuais; a usamos para aumentá-los e permitir que
nossos testadores humanos se concentrem em novas
funcionalidades e trabalhos de testes de alto valor” (post
do Ryan Yackel)
Mas nem tudo é perfeito
- Você pode encontrar desafios como:
- Não há maneiras de implementar automação
onde eu atuo
- As pessoas que eu convivo não tem o mindset
aberto
- Automação não é barato e o retorno não é
imediato.
- E o que você pode fazer:
- Aprenda a convencer as pessoas
- Aprenda a lidar com opiniões diferentes
- Aprenda a estudar muito
- Colete resultados e mostre os benefícios
#PartiuTestarTudo
- Agora sim, já que temos nossos cenários mapeados em diferentes
camadas, é possível validar o que falta e se preocupar em melhorar
nos próximos ciclos :)
E...
Dicas da Jacque!
- Errar é humano e ninguém nasce sabendo
- Leia livros
- Faça cursos
- Aprenda algo novo sempre que puder
- Esteja por dentro (participe de eventos, meetups…)
- - Estratégias de testes
“Without the attitude,
the skill is nothing”
(Janet Gregory)
Referências
Agile Testing
- https://leanpub.com/AgileTesting/read
Planejamento de testes
- https://www.linkedin.com/pulse/test-automation-where-andrei-contan
- https://imasters.com.br/desenvolvimento/automacao-de-testes-de-softwar
e-atinge-maturidade
- https://www.linkedin.com/pulse/como-fa%C3%A7o-ou-tento-fazer-automa%
C3%A7%C3%A3o-de-testes-na-sprint-rodrigo-matola/
- https://www.youtube.com/watch?v=5v59sRVWimA&t=9s
- https://testlio.com/blog/how-to-develop-an-automated-testing-strategy/
- https://www.sogeti.com/explore/reports/world-quality-report-2017-2018/
- https://www.thoughtworks.com/pt/insights/blog/agile-tester-30
- https://inforchannel.com.br/2018/08/17/a-automacao-de-testes-de-software
-atinge-a-maturidade/
- http://talkingabouttesting.coursify.me/courses/introducao-aos-testes-auto
matizados
Referências
- Automação de testes
- http://www.squadra.com.br/blog/tudo-que-voce-precisa-saber-sobre-t
estes/
- https://medium.com/venturus/pir%C3%A2mide-de-testes-uma-boa-est
rat%C3%A9gia-para-automa%C3%A7%C3%A3o-de-testes-na-pr%C3%A
1tica-1d87e64c3a44
- https://samuellucas.com.br/2017/10/02/como-comecei-a-trabalhar-co
m-testes-automatizados-e-como-voce-pode-comecar/
Obrigada!
São Paulo/SP
+55 (11) 3512-0300
Rua Cardeal Arcoverde, 2365 / 1º andar
Salas 12 e 14 – Pinheiros
CEP 05407-003
Niterói/RJ
+55 (21) 2620-2367
Rua da Conceição, 95 – Ed. City Hall
Sala 1002 – Centro
CEP 24020-085
Campinas/SP
+55 (19) 3794-7700 / Fax: +55 (19) 3794-7739
R. Dr. Ricardo Benetton Martins, s/n
Prédio 16 – Parque II do Polo de Alta Tecnologia
CEP 13086-902
Maringá/PR
+55 (44) 3034-0111
Av. Dr. Horácio Raccanello Filho, 5570 -Edifício São Bento,
Salas 601, 602 e 603-Novo Centro (Zona 07)
CEP 87020-035
WWW.MATERA.COM

Planejamento de testes em um mundo ágil

  • 1.
    Planejamento de Testes emum mundo ágil Jacqueline Sampaio Costa
  • 2.
    Sobre mim Trabalhando naárea de qualidade desde 2013. Blogueira. Winner of Best Insight. Apaixonada por tudo o que faço e adoro aprender algo novo. /in/jacquelinescosta/ jacqueline.costa@matera.com
  • 3.
    Agile Testing “Forget about‘Ready for Test’ columns. Everything is continuously being tested and not necessarily by you. Think about how you can integrate your tester mind-set to be heard” (Kim Knup)
  • 4.
    Do que setrata? X Validador V Facilitador Pensamento mais voltado para: - Como podemos mitigar os riscos? - Deixar de quebrar o sistema e provar que tem bugs. “Testing “early and often” is the biggest tenet of QA in an agile team.” (Dayana Stockdale)
  • 5.
    Resumidamente.. No contexto ágilo testador deixar de ser o único responsável por dizer se o que está sendo entregue está com qualidade. O time passa a assumir essa responsabilidade, pois todos fazem parte do processo de entrega.
  • 6.
    Planejando seus testes:) Agora que sabemos o que é agile testing...
  • 7.
    Por onde começar? -Contexto tradicional: - Mapeamento = Requisitos já prontos - Checklist com todas as regras - Documentação enorme (planos de testes, documentação de execução, documentação de erros, relatórios de resultados e ações). Gasta-se mais tempo com documentação do que com a execução
  • 8.
  • 9.
    Exemplos de trabalhoem conjunto na concepção da solução - Saber como nossas metodologias funcionam. - É importante se perguntar “Por quê?” e “Como?”
  • 10.
    Pensar no queé necessário para testar - Não basta ter apenas um documento... - Qual será o ambiente que vamos precisar (vou precisar integrar com outro sistema?) - Criar massa de dados (vou precisar de algum tipo de mock? Vou precisar de uma massa de dados específica?) - Priorizar os testes
  • 11.
    #PartiuTestarTudo - Bom, jáque os requisitos estão definidos é hora de esperar o desenvolvimento terminar e #partiuTestarTudo #partiuQuebrarTudo #partiuDizerQueNaMinhaMáquinaNãoFunciona
  • 12.
    Espere... Antes de sairtestando...também é importante participar da fase de desenvolvimento
  • 13.
    Falando um poucosobre automação - O que vamos automatizar? - Mas antes de sair por aí automatizando precisamos entender primeiro o que é necessário automatizar, quais as formas de automatizar e o que se encaixa em nosso contexto.
  • 14.
    - A automaçãodos testes deve levar em consideração: - Maior Risco - Quantidade de vezes que este cenário será executado (em casos de regressão por exemplo) - Linguagem - Vou perder o que estou fazendo? Existem diferentes níveis
  • 15.
    Decidir aqueles queirão melhorar a qualidade do que está sendo entregue ao longo do tempo. “But rather than thinking in terms of what layer is being tested, or how a test is written, it is far more useful to think in terms of how a test adds value by increasing confidence or reducing risk” (John Smart) Existem diferentes níveis
  • 16.
    Existem diferentes níveis Apirâmide de testes nos permite ter uma noção de “custo”. Mas a decisão de qual “base” automatizar depende do projeto.
  • 17.
    Mas como euvou saber qual base automatizar? “Be pragmatic: write the simplest and fastest test that you can get away with that does two things: 1) Illustrates the point you are trying to demonstrate 2) Make it easy to identify the cause of the problem should the test fail” (John Smart)
  • 18.
    Mas como euvou saber qual base automatizar? For example, if you are illustrating how a user achieves a goal via a web application, and end-to-end UI test will probably be most appropriate. [...] And if you are illustrating a business rule or calculation, a unit or service-level test will most likely be sufficient.” (John Smart)
  • 19.
    Vou precisar codificar? -A resposta é SIM, muitas vezes vai ser necessária a codificação. - Tornar mais rápida uma tarefa que você faz repetidamente. - Costumo muito ouvir que: “se você faz esta tarefa mais de uma vez, está na hora de automatizar”
  • 20.
    Vou precisar codificar? Bomjá que uma das bases mencionadas na pirâmide são os testes unitários, de certa forma o time de desenvolvimento irá desenvolver testes unitários principalmente se adotarem a questão do TDD (Test Driven Development). Este é um bom momento para que o Testador esteja em conjunto com o desenvolvedor.
  • 21.
    Benefícios em fazerpair com um dev - Você pode entender melhor o que está sendo testado de forma unitária ou funcional - Você pode até bater o pé sobre o que está sendo validado - Fica mais fácil de abstrair o que não está coberto - É possível desenvolver maneiras para facilitar o seu trabalho: - como scripts para criar massa de dados; - facilitadores de testes; - testar antes de todo o desenvolvimento ficar pronto
  • 22.
    Importante saber sobreseus testes automatizados - Testes manuais - Dependência de testes - Pequenas partes “Não usamos a automação para reduzir os testes manuais; a usamos para aumentá-los e permitir que nossos testadores humanos se concentrem em novas funcionalidades e trabalhos de testes de alto valor” (post do Ryan Yackel)
  • 23.
    Mas nem tudoé perfeito - Você pode encontrar desafios como: - Não há maneiras de implementar automação onde eu atuo - As pessoas que eu convivo não tem o mindset aberto - Automação não é barato e o retorno não é imediato. - E o que você pode fazer: - Aprenda a convencer as pessoas - Aprenda a lidar com opiniões diferentes - Aprenda a estudar muito - Colete resultados e mostre os benefícios
  • 24.
    #PartiuTestarTudo - Agora sim,já que temos nossos cenários mapeados em diferentes camadas, é possível validar o que falta e se preocupar em melhorar nos próximos ciclos :)
  • 25.
  • 26.
    Dicas da Jacque! -Errar é humano e ninguém nasce sabendo - Leia livros - Faça cursos - Aprenda algo novo sempre que puder - Esteja por dentro (participe de eventos, meetups…) - - Estratégias de testes
  • 27.
    “Without the attitude, theskill is nothing” (Janet Gregory)
  • 28.
    Referências Agile Testing - https://leanpub.com/AgileTesting/read Planejamentode testes - https://www.linkedin.com/pulse/test-automation-where-andrei-contan - https://imasters.com.br/desenvolvimento/automacao-de-testes-de-softwar e-atinge-maturidade - https://www.linkedin.com/pulse/como-fa%C3%A7o-ou-tento-fazer-automa% C3%A7%C3%A3o-de-testes-na-sprint-rodrigo-matola/ - https://www.youtube.com/watch?v=5v59sRVWimA&t=9s - https://testlio.com/blog/how-to-develop-an-automated-testing-strategy/ - https://www.sogeti.com/explore/reports/world-quality-report-2017-2018/ - https://www.thoughtworks.com/pt/insights/blog/agile-tester-30 - https://inforchannel.com.br/2018/08/17/a-automacao-de-testes-de-software -atinge-a-maturidade/ - http://talkingabouttesting.coursify.me/courses/introducao-aos-testes-auto matizados
  • 29.
    Referências - Automação detestes - http://www.squadra.com.br/blog/tudo-que-voce-precisa-saber-sobre-t estes/ - https://medium.com/venturus/pir%C3%A2mide-de-testes-uma-boa-est rat%C3%A9gia-para-automa%C3%A7%C3%A3o-de-testes-na-pr%C3%A 1tica-1d87e64c3a44 - https://samuellucas.com.br/2017/10/02/como-comecei-a-trabalhar-co m-testes-automatizados-e-como-voce-pode-comecar/
  • 30.
  • 31.
    São Paulo/SP +55 (11)3512-0300 Rua Cardeal Arcoverde, 2365 / 1º andar Salas 12 e 14 – Pinheiros CEP 05407-003 Niterói/RJ +55 (21) 2620-2367 Rua da Conceição, 95 – Ed. City Hall Sala 1002 – Centro CEP 24020-085 Campinas/SP +55 (19) 3794-7700 / Fax: +55 (19) 3794-7739 R. Dr. Ricardo Benetton Martins, s/n Prédio 16 – Parque II do Polo de Alta Tecnologia CEP 13086-902 Maringá/PR +55 (44) 3034-0111 Av. Dr. Horácio Raccanello Filho, 5570 -Edifício São Bento, Salas 601, 602 e 603-Novo Centro (Zona 07) CEP 87020-035
  • 32.