Esse artigo faz parte da revista Engenharia de Software 8 edição especial. Clique aqui para ler todos os artigos desta edição

 

Validação, Verificação e Testes

Testes Automatizados de Software em Web Services

Introdução à Ferramenta SoapUI

 

De que se trata o artigo:

Utilização de testes automatizados de software em WebServices com a ferramenta SoapUI. O artigo apresenta a utilização da ferramenta para testes funcionais e de desempenho.

 

Para que serve:

Fornecer conhecimentos para se testar, na prática, e de forma automatizada, WebServices com a ferramenta SoapUI. Estabelecer uma visão crítica sobre a necessidade de se desenvolver software de qualidade e a relação da abordagem de desenvolvimento baseado em teste com a busca por qualidade.

 

Em que situação o tema é útil:

Além de ser considerada uma boa prática, o uso de testes de software reduz o número de defeitos, aumentando assim a qualidade do produto de software e satisfação dos usuários.

 

 

Notoriamente, e principalmente nos últimos anos, é possível observar uma profunda evolução nas nossas vidas e nas relações com o mundo. Certamente, nos últimos vinte anos houve uma evolução, neste sentido, maior que de décadas anteriores. As comunicações foram uma das áreas mais impactadas, mudando a forma com a qual interagimos com o mundo. Como apoio a esta evolução foram desenvolvidas várias tecnologias, principalmente na área da engenharia de software. Novas técnicas de desenvolvimento de software, novos métodos, formas de documentação, linguagens, entre outros, foram desenvolvidas. A necessidade de aspectos de usabilidade nos sistemas começaram a fazer diferença e a palavra qualidade cada vez mais foi se destacando na pauta dos desenvolvedores. A qualidade no software passou a ser uma busca constante.

O software, hoje em dia, está presente nas mais variadas áreas e tarefas. Desde equipamentos presentes na cozinha, como um microondas ou geladeira, até equipamentos mais sofisticados, como um avião, são gerenciados e até mesmo comandados por um aplicativo embarcado. Sem contar os softwares mais conhecidos, como sistemas operacionais e aplicativos comerciais, entre outros. Por isso, a busca pela qualidade passou a ser uma busca constante para os desenvolvedores, já que uma falha nestes softwares pode resultar em grandes perdas financeiras, de tempo e, dependendo da aplicação, até em vidas humanas.

Neste sentido, o tema Teste de Software vem sendo muito discutido. Atualmente existem várias abordagens de teste e cada vez mais surgem outras novas. A principal abordagem utilizada atualmente em muitas empresas de desenvolvimento, principalmente as de médio para pequeno porte, é a utilização dos testes manuais. Nela é atribuída a função de testar as aplicações desenvolvidas a um membro da equipe de forma manual. No entanto, esta abordagem é muito ineficaz e demorada. As melhores técnicas de teste são baseadas em algum processo automatizado, onde é possível executar uma maior quantidade de testes, buscando assim testar ao máximo os requisitos de um software. Nesta estratégia, existem algumas técnicas, entre elas testes unitários, testes funcionais, testes de regressão, teste de desempenho, testes em banco de dados, testes em WebService, entre outros.

O objetivo deste artigo é apresentar de forma prática a abordagem de desenvolvimento de software baseada em testes, conceituar a técnica de programação por intenção e exibir a utilização prática da estratégia de teste funcional e de desempenho em WebServices, usando a ferramenta SoapUI, aplicados ao desenvolvimento de WebServices na arquitetura SOA (Service Oriented Architecture – Arquitetura Orientada a Serviços).

O teste funcional, apresentado neste artigo no contexto de WebServices, é um tipo de teste baseado em técnicas de caixa-preta, isto é, verifica-se o comportamento da aplicação através de sua estrutura interna.

Arquitetura Orientada a Serviços

SOA vem fazendo muito sucesso com altos índices de utilização. A proposta é uma arquitetura baseada em serviços e na WEB. Ou seja, uma aplicação poderá consumir vários serviços de um servidor de serviços baseado em uma estrutura WEB e através do protocolo da camada de aplicação HTTP.  A Figura 1 busca ilustrar esta tecnologia. Há um provedor de serviços, onde um WebService é implementado. Estes serviços podem então ser consumidos por uma grande gama de dispositivos, linguagens e outras tecnologias, garantindo assim a interoperabilidade de aplicações e linguagens. Uma aplicação pode inclusive ser desenvolvida toda nesta arquitetura. Sempre que uma função for executada por um usuário, a aplicação consome o seu WebService para cumprimento da funcionalidade. As bases para a construção de um WebService são os padrões XML e o protocolo SOAP (Simple Object Access Protocol, baseado em XML). O transporte dos dados é realizado normalmente via protocolo HTTP, ou HTTPS para conexões seguras. Os dados são transferidos no formato XML e encapsulados pelo protocolo SOAP. 

...

Quer ler esse conteúdo completo? Tenha acesso completo