Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

<p>Um Estudo Comparativo de Ferramentas de Teste para Web</p><p>Services SOAP</p><p>Eronildo José da Silva Junior 1</p><p>1 Instituto de Computação – Universidade Federal da Bahia (UFBA)</p><p>40.110-150 – Salvador – BA – Brasil</p><p>eronildosilva@ufba.br</p><p>Resumo. Os recentes avanços tecnológicos destacam a relevância da Engenha-</p><p>ria de Software, especialmente na complexidade do desenvolvimento de siste-</p><p>mas. Dessa evolução resulta a área especializada de testes de software, es-</p><p>sencial na era dos serviços web, como os baseados em SOAP, para garantir</p><p>o pleno funcionamento desse novo tipo de arquitetura. Este trabalho propõe</p><p>uma análise comparativa entre as ferramentas Postman, SoapUI e Visual Studio</p><p>Code, utilizadas em testes de web services SOAP e tem como objetivo oferecer</p><p>insights para que profissionais de desenvolvimento possam decidir quais fer-</p><p>ramentas se adequam melhor a seus projetos. Estes insights avaliam quesitos</p><p>como usabilidade, análise de desempenho e funcionalidades.</p><p>Abstract. Recent technological advances highlight the relevance of Software</p><p>Engineering, especially in the complexity of systems development. This evolu-</p><p>tion results in the specialized area of software testing, essential in the era of web</p><p>services, such as those based on SOAP, to assurance the full functioning of this</p><p>new type of architecture. This work proposes a comparative analysis between</p><p>the tools Postman, SoapUI and Visual Studio Code, used in testing SOAP web</p><p>services and aims to offer insights so that development professionals can de-</p><p>cide which tools best suit their projects. These insights evaluate issues such as</p><p>usability, performance analysis, and features.</p><p>1. Introdução</p><p>Os últimos anos têm sido marcados por um notável avanço tecnológico, causando uma</p><p>verdadeira revolução na maneira como se cria e implementa software. Esse progresso</p><p>acelerado não apenas gerou a necessidade, mas tornou muito importante o papel da enge-</p><p>nharia de software. À medida que os sistemas se tornam mais complexos, a engenharia de</p><p>software surge como uma ciência essencial, fornecendo estruturas conceituais e práticas</p><p>para o desenvolvimento eficaz e confiável de software [Barbosa et al. 2000]. Os avanços</p><p>significativos nesta ciência são impulsionados pela crescente demanda por sistemas mais</p><p>robustos, escaláveis e resilientes. Essa evolução constante resultou no surgimento de uma</p><p>área especializada: a área de testes de software. A necessidade de assegurar a qualidade e</p><p>a confiabilidade do software levou ao desenvolvimento de estratégias e práticas dedicadas</p><p>a verificar se os sistemas atendem às expectativas e requisitos estabelecidos previamente</p><p>[Neto 2007].</p><p>Ao mesmo tempo, a chegada dos serviços web provocou uma mudança funda-</p><p>mental na arquitetura de software, introduzindo uma abordagem mais modular e bem dis-</p><p>tribuı́da. Os serviços web, especialmente aqueles baseados no protocolo SOAP (Simple</p><p>Object Access Protocol), tornaram-se uma infraestrutura muito utilizada para a comunicação</p><p>entre sistemas diversos [Estrella 2010]. Neste contexto dinâmico, é de grande importância</p><p>adotar ferramentas de teste de software robustas[Neto 2007]. Essas ferramentas desem-</p><p>penham um papel essencial no cenário do desenvolvimento ágil de software, não apenas</p><p>ao identificar falhas e defeitos, mas também ao impulsionar o ciclo de desenvolvimento.</p><p>Ao selecionar ferramentas de teste eficazes, é possı́vel otimizar a qualidade do software,</p><p>promovendo entregas mais rápidas e confiáveis em projetos de desenvolvimento, especi-</p><p>almente aqueles que envolvem serviços web SOAP [Santos et al. 2010].</p><p>Algumas ferramentas destacam-se no mercado, oferecendo uma ampla gama de</p><p>funcionalidades e facilitando a execução e construção de testes automatizados, principal-</p><p>mente nos cenários que envolvem a utilização de web services SOAP. Aplicações como</p><p>Postman,1 SoapUI 2 e Thunder Client 3são amplamente empregadas nesses testes para</p><p>assegurar a qualidade das aplicações.</p><p>1.1. Motivação</p><p>A motivação para execução deste trabalho reside na complexidade adicionada ao desen-</p><p>volvimento de softwares ao utilizar serviços web, especialmente aqueles baseados em</p><p>SOAP. À medida que essa arquitetura se torna cada vez mais presente, a necessidade de</p><p>ferramentas de teste especializadas torna-se evidente. Assim, ao compreender e com-</p><p>parar as caracterı́sticas das ferramentas utilizadas para testar este tipo de arquitetura, é</p><p>possı́vel oferecer informações valiosas para profissionais de desenvolvimento de software</p><p>para fundamentar a escolha da ferramenta certa. Isto não apenas influencia a eficiência</p><p>do teste, mas também desempenha um grande papel no sucesso e na confiabilidade de um</p><p>projeto.</p><p>1.2. Objetivos</p><p>1.2.1. Objetivo Geral</p><p>Investigar e comparar as ferramentas de teste, Postman, SoaupUI e Thunder Cliente, no</p><p>contexto de serviços web SOAP, analisando suas caracterı́sticas de usabilidade, análise</p><p>de desempenho e funcionalidades, com o propósito de fornecer insights valiosos para</p><p>profissionais de desenvolvimento de software na escolha da ferramenta mais adequada</p><p>para testar web services SOAP em detrimento do tipo de projeto que será implementado.</p><p>1.2.2. Objetivos Especı́ficos</p><p>• Avaliação de usabilidade: Avaliar a usabilidade de cada ferramenta, levando</p><p>em consideração a facilidade de aprender de forma intuitiva, controle de erros,</p><p>eficiência, eficácia e satisfação do usuário.</p><p>• Avaliação de análise de desempenho: Avaliar se a ferramenta fornece o tempo</p><p>de respostas das requisições como métrica de desempenho e avaliar como cada</p><p>uma delas explora e fornece essa informação.</p><p>1https://www.postman.com/</p><p>2https://www.soapui.org/</p><p>3https://www.thunderclient.com/</p><p>• Avaliação de Funcionalidades: Realizar uma análise comparativa dos recursos</p><p>oferecidos por cada ferramenta, incluindo capacidades de automação, integração</p><p>com outras ferramentas, geração de relatórios e suporte a protocolos e formatos</p><p>de mensagem SOAP. Esses recursos são ferramenta chave para desenvolvimento</p><p>de aplicações que estabelecem comunicação com web services SOAP ao para fa-</p><p>cilitar a execução de testes de forma automática.</p><p>1.3. Estrutura do Trabalho</p><p>As demais seções deste trabalho de conclusão de curso estão estruturadas como segue. A</p><p>seção 2 oferece a definição de alguns conceitos para estabelecer uma base teórica sobre o</p><p>assunto. Na seção 3 é delineada a metodologia da pesquisa, juntamente com os materiais</p><p>a serem utilizados. A seção 4 traz a análise dos resultados obtidos, enquanto a seção</p><p>5 menciona os trabalhos relacionados. Por fim, a seção 6 apresenta a conclusão deste</p><p>trabalho.</p><p>2. Referencial Teórico</p><p>2.1. Testes de Software</p><p>O teste de software tem como objetivo principal validar se um programa atende aos requi-</p><p>sitos propostos e identificar defeitos antes de sua utilização. Durante o teste, o software é</p><p>executado com dados fictı́cios, e os resultados são analisados em busca de erros, anoma-</p><p>lias ou falhas nos atributos não funcionais do programa [Delamaro et al. 2013].</p><p>Existem dois objetivos distintos no processo de teste: primeiro, demonstrar tanto</p><p>aos desenvolvedores quanto aos clientes que o software cumpre os requisitos estabeleci-</p><p>dos; segundo, identificar situações em que o software apresenta comportamentos incor-</p><p>retos, indesejáveis ou diferentes das especificações, indicando a presença de defeitos que</p><p>precisam ser corrigidos [Sommerville 2011].</p><p>2.2. Serviços WEB</p><p>Web Service (Serviço web) é um componente de software independente que pode ser</p><p>acessado através da Internet usando protocolos padronizados. Ele é completamente auto-</p><p>contido e sem dependências externas. Foram desenvolvidos padrões baseados em XML,</p><p>como SOAP (Standard Object Access Protocol), para troca de informações com web ser-</p><p>vices e WSDL (Web Service Definition Language), para definição de interfaces de web</p><p>services. Contudo, a abordagem REST também pode ser usada para implementação de</p><p>web services</p><p>[Sommerville 2011].</p><p>Figura 1. Estrutura padrão de um serviço WEB.</p><p>Com este tipo de tecnologia, novas aplicações podem se comunicar com aplicações</p><p>que já existem, sistemas distintos podem interagir entre si. Mais precisamente, um serviço</p><p>web é um conjunto de métodos e operações remotos que podem ser utilizados como se</p><p>fossem locais, tudo isso abstraı́do pela comunicação entre cliente e servidor como descrito</p><p>na Figura 1 [OLIVEIRA 2013].</p><p>2.2.1. SOAP</p><p>SOAP é um padrão de trocas de mensagens que oferece suporte à comunicação entre</p><p>os serviços. Ele define os componentes essenciais e opcionais das mensagens passadas</p><p>entre serviços [Sommerville 2011]. O SOAP é baseado em XML, o que permite que</p><p>aplicações possam se comunicar através da rede. É completamente independente de pla-</p><p>taforma e linguagem, tornando-se simples, escalável e de fácil utilização pois funciona</p><p>sobre o HTTP, protocolo usado por grande parte dos navegadores e servidores de internet</p><p>[OLIVEIRA 2013]. A Figura 2 mostra a estrutura padrão de uma mensagem SOAP.</p><p>Figura 2. Estrutura padrão de mensagem SOAP.</p><p>A mensagem SOAP contém três elementos simples, envelope, cabeçalho e corpo.</p><p>• O envelope (Envelope) é um delimitador e identificador, ele comtém o cabeçalho</p><p>e o corpo da mensagem. No envelope contém a identificação de que aquela men-</p><p>sagem é uma mensagem SOAP.</p><p>• O cabeçalho (Header) é um elemento opcional da mensagem, porém nele geral-</p><p>mente são inclusas informações bem especı́ficas da aplicação como autorizações,</p><p>autenticações, etc.</p><p>• O corpo (Body), é um elemento obrigatório dentro de uma mensagem SOAP, nele</p><p>tem informações endereçadas ao receptor da mensagem.</p><p>2.3. Conceito de usabilidade</p><p>Segundo [Piasse et al. 2012], a definição de usabilidade está relacionada a métricas que</p><p>demonstram o quão fácil é usar determinada ferramenta. Existem vários critérios que</p><p>podem ser utilizados para definir o grau de usabilidade, alguns deles são:</p><p>• Facilidade de aprender: É a capacidade que a ferramenta ou o software tem de</p><p>permitir que o usuário aprenda de forma intuitiva a usá-lo.</p><p>• Facilidade de relembrar: Verifica se é fácil relembrar as funcionalidades da ferra-</p><p>menta após deixar de usá-la por um perı́odo de tempo.</p><p>• Controle de Erros: É a capacidade que o software tem de permitir que o usuário</p><p>tenha controle.</p><p>• Eficiência: É a capacidade da ferramenta realizar aquilo que o usuário deseja.</p><p>• Eficácia: Verifica a forma com que as tarefas foram realizadas e a taxa de sucesso.</p><p>• Satisfação: É a capacidade do software alcançar os usuários e ser agradável em</p><p>diversos aspectos.</p><p>De acordo com [Ferreira and Leite 2003], existem requisitos não funcionais li-</p><p>gados à interface que demonstram quão fácil é utilizar determinado software do ponto</p><p>de vista dos usuários. Existem ainda algumas categorias que podem ser avaliadas para</p><p>que se possa determinar o quão boa é uma interface, uma delas é a chamada exibição</p><p>das informações, dentro desta categoria alguns critérios são levados em consideração,</p><p>critérios como:</p><p>• Consistência: o sistema não tem comportamentos inesperados, permite que o</p><p>usuário generalize o conhecimento prévio e que todos os elementos gráficos te-</p><p>nham funcionalidades bem definidas e únicas.</p><p>• Feedback: O usuário é informado sobre o que está acontecendo.</p><p>• Nı́veis de habilidade e comportamento humano: A interface é de fácil compre-</p><p>ensão para os mais diversos tipos de usuários.</p><p>2.3.1. Métricas de análise de desempenho</p><p>Segundo [Costa et al. 2020], métricas de software são medidas caracterı́sticas de um soft-</p><p>ware que podem ser quantificáveis ou contáveis, essas métricas têm grande importância</p><p>para determinar o desempenho das aplicações e medir produtividade. Essas métricas cap-</p><p>turam valores que pertencem ao sistema em um dado momento, desta forma são coletadas</p><p>durante uma janela de tempo. Existem duas sub categorias de métricas, são elas: métricas</p><p>de aplicação e métricas do sistema em teste. Dentro das métricas de aplicação existem as</p><p>métricas de transação onde são medidos valores como:</p><p>• Transação Tempo de resposta (TRT): Diferentes valores de tempo de resposta sob</p><p>diferentes cargas. Tempo médio de resposta, máximo, percentil;</p><p>• Transação por segundo (TPS): mostra o número de transações geradas por se-</p><p>gundo;</p><p>• Taxa de sucesso de transação (TSR): mostra o número de transações que foram</p><p>aprovadas, falharam ou foram interrompidas.</p><p>3. Metodologia</p><p>Múltiplas ferramentas têm sido desenvolvidas para as mais diversas áreas de atuação dos</p><p>engenheiros de software, e para a área de testes não é diferente. Ferramentas como Post-</p><p>man, SoapUI, entre outros, são amplamente conhecidas e utilizadas pelos desenvolvedo-</p><p>res de software da atualidade para criar/testar APIs e web services, essas ferramentas con-</p><p>tam com diversas funcionalidades e diversas possibilidades. Então com tantas opções, se</p><p>tornou um desafio escolher qual ferramenta atenderia melhor às expectativas de desenvol-</p><p>vimentos de projetos de software tendo em vista que cada projeto tem suas peculiaridades,</p><p>é preciso conhecer mais sobre essas ferramentas, esta seção tem o objetivo de aprofundar</p><p>o conhecimento sobre essas aplicações e determinar uma forma simples de avaliá-las para</p><p>fornecer insights para que desenvolvedores possam escolher as melhores ferramentas a</p><p>partir dos requisitos de seus projetos.</p><p>A avaliação empregada neste trabalho leva três aspectos em consideração: usabi-</p><p>lidade, análise de desempenho e funcionalidades. Nos próximos tópicos serão determina-</p><p>das as metodologias de avaliação de cada um desses aspectos. As ferramentas que foram</p><p>avaliadas são: Postman, SoapUI e Visual Studio Code - Thunder Cliente.</p><p>3.1. Ferramentas de testes avaliadas</p><p>3.1.1. Postman</p><p>O Postman é uma plataforma de colaboração para o desenvolvimento de APIs (Interface</p><p>de Programação de Aplicações). Essencialmente, é uma ferramenta que permite aos de-</p><p>senvolvedores criar, testar e documentar APIs de maneira eficiente. Com uma interface</p><p>intuitiva, Figura 3, o Postman oferece recursos para facilitar a criação de solicitações</p><p>HTTP, a visualização de respostas, o gerenciamento de ambientes e a automatização de</p><p>testes, tornando o processo de desenvolvimento e teste de APIs mais ágil e eficaz.</p><p>Figura 3. Interface do Postman.</p><p>3.1.2. SoapUI</p><p>O SoapUI é uma ferramenta especializada no teste de serviços web, especialmente aque-</p><p>les que seguem o protocolo SOAP. Ele oferece uma plataforma abrangente para criar,</p><p>executar, e gerenciar testes de serviços web, permitindo que desenvolvedores e testadores</p><p>validem a funcionalidade, desempenho e confiabilidade de serviços SOAP.</p><p>Figura 4. Interface do SoapUI.</p><p>3.1.3. Visual Studio Code + Thunder Client</p><p>O Thunder Client é uma extensão do Visual Studio Code que permite enviar solicitações</p><p>HTTP e testar APIs de dentro do editor. A ferramenta é leve e fácil de usar, e oferece uma</p><p>variedade de funcionalidades para facilitar o desenvolvimento e teste de APIs.</p><p>Figura 5. Interface do Thunder client.</p><p>3.2. Avaliações</p><p>3.2.1. Avaliação de usabilidade</p><p>A avaliação de usabilidade proposta tem como objetivo identificar caracterı́sticas es-</p><p>pecı́ficas de cada aplicação, sendo elas: Facilidade de Aprendizado, Controle de Erros,</p><p>Eficiência, Eficácia e Satisfação. Para alcançar esse propósito, foi realizada uma pesquisa</p><p>que envolveu a experiência dos usuários e sua satisfação. Usuários foram recrutados</p><p>para participar dessa pesquisa, durante a qual foi solicitada a realização de uma pequena</p><p>tarefa em cada plataforma. Após a conclusão da tarefa, os usuários responderam um ques-</p><p>tionário projetado para avaliar as caracterı́sticas de usabilidade das ferramentas. Para cada</p><p>uma das caracterı́sticas avaliadas os usuário submeteram notas de 1 a 5, onde 1 é muito</p><p>ruim e 5 é muito bom. Ao fim, esses dados foram colocados em gráficos</p><p>de barras para</p><p>uma análise aprofundada da experiencia dos usuários.</p><p>A tarefa solicitada foi o envio de uma requisição a um web service seguindo o</p><p>passo a passo detalhado no anexo A. Após a realização da atividade a seguintes questões</p><p>foram avaliadas a fim de definir pontuações de 1-5 para os critérios avaliativos: 1º Faci-</p><p>lidade de aprender de forma intuitiva, 2º Controle de erros, informações sobre erros, 3º</p><p>Eficiência, 4º Eficácia e 5º Satisfação. Para cada critério foram calculadas as médias das</p><p>notas atribuı́das para cada aplicação, abaixo temos gráficos para cada uma delas:</p><p>Figura 6. Gráfico de avaliação de usabilidade do postman.</p><p>Figura 7. Gráfico de avaliação de usabilidade do SoapUI.</p><p>Figura 8. Gráfico de avaliação de usabilidade do Thunder Client.</p><p>3.2.2. Avaliação de análise desempenho</p><p>A avaliação de análise desempenho proposta tem como principal objetivo verificar a capa-</p><p>cidade de cada ferramenta em fornecer informações e métricas essenciais para determinar</p><p>o desempenho das aplicações testadas, com foco primordial no tempo de resposta. O</p><p>processo de análise permite a comparação das informações disponibilizadas por cada fer-</p><p>ramenta, buscando validar a conformidade e a consistência entre elas.</p><p>Figura 9. Gráfico resultados análise desempenho Postman.</p><p>A métrica principal utilizada para avaliar o desempenho é o tempo de resposta,</p><p>uma medida que impacta diretamente na experiência do usuário. Cada ferramenta foi sub-</p><p>metida a requisições variadas, contemplando diferentes tamanhos de pacotes para down-</p><p>load. A coleta de dados de tempo de resposta permitiu a construção de gráficos de linha,</p><p>Figuras 9, 10 e 11.</p><p>Figura 10. Gráfico resultados análise desempenho SoapUI.</p><p>Figura 11. Gráfico resultados análise desempenho Thunder Client.</p><p>Em resumo, a abordagem metodológica adotada para a análise de desempenho</p><p>busca não apenas quantificar o tempo de resposta, mas também compreender como es-</p><p>sas informações são disponibilizadas pelas ferramentas, destacando nuances e carac-</p><p>terı́sticas distintivas que podem influenciar na escolha da mais adequada para determi-</p><p>nados cenários e requisitos especı́ficos.</p><p>3.2.3. Avaliação de funcionalidades</p><p>A avaliação das funcionalidades adicionais busca identificar recursos notáveis em cada</p><p>ferramenta, incluindo integração com sistemas, implementação de testes e testes auto-</p><p>matizados, além da correção de erros associados ao protocolo de comunicação SOAP.</p><p>Para conduzir essa análise, será realizado um levantamento das funcionalidades de cada</p><p>plataforma, explorando suas capacidades especı́ficas.</p><p>O postman é projetado para oferecer uma experiência intuitiva aos desenvolvedo-</p><p>res que trabalham com APIs. Sua interface é bem intuitiva e a maioria de suas funcio-</p><p>nalidades são fáceis de se encontrar, abaixo alguns pontos interessantes e suas principais</p><p>funcionalidades:</p><p>• Barra de Navegação Simples: A barra superior do Postman fornece navegação</p><p>fácil entre diferentes seções, como ”Collections”(Coleções), ”History”(Histórico),</p><p>”Runner”(Executor), e outros recursos importantes.</p><p>• Workspace (Espaço de Trabalho): O Workspace é o ambiente principal onde os</p><p>desenvolvedores organizam suas coleções de solicitações. Ele oferece uma visão</p><p>estruturada e organizada para facilitar o gerenciamento de projetos.</p><p>• Sidebar (Barra Lateral): A barra lateral permite a navegação rápida entre solicitações</p><p>individuais, ambientes, e outras configurações essenciais. Também fornece acesso</p><p>rápido a recursos como histórico e integrações.</p><p>• Visualização de Solicitações: Ao criar ou editar solicitações, os desenvolvedores</p><p>podem usar uma interface gráfica para especificar os detalhes da solicitação, como</p><p>método HTTP, cabeçalhos, parâmetros e corpo da solicitação. Isso simplifica a</p><p>interação com APIs.</p><p>• Testes Automatizados: Uma área dedicada para escrever scripts de teste automati-</p><p>zados, permitindo que os desenvolvedores validem automaticamente as respostas</p><p>das APIs.</p><p>• Ambientes: O Postman suporta o conceito de ambientes, permitindo que os de-</p><p>senvolvedores configurem variáveis de ambiente para facilitar a execução de testes</p><p>em diferentes cenários.</p><p>• Runner (Executor): O Runner permite a execução rápida e eficiente de coleções</p><p>de solicitações, facilitando a automação de testes e a verificação de desempenho.</p><p>Figura 12. Área de testes automatizados do Postman.</p><p>Principais caracterı́sticas do SoapUI incluem:</p><p>• Criação de Testes: Permite a criação de testes funcionais detalhados, onde os</p><p>usuários podem definir requisições SOAP, parâmetros, e esperar respostas es-</p><p>pecı́ficas.</p><p>• Testes Automatizados: Suporta automação de testes, permitindo a execução de</p><p>scripts de teste automaticamente, o que é essencial para testes repetitivos e integração</p><p>contı́nua, Figura 13.</p><p>• Validação de Respostas: Oferece recursos robustos para validar respostas, in-</p><p>cluindo a verificação de dados retornados, estrutura XML, e outros critérios de</p><p>conformidade.</p><p>• Testes de Desempenho: Permite a criação de testes de carga para avaliar o desem-</p><p>penho de serviços web SOAP sob diferentes condições e cargas simuladas.</p><p>• Ambientes e Variáveis: Facilita a configuração de ambientes e variáveis, permi-</p><p>tindo que os usuários modifiquem dinamicamente parâmetros durante a execução</p><p>dos testes.</p><p>• Integração com Outras Ferramentas: Integra-se facilmente a ambientes de de-</p><p>senvolvimento e a outras ferramentas de teste, proporcionando uma abordagem</p><p>holı́stica para o teste de serviços web SOAP.</p><p>O SoapUI é amplamente utilizado na indústria de desenvolvimento de software para ga-</p><p>rantir a qualidade e a conformidade de serviços web SOAP em diferentes fases do ciclo</p><p>de vida do desenvolvimento.</p><p>Figura 13. Área de testes automatizados do SoapUI.</p><p>O Thunder Client é uma extensão poderosa e versátil para testar APIs. É uma</p><p>boa opção para desenvolvedores que desejam enviar solicitações HTTP e testar APIs de</p><p>dentro do Visual Studio Code.</p><p>Principais funcionalidades do Thunder Client:</p><p>• Envio de solicitações HTTP: Permite enviar solicitações HTTP de qualquer tipo,</p><p>incluindo GET, POST, PUT, DELETE, HEAD e OPTIONS. As solicitações po-</p><p>dem ser personalizadas com parâmetros, cabeçalhos e corpo.</p><p>• Teste de APIs: Oferece uma interface gráfica para testar APIs e testes de comunicação,</p><p>Figura 14. É possı́vel enviar solicitações, visualizar as respostas e comparar as</p><p>respostas esperadas com as respostas reais.</p><p>• Coleções: Permite salvar solicitações em coleções. As coleções podem ser com-</p><p>partilhadas com outros desenvolvedores.</p><p>• Variáveis de ambiente: Permite definir variáveis de ambiente que podem ser usa-</p><p>das nas solicitações.</p><p>• Consultas GraphQL: Suporta consultas GraphQL.</p><p>• Integração com CI/CD: Pode ser integrado a ferramentas de CI/CD para automa-</p><p>tizar o teste de APIs.</p><p>• Sincronização com o Git: Pode ser sincronizado com o Git para facilitar o geren-</p><p>ciamento de coleções.</p><p>• Armazenamento local: O Thunder Client armazena todos os dados localmente, o</p><p>que permite usá-lo offline.</p><p>Figura 14. Área de testes automatizados do Thunder Client.</p><p>4. Resultados</p><p>Nesta seção serão discutidos o resultados para as três avaliações empregadas na meto-</p><p>dologia fazendo uma comparação entre as três ferramentas avaliadas com o propósito de</p><p>destacar seu pontos negativos e positivos, e por fim indicar para que tipos de projetos cada</p><p>ferramenta seria mais adequada.</p><p>4.1. Resultados da avaliação de usabilidade</p><p>Comparando os resultados da avaliação de usabilidade, é possı́vel determinar quais ferra-</p><p>mentas se sobressaı́ram durante a análise. Conforme evidenciado no gráfico da Figura 15,</p><p>o Thunder Client apresentou um desempenho superior em todos os critérios, mantendo-se</p><p>consistentemente no topo. Apenas na segunda métrica, referente ao controle de erros, o</p><p>Thunder Client obteve a mesma média que o</p><p>Postman.</p><p>Em contrapartida, o SoapUI apresentou uma média significativamente mais baixa</p><p>em relação às outras ferramentas, indicando que seu nı́vel de usabilidade está considera-</p><p>velmente abaixo do esperado em comparação com as demais. O Postman, embora tenha</p><p>alcançado resultados semelhantes ao Thunder Client, ainda assim apresentou pontuações</p><p>inferiores.</p><p>Figura 15. Comparativo resultados de usabilidade das três ferramentas.</p><p>Os resultados da avaliação de usabilidade destacam o Thunder Client como a fer-</p><p>ramenta mais eficaz em termos de usabilidade, considerando a facilidade de aprendizado,</p><p>controle de erros, eficiência, eficácia e nı́vel de satisfação.</p><p>Enquanto isso, o SoapUI mostrou-se menos intuitivo e pouco satisfatório. Ape-</p><p>sar de o Postman ter se aproximado do desempenho do Thunder Client, ainda há áreas</p><p>onde pode ser aprimorado para atingir um nı́vel mais elevado de usabilidade, como por</p><p>exemplo, tratamento de erros.</p><p>Ferramenta Facilidade de aprender Controle de erros Eficiência Eficácia Satisfação</p><p>Postman Muito bom Muito bom Muito bom Muito bom bom</p><p>SoapUI Ruim Ruim Razoável Razoável Ruim</p><p>Thunder Muito bom Muito bom Excelente Excelente Muito bom</p><p>Tabela 1. Avaliação de Funcionalidades</p><p>4.2. Resultados da avaliação de análise de desempenho</p><p>Ao comparar os gráficos que representam a análise do tempo de resposta, Figura 16, é</p><p>possı́vel afirmar que, para cada ferramenta, tudo ocorreu conforme esperado, pois observa-</p><p>se um comportamento bastante semelhante entre elas. Dessa forma, a aplicação não pa-</p><p>rece interferir significativamente no tempo em que as requisições são processadas e as</p><p>respostas são obtidas. Mesmo havendo diferenças nos tamanhos dos pacotes, o tempo</p><p>de resposta permanece dentro da normalidade, com uma média de aproximadamente 2</p><p>segundos.</p><p>Figura 16. Comparativo resultados de análise de desempenho das três ferramentas.</p><p>Os tempos de resposta médios foram de 2270, 1988.5 e 2275 milissegundos para</p><p>Postman, SoapUI e Thunder, respectivamente. Levando em consideração todos esses</p><p>fatores, o SoapUI apresentou o menor valor, enquanto os outros dois alcançaram valores</p><p>bastante similares. Apesar da diferença de pouco menos de 300ms, é possı́vel afirmar</p><p>que, para uma amostra tão pequena, esse valor poderia ter impactos significativos em um</p><p>conjunto maior de requisições, destacando o SoapUI em relação aos demais.</p><p>Existem também alguns pontos que destacam algumas ferramentas não apenas</p><p>pelo desempenho em si, mas também pela forma como cada ferramenta disponibiliza</p><p>essas métricas e como esses dados são tratados por elas.</p><p>O Postman se destaca por oferecer uma interface detalhada, conforme mostrado</p><p>na Figura 17, que apresenta todo o histórico de eventos ocorridos durante uma requisição.</p><p>Nessa plataforma, é possı́vel analisar o tempo em milissegundos associado a cada evento,</p><p>proporcionando uma visão granular e aprofundada do desempenho. Por outro lado, o</p><p>SoapUI e o Thunder adotam uma abordagem mais simplificada, fornecendo os valores de</p><p>tempo de resposta sem oferecer tantos detalhes sobre o contexto dos eventos.</p><p>Figura 17. Histórico de eventos de uma requisição no postman.</p><p>A tabela 2 mostra em linhas gerais como se deu o resultado da avaliação de análise</p><p>de desempenho.</p><p>Ferramenta Métricas detalhadas de Desempenho Tempo de Resposta</p><p>Postman Excelente Muito bom</p><p>SoapUI Muito bom Muito bom</p><p>Thunder Muito bom Muito bom</p><p>Tabela 2. Avaliação de Desempenho</p><p>4.3. Resultados da avaliação de funcionalidade</p><p>No âmbito da automação de testes, o Postman destaca-se ao oferecer recursos avançados,</p><p>permitindo a criação de scripts em JavaScript e suportando a execução automatizada de</p><p>coleções de requisições. O SoapUI, por sua vez, se especializa em testes de serviços web</p><p>SOAP e REST, proporcionando uma extensa gama de funcionalidades para automação,</p><p>incluindo a capacidade de criar scripts em Groovy para testes avançados. Sua expertise</p><p>em serviços web torna-o uma escolha sólida para ambientes que requerem testes mais</p><p>complexos. Já o Thunder Client, oferece recursos básicos de automação que podem ser</p><p>integrados a fluxos de trabalho mais amplos no ambiente VS Code. Ao ponderar so-</p><p>bre o destaque em automação de testes, a escolha entre essas ferramentas dependerá da</p><p>complexidade dos testes desejados, com o SoapUI se sobressaindo em ambientes mais</p><p>especializados.</p><p>No que diz respeito à integração com outras ferramentas, o Postman se destaca ao</p><p>oferecer integrações abrangentes com diversas ferramentas de integração contı́nua, como</p><p>Jenkins e Git. Além disso, suporta integrações com monitores de API e sistemas de geren-</p><p>ciamento de testes, proporcionando uma ampla conectividade no ecossistema de desen-</p><p>volvimento. O SoapUI, por sua vez, pode ser integrado a ambientes de desenvolvimento</p><p>por meio de plugins, oferecendo suporte a várias ferramentas de CI/CD e sendo capaz de</p><p>se integrar a ferramentas de gerenciamento de requisitos. Sua flexibilidade na integração</p><p>contribui para a incorporação eficaz em diferentes fluxos de trabalho. O Thunder Client,</p><p>como uma extensão do VS Code, integra-se diretamente ao ambiente de desenvolvimento,</p><p>facilitando a integração com outras extensões e fluxos de trabalho personalizados dentro</p><p>do próprio VS Code. Nesse contexto, a escolha entre essas ferramentas dependerá da pre-</p><p>ferência de integração com o ecossistema especı́fico do projeto, sendo o Postman notável</p><p>pela amplitude de integrações oferecidas.</p><p>Quanto à geração de relatórios, o Postman se destaca por oferecer recursos ro-</p><p>bustos, incluindo resumos visuais detalhados sobre o desempenho dos testes. O SoapUI</p><p>proporciona opções de relatórios detalhados, exportáveis em diversos formatos, com a</p><p>vantagem de serem personalizáveis e permitirem a inclusão de métricas especı́ficas. O</p><p>Thunder Client oferece funcionalidades básicas de geração de relatórios diretamente na</p><p>plataforma, sendo também extensı́vel para customização.</p><p>A Tabela 3 apresenta um resumo da análise de funcionalidades.</p><p>Ferramenta Automação de testes Integração Relatórios Suporte</p><p>Postman Muito bom Excelente Muito bom Muito Bom</p><p>SoapUI Excelente Excelente Muito bom Excelente</p><p>Thunder Bom Muito bom Bom Bom</p><p>Tabela 3. Avaliação de Funcionalidades</p><p>Em relação ao suporte a protocolos e formatos de mensagem SOAP, o Postman</p><p>oferece suporte para testes de serviços SOAP, permitindo a criação de requisições SOAP</p><p>e a manipulação de mensagens XML. O SoapUI se destaca ao ser especializado em testes</p><p>de serviços SOAP, proporcionando suporte completo a esse protocolo, inclusive a capa-</p><p>cidade de criar e enviar requisições SOAP complexas. Enquanto isso, o Thunder Client</p><p>oferece suporte para testes básicos de serviços SOAP, embora possa não oferecer a mesma</p><p>amplitude de recursos especı́ficos para SOAP encontrados no SoapUI.</p><p>No geral, o SoapUI destaca-se como uma opção robusta e especializada, ofere-</p><p>cendo suporte completo a serviços SOAP, incluindo a capacidade de lidar com requisitos</p><p>complexos desse protocolo. O Postman também é uma escolha sólida, proporcionando</p><p>uma gama abrangente de recursos, versatilidade e integrações, tornando-o uma opção va-</p><p>liosa para diversos projetos. Embora o Thunder Client seja mais simples em comparação,</p><p>ele se destaca como uma ferramenta eficaz para projetos mais simples, oferecendo uma</p><p>abordagem direta e integrada ao ambiente do VS Code.</p><p>5. Trabalho relacionados</p><p>O trabalho [de Amorim et al. 2016] aborda a importância da qualidade em projetos de</p><p>desenvolvimento de sistemas de informação. O foco principal é a busca por técnicas que</p><p>aprimorem o processo de execução e planejamento de testes. Para isso, eles exploram</p><p>o uso de ferramentas de gestão de teste de software, com ênfase em ferramentas open</p><p>source. Objetivo central do artigo era realizar uma análise comparativa entre essas fer-</p><p>ramentas open source, visando facilitar a escolha adequada para diferentes</p><p>projetos. Os</p><p>autores realizaram uma revisão da literatura, compararam as ferramentas analisadas e as</p><p>avaliaram em relação às caracterı́sticas de qualidade da NBR ISO/IEC 9126. Os resul-</p><p>tados identificaram qual ferramenta oferece suporte a um maior número de situações no</p><p>desenvolvimento de sistemas de informação e qual atende de maneira mais satisfatória</p><p>aos critérios da NBR ISO/IEC 9126.</p><p>Essa abordagem visa auxiliar profissionais na escolha de ferramentas de gestão de</p><p>teste mais adequadas para seus projetos, proporcionando uma compreensão aprimorada</p><p>na tomada de decisão.</p><p>Outro trabalho interessante é o de [Costa et al. 2020], que foca na importância</p><p>do conhecimento e aplicação de ferramentas para automatizar testes de desempenho, es-</p><p>senciais para garantir a confiabilidade e qualidade do software. O objetivo deste estudo</p><p>foi identificar e caracterizar ferramentas de teste de desempenho existentes, conforme</p><p>relatado na literatura. Utilizando um protocolo conforme as diretrizes para revisões sis-</p><p>temáticas de literatura em Engenharia de Software, os autores classificaram as ferramentas</p><p>de teste de desempenho de acordo com sua relevância na literatura. Destacaram as fer-</p><p>ramentas mais comumente utilizadas, suas abordagens de entrada suportadas, estratégias</p><p>de carga de trabalho, métricas monitoradas e estratégias de registro.</p><p>Os resultados do estudo permitiram a quantificação e qualificação das pesquisas</p><p>relacionadas às tecnologias de teste de desempenho na literatura, proporcionando uma</p><p>taxonomia dessas ferramentas por meio de um Modelo de Caracterı́sticas. Conclui-se</p><p>que este estudo contribui para profissionais, pesquisadores e estudantes acadêmicos que</p><p>buscam ferramentas de teste de desempenho, oferecendo informações úteis para tomada</p><p>de decisões.</p><p>6. Conclusão</p><p>A pesquisa atendeu aos seus objetivos, fornecendo uma avaliação abrangente das ferra-</p><p>mentas Postman, SoapUI e Thunder Client em termos de usabilidade, análise de desem-</p><p>penho e funcionalidades. Com base nos resultados, conclui-se que o Thunder Client se</p><p>destacou em termos de usabilidade, apresentando um desempenho superior em diversos</p><p>critérios. O SoapUI, apesar de sua especialização em serviços SOAP, mostrou uma usa-</p><p>bilidade inferior em comparação com as outras ferramentas. O Postman, embora ofereça</p><p>recursos avançados, ainda há áreas onde pode ser aprimorado para atingir um nı́vel mais</p><p>elevado de usabilidade, especialmente no tratamento de erros.</p><p>Para os perfis de projetos, sugere-se que o SoapUI seja preferencialmente utili-</p><p>zado em ambientes mais especializados, onde testes avançados em serviços SOAP são</p><p>necessários. O Postman é uma escolha versátil e robusta, adequada para projetos variados</p><p>que demandam automação de testes e integrações extensas. Já o Thunder Client, por sua</p><p>simplicidade e integração direta ao ambiente VS Code, é recomendado para projetos mais</p><p>simples e integrados, oferecendo uma abordagem rápida e eficaz.</p><p>Dessa forma, a pesquisa cumpriu seu propósito ao fornecer insights valiosos para</p><p>a seleção adequada de ferramentas de testes em diferentes contextos de projeto.</p><p>Referências</p><p>Barbosa, E. F., Maldonado, J. C., Vincenzi, A. M. R., Delamaro, M. E., Souza, S. d. R.</p><p>S. d., and Jino, M. (2000). Introdução ao teste de software. Minicurso apresentado no</p><p>XIV Simpósio Brasileiro de Engenharia de Software (SBES 2000).</p><p>Costa, V., Girardon, G., Bernardino, M., Machado, R., Legramante, G., Neto, A., Basso,</p><p>F. P., and de Macedo Rodrigues, E. (2020). Taxonomy of performance testing tools:</p><p>a systematic literature review. In Proceedings of the 35th Annual ACM Symposium on</p><p>Applied Computing, SAC ’20, page 1997–2004, New York, NY, USA. Association for</p><p>Computing Machinery.</p><p>de Amorim, D. G., de Farias Júnior, I., Júnior, N. L., and Teixeira, M. M. (2016). Ge-</p><p>renciamento de teste de software: Um comparativo entre ferramentas open source.</p><p>GESTÃO. Org, 14(5):296–302.</p><p>Delamaro, M., Jino, M., and Maldonado, J. (2013). Introdução ao teste de software.</p><p>Elsevier Brasil.</p><p>Estrella, J. C. (2010). WSARCH: Uma arquitetura para a provisão de web services com</p><p>qualidade de serviço. PhD thesis, Universidade de São Paulo.</p><p>Ferreira, S. B. L. and Leite, J. C. S. d. P. (2003). Avaliação da usabilidade em sistemas de</p><p>informação: o caso do sistema submarino. Revista de Administração Contemporânea,</p><p>7:115–136.</p><p>Neto, A. (2007). Introdução a teste de software. Engenharia de Software Magazine, 1:22.</p><p>OLIVEIRA, M. J. M. (2013). Definição e implementação de uma rede p2p orientada a</p><p>serviços.</p><p>Piasse, D., Silva, A., and Silva, M. (2012). Análise de usabilidade de software apoiada</p><p>por técnicas nebulosas. In II CBSF-II Congresso Brasileiro de Sistemas Fuzzy, pages</p><p>949–967.</p><p>Santos, I. S., Neto, P. A. S., de Resende, R. S. F., da Silva, C. I. P., et al. (2010). Requisitos</p><p>e aspectos técnicos desejados em ferramentas de testes de software: um estudo a partir</p><p>do uso do sqfd. Revista Eletrônica de Sistemas de Informação, 9(2).</p><p>Sommerville, I. (2011). Software engineering (ed.). America: Pearson Education Inc.</p><p>ANEXO A</p><p>Tarefa: Enviar Requisição Simples</p><p>1 Abrir a aplicação.</p><p>2 Enviar uma requisição com as informações abaixo.</p><p>3 Avaliar a resposta positiva. Mude qualquer dado e veja dar um erro.</p><p>Informações:</p><p>url https://pjehml1grt.trf1.jus.br/pje/intercomunicacao</p><p>tipo POST</p><p>body .</p><p>xml</p><p><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://www.cnj.jus.br/servico-intercomunicacao-2.2.2/" xmlns:tip="http://www.cnj.jus.br/tipos-servico-intercomunicacao-2.2.2"></p><p><soapenv:Header/></p><p><soapenv:Body></p><p><ser:consultarProcesso></p><p><tip:idConsultante>**************</tip:idConsultante></p><p><tip:senhaConsultante>****************</tip:senhaConsultante></p><p><tip:numeroProcesso>******************************</tip:numeroProcesso></p><p><!--Optional:--></p><p><tip:dataReferencia></tip:dataReferencia></p><p><!--Optional:--></p><p><tip:movimentos>true</tip:movimentos></p><p><!--Optional:--></p><p><tip:incluirCabecalho>true</tip:incluirCabecalho></p><p><!--Optional:--></p><p><tip:incluirDocumentos>true</tip:incluirDocumentos></p><p><!--Zero or more repetitions:--></p><p><tip:documento></tip:documento></p><p></ser:consultarProcesso></p><p></soapenv:Body></p><p></soapenv:Envelope></p><p>Avaliação de usabilidade Postman (0-5)</p><p>1- Facilidade de aprender de forma intuitiva.</p><p>2- Controle de erros, informações sobre erros.</p><p>3- Eficiência: Faz o que o usuário deseja.</p><p>4- Eficácia: Faz da forma correta.</p><p>5- Satisfação: Agradabilidade, familiaridade, experiencia do usuário.</p><p>Avaliação de usabilidade Thunder (0-5)</p><p>1- Facilidade de aprender de forma intuitiva.</p><p>2- Controle de erros, informações sobre erros.</p><p>3- Eficiência: Faz o que o usuário deseja.</p><p>4- Eficácia: Faz da forma correta.</p><p>5- Satisfação: Agradabilidade, familiaridade, experiencia do usuário.</p><p>Avaliação de usabilidade SoapUI (0-5)</p><p>1- Facilidade de aprender de forma intuitiva.</p><p>2- Controle de erros, informações sobre erros.</p><p>3- Eficiência: Faz o que o usuário deseja.</p><p>4- Eficácia: Faz da forma correta.</p><p>5- Satisfação: Agradabilidade, familiaridade, experiencia do usuário.</p><p>https://pjehml1grt.trf1.jus.br/pje/intercomunicacao</p>

Mais conteúdos dessa disciplina