Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Jose Ernesto da Silva Barbosa - Como a virtuali...

Jose Ernesto da Silva Barbosa - Como a virtualização de serviços pode agilizar o processo de desenvolvimento e testes

Durante o desenvolvimento de software, quantas vezes nos deparamos com impedimentos que ocorrem devido à integrações com serviços de terceiros? Quantas vezes nossas automações de teste quebram simplesmente porque uma dessas integrações está fora do ar, gerando um trabalho desnecessário para identificar o problema e que, certamente, faz com que os resultados da automação não se tornem confiáveis? Usando o conceito de virtualização de serviços podemos garantir que o produto que está sendo testado não sofra tanto desses males.

Avatar for Agile Testers

Agile Testers

August 04, 2017
Tweet

More Decks by Agile Testers

Other Decks in Technology

Transcript

  1. 2 Apresentação Quem sou eu? Zé José Ernesto da Silva

    Barbosa Analista de Testes na CWI Software 7 anos de experiência na área de qualidade Automação de Testes Web Mobile Desktop Webservices Bacharel em Ciência da Computação (Feevale) Mestrando em Computação Aplicada (Unisinos)
  2. 5 Service Virtualization Ambientes onde se aplica Ambientes complexos Integrações

    Protocolos variados (Soap, Rest) Contract First Contratos acordados entre cliente e fornecedores Mocks Disponibilização de Mocks para o desenvolvimento paralelo
  3. Mock pronto Geralmente o desenvolvimento cria apenas de cenários de

    sucesso Isso aí não dá pra testar agora Quando existem fluxos alternativos, são poucos Teste só quando liberar o serviço QA sem flexibilidade para criar fluxos alternativos antes da integração com o serviço final 6 Mocks Como garantir a qualidade de múltiplos fluxos antes mesmo do serviço ser integrado?
  4. 8 Caso de Estudo – Sistema X Produto desenvolvido com

    o uso de múltiplas tecnologias e camadas de serviços 1 2 3 4 5 Frontend Canais digitais como aplicativos Android e iOS, sites, etc. SOAP Serviços de backend que tratam as regras de negócio do sistema REST Camada inicial de comunicação com o Frontend Database Banco de dados com as informações relevantes ao sistema proposto
  5. 11 Ferramenta escolhida Mas por que essa ferramenta? WireMock Mapeamentos

    com JSON e XML Mocks Rest, Soap, etc.. Permite uso de variáveis (com extensões) Permite elencar prioridades Virtualização de serviços de protocolo HTTP Baixa curva de aprendizagem Standalone Hard Code (Java)
  6. E o Resultado? Será que isso funciona?
 Dev não vai

    querer usar isso Vai dar retrabalho Prefiro fazer o meu
  7. Muito Certo Não apenas passaram a utilizar, como criaram mais

    funcionalidades para agilizar a criação de fluxos alternativos 16 Resultado Os times ajudam a criar e manter os fluxos na ferramenta
  8. 17 Resultado Os times ajudam a criar e manter os

    fluxos na ferramenta Equipes de Front já criam os cenários durante o desenvolvimento 1 Equipe de QA amplia esses fluxos 2 Cenários são incrementados a cada sprint 3
  9. 18 Resultado Os times ajudam a criar e manter os

    fluxos na ferramenta Fluxos são utilizados nas automações 4 Cada commit dispara a atualização de container Docker 5 Validação de build no CI – Pipeline Gitlab/Jenkins 6
  10. Hands On 19 Resultado Os times ajudam a criar e

    manter os fluxos na ferramenta