SlideShare uma empresa Scribd logo
Testes em Webservice
Ricardo Moura – Tester @ Tecban
Eu
www.linkedin.com/in/ricardoamr
QA desde 2010 e desde 2014 na equipe de QA da Tecban.
Certificado pelo BSTQB nos níveis Foundation e Agile Tester
“Team Integration Matters”
Amante dos carros velhos e rápidos
#BlockChain
Evangelista DIY
“Por que comprar se eu posso fazer gastando o dobro?”
Conceitos Stub++ Tipos de Teste Ferramentas
O que
Tem
Pra
Hoje
Conceitos
WebService
Solução utilizada na integração entre diferentes aplicações.
Com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já
existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis.
OpenBank
OpenBanking é um termo relativamente novo
https://labsbank.com/
Bancos fornecem uma API publica para desenvolvedores criarem soluções
Aplicativos possuem permissão para movimentar as contas dos clientes
One Bank,
one Public API,
available in the cloud,
for developers of
multiple platforms.
SOAP
É uma especificação para a troca de informação entre sistemas
Formata os dados trocados entre diferentes sistemas e estabelece um padrão que garanta
a interoperabilidade entre eles.
Requer um WSDL(Web Services Description Language) para cada serviço disponibilizado
É baseado em XML para composição das mensagens
Método de transporte genérico
Pode usar qualquer meio de transporte existente para enviar sua requisição, SMTP, HTTP,
JMS
Simple Object Access Protocol
REST
Diferente do SOAP pois é somente um estilo arquitetural usado em projetos de aplicações
Utiliza para transporte o protocolo HTTP e seus métodos(GET, POST, PUT, DELETE, HEAD)
Mais simples que SOAP e não requer um WSDL pois interage com os serviços sempre da
mesma forma(http)*
Flexivel para composição das mensagens, pode utilizar XML, JSON, HTML
Pode possuir um contrato WADL(Web Application Description Language) que determina o
contrato entre as partes.
Representational State Transfer
XML / JSON
Formato para a criação de documentos com dados organizados hierárquicamente.
Não depende das plataformas de hardware ou de software, um banco de dados pode,
através de uma aplicação, escrever em um arquivo XML, e um outro banco distinto pode
ler então estes mesmos dados.
Trabalha com <tags>, requer abertura e fechamento de cada elemento da estrutura.
Padrão amplamente utilizado em diversos sistemas(Excel, TestLink, Mantis, ...)
JavaScript Object Notation
Formato leve para intercâmbio de dados computacionais.
Fácil leitura para humanos e fácil criação para maquinas
Não utiliza <tags>, estrutura mais simples
Utilizado em sistemas de comunicação assíncrona
É um formato independente
eXtensible Markup Language
Stub++
É um disparador de transação, as mensagens partem dele contra
um sistema, é usado para emular estímulos, muito usado para
testar webservices.
Driver
Request A
Request B
Request C
WS
É um rebatedor, responde sempre da mesma forma, é “burro”,
muito simples e sem capacidade de tomar decisões complexas
além de responder X para A, Y para B...
Stub
Request A
Request B
Request C
Response X
Response Y
Response Z
Mock
Responde de maneira condicional, possui a inteligência não
presente nos Stubs pois faz verificações no conteúdo das
chamadas para determinar as respostas.
Request A
Request B
Request C
Response X
Response Y
Response Z
Service Virtualization
Inteligente como um Mock na maneira de responder, porém é
capaz de aprender como o sistema se comporta e substitui-los.
WSSem SV
WSSV Learn
WS
SV SV
1
2
3
Tipos de Teste
Testes de contrato validam se as aplicações envolvidas em uma integração,
tiveram suas entradas e saídas desenvolvidas em conformidade com um
contrato WSDL/WADL pré-definido.
Essencial em sistemas do tipo WebService
Pode ser feito manualmente ou automaticamente através de ferramentas.
Ajuda a limpar o “lixo” criado durante a fase de desenvolvimento,
principalmente quando esta é iniciada sem uma especificação mensagens
pronta.
Reduz significativamente a quantidade de problemas de integração nas fases
posteriores de teste
Contrato
Valida o conteúdo trafegado nas mensagens esta correto.
Se os inputs dos usuários do sistema forem persistidos de alguma forma nas
mensagens, o conteúdo destas deve ser verificado.
É mais abrangente se feito utilizando Drivers e Mocks.
Também valida o comportamento do sistema em caso de respostas http
inválidas.
Funcional
Não devem obrigatoriamente identificar em que momento uma aplicação cai,
este é apenas um dos objetivos.
Denominados testes negativos.
Ajuda a equipe a simular a carga de um ambiente de produção, permitindo
otimizações no código do software ou no hardware onde esta instalado.
Deve-se isolar bem o sistema alvo para não serem gerados falsos resultados.
Divididos geralmente em Carga e Stress, onde o primeiro simula um numero
crescente de usuários até o momento de ruptura da aplicação e o segundo
além do grande volume de requisições, insere algum cenários de crash a fim
de validar a recuperação da aplicação.
A monitoração da aplicação durante o teste é tão ou mais importante que o
próprio teste.
Performance
Ferramentas
Online Parsers
http://www.freeformatter.com/xml-formatter.html
http://jsonlint.com/
Links úteis e Referências
https://smartbear.com
https://getpostman.com
http://jmeter.apache.org
http://www.freeformatter.com/xml-formatter.html
http://jsonlint.com
https://community.smartbear.com
https://www.soapui.org/rest-testing/working-with-rest-services.html
https://pt.stackoverflow.com/questions/36745/qual-a-diferen%C3%A7a-entre-mock-stub
http://jmeter.com.br/2013/04/qual-a-diferenca-entre-teste-de-stress-performance-e-carga/
http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.html
https://labsbank.com/
Ferramentas
Fóruns/guias/tutoriais

Mais conteúdo relacionado

PPTX
SoapUI & Jmeter Basics Web service testing
PDF
DevQA: UI Testing , como fazer?
PPTX
API testing - Pq a vida não é só ID's, Css, Xpath...
PPT
DotNet vs. Java
PPTX
API testing - Pq a vida não é só ID's, Css, Xpath...
DOCX
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
PPTX
BDD (Behavior-Driven Development) - Setembro/2015
SoapUI & Jmeter Basics Web service testing
DevQA: UI Testing , como fazer?
API testing - Pq a vida não é só ID's, Css, Xpath...
DotNet vs. Java
API testing - Pq a vida não é só ID's, Css, Xpath...
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
BDD (Behavior-Driven Development) - Setembro/2015

Semelhante a Testes webservice tdc (20)

PPT
WebServices-XML
PDF
Testes em WebServices: Conceitos e Ferramentas
PDF
Testes em Web Services - conceitos e ferramentas
PDF
Consumindo dados via web service no android
PPT
Web Services - Grupo F
PPTX
Web Services
PPT
JME Web Services API: um estudo de caso
PPT
Web Service - XML
PPTX
Android + web service
PDF
Criando uma arquitetura para seus testes de API com RestAssured
PDF
Maratona JBoss 2010 - JBossWS
PPT
Web Services
PPT
PDF
Webservices e Computação em Nuvem com PHP
PPT
Engenharia de software orientada a servicos
PPTX
Service Design Patterns - Study Case
PDF
JustJava 2005: Web Services em Java com o JWSDP 1.5
PDF
uma história sobre testes de API
PDF
Trabalho Final PSDC - Simião
PDF
Onde nenhum desenvolvedor jamais testou: Introduzindo testes unitários em cód...
WebServices-XML
Testes em WebServices: Conceitos e Ferramentas
Testes em Web Services - conceitos e ferramentas
Consumindo dados via web service no android
Web Services - Grupo F
Web Services
JME Web Services API: um estudo de caso
Web Service - XML
Android + web service
Criando uma arquitetura para seus testes de API com RestAssured
Maratona JBoss 2010 - JBossWS
Web Services
Webservices e Computação em Nuvem com PHP
Engenharia de software orientada a servicos
Service Design Patterns - Study Case
JustJava 2005: Web Services em Java com o JWSDP 1.5
uma história sobre testes de API
Trabalho Final PSDC - Simião
Onde nenhum desenvolvedor jamais testou: Introduzindo testes unitários em cód...
Anúncio

Último (16)

PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Processos na gestão de transportes, TM100 Col18
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Arquitetura de computadores - Memórias Secundárias
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
COBITxITIL-Entenda as diferença em uso governança TI
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Custos e liquidação no SAP Transportation Management, TM130 Col18
Anúncio

Testes webservice tdc

  • 1. Testes em Webservice Ricardo Moura – Tester @ Tecban
  • 2. Eu www.linkedin.com/in/ricardoamr QA desde 2010 e desde 2014 na equipe de QA da Tecban. Certificado pelo BSTQB nos níveis Foundation e Agile Tester “Team Integration Matters” Amante dos carros velhos e rápidos #BlockChain Evangelista DIY “Por que comprar se eu posso fazer gastando o dobro?”
  • 3. Conceitos Stub++ Tipos de Teste Ferramentas O que Tem Pra Hoje
  • 5. WebService Solução utilizada na integração entre diferentes aplicações. Com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis.
  • 6. OpenBank OpenBanking é um termo relativamente novo https://labsbank.com/ Bancos fornecem uma API publica para desenvolvedores criarem soluções Aplicativos possuem permissão para movimentar as contas dos clientes One Bank, one Public API, available in the cloud, for developers of multiple platforms.
  • 7. SOAP É uma especificação para a troca de informação entre sistemas Formata os dados trocados entre diferentes sistemas e estabelece um padrão que garanta a interoperabilidade entre eles. Requer um WSDL(Web Services Description Language) para cada serviço disponibilizado É baseado em XML para composição das mensagens Método de transporte genérico Pode usar qualquer meio de transporte existente para enviar sua requisição, SMTP, HTTP, JMS Simple Object Access Protocol
  • 8. REST Diferente do SOAP pois é somente um estilo arquitetural usado em projetos de aplicações Utiliza para transporte o protocolo HTTP e seus métodos(GET, POST, PUT, DELETE, HEAD) Mais simples que SOAP e não requer um WSDL pois interage com os serviços sempre da mesma forma(http)* Flexivel para composição das mensagens, pode utilizar XML, JSON, HTML Pode possuir um contrato WADL(Web Application Description Language) que determina o contrato entre as partes. Representational State Transfer
  • 9. XML / JSON Formato para a criação de documentos com dados organizados hierárquicamente. Não depende das plataformas de hardware ou de software, um banco de dados pode, através de uma aplicação, escrever em um arquivo XML, e um outro banco distinto pode ler então estes mesmos dados. Trabalha com <tags>, requer abertura e fechamento de cada elemento da estrutura. Padrão amplamente utilizado em diversos sistemas(Excel, TestLink, Mantis, ...) JavaScript Object Notation Formato leve para intercâmbio de dados computacionais. Fácil leitura para humanos e fácil criação para maquinas Não utiliza <tags>, estrutura mais simples Utilizado em sistemas de comunicação assíncrona É um formato independente eXtensible Markup Language
  • 11. É um disparador de transação, as mensagens partem dele contra um sistema, é usado para emular estímulos, muito usado para testar webservices. Driver Request A Request B Request C WS
  • 12. É um rebatedor, responde sempre da mesma forma, é “burro”, muito simples e sem capacidade de tomar decisões complexas além de responder X para A, Y para B... Stub Request A Request B Request C Response X Response Y Response Z
  • 13. Mock Responde de maneira condicional, possui a inteligência não presente nos Stubs pois faz verificações no conteúdo das chamadas para determinar as respostas. Request A Request B Request C Response X Response Y Response Z
  • 14. Service Virtualization Inteligente como um Mock na maneira de responder, porém é capaz de aprender como o sistema se comporta e substitui-los. WSSem SV WSSV Learn WS SV SV 1 2 3
  • 16. Testes de contrato validam se as aplicações envolvidas em uma integração, tiveram suas entradas e saídas desenvolvidas em conformidade com um contrato WSDL/WADL pré-definido. Essencial em sistemas do tipo WebService Pode ser feito manualmente ou automaticamente através de ferramentas. Ajuda a limpar o “lixo” criado durante a fase de desenvolvimento, principalmente quando esta é iniciada sem uma especificação mensagens pronta. Reduz significativamente a quantidade de problemas de integração nas fases posteriores de teste Contrato
  • 17. Valida o conteúdo trafegado nas mensagens esta correto. Se os inputs dos usuários do sistema forem persistidos de alguma forma nas mensagens, o conteúdo destas deve ser verificado. É mais abrangente se feito utilizando Drivers e Mocks. Também valida o comportamento do sistema em caso de respostas http inválidas. Funcional
  • 18. Não devem obrigatoriamente identificar em que momento uma aplicação cai, este é apenas um dos objetivos. Denominados testes negativos. Ajuda a equipe a simular a carga de um ambiente de produção, permitindo otimizações no código do software ou no hardware onde esta instalado. Deve-se isolar bem o sistema alvo para não serem gerados falsos resultados. Divididos geralmente em Carga e Stress, onde o primeiro simula um numero crescente de usuários até o momento de ruptura da aplicação e o segundo além do grande volume de requisições, insere algum cenários de crash a fim de validar a recuperação da aplicação. A monitoração da aplicação durante o teste é tão ou mais importante que o próprio teste. Performance
  • 21. Links úteis e Referências https://smartbear.com https://getpostman.com http://jmeter.apache.org http://www.freeformatter.com/xml-formatter.html http://jsonlint.com https://community.smartbear.com https://www.soapui.org/rest-testing/working-with-rest-services.html https://pt.stackoverflow.com/questions/36745/qual-a-diferen%C3%A7a-entre-mock-stub http://jmeter.com.br/2013/04/qual-a-diferenca-entre-teste-de-stress-performance-e-carga/ http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.html https://labsbank.com/ Ferramentas Fóruns/guias/tutoriais