Slide 1

Slide 1 text

zup.com.br @zupinnovation >_< Agile Testing Evoluindo seus testes e entregando valor rápido com arquitetura evolutiva

Slide 2

Slide 2 text

@zupinnovation zup.com.br <> Bárbara Rossalli @brossalli Tech Lead ● CharlesCD ● DevsJavaGirl ● JavaNoroeste ● GmTech ● Backend Developer ● Blog writer ● Mãe da Mariah, Bóris, Panda, Polar & Ritinha ● Vó da Mia ● Ás vezes Eamane Veneavar, clériga devota de Thyatis; outras Leona “Ruína dos Homens”, bárbara devota de Valkaria

Slide 3

Slide 3 text

O que é Agile Testing?

Slide 4

Slide 4 text

@zupinnovation zup.com.br <> Back to the past

Slide 5

Slide 5 text

<> @zupinnovation zup.com.br REQUISITOS DESIGN IMPLEMENTAÇÃO TESTES MANUTENÇÃO Waterfall

Slide 6

Slide 6 text

@zupinnovation zup.com.br <> Back to the future

Slide 7

Slide 7 text

<> @zupinnovation zup.com.br Agile

Slide 8

Slide 8 text

@zupinnovation zup.com.br <> última linha de defesa da qualidade do software

Slide 9

Slide 9 text

@zupinnovation zup.com.br <> “Tem muita coisa em testes...” “Ainda não finalizamos todos os casos de testes” A sprint está atrasada... “Tem muito bug aberto pra resolver ainda”

Slide 10

Slide 10 text

@zupinnovation zup.com.br <> Não tem como ser ágil... Sem TODO processo ser ágil...

Slide 11

Slide 11 text

The Agile Testing Manifesto

Slide 12

Slide 12 text

<> @zupinnovation zup.com.br

Slide 13

Slide 13 text

<> @zupinnovation zup.com.br Testar através ao invés de testar no final Prevenir bugs ao invés de achá-los Testar o entendimento ao invés de checar funcionalidades Construir o sistema ao invés de quebrar o sistema Todo time responsável pela qualidade ao invés de ser somente responsabilidade do testador

Slide 14

Slide 14 text

<> @zupinnovation zup.com.br Testar através ao invés de testar no final ● Durante todo o processo (Test Continuos)

Slide 15

Slide 15 text

<> @zupinnovation zup.com.br Prevenir bugs ao invés de achá-los ● Foco em evitar bugs

Slide 16

Slide 16 text

<> @zupinnovation zup.com.br Testar o entendimento ao invés de checar funcionalidades ● Teste em torno do negócio

Slide 17

Slide 17 text

<> @zupinnovation zup.com.br Construir o sistema ao invés de quebrar o sistema ● Encontrar a melhor solução

Slide 18

Slide 18 text

<> @zupinnovation zup.com.br Todo time responsável pela qualidade ao invés de ser somente responsabilidade do testador ● Removo todo o peso do QA/Testador ● Trabalho em equipe

Slide 19

Slide 19 text

@zupinnovation zup.com.br <> Como implementar o Agile Testing ANTES do desenvolvimento ● Definition of Done ● Casos de Teste ● Discovery & Planning DURANTE o desenvolvimento ● Testes Automatizados ● BDD ● TDD ● Pair Programming/Testing ● Dev Box Testing APÓS o desenvolvimento ● CodeReview ● Testes Funcionais ● Testes Regressão ● Compartilhando conhecimento

Slide 20

Slide 20 text

@zupinnovation zup.com.br <> Houston, We Have a Problem... “Não atualizem o ambiente, estou finalizando um teste.” “Alguém subiu algo no ambiente de dev/qa? O que eu fiz estava funcionando e agora não está mais!” “O ambiente de dev está fora depois que subiu a feature xpto para teste.”

Slide 21

Slide 21 text

@zupinnovation zup.com.br <> Development Staging Pre-prod Production

Slide 22

Slide 22 text

Arquitetura Evolutiva

Slide 23

Slide 23 text

@zupinnovation zup.com.br <> Uma arquitetura evolutiva suporta mudanças contínuas e incrementais como um primeiro princípio por meio de vários aspectos.

Slide 24

Slide 24 text

<> @zupinnovation zup.com.br Construindo Arquiteturas Evolutivas ● Mudanças incrementais ● Decisões Reversíveis ● Evolutivo ao Previsível ● Cultura da Experimentação

Slide 25

Slide 25 text

Deploy Level

Slide 26

Slide 26 text

<> @zupinnovation zup.com.br Deploy Segmentado: Arquitetura Evolutiva a Nível de Deploy ● Segmentação inteligente ● Múltiplas versões da mesma aplicação ● Orientado a Hipóteses ● Melhora: ○ Evolução dos Teste de Hipóteses ○ Resolução de Bugs ○ Processo de Desenvolvimento ○ Releases mais confiáveis

Slide 27

Slide 27 text

<> @zupinnovation zup.com.br CharlesCD: Deploy segmentado em clusters Kubernetes “O conceito por trás da ferramenta remete à teoria proposta pelo biólogo Charles Darwin (1809-1882), ou seja, a de que a evolução se dá pela adaptação a um novo ambiente. No caso do desenvolvimento, essa evolução se dá através de constantes melhorias nas aplicações ao construir e testar hipóteses de maneira a implantar as releases mais precisas e eficazes. ● Native ● Open-Source ● C/D

Slide 28

Slide 28 text

<> @zupinnovation zup.com.br Deploy Segmentado com CharlesCD: Como funciona

Slide 29

Slide 29 text

<> @zupinnovation zup.com.br

Slide 30

Slide 30 text

<> @zupinnovation zup.com.br MINAS GERAIS TRIÂNGULO MINEIRO MAR ABERTO Novo Fluxo de Compra

Slide 31

Slide 31 text

<> @zupinnovation zup.com.br

Slide 32

Slide 32 text

@zupinnovation zup.com.br < Segmentações diferentes, Versões Diferentes > DEV FRONT V2 SERVICE V2 QA FRONT V1 SERVICE V1 REVIEW FRONT V3 SERVICE V3

Slide 33

Slide 33 text

@zupinnovation zup.com.br < Segmentações diferentes, Versões Diferentes > BUGFIX 1 FRONT V2 SERVICE V2 FEATURE 1 FRONT V1 SERVICE V1 FEATURE 2 FRONT V3 SERVICE V3

Slide 34

Slide 34 text

@zupinnovation zup.com.br < > Agile Testing Arquitetura Evolutiva + = Agilidade em todo processo!

Slide 35

Slide 35 text

@zupinnovation zup.com.br <> Você é o responsável pela qualidade de entrega dos sistemas em que trabalha

Slide 36

Slide 36 text

@zupinnovation zup.com.br <> #ZupNoTDC Opensource Mobile Carreira JAVA Segurança

Slide 37

Slide 37 text

<> @zupinnovation zup.com.br Obrigada! @ZupInnovation Bárbara Rossalli @brossalli Tech Lead