Implementação do framework de
testes automáticos Fates Web no
contexto do projeto SIGA-EDU
Rafael Boufleuer¹, Celio Trois¹, Walter Priesnitz Filho¹,Rogério Turchetti¹, Alfredo Del Fabro Neto¹, Tiago Antônio Rizzetti¹
Índice
1. Introdução
2. Ferramentas de Teste
3. Framework Fates Web
4. Implementação do Framework
5. Considerações Finais
1- Introdução
O projeto SIGA-EPCT (Sistema Integrado de Gestão
Acadêmica da EducaçãoProfissional e Tecnológica), consiste em um sistema integrado de gestão
acadêmica desenvolvido com tecnologias livres e de forma colaborativa por várias instituições federais do Brasil.
No SIGA-EDU, é necessário utilizar-se de um
processo de testes ágil, abrangente e preciso, e
portanto, observou-se a necessidade de substituição dos testes manuais por uma plataforma de testes
1- Introdução
No modo convencional de desenvolvimento de uma
funcionalidade, é necessário estudar o problema, pensar em uma solução e, em seguida, implementá-la.
A execução manual de um caso de teste é rápida e
efetiva, mas a execução e repetição de um vasto
conjunto de testes manualmente é uma tarefa custosa e cansativa.
1- Introdução
Uma solução proeminente para tais problemas são os
testes automáticos de software, os quais são uma das principais atividades realizadas para melhorar a
qualidade de um produto em desenvolvimento.
Seu principal objetivo é revelar a presença de erros o
mais cedo possível no ciclo de desenvolvimento de
software, buscando minimizar o custo da correção dos mesmos.
2 - Ferramentas de Teste
Selenium
SeleniumRC
JUnit
Eclipse
TestLink
2 - Ferramentas de Teste
Selenium: Todas as ações e comandos efetuados
pelo usuário são capturados e registrados.
SeleniumRC: Permite que o código dos testes sejam
exportados em várias linguagens de alto nível (Java, Ruby, Python ou C#).
JUnit: Recebe as informações obtidas do navegador
e compara com os valores esperados da execução de um determinado teste.
2 - Ferramentas de Teste
Eclipse: É o ambiente de desenvolvimento que está
sendo usado como ferramenta base para a construção dos testes automatizados.
TestLink: É baseado na Web e permite facilmente
criar e gerir processos, bem como organizá-los em planos de teste.
Figura 1 - Criação e execução dos
Testes Automáticos
3 - Framework Fates Web
Utilizando-se essa plataforma, o teste manual torna-se
necessário uma única vez,na qual, através do
Selenium, todas as ações e comandos efetuados pelo usuário são capturados e registrados.
Após isto, as ações podem ser repetidas, através do
JUnit, quantas vezes forem necessárias. Os
resultados são enviados para o TestLink, onde é feito o gerenciamento das execuções dos testes.
3.1 - Implementação do Framework
Fates Web
É nele que ocorre todo o processo de
desenvolvimento dos testes automáticos,desde a
execução do teste, passando pelo login automático, a leitura e interpretação do código que foi gerado pelo Selenium.
Depois disto, é feito o envio dos resultados para o
TestLink, onde serão armazenados e gerenciados os testes.
Figura 2 - Interligação entre componentes da
arquitetura do framework FatesWeb.
3.1 - Implementação do Framework
Fates Web
No framework, os Casos de Teste são agrupados em
pacotes, de acordo com a funcionalidade a ser
testada. As fucionalidades são representadas por Casos de Uso (CDUs).
Para cada CDU, são criadas diversas classes, onde
cada uma representa um teste diferente dentro do respectivo CDU.
3.1 - Implementação do Framework
Fates Web
Estas classes estendem a classe FatesWebManager e
simulam um usuário utilizando as funcionalidades do
Sistema. Cada um destes CDUs por sua vez, possui um Conjunto de Testes (TesteSuite).
Este conjunto de testes agrupa todas as classes de testes
do respectivo CDU, para possibilitar a execução de todos os Casos de Teste de um CDU de uma só vez.
4 - Considerações Finais
O Framework Fates Web está sendo desenvolvido
para suprir as necessidades do projeto SIGA-EDU,
com o principal objetivo de contornar as desvantagens dos testes manuais.
Com isto, conseguiu-se uma melhora nos testes, onde
4 - Considerações Finais
Os relatórios obtidos contêm de forma organizada as
informações necessárias, possibilitando a descoberta de erros no software o mais cedo possível no ciclo de desenvolvimento.
Além disso, toda a verificação de testes é realizada de
forma automática, possibilitando um processo de testes com o mínimo de intervenção humana.
Agradecimento
Os autores agradecem à RENAPI (Rede de
Pesquisa e Inovação em Tecnologias Digitais)
pelo incentivo e ajuda financeira para
desenvolvimento desse trabalho.
{rafaboufler, celio.trois, walter, turchetti, alfredodfn}@redes.ufsm.br [email protected]