Por que eu devo ler este artigo:Este artigo trata da importância da realização de testes e como algumas ferramentas podem ser úteis para o auxílio a essa tarefa. Este artigo irá apresentar uma ferramenta chamada Selenium Evidence que é utilizada para gerar relatórios a partir dos testes funcionais de aplicações Web. O tema é útil para analistas de qualidade, desenvolvedores e gerentes de projeto, para auxiliar e melhorar o processo de software através de uma API que gera relatórios a partir de testes funcionais, tornando o trabalho da equipe de qualidade mais prático e produtivo.
Autores: Luiz Fernando Andrade de Souza, Charleston Josué Campos e Marco Antônio Pereira Araújo

A engenharia de software (ES) surgiu para auxiliar no planejamento e desenvolvimento de software, bem como em sua manutenção. Com o avanço tecnológico, foram sendo desenvolvidos softwares cada vez maiores e mais complexos, e de difícil manutenibilidade, o que resultava em grandes atrasos, custos elevados com relação ao produto (que muitas vezes não passava confiança aos clientes), e de baixo desempenho. Havia então a necessidade de se pensar em novos métodos para estruturação e desenvolvimento de projetos de software.

Teste de software é uma das vertentes de ES. Para garantir a qualidade de um software são necessários vários outros fatores, como um bom levantamento de requisitos, um modelo de processos bem definido, adoção de padrões e boas práticas no desenvolvimento e, não menos importante, testes realizados no produto. Em alguns casos, pouco se investe na área de qualidade, justificando-se que o gasto não seria compensador. Porém, dados estatísticos mostram que corrigir erros depois que o produto já foi entregue é até 100 vezes mais caro, causando prejuízo para o cliente e também para a empresa desenvolvedora.

O controle de qualidade é indispensável nos processos de desenvolvimento de software. Conceitos de qualidade são imprecisos e difíceis de serem aceitos por desenvolvedores e empresas de desenvolvimento, no entanto, métricas de qualidade foram criadas para ajudar o processo de desenvolvimento de software onde o teste, por exemplo, é um elemento importante para garantir a qualidade do produto final. As atividades de teste podem muitas vezes se tornar cansativas e improdutivas, pois são executadas de forma inadequada, aumentado assim o risco do software apresentar problemas para o usuário.

Com objetivo de melhorar este processo, foram criados testes automatizados, que proporcionam a execução dos testes de forma rápida e com uma cobertura maior do sistema, quando desenvolvidos de forma correta. Algumas APIs foram criadas com este propósito, uma delas é a Selenium Evidence, que é uma ferramenta que auxilia a criar relatórios com evidências de testes funcionais de forma automatizada.

Existem várias técnicas e métodos de se testar um software como teste de unidade, teste de integração, teste funcional, teste de cobertura, teste de regressão, dentre outros. O que será abordado neste artigo é o teste funcional, onde não é necessário que se visualize o código fonte para realizar os testes.

Pré-requisitos

Antes de iniciar este artigo, é importante conhecer um pouco sobre as ferramentas que serão utilizadas: JUnit, Selenium WebDriver, Maven, JasperReport e JasperSoftware Studio.

Como pré-requisito, é necessário conhecer conceitos básicos de programação orientada a objetos, conhecer a linguagem de programação Java, HTML, JUnit e Selenium WebDriver. O Maven, JasperSoftware e o Jasper Report serão explicados nos próximos tópicos.

Maven

O Maven é uma ferramenta de integração de projetos e gerenciamento de build. Uma vez configurado o arquivo pom.xml do projeto, define-se a versão das APIs e também do compilador Java no qual o projeto será compilado. Ele também é responsável por gerenciar dependências, controlar versão do projeto, executar testes, entre outras funcionalidades. Neste artigo vamos utilizar apenas o gerenciamento de dependência do Maven com o objetivo de organizar as bibliotecas do projeto.

Um projeto Maven cria um arquivo chamado pom.xml, utilizado para descrever as características do projeto como, por exemplo, as dependências que o projeto irá utilizar, bem como sua versão. A Figura 1 mostra um exemplo de arquivo pom.xml.

Figura 1. Exemplo de um arquivo pom.xml

JasperReport

O JasperReport é uma API (Application Programming Interface) interm ...

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora