• Nenhum resultado encontrado

3. ANÁLISE COMPARATIVA DE FUNÇÕES MDX

3.2 MÉTODOS

3.2.2 DESENVOLVIMENTO DA FERRAMENTA TestMDX

Embora o Analysis Services e o Mondrian disponham de ferramentas para executar consultas MDX, estas ferramentas não permitem, ao mesmo tempo, executar as consultas no Analysis Services e no Mondrian. Além disso, não permitem executar um script com várias consultas, tampouco obter e registrar, em um arquivo, informações sobre quais consultas foram executadas com sucesso (ou não) nos dois servidores. Dadas estas limitações, foi necessário desenvolver a ferramenta TestMDX para executar os testes de funções MDX nestes servidores. O desenvolvimento desta ferramenta justifica- se pela necessidade de verificar se de fato as sintaxes das funções testadas são executadas conforme a especificação. A ferramenta TestMDX é capaz de executar simultaneamente as consultas nos dois servidores OLAP e registrar o resultado dos testes para posterior análise. Na Figura 3.3 mostra-se os casos

de uso da ferramenta TestMDX. Nesta Figura tem-se o caso de teste “Cadastrar Conexões”, o qual permite ao usuário cadastrar conexões com servidores OLAP; o caso de uso “Cadastrar Casos de Testes” que permite ao usuário cadastrar os casos de testes a serem executados e por fim, o caso de uso “Executar Testes”, o qual, com base nas conexões e casos de testes previamente cadastrados, permite que os usuários executem vários testes simultaneamente nos dois servidores OLAP.

Figura 3.3 - Casos de uso da ferramenta TestMDX

Na Figura 3.4 apresenta-se a arquitetura de software para uso da ferramenta TestMDX. Nesta Figura observam-se três camadas: Dados (o DW), Serviço OLAP (ilustrada pelos servidores Mondrian e Analysis Service) e Cliente (a ferramenta TestMDX). Além disso, também é possível observar o uso das API OLAP4J e JDBC. Para acessar os servidores OLAP via OLAP4J utilizou-se o driver genérico XmlaOlap4jDriver, pois ainda não existe um driver OLAP4J nativo para o Analysis Service. Ressalta-se que os servidores OLAP poderiam ser acessados usando apenas a API XMLA. Contudo, dado que manipular elementos XML é mais complexo do que manipular objetos Java, optou-se pela API OLAP4J. Para acessar a base de dados, que armazena os resultados dos testes realizados com a ferramenta TestMDX, utilizou-se a API

SQLite-JDBC. Também foram utilizadas as APIs MySQL Connector/Net e MySQL Connector/JDBC para conectar, respectivamente, o Analysis Services e o Mondrian ao DW de testes.

Figura 3.4 - Arquitetura para usar a ferramenta TestMDX

Na implementação da ferramenta, as classes foram divididas em duas categorias. A primeira delas é composta por classes de interface gráfica do usuário. A segunda é composta por classes de controle da ferramenta. São estas classes que executam as atividades de processamento e controle dos testes. O diagrama de classes apresentado na Figura 3.5 mostra as classes gráficas da ferramenta TestMDX. Estas classes utilizam a interface IFachada para se comunicar com a camada que contém as classes de controle (ver Figura 3.6).

Figura 3.5 - TestMDX: Diagrama de classes de visualização

Na Figura 3.5, a classe “TPrincipal” cria e controla a primeira tela da

ferramenta TestMDX (ver Figura 3.7); esta contém os menus que dão acesso

às demais telas da ferramenta. Já a classe “TCadastrarConexoes” possui

métodos para manter dados que permitem à ferramenta conectar-se aos servidores OLAP. A classe “TCadastrarCasosTestes” mantém dados dos casos de testes, ou seja, as conexões que serão utilizadas para o teste, além dos nomes dos arquivos de entrada e de saída do teste. Por fim, a classe “TTesteAutomatico” pemite a seleção e execução automática de um caso de

teste. Estas classes, com exceção de “TPrincipal”, utilizam os métodos existentes na interface “IFachada” para realizar parte de suas operações.

Figura 3.6 - TestMDX: Diagrama de classes de controle

Na Figura 3.6, a classe “TestarConexaoOLAPMDX” usa dados

previamente cadastrados para conectar com os servidores e fazer teste de conexão, além de verificar a existência de cubos e metadados. Já a classe “ProcessarTesteAutomatico” é responsável por controlar o processamento de consultas automáticas. Esta classe faz a leitura do arquivo de consultas MDX e controla o fluxo de execução destas nos servidores OLAP. A classe “ExecutarConsulta” é instanciada para cada um dos servidores. Dessa forma,

cada instância da classe “ExecutarConsulta” representa uma consulta

executada em um servidor. A classe “TestarMDXOlapServidor” faz a conexão

com os servidores OLAP; através do protocolo XMLA, envia a consulta e lê seu resultado . Por fim, a classe “TExibirResultado” mostra na tela a síntese do processamento do teste automático.

A ferramenta TestMDX foi desenvolvida utilizando a linguagem de programação Java. Os pré-requisitos para o funcionamento adequado da ferramenta TestMDX são: (1) os servidores OLAP devidamente configurados para prover acesso XMLA; e (2) os servidores com a mesma base de dados configurada e o mesmo esquema de cubo OLAP para fins de testes. A tela inicial da ferramenta TestMDX é mostrada na Figura 3.7.

Figura 3.7 - TestMDX: Tela inicial da ferramenta

Nesta tela (Figura 3.7) existem três botões, o primeiro dá acesso ao cadastro de conexões com os servidores OLAP, o segundo ao cadastro de casos de testes e o terceiro dá acesso à execução de testes nos servidores. Através dos menus também é possível acessar estas opções da ferramenta.

Figura 3.8 - TestMDX: Tela de cadastro de conexões

Antes de realizar um teste automático com a ferramenta TestMDX, é preciso cadastrar conexões com os servidores OLAP. Na tela de cadastro de conexões (ver Figura 3.8), o usuário seleciona o tipo de conexão (e.g., Mondrian ou Analysis Services) e informa os dados necessários para que a ferramenta possa estabelecer uma conexão com os servidores OLAP. Depois disso, são cadastrados os casos de testes (ver Figura 3.9), informando as conexões que serão utilizadas, bem como o arquivo que contém as consultas a serem testadas e o arquivo que terá a saída dos testes. A estrutura desses arquivos é ilustrada nas Figuras 3.12 e 3.13, respectivamente. Feito isso, o usuário acessa a tela de execução de teste automático (ver Figura 3.10), seleciona um caso de teste e inicia a execução do teste automático. Por fim, a

Figura 3.9 - TestMDX: Cadastro de caso de teste

Na ferramenta TestMDX, um caso de testes (ver Figura 3.9) corresponde a um registro contendo: a) os dados das conexões que serão utilizadas para execução de consultas MDX; b) o nome do arquivo que contém todas as consultas MDX (i.e., repositório de consultas) que serão testadas nos servidores OLAP; e c) o nome do arquivo de saída no qual são registrados os resultados dos testes.

Figura 3.11 - TestMDX: Tela de resumo dos testes

Figura 3.12 – TestMDX: Layout do repositório de consultas

Um artefato de software importante para a execução de testes automáticos é o arquivo Excel, que funciona como repositório de consultas MDX. Este arquivo (ver Figura 3.12) é formado pelas colunas “A”, “B” e “C”, sendo obrigatório apenas o preenchimento das duas primeiras. A primeira linha (o cabeçalho) não é considerada no processamento dos testes e descreve o

significado de cada coluna. Outro artefato importante é o arquivo resultante da execução dos testes. Neste arquivo (ver Figura 3.13) são gravadas as mensagens retonadas pelos servidores durante o teste, além, do status do teste em cada um dos servidores.

Figura 3.13 - TestMDX: Arquivo de saida de testes

O diagrama de atividade apresentado na Figura 3.14 ilustra como os testes são realizados pela ferramenta TestMDX. Nesta Figura, tem-se a leitura do arquivo com as consultas MDX. Depois, enquanto não for final do arquivo, cada consulta será lida e executada nos servidores Analysis Services e Mondrian. Ao chegar no final do arquivo de testes, é exibida uma tela com resultados do teste, encerrando os testes.

Documentos relacionados