O documento apresenta a técnica de virtualização de serviços para remover restrições de dependência entre equipes de desenvolvimento e teste. Apresenta alguns casos de uso e ferramentas open source para virtualização de serviços, incluindo um exemplo prático utilizando a ferramenta WireMock.
2. Globalcode – Open4education
Apresentação
José Ernesto da Silva Barbosa
Líder de Qualidade na CWI Software
8 anos de experiência na área de qualidade
Automação de Testes
Web, Mobile, Desktop, Webservices
Bacharel em Ciência da Computação (Feevale – Novo Hamburgo/RS)
Mestrando em Computação Aplicada (Unisinos – São Leopoldo/RS)
4. Globalcode – Open4education
CWI Software
Caso de Estudo
Cenário elaborado para
demonstrar o processo
Escolhendo a ferramenta
Quais fatores avaliar?
Ferramenta escolhida
Como utilizar a ferramenta
Hands-on
Construção conjunta de um
exemplo prático
1
1
1
6. Globalcode – Open4education
Pirâmide de Testes
Exploratórios
Testes manuais
User Interface
Automação de GUI
Serviços
Integração
Testes de Componentes
Unidade
Testes Unitários
Fonte: Livro “Succeeding with Agile: Software Development Using Scrum” – Mike Cohn
7. Globalcode – Open4education
A virtualização do serviços emula o
comportamento de componentes de software para
remover restrições de dependência nas equipes de
desenvolvimento e teste. Essas restrições ocorrem
em ambientes complexos e interdependentes.
[https://en.wikipedia.org/wiki/Service_virtualization]
Service Virtualization
11. Globalcode – Open4education
Como garantir a qualidade de múltiplos fluxos
antes mesmo do serviço ser integrado?
01 02 03 04
Mock Pronto
Desenvolvimento cria
cenários de sucesso
Testes Falham
Quando chega na etapa de
teste as integrações não
estão prontas
Faltam Cenários
A maioria dos fluxos
alternativos não são
validados, pois os mocks
contemplam poucos fluxos
Entrega comprometida
As integrações são
liberadas muito próximas à
data de entrega, gerando
gargalo nos testes
13. Globalcode – Open4education
Caso de Estudo – Sistema X
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
25. Globalcode – Open4education
CWI Software
Ferramenta escolhida
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)
43. COMCERTEZA!!!
Toda a equipe passou a utilizar e manter os serviços virtualizados.
Após o contrato os
dev’s criam os fluxos
principais.
Os QA’s ampliam
estes cenários
As automações de
teste utilizam os
cenários
Integrações
entregues e validadas
rapidamente com a
automação
Projeto Entregue
no prazo e com
qualidade