• Nenhum resultado encontrado

2.5 Tecnologias adicionais

2.5.2 Desenvolvimento Web

Desenvolvimento no lado do servidor

Uma vez que faz parte dos requisitos deste projecto, o desenvolvimento de um centro de controlo e gestão do teste, (sendo este do tipo aplicação Web), para controlo de várias instâncias da Plataforma de teste, para este desenvolvimento será utilizada a linguagem de programação

PHP: Hypertext Preprocessor (PHP). Não será um desenvolvimento de raiz, irá ser utilizada a Zend Framework como base. A escolha recai sobre esta Framework, em detrimento de todas as

outras existentes, pelo motivo ser a utilizada na Auditmark.

A Auditmark não escolheu esta Framework de forma aleatória. De facto, para a selecção de uma Framework, foi efectuada uma tese na Faculdade de Engenharia da

Metodologias e Ferramentas de Teste Aplicações Web

37

Universidade do Porto. Neste sentido vamos utilizar a definição de Framework utilizada nesse mesmo documento:

“Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.”

Existe nesse mesmo documento uma comparação entre várias Frameworks de PHP, onde se conclui que apesar de a Zend apresentar uma curva de aprendizagem superior é a que reúne maior agrupamento de funcionalidades necessárias ao tipo de desenvolvimento Web, a que a empresa se dedica, nomeadamente o suporte a:

 Templates;  Caching;  Validation;  AJAX;  Auth Module.

Finalmente, esta é uma Framework que implementa o padrão de desenho Model-View-

Controller (MVC), Modelos-Vistas-Controladores.

A figura 4 mostra a arquitectura deste padrão.

Figura 4 - Modelo MVC

De notar na figura 4, que o cliente interage somente com o controlador, não tendo nunca contacto com os modelos, sendo estes os que realizam o processamento privado de acesso à Base de Dados. As vistas representam o que será enviado para o cliente (HTML, CSS,

Metodologias e Ferramentas de Teste Aplicações Web

38

de aceder à Base de Dados ou realizar processamento privado, instancia um modelo para o efeito, ficando o resto a cargo do controlador. Os dados dai resultantes, (ou caso não seja necessário ir ao modelo, os dados resultantes do processamento somente do controlador), são usados para criar uma vista, que por sua vez o controlador envia para o cliente. Uma das grandes vantagens deste padrão, é que a ligação a Base de Dados só existe no Modelo, logo apenas enquanto este está instanciado, não tendo nunca ligação directa com o cliente [36].

Desenvolvimento para o lado do cliente

O sistema de gestão e controlo a desenvolver terá de disponibilizar uma interface Web, para interacção com o utilizador.

Serão utilizadas as seguintes tecnologias para seu desenvolvimento:

 HTML;

 Cascade Style Sheets (CSS);  Javascript;

 Jquery.

As duas primeiras são as linguagens que tipicamente se utilizam para a estruturação da página e para a formatação de estilos, respectivamente. O Javascript é uma linguagem de programação, que permite o desenvolvimento de páginas dinâmicas, realizando acções do lado do cliente, dispensando, quando possível, o acesso ao servidor (por exemplo, validação de dados de formulários, aviso de erros de ligação, etc.). Torna assim, essas acções mais rápidas estando estas disponíveis mais cedo para o utilizador libertando ainda, carga de processamento ao servidor.

Finalmente, a Jquery é uma biblioteca de Javascript, que disponibiliza uma enormidade de funcionalidades para criação de objectos (tabelas dinâmicas, calendários, animações, apresentações interactivas) que farão parte da página a mostrar ao cliente. Pelos seus desenvolvedores pode ser definida como:

“jQuery é uma rápida e concisa Biblioteca Javascript que simplifica a interacção com HTML, a manipulação de eventos, animação e interacções de Ajax para desenvolvimento Web rápida.

jQuery é projectada para mudar a forma como se escreve Javascript.”

A própria definição diz tudo, é porém relevante acrescentar que, esta biblioteca é independente do Browser, permitindo assim poupar o tempo de desenvolvimento necessário à criação de várias páginas com exactamente o mesmo conteúdo, mas com constituições

Metodologias e Ferramentas de Teste Aplicações Web

39

diferentes, para que funcionem correctamente em todos os Browsers (não existe ainda uma norma sobre a qual se guiem todos os desenvolvimentos dos diversos Browsers, pelo que porções de código igual têm resultados de saída diferentes disponíveis) [37].

Metodologias e Ferramentas de Teste Aplicações Web

41

Capítulo 3

Concepção da Solução

Este capítulo tem como propósito demonstrar a solução concebida. É apresentada a Plataforma, sendo expostos todos os seus componentes. Estes são explicados e descritos tanto ao nível da sua arquitectura lógica como física, sendo ainda abordada a estrutura funcional.

A Plataforma desenvolvida é composta por dois módulos principais, um para a execução de testes e um outro que constitui uma interface Web, para controlo remoto de uma ou mais instâncias da Plataforma.

Este capítulo começa por abordar o Módulo de Execução de Testes (MET), sendo descritas a sua estrutura e funcionalidades, sendo ainda demonstrado como foram integradas as ferramentas descritas no capítulo anterior, de forma a ser possível executar as técnicas e metodologias de teste enunciadas nesse mesmo capítulo. Seguidamente é feito o mesmo tipo de descrição para a interface de controlo, o Centro de Controlo Remoto (CCR).

Ao nível da descrição, fecha este capítulo uma explicação de como pode ser utilizada a solução desenvolvida para criar uma rede de execução de testes a aplicações Web.

Como conclusão, este capítulo é encerrado com uma análise, que pode ser interpretada, como a resposta à pergunta que aqui se deixa em aberto: Porquê utilizar esta solução?