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

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

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.

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