Sintomas

29.11.2021 Operações

Testando serviços da web. Usando serviços SOAP externos
SOAP (protocolo de acesso a objetos simples) é um protocolo padronizado para transmissão de mensagens entre um cliente e um servidor. Geralmente é usado em conjunto com HTTP(S), mas também pode funcionar com outros protocolos da camada de aplicação (como SMTP e FTP). O teste SOAP do ponto de vista das técnicas de teste não é fundamentalmente diferente de trabalhar com outras APIs, mas requer

preparação preliminar

(em termos de teoria de protocolo) e ferramentas especiais de teste. Neste artigo, gostaria de formular uma pequena lista de verificação de conhecimentos e habilidades necessárias, que será igualmente útil tanto para um testador de SOAP (que muitas vezes não tem ideia do que agarrar depois de definir a tarefa) quanto para um gerente que está forçado a avaliar o conhecimento dos testadores e desenvolver planos de treinamento.

Base teórica
O fato de SOAP ser um protocolo tem muitas implicações para testes: é necessário estudar o protocolo em si, os padrões e protocolos "primários" nos quais ele se baseia e (conforme necessário) as extensões existentes.



XML
XML é uma linguagem de marcação semelhante ao HTML. Qualquer mensagem enviada/recebida via SOAP é um documento XML no qual os dados são convenientemente estruturados e fáceis de ler, por exemplo:
Júlia
Natasha

Lembrete

Não se esqueça de escrever um artigo!
Você pode aprender mais sobre XML em w3schools ou codenet (em russo). Preste atenção à descrição dos namespaces (um método para resolver conflitos ao descrever elementos em XML) - seu uso é obrigatório no SOAP.

...







...

XSD
Em seu trabalho, você também pode encontrar diversas “extensões” de SOAP – padrões como WS-*. Um dos mais comuns é o WS-Security, que permite trabalhar com criptografia e assinaturas eletrônicas. Freqüentemente, o WS-Policy é usado junto com ele, com o qual você pode gerenciar os direitos de uso do seu serviço.

Exemplo de uso do WS-Security:


Alice
6S3P2EWNP3lQf+9VC3emNoT57oQ=
YF6j8V/CAqi+1nRsGLRbuZhi
2008-04-28T10:02:11Z

Todas essas extensões são estruturas bastante complexas que não são utilizadas em todos os serviços SOAP; é improvável que seu estudo detalhado no estágio inicial de domínio dos testes SOAP seja relevante.

Ferramentas

Como você já entendeu, SOAP é um assunto sério; para trabalhar com ele é preciso conhecer a teoria e vários padrões. Na prática, tal complexidade levaria a custos de mão de obra muito significativos (por exemplo, você teria que olhar sempre o diagrama em um notebook e enviar solicitações com curl). Portanto, foram criadas ferramentas para facilitar o trabalho com SOAP.

Editores XML/XSD
Um bom testador começa o teste na fase de redação da documentação, por isso é conveniente usar editores especiais para testar circuitos. Os dois mais famosos são Oxygen (plataforma cruzada) e Altova (somente Windows); ambos são pagos. Estes são programas muito poderosos que os analistas usam ativamente ao descrever serviços.

Na minha prática, três recursos do editor revelaram-se úteis: visualização XSD, geração de XML baseada em XSD e validação de XML baseada em XSD.

1. Visualização XSD necessário para uma representação visual do diagrama, permitindo identificar rapidamente os elementos e atributos necessários, bem como as restrições existentes. Por exemplo, para um CheckTextRequest, o elemento text é obrigatório e todos os três atributos são opcionais (com o atributo options tendo um valor padrão igual a zero).

A visualização é necessária quando existem muitos tipos e restrições no diagrama. Se você só precisa disso e não quer pagar por editores especiais, você pode considerar alternativas gratuitas (por exemplo, JDeveloper).

2. Geração XML baseada em XSDútil quando você deseja ver um exemplo válido de mensagem. Eu o uso para experimentar rapidamente possíveis conclusões de mensagens e testar as nuances de como as restrições funcionam.

3. Depois de usar o recurso do ponto 2, é útil realizar Validação XML contra XSD– isto é, verifique se a mensagem está correta. Juntos, os recursos 2 e 3 permitem detectar defeitos complicados no XSD, mesmo quando o serviço em si está em desenvolvimento.

Ferramenta de teste – SoapUI

O teste SOAP quase sempre envolve o uso do SoapUI. Você pode ler sobre o uso desta ferramenta em várias fontes (,), mas será mais eficaz ler a documentação oficial. Eu identifico 8 níveis condicionais de proficiência em SoapUI:

Nível 1 – posso enviar solicitações
Aprenda a criar um projeto baseado em WSDL. SoapUI pode gerar todas as consultas necessárias para você; Basta verificar se estão preenchidos corretamente e clicar no botão “Enviar”. Depois de desenvolver as habilidades para criar consultas válidas, você deverá dominar a arte de criar consultas incorretas que causam erros.

Nível 2 – Posso fazer suítes de testes e casos de testes
Comece a fazer mini-autotestes. Os kits de teste e casos de teste permitem criar scripts de teste de API, preparar dados para solicitações e verificar automaticamente a resposta recebida para garantir que ela corresponda ao esperado. A princípio, eles podem ser usados ​​simplesmente como coleções de consultas. Por exemplo, se você criou um defeito e deseja verificá-lo rapidamente após corrigi-lo, poderá alocar um kit de teste separado especificamente para solicitações de defeitos.

Nível 3 – consigo escrever afirmações
Depois de dominar os casos de teste, será útil aprender como torná-los automaticamente verificáveis. Depois disso, você não precisará mais procurar informações sobre a resposta com os olhos: se houver verificação automática, os casos serão marcados em verde (se a verificação for aprovada) ou vermelho (se não for aprovada). SoapUI fornece um grande conjunto de asserções possíveis, mas as mais convenientes e simples são Contém e Não Contém. Com a ajuda deles você pode verificar a disponibilidade texto específico na resposta recebida. Essas verificações também oferecem suporte a pesquisas de expressões regulares.

Nível 4 – usar XPath e/ou XQuery em Asserções
Para aqueles que estão um pouco familiarizados com UI usando Selenium, a linguagem XPath é familiar. Grosso modo, o XPath permite pesquisar elementos em um documento XML. XQuery é uma tecnologia semelhante que pode usar XPath internamente; essa linguagem é muito mais poderosa, lembra o SQL. Ambas as linguagens podem ser usadas em Asserções. As verificações com a ajuda deles são mais direcionadas e estáveis, para que seus casos tenham maior confiança.

Nível 5 – Posso escrever testes complexos usando etapas especiais

Os casos de teste podem conter não apenas uma solicitação, mas também várias (por exemplo, quando você deseja emular o cenário de usuário padrão “criar entidade” → “exportar entidade”). Pode haver outras etapas especiais entre as solicitações, por exemplo:

  • Propriedades e Transferência de Propriedade (ajuda a reutilizar dados e transferi-los entre solicitações);
  • Solicitação JDBC (usada para recuperar dados do banco de dados);
  • Goto Condicional (permite fazer ramificações ou loops no caso de teste);
  • Execute TestCase (ajuda a colocar algumas consultas típicas em casos de teste separados e chamá-los quando necessário).

Nível 6 – usando scripts Groovy

SoapUI permite que você escreva scripts Groovy em vários lugares. O caso mais simples é gerar dados na própria consulta usando inserções $(=). Eu uso essas inserções o tempo todo:

  • $(=nova data().format(“aaaa-MM-dd’T’HH:mm:ss”))– inserir a data e hora atuais no formato requerido;
  • $(=java.util.UUID.randomUUID())– para inserir um GUID aleatório formado corretamente.

Scripts completos podem ser usados ​​como etapas em casos e verificações. Em algum momento, você descobrirá que várias etapas especiais do quinto nível podem ser substituídas por um script.

Nível 7 – usando MockServices
SoapUI baseado em WSDL pode gerar objetos Mock. Um objeto simulado é a simulação mais simples de um serviço. Com a ajuda de “simulados” você pode começar a escrever e depurar casos de teste antes mesmo de o serviço estar realmente disponível para teste. Eles também podem ser usados ​​como “stubs” para serviços temporariamente indisponíveis.

Nível 8 – Deus SoapUI
Você sabe a diferença entre pago e versões gratuitas SoapUI e use a API SoapUI no código. Você usa plug-ins e executa casos por meio da linha de comando e/ou CI. Seus casos de teste são simples e fáceis de manter. Em geral, você “comeu o cachorro” neste instrumento. Eu adoraria conversar com alguém que domine o SoapUI nesse nível. Se você é um, inscreva-se nos comentários!

Teste com linguagens de programação

Aqui está um exemplo de como é uma solicitação à API YandexSpeller, feita usando groovy-wslite:

importar wslite.soap.*
def cliente = novo SOAPClient("http://speller.yandex.net/services/spellservice?WSDL")
def resposta = client.send(SOAPAction: "http://speller.yandex.net/services/spellservice/checkText") (
corpo (
CheckTextRequest("lang": "ru", "xmlns":"http://speller.yandex.net/services/spellservice") (
texto("erro")
}
}
}
afirmar "erro" == resposta.CheckTextResponse.SpellResult.error.s.text()
afirmar "1" == [e-mail protegido]()

Até onde eu sei, ainda não existem estruturas de alto nível (como Rest-assurured) para testes de SOAP, mas recentemente apareceu uma ferramenta interessante - o caratê. Com sua ajuda, você pode descrever casos de teste de SOAP e REST na forma de scripts como Cucumber/Gherkin. Para muitos testadores, recorrer ao karatê será uma solução ideal, porque tais cenários, em termos de complexidade de escrita e suporte de casos, ficarão em algum lugar entre o uso do SoapUI e a escrita de sua própria estrutura para testar SOAP.

Conclusão

É improvável que você queira testar o SOAP apenas para si mesmo (como faria com REST). Este é um protocolo pesado usado em soluções empresariais sérias. Mas seu peso é ao mesmo tempo um presente para o testador: todas as tecnologias utilizadas são padronizadas e existem ferramentas de trabalho de alta qualidade. Tudo o que é exigido do testador é o desejo de aprendê-los e usá-los.

Vamos montar a mesma lista de verificação de habilidades necessárias para um testador. Então, se você está apenas começando a testar serviços SOAP, você precisa saber e ser capaz de usar:

  • WSDL.
  • SABÃO.
  • Editores XML/XSD (no nível de visualização XSD).
  • SoapUI no nível 1.

Como você pode ver, a ênfase principal está no aprendizado dos padrões no SoapUI, basta apenas poder realizar consultas; Ao mergulhar nos testes SOAP, você encontrará tarefas que exigirão habilidades e conhecimentos mais sérios, mas não deve tentar aprender tudo de uma vez. A consistência no aumento do nível de complexidade das tarefas executadas é muito mais importante. Seguindo esta recomendação, um dia você perceberá que se tornou um bom especialista na área!

Serviços da Web em 1C

Este artigo discutirá questões de integração de 1C com serviços da web existentes e do uso do próprio 1C como um serviço da web.

Neste caso, serviços web serão entendidos como sistemas que operam na Internet e proporcionam interação com eles não apenas via SOAP (que é justamente um serviço web), mas também de outras formas, incluindo solicitações HTTP(S) regulares.


Riscos de usar serviços web 1C

A plataforma 1C81 introduziu a implementação de serviços web.

Mas seu uso está repleto de riscos:

  1. 1C8 não funciona bem em HTTPS, não existem ferramentas de diagnóstico, por isso às vezes é impossível entender por que, mesmo que haja um certificado, o serviço não quer funcionar em HTTPS. A solução é implementar serviços web via CURL ou criar um túnel HTTPS.
  2. 1C8 segue suas regras para validação de esquemas WSDL. Às vezes, por razões inexplicáveis, o esquema WSDL não deseja ser carregado no link WS. Você pode descobrir o motivo apenas no fórum de parceiros de um especialista. Não existem ferramentas de diagnóstico de esquema WSDL, nem mesmo o motivo ou linha em que o carregamento do esquema é interrompido é indicado.

Regras para construção de serviços de vendas

O cliente recebe um documento de venda (recibo) somente se a transação de serviço for bem-sucedida. Caso contrário, é possível uma situação em que o cliente recebe um cheque e tem a certeza de que recebeu um serviço, mas na verdade não o recebeu.

Usando serviços SOAP externos

Os serviços da web SOAP usam esquemas WSDL e objetos XDTO para representar dados.

Carregando WSDL

Para usar um serviço externo, você precisa baixar seu esquema WSDL.

Verificando a validade do esquema WSDL

Às vezes, o esquema WSDL não carrega em 1C. Você pode verificar a validade (correção) do esquema usando qualquer validador de esquema WSDL, por exemplo http://www.validwsdl.com/.

Você precisa fazer upload do esquema para algum site http (você pode usar ftp) e indicar o endereço do arquivo no qual o esquema é carregado:

Recursos de carregamento de WSDL em 1C

A peculiaridade de carregar WSDL em 1C é que esquemas válidos podem não ser carregados. Não há validador embutido, então é necessário procurar um erro por meio de análise destrutiva, reduzindo sucessivamente o número de elementos do circuito. Você pode, por exemplo, excluir a descrição do serviço web.

Processamento para testar um serviço web externo em execução

Para testar um serviço web externo funcional, use o processamento “Test ArbitraryWebService.epf” do pacote deste artigo.

O teste pode ser usado usando o exemplo do serviço Morpher, que recusa nomes (endereço do serviço http://www.morpher.ru/WebServices/Morpher.asmx?WSDL):

Desta forma, você pode testar qualquer serviço que possua pontos de entrada simples contendo parâmetros de tipos simples: número, data, string.

Durante o processamento, você também pode especificar o login e a senha necessários para autorizar o acesso ao serviço web.

Ferramentas padrão para serviços de depuração

Para depuração, você pode usar o programa SoapUI, que pode enviar uma solicitação arbitrária a um serviço da web e receber uma resposta dele.

SOAP e HTTPS

Infelizmente, o SOAP em 1C se comporta de maneira bastante caprichosa ao trabalhar através do protocolo HTTPS. A prática mostra que é impossível conseguir uma conexão HTTPS, embora a possibilidade seja declarada na plataforma; A falta de ferramentas de diagnóstico e depuração para descobrir os motivos pelos quais a conexão não é estabelecida está cobrando seu preço. Portanto, é conveniente usar SOAP via CURL.

O mecanismo integrado para usar HTTPS implica que todos os certificados devem ser publicados em um arquivo pem comum no diretório do programa 1C.

Usando 1C como serviço

Regras para desenvolver um serviço baseado em 1C

Operação Olá

É uma boa prática criar uma operação no serviço que informe que o serviço está disponível. Isso facilita a vida dos integradores; será mais fácil para eles verificar se a comunicação com o serviço está estabelecida.

Por exemplo, você pode usar a operação Hello sem parâmetros, que simplesmente retorna o valor booleano True.

Publicando um serviço da web

O procedimento está bem descrito na documentação: file:///C:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81.htm#_Toc176167634:

A tarefa de publicar serviços da Web se resume a colocar os arquivos de configuração *.1cws dos serviços da Web no diretório apropriado do servidor da Web com as configurações apropriadas para o servidor da Web. Para publicar serviços Web, você deve executar o comando do menu “Administração | Publicação de serviços da Web."

Como resultado da execução deste comando, a janela de publicação de serviços da Web será aberta.

A janela de publicação de serviços da Web contém o caminho para o servidor da Web e duas listas:

  • “Web services” – lista de serviços web de configuração;
  • “Publicação” - uma lista de serviços Web publicados no servidor Web especificado.

Usando o botão "Conexão...", você deve especificar o servidor web no qual deseja publicar os serviços web.

A janela de seleção do caminho do servidor web permite especificar o caminho de duas maneiras:

  • na aba “Arquivos” - este método é utilizado quando a publicação é realizada no mesmo computador em que o servidor web está instalado. O caminho é um diretório local correspondente à página da Internet a partir da qual o servidor Web publicado será chamado;
  • na guia “Site FTP” - este método é usado quando você precisa publicar um serviço Web em um computador remoto. Para publicar, você deve especificar os parâmetros da conexão FTP com o computador remoto e o diretório no qual o serviço Web será publicado.

O serviço Web selecionado é publicado usando o botão “Publicar”

Para cancelar a publicação de um serviço Web, use o botão “Excluir”.

Você pode publicar em um diretório local ou via FTP. Você também poderá publicar em um servidor remoto por meio de um caminho UNC se o servidor remoto fizer parte da rede local.

Após a publicação, o serviço web fica disponível no endereço “http://localhost/test.1cws” ou “http://xxx.ru/test.1cws”, onde xxx.ru é o endereço do servidor remoto e localhost é o endereço típico do servidor local.

Autorização para o serviço web 1C

Para acessar o serviço você precisa passar pela autenticação.

As questões de autorização são bem abordadas aqui: http://www.forum.mista.ru/topic.php?id=341168 e no arquivo de documentação:///c:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81. htm

Normalmente, um serviço da web é executado sob um usuário específico (geralmente um usuário especialmente criado). Você pode “anexar” um usuário 1C usando autenticação do Windows ao usuário do Windows IUSR_ (desativar a autorização 1C para o usuário). Alternativamente, você pode limpar a lista de usuários 1C, então a autorização não é necessária.

Se forem necessários vários usuários, você pode criar vários logins para o servidor web, atribuir um usuário do Windows a cada um deles e, consequentemente, registrar o acesso aos usuários do Windows em 1C.

Nas propriedades Usuário e Senha do objeto WSProxy, não é o login 1C que é usado, mas o login do usuário do servidor web.

Testando o serviço web 1C

Para testar 1C como um serviço web, use o processamento “Test ArbitraryWebService.epf”, conforme descrito na seção “Testando um serviço web externo em execução”.

O arquivo 1cws é uma descrição WSDL do serviço web 1C.

Usando serviços no varejo

Normalmente, os serviços de varejo são usados ​​para fornecer vários serviços à população - aceitar pagamentos, reembolsar empréstimos, transferências de dinheiro, comprar programas etc.

Neste caso, é gerado um recibo em 1C pelo serviço prestado, no qual são salvos os parâmetros da transação. Após o qual este cheque é impresso para o cliente com informações detalhadas sobre o serviço prestado. É possível imprimir um cheque preliminar para que o cliente confirme os dados inseridos a partir de suas palavras com sua assinatura.

O serviço pode ser integrado de diferentes maneiras em um programa de varejo escrito na linguagem 1C (UT, Varejo e outros):

  1. O processamento ou código pode ser escrito na linguagem 1C, que realiza todo o trabalho com o serviço.
  2. Pode ser utilizado um programa que funciona com o serviço, e em 1C só transmite informações para perfuração de cheques.

Organização de dados de serviço em 1C

Para armazenar informações sobre uma transação em um recibo, você precisa criar uma parte tabular adicional “Vendas complexas” com os detalhes:

  • Nomenclatura – link para a nomenclatura do cheque.
  • Parâmetro - link para o livro de referência “Vendas complexas: Parâmetros”.
  • Valor - o valor do parâmetro, um tipo complexo. A representação da string deve ser bastante longa (1024 caracteres) para acomodar o texto do cheque.

O diretório “Vendas Complexas: Parâmetros” contém uma lista de parâmetros de transação.

É mais lucrativo usar a parte tabular do que um conjunto de detalhes, porque uma transação pode ter muitos deles, e em outras verificações não relacionadas ao serviço, esses dados não serão utilizados e ocuparão espaço extra. Além disso, tal solução é universal para qualquer serviço e não requer reestruturação de dados após a implementação de um novo serviço.

O vendedor recebe um marcador separado (ou impresso, para não alterar a configuração), no qual pode visualizar a placa de dados da transação do cheque.

Usando processamento em linguagem 1C

Vejamos o exemplo do serviço condicional Paym para a configuração “Varejo”.

  1. Vamos criar um elemento predefinido do diretório de nomenclatura “Paym” em 1C. No modo 1C:Enterprise, após atualizar a configuração, é necessário atribuir o tipo de produto “Serviço”.
  2. No procedimento “Adicionar item à tabela. parte" do módulo do formulário "Registro de Vendas", chamamos de processamento do trabalho com o serviço, escrito na linguagem 1C. Se o pagamento for bem-sucedido, registramos e lançamos o cheque:
Se (Nomenclatura = Diretórios.Nomenclatura.Paym) AND (Tipo de transação de transferência. Tipos de operações Cheque KKM. Retorno) Então Processamento de Pagamento = Funções Dê Processamento Externo ("Paym");
  1. PaymentForm = PaymentProcessing.GetForm();
  2. Resultado = PaymentForm.OpenModal();
Caso contrárioSe Tipo de transação de transferência.Tipos de operaçõesVerifique KKM.Return And Selection.NomenclatureLink = Directories.Nomenclature.Paym Then //Osipov PaymMaster ComplexSales Line = ComplexSales.Find(Directories.ComplexSalesParameters.PaymReceiptText, "Propriedades");

Se Linha de Vendas Complexas estiver indefinida Então Product.Name = LP Abreviado(Linha de Vendas Complexas. Valor);

fimSe;

Outra questão é como garantir a conclusão da transação. Aqueles. se a transação ocorreu no serviço, como garantir que ela não se perca em 1C. A maneira mais ideal é reconciliar os registros. Mas este é um assunto para consideração separada.

Usando programas que se integram ao 1C

XDTO

XDTO é frequentemente usado em serviços da web. Aqui estão as dicas e receitas mais importantes para usar o XDTO em 1C.

XDTO na plataforma 1C

Pacotes XDTO, descritos no ramo “Objetos XDTO” da configuração, estão disponíveis para criação de tipos e objetos na fábrica global XDTO Factory. Isto não é imediatamente óbvio.

Alguns tipos no esquema não possuem nome; para obtê-los, é necessário passar pela hierarquia de tipos.

O exemplo descreveu uma lista de sistema contendo estruturas XDTO. Para criar a estrutura em si, você tinha que obter o tipo assim:

Type = Factory.Type("urna:my.ru:MasterData:Business", "Business").Properties.Get("System").Type;

Problemas comuns com XDTO Diferentes formatos de esquema XSD Em alguns formatos, as tags são chamadas xs:, em alguns xsd:, mas 1C entende ambos os formatos com segurança. Certa vez, houve uma situação em que o XSD foi importado para 1C normalmente sem erros, mas não criou um único pacote. O motivo foi a ausência de um atributo

targetNamespace

na tag, portanto, 1C não sabia em qual pacote colocar o diagrama, mas não gerou erros.

Suporte de serviço

Considerando que o serviço é uma combinação de dois sistemas - 1C e externo, podem ocorrer erros em ambos os sistemas, o que reduz a confiabilidade geral da operação.

Para facilitar a compreensão dos motivos das falhas no serviço, recomenda-se a utilização de um conjunto de medidas.

  • Registrando solicitações
    • Ligações
  • XDTO
    • Boa descrição do XDTO http://pro1c.org.ua/index.php?showtopic=214
    • Serviços da web interessantes gratuitos:
  • Aeroflot - informações sobre horários de voos
    • Morpher - declinação de nomes http://www.morpher.ru/WebServices/Morpher.aspx
      • Desmontado:
      • Instalando e usando serviços da Web
      • v8: como alterar o arquivo de configuração do apache?
      • Livro de Conhecimento: v8: Usando serviços web externos em 1C:Enterprise 8;

EM últimos anos O uso de APIs e a dependência de serviços da web aumentaram. Aqui está uma lista de 12 ferramentas de teste de serviços da web que irão ajudá-lo significativamente.

Nos últimos anos, a popularidade e o uso de serviços web ou APIs aumentaram. Um serviço web ou API é um conjunto de procedimentos ou componentes de software que ajudam um aplicativo a se comunicar ou executar algum processo/transação formando uma conexão entre outro aplicativo ou servidor. Existem basicamente dois tipos de serviço web: REST e SOAP para transferência de dados e informações através do Internet Protocol.

Como esses serviços Web estão disponíveis na Internet e distribuídos em diferentes redes, eles são vulneráveis ​​a vírus e ameaças à segurança que afetam os processos que dependem deles. Portanto, testar serviços web ou APIs torna-se necessário para garantir que funcionem corretamente e respondam corretamente às solicitações. O teste de software é uma área promissora na área de TI, onde você pode obter o conhecimento necessário;

Existem diversas ferramentas de teste comerciais e gratuitas no mercado para testar sua conectividade, resposta e desempenho. Essas ferramentas de teste automatizam testes para um cenário específico, como testes funcionais, testes de carga, testes de desempenho, etc.

Aqui estão 12 excelentes ferramentas de teste de serviços da web que você deve considerar para seus requisitos de teste de API ou de serviços da web:

SoapUI

SoapUI é uma ferramenta de teste multiplataforma de código aberto. Ele pode automatizar testes funcionais, de regressão, de consistência e de carga de serviços SOAP e REST. É fácil de usar e oferece suporte a tecnologias e padrões avançados para modelar e incentivar o comportamento de serviços da web.

Principais recursos:

  • Fornece relatórios de impressão, exportação e HTML no nível Project, TestSuite, TestCase ou LoadTest.
  • Interoperabilidade com Hudson, Bamboo, Maven, ANT e JUnit.
  • Permite que você desenvolva seu próprio conjunto de funções na forma de plugins SoapUI.
  • Registra, monitora e exibe todos os dados.
  • Suporta descriptografia WS-Security e SSL.

TesteWhiz

TestingWhiz é uma ferramenta de automação de teste “sem código” compatível com APIs/serviços web. Ele permite realizar testes funcionais, de compatibilidade e de carga e trabalhar com serviços web REST e SOAP por meio de uma interface WSDL sobre HTTP e FTP.

Principais recursos:

  • Suporta comparação de strings para validar a resposta da API.
  • Ajuda a encontrar defeitos de API usando ferramentas integradas de rastreamento de problemas como JIRA, Mantis e Fogbugz.
  • Gera registros visuais e relatórios de teste por e-mail.
  • Fornece integração contínua com Jenkins, Bamboo & Hudson.
  • Suporta testes baseados em dados e palavras-chave.

SOAPSonar

SOAPSonar fornece testes de serviços web ponta a ponta para HTML, XML, SOAP, REST e JSON. Ele fornece testes funcionais, de desempenho, de compatibilidade e de segurança usando os padrões OASIS e W3C.

Principais recursos:

  • Suporta testes de vulnerabilidade de mutação XSD.
  • Fornece análise abrangente de WSDL e Schema.
  • Realiza testes de carga com simulação comportamental e múltiplos processos de carga simultâneos.
  • Fornece relatórios nos formatos XML, DOC, XLS, PDF, RTF e RPT.
  • Interage com o HP Quality Center.

Teste SOA

SOAtest é uma ferramenta para testar e validar APIs e aplicativos orientados por API. Ele fornece suporte robusto a blocos funcionais, integração, segurança, simulação e testes de carga usando tecnologias como REST, JSON, MQ, JMS, TIBCO, HTTP e XML.

Principais recursos:

  • Fornece testes ponta a ponta
  • Suporta mais de 120 protocolos/tipos de mensagens.
  • Vem com uma interface fácil de usar.
  • Ajuda a criar testes complexos, extensíveis e reutilizáveis ​​sem codificação.
  • Suporta testes de integração contínua

Criador de testes

TestMaker é uma ferramenta de código aberto para testar e monitorar o desempenho de serviços web e aplicativos SOA usando PushtoTest. Ele roda em Jython (Python escrito em Java). TestMaker pode redirecionar testes Selenium, testes SoapUI, testes Sahi ou quaisquer testes escritos em Groovy, Java, Python, PHP, Ruby e Perl em testes de carga funcionais.

Principais recursos:

  • Usa consulta de linha de comando para testar funcionalidade, carga e desempenho.
  • Intuitivo aparência com IDE padrão de múltiplas janelas.
  • Fornece um painel de controle para executar testes e exibir resultados em tempo real.
  • Permite acesso a todas as bibliotecas Java e classes da linguagem Jython.

Carteiro

Postman é outra ferramenta de teste de API/serviço web que possui poderoso suporte ao cliente HTTP. Possui um construtor de consultas fácil de usar que permite escrever casos de teste e gerenciar dados e tempos de resposta para testes e gerenciamento eficientes de casos de teste de API.

Principais recursos:

  • Permite que APIs sejam organizadas em funções chamadas assemblies Postman.
  • Facilita a colaboração e o compartilhamento de dados e controles de API.
  • Permite escrever testes lógicos na interface do Postman.

vDescanso

VRest é uma ferramenta desenvolvida para testes e benchmarking de APIS REST e serviços web. Ele também oferece suporte a testes de aplicativos da web, móveis e desktop que interagem com APIs ou serviços HTTP de terceiros.

Principais recursos:

  • Possui funcionalidade de servidor simulado para criar APIs simuladas em minutos.
  • Existe uma extensão do Chrome para gravar e reproduzir casos de teste.
  • Suporta integração com Jenkins para operação contínua do servidor e Jira para rastreamento de problemas.
  • Facilita o gerenciamento de permissões.
  • Permite exportar e importar casos de teste e relatórios de ferramentas externas como Postman Collections, Swagger 2.

HttpMaster

HttpMaster é outra ferramenta exclusiva para testar serviços web REST. Ajuda os testadores a testar o comportamento das APIs REST e a validar a saída em formatos como XML, JSON e HTML. Com sua ferramenta HTTP universal, o HttpMaster também ajuda o desenvolvedor a modelar a atividade do cliente e o comportamento de resposta do aplicativo API.

Principais recursos:

  • Possui uma interface de usuário elegante e fácil de usar que não requer conhecimentos técnicos avançados.
  • Usa métodos HTTP como GET, POST, DELETE, etc.
  • Fornece vários tipos e expressões de teste para facilitar o teste.
  • Usa a interface de linha de comando para criar e executar um teste.
  • Permite armazenar todas as informações - chamadas de API e dados do projeto em um só lugar.

Escopo de execução

Runscope é uma ferramenta simples para testar e monitorar o desempenho da API. Runscope também oferece suporte a testes de APIs e backend de aplicativos móveis.

Principais recursos:

  • Permite criar testes com dados dinâmicos mesmo para casos complexos.
  • Exibe métricas e análises para identificar problemas.
  • Funciona com ferramentas como HipChat, Webhooks, Slack e PagerDuty para notificação de falhas de API.
  • Permite reutilizar e executar testes em vários locais.
  • Facilita o gerenciamento centralizado de testes para melhorar a colaboração.

Rapariga

Rapise é uma ferramenta de automação robusta com recursos poderosos e extensíveis. É baseado em uma arquitetura aberta e flexível para testes funcionais rápidos de serviços web REST/SOAP. Rapise também fornece suporte para teste de aplicações web incorporadas em Java, .NET, Ajax, Silverlight e Flash.

Principais recursos:

  • Usa métodos HTTP padrão, como POST, GET, PUT e DELETE.
  • Permite armazenar solicitações de protótipo em um serviço web específico.
  • Contém um construtor de definição REST integrado e uma biblioteca de objetos.
  • Possui recursos poderosos de relatórios.
  • Suporta testes entre navegadores e execução paralela.

WebInject

WebInject é uma ferramenta gratuita para testes automatizados funcionais, de aceitação e de regressão de serviços da web. É uma ferramenta de linha de comando baseada em Perl, o que facilita a execução de testes, pois não há necessidade de perder tempo na linha de comando. Além disso, não possui interface IDE, o que significa que os testes são escritos externamente interface do usuário WebInject. Pode ser executado em plataformas com interpretador Perl.

Principais recursos:

  • Fornece exibição de resultados em tempo real.
  • Monitora o tempo de resposta do sistema.
  • Suporta vários usos - tanto uma plataforma de teste completa quanto um testador independente.
  • Cria relatórios nos formatos HTML e XML.
  • Permite integração com outro sistema como plugin para monitoramento externo.

Tempestade

Finalmente, Storm é outra ferramenta de código aberto do CodePlex para testar serviços web escritos em Java ou .NET. Atualmente ele suporta apenas serviço web SOAP.

Principais recursos:

  • Permite testar vários serviços da Web a partir de uma única interface de usuário.
  • Ajuda a editar solicitações SOAP brutas.
  • Permite fazer referência a métodos de serviço da Web que contêm tipos de dados complexos.
  • Suporta testes de aplicativos WCF.

Claro que a lista não termina aqui, pois existe uma enorme variedade de ferramentas para testar serviços web.

Cadastre-se agora ou solicite uma ligação com uma consulta gratuita!

Hoje em dia é raro que uma aplicação moderna funcione sem uma API. Isto é verdade tanto para um site simples quanto para sistemas distribuídos altamente carregados. O teste de API é uma das principais tarefas no processo de garantia de qualidade. Não é surpreendente que a demanda por testadores que saibam testar APIs esteja aumentando a cada dia. Neste curso, você compreenderá métodos, ferramentas e abordagens em testes de API, adquirirá o conhecimento necessário, o que sem dúvida terá um efeito positivo em seu valor como especialista em testes.

Este curso será útil para alunos familiarizados com os conceitos básicos de teste de software que desejam crescer ainda mais e aprimorar suas habilidades.

Programa do curso:

Lição 1. Introdutório. Protocolo SOAP

  • Resumidamente sobre o palestrante;
  • Objetivos do curso;
  • O que é API, WS e por que são necessários;
  • O papel dos testes de API no processo de garantia de qualidade;
  • Revisão de ferramentas de testes de WS;
  • Métodos utilizados em testes de WS;
  • História do SOAP;
  • Terminologia e principais conceitos (XML, XSD, Endpoint, WSDL).

Lição 2: Protocolo SOAP. Arquitetura REST

  • Terminologia e principais conceitos (UDDI, XSLT, XPath, XQuery, métodos HTTP, status HTTP);
  • Estrutura e principais componentes do SOAP;
  • Âmbito de aplicação;
  • Características do trabalho;
  • Vantagens e desvantagens;
  • Recursos da arquitetura REST;
  • Terminologia e principais conceitos (WADL, RESTful, JSON, JSONPath);
  • Princípios REST;
  • Código de status e principais status;
  • Verbos CRUD;
  • Vantagens e desvantagens.

Lição 3. Apresentando o SoapUI. Trabalhando com um projeto REST

  • Instalação Java;
  • Instalando o SoapUI;
  • Visão geral dos principais elementos da interface;
  • Conectando um projeto educacional;
  • Revisão dos métodos de projeto;
  • Envio de solicitação e análise da resposta recebida;
  • Estudar os serviços web disponíveis do projeto;
  • Elaboração de um plano de teste;
  • Escrever casos de teste;
  • Elementos “TestSuite”, “TestCase”, “TestSteps”.

Lição 4. Trabalhando com projeto REST (XML)

  • Bloco “Asserções”;
  • Execução de testes em vários níveis;
  • Elemento “Propriedades”, principais capacidades;
  • Trabalhando com Propriedades;
  • Elemento “Transferência de Propriedade”;
  • Trabalhando com Asserções.

Lição 5. Trabalhando com projeto REST (JSON)

  • Condições e filiais;
  • Trabalhando com Asserções;
  • TestRunner, recursos de trabalho;
  • Inicie TS, TC na linha de comando;
  • Trabalhando com executor de testes;
  • Trabalhando com scripts Groovy.

Lição 6. Trabalhando com scripts Groovy

  • Trabalhar com dados estáticos e dinâmicos;
  • Gerando dados de teste;
  • Obtemos dados de “Propriedades”;
  • Gravação e transferência de dados;
  • Condições e filiais;
  • Asserção de roteiro.

Lição 7. Recursos adicionais

  • Conectando bibliotecas externas e classes personalizadas;
  • Serviços simulados;
  • Por que precisamos de serviços simulados?
  • Um exemplo de trabalho com um serviço Mock;
  • E quanto ao IC?
  • Instale o Jenkins;
  • Lançando um projeto no Jenkins.