Ferramenta i Macros

12
Ferramenta iMacros Alan Filipe Santana Álvaro Nogueira José Alair da Silva Júnior Mariana Diniz Magalhães 1. Introdução A iMacros é uma ferramenta utilizada para automatizar tarefas, realizar testes e extrair dados em aplicações web. É desenvolvida pela iOpus ( http :// www . iopus . com /) e possui um plugin gratuito para uso no Firefox ( http :// www . iopus . com / imacros / firefox /? ref = fxmoz _ pt - br). Este trabalho mostra como o plugin iMacros for Firefox pode ser utilizado para realizar testes em aplicações web, auxiliar na verificação de performance e extrair informações. 2. Instalação O download do plugin pode ser encontrado no endereço https :// addons . mozilla . org / pt - br / firefox / addon / imacros - for - firefox /.

Transcript of Ferramenta i Macros

Page 1: Ferramenta i Macros

Ferramenta iMacros

Alan Filipe SantanaÁlvaro NogueiraJosé Alair da Silva JúniorMariana Diniz Magalhães 1. Introdução

A iMacros é uma ferramenta utilizada para automatizar tarefas, realizar testes e extrair dados em aplicações web. É desenvolvida pela iOpus (http://www.iopus.com/) e possui um plugin gratuito para uso no Firefox (http://www.iopus.com/imacros/firefox/?ref=fxmoz_pt-br).

Este trabalho mostra como o plugin iMacros for Firefox pode ser utilizado para realizar testes em aplicações web, auxiliar na verificação de performance e extrair informações. 2. Instalação

O download do plugin pode ser encontrado no endereço https://addons.mozilla.org/pt-br/firefox/addon/imacros-for-firefox/.

Page 2: Ferramenta i Macros

Figura 1: Instalação do plugin

Após a instalação do plugin, o painel da ferramenta pode ser ativado através da tecla F8. Ele contém abas utilizadas para gravar, usar e editar macros. As macros gravadas são salvas em arquivos de extensão .iim e podem ser editadas livremente. A ferramenta possui uma sintaxe própria que pode ser consultada na wiki http://wiki.imacros.net/Main_Page.

Na aba Editar o botão Opções abre a janela de configurações da ferramenta onde é possível definir, dentre outras coisas, o caminho das macros e downloads efetuados pela ferramenta (figura 2).

Page 3: Ferramenta i Macros

Figura 2: Configuração de caminhos da ferramenta 3. Gravando e executando uma macro

Para gravar uma macro pode-se utilizar a opção Gravar ou criar um arquivo .iim conforme as especificações da ferramenta. Ao utilizar a opção Gravar, todas as ações no navegador são registradas e exibidas na janela da ferramenta (figura 3). Ao finalizar a tarefa basta parar a gravação e salvar o arquivo.

Page 4: Ferramenta i Macros

Figura 3: Exemplo de gravação de macro

Após salvar o arquivo, este pode ser selecionado na aba Usar e executado quantas vezes o usuário necessitar. 4. Extração de dados

A extração de dados é realizada com base numa tag HTML, na sua posição de ocorrências na página e nos seus atributos. A página da wiki http://wiki.imacros.net/Data_Extraction possui informações sobre como utilizar a sintaxe de extração de dados. O exemplo mostrado na figura 4 extrai o primeiro resultado do google quando é realizado uma pesquisa com o termo iMacros. No exemplo, a linha 6 procura a tag <div class=”s”> que no google contém o resultado de uma busca e extrai o texto que tem dentro dela. A última linha grava o que foi extraido no arquivo cujo nome é formado pela string primeiro_resultado_google_, mais a data atual, mais .txt. Como o parâmetro FOLDER não foi especificado, o arquivo é gravado no caminho configurado na ferramenta para downloads (Figura 2).

Page 5: Ferramenta i Macros

Figura 4: Macro para extrair um resultado do google 5. Registrando tempo de execução

A ferramenta permite registrar o tempo de execução através do comando STOPWATCH http://wiki.imacros.net/Web_Testing#Automating_Response_Time_Measurements). Este comando é utilizado como uma identificação (ID) antes e depois dos passos que se deseja medir. Após o registro, os dados podem ser gravados num arquivo csv (Comma-separated values) através da linha de comando SET !EXTRACTADD {{!STOPWATCHTIME}}. A figura 5 mostra um exemplo para medir o tempo para consulta da relação de ingressantes de 20102 no curso de Sistemas de Informação.

Page 6: Ferramenta i Macros

Figura 5: Macro para consulta de ingressantes de 20102 do curso com código G014.

O arquivo gerado tem o nome “performance_<nome da macro>.csv e é gravado no caminho de downloads. 6. Teste da ferramenta

Para ilustrar como a ferramenta pode ser utilizada para testes, foram executados dois casos de testes no Sistema Integrado de Gestão da UFLA. O primeiro realiza uma consulta de uma disciplina e registra os tempos de execução. O segundo caso de teste realiza uma consulta e extrai a tabela de horários do aluno. Ambos testes seguiram os seguintes procedimentos:

1- Após realizar a autenticação no SIG a gravação de macro foi ativada;2- Após a execução dos passos do teste, a macro foi salva;3- O arquivo salvo foi editado para realizar ações adicionais (registro de tempos e

extração de dados).

6.1. Teste de consulta de disciplina e registro de tempos

Page 7: Ferramenta i Macros

A macro produzida é mostrada na figura 6. Foi utilizado o comando STOPWATCH para registrar o tempo total do teste, o tempo de busca e o tempo de consulta da disciplina. Os resultados foram gravados num arquivo com nome tempos_consulta_disciplina.csv.

Figura 6: Macro para teste e registro de tempos da consulta de uma disciplina no SIG

Utilizando o Excel, é possível importar o arquivo CSV e, partir dos dados, gerar gráficos, relatórios, calcular médias, dentre outras análises. A figura 7 mostra um gráfico gerado com os tempos de consulta de uma disciplina.

Figura 7: Gráfico com o resultado dos testes de performance da consulta de disciplina

Page 8: Ferramenta i Macros

6.2 Teste de extração de dados

A figura 8 mostra a macro desenvolvida. A linha de comando SET !EXTRACT_TEST_POPUP NO evita que a ferramenta exiba uma caixa de diálogo com os dados extraídos.

Figura 8: Macro para extração da tabela de horários

O conteúdo do arquivo gerado pode ser visto na figura 9.

Figura 9: Conteúdo do arquivo gerado com a extração da tabela de horários. 6.3 Relação das Características da Ferramenta com o Conteúdo da Disciplina

Tendências atuais apontam uma crescente expansão das aplicações distribuídas e conseqüente aumento do uso de Serviços Web.Sob esta perspectiva o grupo escolheu uma ferramenta voltada principalmente para automatização de tarefas, geração de casos de teste e verificação de performance para Web.

O iMacros apresenta características cujo enfoque principal se relaciona à área de teste da engenharia de software, e portanto compõe a etapa Check do ciclo Plan-Do-Check-Act (PDCA) do Gerenciamento da Qualidade de Software.

A ferramenta escolhida abrange aspectos importantes relacionados á qualidade de software tais como: eficiência, funcionalidade, manutenibilidade e usabilidade.

Page 9: Ferramenta i Macros

O iMacros busca a eficiência principalmente através do registro do tempo de execução. Por meio deste registro é possível se mensurar o tempo de resposta de componentes específicos de uma página Web de maneira isolada. Tal rastreabilidade possibilitará ações corretivas mais focalizadas nos possíveis feedbacks que ocorrerão ao longo do processo de desenvolvimento de páginas Web. A eficiência proporcionada refletirá de forma positiva no tempo sob duas vertentes principais: tempo de espera do cliente e tempo alocado para os testes. A primeira será percebida pelo cliente através do uso de páginas Web de resposta rápida. Já a segunda será notada pela equipe de testes através da redução de tempo nos testes resultante do processo de automatização conferido pela ferramenta. Esta redução em si já constitui um grande avanço, tendo em vista que os testes respondem por maior esforço do projeto que qualquer outra atividade de engenharia de software.

Os aspectos de funcionalidade são trabalhados pelo iMacros através dos próprios casos de teste gerados. A partir de cada macro gerado é possível testar uma determinada funcionalidade da página web, conforme pode ser visto nos resultados obtidos neste trabalho. Uma abordagem que poderia ser utilizada é a transformação dos requisitos funcionais e não-funcionais em casos de teste por meio do uso de macro. Partindo deste pressuposto quanto maior a quantidade de casos de testes criados, possivelmente maior será a cobertura dos testes a serem realizados. Entretanto, cabe ressaltar que nem sempre esta idéia será válida. A cobertura dos testes depende de outros fatores e não somente da quantidade de teste realizados.

A manutenibilidade é alcançada pela conseqüente sistematização dos testes conferida pelos casos de teste criados. O alto grau de padronização inerente à sistematização contribui para o gerenciamento da modificabilidade. Este tipo de gerenciamento é relevante principalmente se considerado o contexto das diferentes versões que são criadas ao longo processo de desenvolvimento até se chegar à versão final. Os casos de teste acusam de forma automática quando uma funcionalidade ou componente for por algum motivo negligenciado de uma versão para outra.

Outro componente da qualidade que é contemplado pela ferramenta é a usabilidade. Durante e a partir da geração dos casos de teste, é realizada de forma implícita a verificação da interface da página Web. Esta verificação contribuirá de forma efetiva para o processo validação da pagina pelo cliente. Ainda dentro da usabilidade pode-se mencionar a maior operacionalidade na navegação de páginas que o iMacros oferece. Este benefício, porém pode ser visto mais como uma funcionalidade de software do que como um aspecto técnico de ferramenta de teste.

De maneira superficial o estudo da ferramenta iMacros e a observação das características mencionadas acima ajudaram na reflexão de temas importantes como: verificação, validação, otimização de recursos (tempo), dentre outros. Tais temas relacionados à engenharia de software e à satisfação do cliente configuraram na prática alguns dos conceitos da gestão da qualidade de software.

7. Pontos Fortes e Pontos Fracos da Ferramenta 7.1 Pontos Fortes

Page 10: Ferramenta i Macros

● Economia de tempo: Auxilia na execução de tarefas web obtendo entrada de dados de forma mais rápida e aumentando assim a velocidade dos testes em site.

● Economia de dinheiro: Constitui uma solução de teste web de baixo custo quando comparada às demais soluções existentes no mercado. Segundo pesquisas, ferramentas com capacidade inferior ao iMacros custam em média $30.000,00.

● Maior usabilidade: Possui interface bastante intuitiva de forma que o uso da ferramenta se torne fácil até mesmo para usuários iniciantes.

● Flexíbilidade: Automatiza as tarefas mais complexas com a interface de scripts por meio da correlação com diversas linguagens de programação como Windows Scripting Host e Visual Basic.

● Documentação de páginas Web modificadas: Salva e imprime páginas da web de forma direta.

● Aumento da produtividade: Executa as tarefas que exigem repetição (trabalho operacional) disponibilizando assim maior tempo para o trabalho intelectual contribuindo para a criatividade e conseqüentemente a produtividade.

7.2 Pontos Fracos

● Domínio de aplicação limitado: A utilização da ferramenta se restringe a aplicações Web.

● Limitação de navegadores: O plugin se limita ao navegador Mozilla Firefox versão 3 ou maior, já a versão comercial iMacros Scripting Edition funciona no também no Microsoft Internet Explorer versão 6 ou maior.

● Sintaxe própria: Para utilizar alguns recursos é necessário o conhecimento da sintaxe da ferramenta.

● Problema de tradução na Interface: O idioma predominante na interface é o português, porém exitem parte que ainda estão em ingles. Isso demosntra a carência de cuidado na definição da interface e pode gerar um descredito na ferramenta.

8. Referências do uso da ferramenta

Diversos são os casos de sucesso na utilização da ferramenta iMacros, no site de seu desenvolvedor (http://www.iopus.com/imacros/reviews/#agilent) é possível encontrar alguns desses casos e também resenhas feitas por revistas especializadas. Abaixo segue alguns trechos de resenhas realizadas sobre o iMacros e também um caso de uma empresa que utilizou o iMacros para integração de seu software:

● CRN TEST CENTER, iMacros Product Review, Marejo Morejon, April 28, 2007

”...gerentes de projeto, muitas vezes evitam Web suites que são simples de usar. Gerentes de Projeto às vezes acreditam que as ferramentas mais simples de teste Web podem não ser capazes de lidar com cenários de testes complexos. No entanto, quando o iMacros foi testado , os engenheiros CRN descobriram que ele pode facilmente competir com o softwares de 20.000 dólares de empresas de testes...”

Page 11: Ferramenta i Macros

“...iMacros fornece 24 / 7 controle automático de aplicações Web, realiza testes de regressão, automatiza as apresentações em formulários Web e interage com os aplicativos de animação...”

Resenha completa:http://www.crn.com/reviews/channel-programs/186701357/is-simplified-web-testing-

possible.htm?itc=refresh

● Tucows Software Library iOpus iMacros Review

"Este programa é original – é o programa de macros criada pela primeira vez para a Internet. Ele faz o preenchimento de formulários, navega em sites familiares, e até mesmo pesquisa em sites de leilões.

"Gostei deste programa, ele oferece uma maneira ideal para fugir da rotina monótona de preencher formulários ou entrar em sites seguros, oferece segurança e integração com linguagens de programação, e ainda bloqueia janelas pop-up.Estou impressionado..!"

● Agilent Technologies

A Agilent Technologies é a maior empresa mundial de medição e líder em tecnologia de comunicações, eletrônica e ciências da vida. A empresa tem 19.000 funcionários e atende clientes em mais de 110 países.

"Depois de considerar uma gama de soluções de software para integração no seu software QoSM WebTrans, Agilent Technologies selecionou iMacros como o principal sistema para o reforço da sua funcionalidade de monitoramento de transação web. O aprendizado do iMacros é curto, possui um funcionamento intuitivo, recursos avançados e rentabilidade.”

8.1 Experiência do Grupo x Referência Encontrada

● Eficiência:No teste da ferramenta, onde o grupo testou dois casos,no primeiro caso (Consultas da disciplina e registro do tempo de execução) e no segundo caso( o teste realiza uma consulta e extrai a tabela de horários do aluno), verifica-se que o tempo de resposta no teste SIG refletiu de forma eficiente e positiva para o usuário(aluno) e possibilitou um feedback para o grupo para possíveis correções.

● Funcionalidade:Na gravação da macro o grupo utilizou o comando STOPWATCH que possibilitou registrar o tempo total do teste, o tempo de busca e o tempo de consulta da disciplina o que deu a noção do tempo gasto em segundos no intervalo de cada clique e permitiu a automatização da tarefa com a gravação da macro em seguida.

● Manutenibilidade:Como a ferramenta é “livre” o testador pode continuar o seu desenvolvimento contribuindo para uma ferramenta cada vez mais completa a cada versão.Essa modificação nos permite resolver os problemas que vão surgindo à medida que os casos de teste forem criados e os relatórios de uso gerados analisados.

Page 12: Ferramenta i Macros

● Usabilidade:Através da ferramenta,é possível navegar por várias páginas,onde todos os passos vão sendo gravados na macro.A macro desenvolvida extraiu a tabela de horários e gerou um arquivo com todo o conteúdo requisitado.

Esta ferramenta permitiu ao grupo, o teste em profundidade do desempenho do site SIG (Sistema Integrado de Gestão).