Agile e Testes: Um Relato de Experiência da Indústria

31
Agile e Testes Um Relato de Experiência da Indústria Msc. André Abe Vicente Especialista de Qualidade - PagSeguro UOL andvicente @ gmail com linkedin.com/andvicente Março / 2017

Transcript of Agile e Testes: Um Relato de Experiência da Indústria

Page 1: Agile e Testes: Um Relato de Experiência da Indústria

Agile e TestesUm Relato de Experiência da Indústria

Msc. André Abe VicenteEspecialista de Qualidade - PagSeguro UOL

andvicente @ gmail comlinkedin.com/andvicente

Março / 2017

Page 2: Agile e Testes: Um Relato de Experiência da Indústria

André Abe Vicente

▶ Testes & Agile (MSc. LabES - ICMC-USP) ▶ [2010 – 2012] Techne Eng. e Sistemas

Lyceum – Gestão Acadêmica▶ [2012 – atual] PagSeguro UOL

Prover ferramentas para facilitar o trabalho e melhorar a produtividade dos times

Canais e Parcerias, bandeiras de Voucher e Análise de Risco.

Page 3: Agile e Testes: Um Relato de Experiência da Indústria

Agenda

Agile e Testes no PagSeguro

Ferramentas & Boas Práticas (Indústria)

Integrações + PagSeguro Developers

Page 4: Agile e Testes: Um Relato de Experiência da Indústria

Agile & Testes no PagSeguro

Escalabilidade: aumento dos times de P&D, Produtos, Comercial...

Venda Presencial (2012): NFC, Leitor Tarja e Bluetooth, Pré-Pago e Moderninha

2012 - Atual

Scrum (2008)*

* [Maranzato et. al.,2012] Scaling Scrum Step by Step: "The Mega Framework", Agile Conference.

Page 5: Agile e Testes: Um Relato de Experiência da Indústria

Solução de Pagamentos

Page 6: Agile e Testes: Um Relato de Experiência da Indústria

Agile & Testes no PagSeguro

Executado com frequência para detectar defeitos o mais cedo possível (ciclos iterativos e curtos).

Constante feedback do cliente. Testando sob o ponto de vista do cliente (aceitação). Execução de testes manuais por meio de teste

exploratórios

Características Testes Ágeis

Todo mundo no time de desenvolvimento é igualmente responsável pela qualidade e sucesso do projeto.

The Whole Team-Aproach

Page 7: Agile e Testes: Um Relato de Experiência da Indústria

Agile & Testes no PagSeguro

“O foco no desenvolvimento agil é produzir software de qualidade em um prazo que maximize

o valor para o negócio. Esse é o trabalho de todo o time, não somente os testes ou profissionais

designados para garantia de qualidade.”

“Todos em um time ágil ficam “infectados pelo teste”. Testes, do nível de unidade para cima,

devem guiar o código, ajudar o time a aprender como a aplicação deve funcionar e deixam nos saber quando uma task ou história está

terminada.”

by  Lisa Crispin and Janet Gregory

Todo Time responsável pela Qualidade

Page 8: Agile e Testes: Um Relato de Experiência da Indústria

Agile & Testes no PagSeguro

http://agiletester.ca

Page 9: Agile e Testes: Um Relato de Experiência da Indústria

Agile & Testes no PagSeguro

Equipe P&D ≈ 300, 1,5MLOC, ≈22 mi requisições/dia Monolítico: perfomance do time, confiança na entrega,

experimentar… Arquitetura “on premise”, virtualização (performance)

Problema e Como Resolver?

Fonte: https://www.infoq.com/br/presentations/apache-mesos-para-operar-grandes-sistemas-e-microservicos

Page 10: Agile e Testes: Um Relato de Experiência da Indústria

Agile & Testes no PagSeguro

Evolução Arquitetura do PagSeguroMonolítico (Micro)serviços➡️

https://www.infoq.com/br/presentations/apache-mesos-para-operar-grandes-sistemas-e-microservicos

Administrar o CAOS 😨Delivery Contínuo

Cultura de Qualidade & Melhoria Contínua Times Remotos

Desafios

Page 11: Agile e Testes: Um Relato de Experiência da Indústria

Ferramentas e Boas Práticas

▶ Ferramentas Qualidade e Testes

▶ Delivery Contínuo

+

VER GOOGLE: java and technologies rebellabs

Page 12: Agile e Testes: Um Relato de Experiência da Indústria

Ferramentas e Boas Práticas

▶ Organização dos Times ▶ P&D: Backend Devs, QAs, Frontend Devs,

ADs / DBAs, Implantação / Operações, UX e UI , Produtos▶ Feature Teams▶ Grupos de Interesse (Delivery Contínuo, Coaching,

Qualidade/Testes…)

Fonte: https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/

Page 13: Agile e Testes: Um Relato de Experiência da Indústria

Ferramentas e Boas Práticas

▶ Entregas + Feature Toggles▶ Releases separados▶ Entregas (Trens de Entrega, Caronas)

Fonte: https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-2/

Page 14: Agile e Testes: Um Relato de Experiência da Indústria

Ferramentas e Boas Práticas

▶ Entregas + Feature Toggles▶ Releases separados▶ Entregas (Trens de Entrega, Caronas)▶ Chaveamentos (Usuário, Porcentagem, Testes A/B)

Fonte: https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-2/

Page 15: Agile e Testes: Um Relato de Experiência da Indústria

Ferramentas e Boas Práticas

▶ Entregas + Feature Toggles▶ Releases separados▶ Entregas (Trens de Entrega, Caronas)▶ Chaveamentos (Usuário, Porcentagem, Testes A/B)

Fonte: https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-2/

Page 16: Agile e Testes: Um Relato de Experiência da Indústria

▶ Monitoração em Produção▶ Acompanhamento Delivery e Pós▶ Monitoração Operações, Relatórios de Erros 500, Banco▶ Acompanhamento Funcionalidades (Business Dashboards, Erros)

Ferramentas e Boas Práticas

Payment Gateway Real - Time Monitoring with Splunk! Marcio Ghiraldelli @ SplunkConf 2013

Page 17: Agile e Testes: Um Relato de Experiência da Indústria

Perfil QA / Agile Testers

▶ Dimensão de NegócioBDD | Comunicação |Especificação

▶ Dimensão TécnicaSkills desenvolvimento | Pair com Devs | TDD e Código Limpo Automação de Testes| Testes de Perfomance e Segurança

▶ Dimensão DevOPS Pipelines | Continuous Integration | Tarefas Repetitivas

* https://www.thoughtworks.com/insights/blog/agile-tester-30by Daniel Amorim - Thoughtworks

Page 18: Agile e Testes: Um Relato de Experiência da Indústria

Dificuldades Contratação

Formação sólida em TIConceitos de teste | Desenvolvimento | AutomaçãoSQL | Agile | ...

Investigação de ProblemasArquitetura | Processamento Assíncrono | Logs Linux | Banco | ...

Page 19: Agile e Testes: Um Relato de Experiência da Indústria

PagSeguro | Developers

Como manter sempre atualizada? Facilitar a vida do desenvolvedor para Integrações?

Problema: Documentação de APIs públicas

http://swagger.io

https://dzone.com/articles/documenting-your-spring-api

Page 20: Agile e Testes: Um Relato de Experiência da Indústria

PagSeguro | Developers

Como manter sempre atualizada? Facilitar a vida do desenvolvedor para Integrações?

Problema: Documentação de APIs públicas

Page 21: Agile e Testes: Um Relato de Experiência da Indústria

PagSeguro | Developers

Page 22: Agile e Testes: Um Relato de Experiência da Indústria

PagSeguro | Developers

Page 23: Agile e Testes: Um Relato de Experiência da Indústria

Integrações

Notificação de Transações Consulta de Transações Cancelamento de Transações Pagamento Recorrente (Assinatura) Split Payment Modelo de Aplicação ...

https://dev.pagseguro.uol.com.br/documentacao

Outras APIs

Page 25: Agile e Testes: Um Relato de Experiência da Indústria

Integrações

Live Demo (Checkout API)

Page 26: Agile e Testes: Um Relato de Experiência da Indústria

Dúvidas?

andvicente @ gmail comlinkedin.com/andvicente

Page 27: Agile e Testes: Um Relato de Experiência da Indústria

Integrações

Cliente é direcionado para página do PagSeguro para fazer o pagamento e concluir a compra

Padrão

Page 28: Agile e Testes: Um Relato de Experiência da Indústria

Integrações

Uma janela será aberta dentro do seu site para o cliente fazer o pagamento

Lightbox

Page 29: Agile e Testes: Um Relato de Experiência da Indústria

Integrações

O cliente fica no ambiente de compra do seu site durante todo o processo de compra

Checkout Transparente

Page 30: Agile e Testes: Um Relato de Experiência da Indústria

Integrações

Integre o seu aplicativo com o checkout PagSeguro, sem redirecionamentos e com pagamento em apenas 1 clique.

Checkout in APP

Page 31: Agile e Testes: Um Relato de Experiência da Indústria

Integrações

Recursos para Integração

https://sandbox.pagseguro.uol https://comunidade.pagseguro.uol

https://github.com/pagseguro