Palestra realizada no Rio Sul Valley Dev Summit 2017.
Seguindo o modelo Agil de desenvolvimento de software, com a necessidade de gerar valor a cada entrega para o cliente, o "Tester" precisa ter um papel mais atuante em todas as fase do produto, desde o entendimento do produto(Discovery) até a entrega(Deploy). Sendo assim, o Agile Testing surge com a premissa de que o Tester passa a ter não só as habilidades técnicas mas também habilidades crítica/analítica para ajudar o time a desenvolver um produto melhor e que atenda a real necessidade do cliente sem o desperdício de tempo e dinheiro.
4. "As organizações de alta performance gastam
22% menos tempo em atividades não planejadas
e retrabalho. Como resultado, elas são capazes de
gastar 29% mais tempo para investir em novas
features”
2016 State of DevOps Report
10. Procura Bug Previne Bug
Garante que os requisitos sejam
atendidos
Resistentes à mudança
Qualidade é responsabilidade
do testador
Trabalha separado do time
Teste é uma fase
Teste no final do desenvolvimento
Garante que as expectativas
sejam claras
Teste durante o desenvolvimento
Teste é uma atividade
Trabalha junto ao time
Qualidade é responsabilidade
do time
Aceita novas ideias
21. Como você avalia se
uma funcionalidade está
especificada o suficiente?
22. Produto: Livraria Online
Funcionalidade: Conceder Descontos
Estoria:
Como gerente da Livraria XPTO,
Gostaria de conceder descontos,
Para aumentar a quantidade de
vendas online.
23. Conceder Descontos
- Existe um limite de desconto? 20%? 30%?
- Categorias com frete grátis terão desconto?
- Todas as categorias de livros poderão participar?
- Livros em pré-reserva entrarão nos descontos?
- Existirá uma quantidade mínima de livros para obter o
desconto?
24. Princípios de Testes Ágeis
! Forneça Feedback Contínuo;
! Entregue valor para o cliente;
! Buscar a comunicação olho no olho;
! Tenha coragem;
! Mantenha a simplicidade;
! Pratique a melhoria contínua;
! Responda a mudanças;
! Seja auto-organizado;
! Foque nas pessoas;
! Aproveite.
27. Testes Unitários
Feedback extremamente rápido.
10min. build (eXtreme Programming)
Testes de valores limite, diferentes
combinações etc
Cobertura de Código
Test Driven Development
Segurança para fazer mudanças (XP)
29. Cobertura & Análise
Estática
Porcentagem de código sendo
exercitado por testes
Análise de acordo com regras:
Estilo (indentação, comentários)
Boas práticas (duplicação de
código, tamanho de métodos)
32. Testes de Mutação
Testar seus Testes Unitários
Ferramenta introduz mutações no seu
código e executa os testes unitários
Se os testes falharem = OK!
Se os testes passarem = NOK!
33. Ferramentas de Testes
de Mutação
http://pitest.org/
https://pypi.python.org/pypi/MutPy
http://visualmutator.github.io/web/
https://ninjaturtles.codeplex.com/
https://github.com/mbj/mutant
http://jumble.sourceforge.net/
34. Testes de Serviço
Depois dos Testes de Unidade e antes
dos Testes de UI
Testar seu app + módulos componentes,
banco de dados
Sem interface
Integração/Componentes
Contratos
API/Webservices
41. Refinamento Planning Iteração Review
- Pensar em cenários
- Questionar os critérios
- Começar a pensar em
como testar
- Ajudar no mapeamento
dos fluxos
- Tarefas de Teste:
- Qual nível de automação
- Ambiente
- Massa de dados
- Regressão
- Novos tipos de teste?
- Escrever cenários
- Dividir os testes de
acordo com a pirâmide
- Implementar testes
automatizados
- Fazer testes
exploratórios
- Pair c/ desenvolvedores
- Apresentar os testes
automatizados de
interface e os cenários
-
- Testes sendo executados
no CI
Em conjunto
com Designer
Em conjunto
com DevOps Em conjunto com
Desenvolvedores
Em conjunto com
PO + Designer
42. Procurar continuamente
maneiras do time fazer seu
melhor trabalho para entregar
software de qualidade.
CRISPIN & GREGORY (Agile Testing)
“
44. Centro
Av. Presidente Wilson,
231 - 29º andar
(21) 2240-2030
Cidade Monções
Av. Nações Unidas,
11.541 - 3º andar
(11) 4119-0449
Savassi
Av. Getúlio Vargas, 671
Sala 800 - 8º andar
(31) 3360-8900
www.concrete.com.br