Para procederem à avaliação dos seus trabalhos, os autores de sistemas análogos ao abordado neste trabalho, recorreram a diversas técnicas e soluções diferentes, como a execução de testes em vários tipos de ambientes controlados [2,8,25] ou ainda a parcerias com websites com um grande número de utilizadores regulares e que incorporam alguma forma de identificação [9,10], seja por autenticação, seja com recurso a cookies. A metodologia, no entanto, é semelhante em quase todos os casos: são eliminados dos registos todas as visitas que não tenham sido correctamente identificadas pelos métodos
50 Metodologia de Teste
implementados e é contabilizado o número de utilizadores. Em seguida é retirado do registo a informação de autenticação ou de cookie e é utilizado o sistema que se quer testar. Desta forma, é possível comparar os resultados que se sabem ser verdadeiros com os obtidos pelo método que está a ser testado.
De uma forma mais sistemática, pode-se agrupar as abordagens de teste possíveis para este sistema em dois grandes grupos diferentes, que diferem logo na sua base: uma das opções baseia-se em tráfego real, que depois é filtrado, enquanto que na outra opção o tráfego utilizado para testar o sistema é simulado. A análise das vantagens e contrariedades próprias de cada uma das metodologias é importante para que se perceba também a aplicabilidade de cada no contexto deste trabalho.
20B6.2.1 – Testes utilizando dados obtidos de tráfego real
A utilização de tráfego real, ou seja, de dados obtidos a partir da navegação por parte de utilizadores reais num website que contém o JIC, para avaliação do sistema apresenta algumas vantagens sobre a solução que propõe tráfego simulado. Em primeiro lugar, uma vez que seria um website acessível ao público em geral, constituiria uma fonte de dados representativos de todo o tipo de utilizadores que se encontram na Internet, permitindo assim perceber que tipo de variância apresenta cada um dos parâmetros recolhidos para a identificação de utilizadores. Isto permitiria o teste de diferentes conjuntos de parâmetros para a criação da Tracking Hash, no sentido de procurar o equilíbrio óptimo que permitisse encontrar todas as associações para cada utilizador efectuando o mínimo de comparações detalhadas possíveis.
A metodologia geral destes métodos já foi apresentada: dependem de pelo menos um identificador que permita determinar as visitas dos diferentes utilizadores e todo o tráfego em que o identificador não tenha sido aplicável é descartado para efeitos de teste. As visitas agrupadas segundo o identificador podem então ser comparadas com os resultados obtidos pelo sistema de user tracking. Uma vez que o sistema engloba um método que utiliza cookies não faria qualquer sentido utilizá-lo como identificador pois procura-se avaliar um sistema que deve produzir resultados mesmo quando os utilizadores apagam ou rejeitam cookies. A melhor solução seria utilizar um método de autenticação.
O uso deste método de avaliação exige uma parceria com um website com um volume razoável de tráfego e que preste um serviço aos utilizadores que imponha a sua autenticação. Seria necessário colocar o sistema de auditoria da AuditMark em funcionamento de forma a conseguir responder a todos os pedidos dos websites auditados reencaminhados para os seus servidores. Infelizmente, quando a decisão de qual a metodologia de testes a adoptar teve que ser tomada, o AuditService ainda se encontrava numa fase de desenvolvimento e não existiam ainda as infra-estruturas necessárias para suportar o serviço com garantias de operação num cenário de tráfego real. Uma vez que não era do interesse da AuditMark iniciar
51
este tipo de compromisso com um parceiro a curto prazo e, dessa forma, alterar o seu plano de entrada no mercado, a opção de capturar tráfego real para efeitos de teste teve que ser considerada como inviável.
21B6.2.2 – Testes utilizando dados obtidos de tráfego simulado
A utilização de tráfego simulado permite um controlo total dos registos utilizados para testes. Uma vez que a geração das simulações é realizada num ambiente controlado é uma metodologia flexível e que permite testar diferentes situações e casos específicos. Para cada teste efectuado é possível determinar exactamente o que aconteceu pois, uma vez que se conhecem as causas e os efeitos, é mais simples compreender qualquer comportamento que se observe. Por outro lado, os dados simulados não apresentam valor estatístico uma vez que não conseguem representar a variabilidade de dados que se encontraria em tráfego real nem as proporções de ocorrência dos diferentes valores.
Uma vez que não foi viável utilizar a metodologia de avaliação baseada em tráfego real, pelos motivos já apresentados na Secção 6.2.1, a solução usada para a avaliação do sistema implementado neste trabalho teve que assentar na geração artificial de tráfego Web. Isto implicou que se empregasse uma ferramenta de geração de cliques automática para simular as visitas às páginas auditadas. Uma primeira proposta consistia na utilização de uma ferramenta desenvolvida na AuditMark, o AuditClick [29]. O AuditClick é uma ferramenta desenhada para simular situações de Click Fraud e, desta forma, contém um conjunto de características interessantes para gerar tráfego Web simulando utilizadores reais. O AuditClick é capaz de simular o comportamento de diversos browsers diferentes, utilizando cabeçalhos HTTP idênticos aos que seriam encontrados monitorizando cada browser. Permite gerar, de forma automática, pedidos para os objectos que cada página contém, a seguir ao pedido inicial da página, recriando o comportamento habitual de um browser. Para possibilitar a dissimulação do endereço IP, esta ferramenta permite a utilização de proxies externos, podendo utilizar diferentes proxies para diferentes pedidos. Desta forma podem ser simulados vários utilizadores simultaneamente. O AuditClick pode ser configurado para gerar cliques utilizando diferentes browsers aleatoriamente e que emitem pedidos de forma aleatória. No entanto, esta ferramenta apresentou algumas fragilidades que comprometeram a sua utilização neste trabalho. O AuditClick apenas efectua pedidos HTTP, não processa JavaScript, Flash, ou Java. As repostas ao código contido no JIC teriam que ser pré- programadas. Qualquer alteração no JIC implicaria alterações no AuditClick, o que não é prático. De facto, esta metodologia nem representaria um teste autêntico ao sistema implementado uma vez que os valores das respostas já estariam pré-determinados e não reflectiriam os verdadeiros comportamentos dos diversos browsers habitualmente utilizados para a navegação.
52 Metodologia de Teste
Foi necessário projectar uma nova ferramenta especificamente desenhada para gerar tráfego de teste para o sistema desenvolvido. Pretendia-se uma ferramenta que se pudesse utilizar em várias plataformas diferentes e que permitisse utilizar vários browsers já existentes para que, cada browser, ao executar o código do JIC presente nas páginas monitorizadas, produzisse dados representativos para o sistema de teste. Desta forma, seria sempre possível utilizar a mesma ferramenta de teste, utilizando novas versões dos browsers e chamando novas versões do JIC. De forma semelhante à metodologia típica para avaliações com tráfego real, é necessário produzir um registo de cada visita simulada com um identificador. No caso de tráfego simulado, pode ser utilizado um identificador único, gerado para cada visita pelo JIC, para fazer a ligação com os dados depois do processamento, bastando apenas fazer um registo de todos identificadores de visitas geradas em cada simulação. Através destes registos a comparação das associações efectuadas pela ferramenta de user tracking com o tráfego simulado torna-se possível. A ferramenta de simulação necessitava ainda de oferecer um grande número de possibilidades de contrariar as técnicas conhecidas que são utilizadas para identificar utilizadores. A alteração de vários parâmetros identificadores entre visitas automáticas ao website monitorizado era fundamental para que se efectuassem testes mais exigentes ao sistema, simulando tráfego semelhante ao de utilizadores que não pretendem ser identificados. Através da escolha de diferentes conjuntos de parâmetros a alterar entre visitas consegue-se simular diversos tipos de navegação, procurando desta forma caracterizar vários grupos diferentes de utilizadores.