Ferramenta I Macros

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 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/.
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).
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.
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).
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.
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


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


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.
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


● 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...”
“...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.
● 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).

Você também pode gostar