Pular para o conteúdo principal

Browsers para todos os gostos e um aperitivo de Selenium nas nuvens

Em 1989, foi derrubado o muro de Berlim. O ensaista Francis Fukuyama decretou o "fim da história": o capitalismo norteamericano havia vencido a guerra fria com seu sistema rival, o antes temido comunismo soviético. De fato, o sistema capitalista se tornou dominante, com a exceção de um par de cenários de reality show onde moram alguns milhões de pessoas: o Pedro Bial de um deles usa um topete midiático e o outro, que não raspa a barba há meio século, virou garoto propaganda da Adidas.

Na geopolítica, de lá pra cá, a hegemonia norteamericana sofreu abalos: vivemos em um novo mundo multipolar, onde outros atores passaram a crescer em relevância, principalmente os BRICs.

Em 2002/2003, a primeira guerra dos browsers também chegou ao fim. Com mais de 95% de participação, o Internet Explorer se tornou o único browser relevante. Os webdesigners colocavam avisos dizendo que, se você não atualizasse seu browser para IE 6, você não teria o privilégio de visitar aquele site.

Assim, para quê se preocupar com os padrões do W3C ou da ECMA ? Se não funcionava para os desajustados, eles que se ajustassem. Naquela época, acessar a web a partir do celular era uma raridade, e apenas os nerds mais radicais insistiam em usar um desktop Linux: assim como os grupúsculos de ultraesquerda que só existem em diretórios de estudantes de universidades públicas, eles se dividiam entre os partidários de cada distribuição. Para o dono da confecção que queria divulgar suas promoções na internet, ou simplesmente falar orgulhosamente para os clientes "agora temos um saitenauebe !", o fato de alguém não poder acessar a página inicial dele usando o Konqueror era irrelevante.

Hoje, a situação é bem diferente. O acesso à web por celulares e PDAs, dos quais apenas uma minoria consegue rodar IE, é corriqueiro. Computadores de mesa, laptops e netbooks comprados nas Casas Bahia já vêm com Ubuntu instalado, e Macs não são mais exclusivos de designers estilosos. Em novos dispositivos como mini-tablets (Kindle, iPad = iPhone de Itu), ainda não se sabe se haverá uma plataforma dominante. O ChromeOS também deve mexer nesse mix.

Nas estatísticas, a participação do IE já se reduziu aproximadamente à metade dos dispositivos que acessam a web, e a metade restante está bastante pulverizada. Hoje, o dono da confecção que passou a depender mais da web e não reformulou seu site IE-only desde 2002, pode estar deixando de fora metade dos seus clientes.

Quem já leu algum outro post deste blog, deve ter percebido que sou viciado em teste de software: como fazer para testar seu site com um número crescente de browsers ? Comprar diversos tipos de hardware, instalar sistemas operacionais diversos e contratar um exército de testadores manuais não parece ser uma estratégia viável para o dono da confecção.

É ai que começamos a pensar no assunto da moda: cloud. Seria possível montar uma infraestrutura com máquinas virtuais, cada uma executando um sistema operacional e um browser diferente, e poder controlá-los remotamente, executando um mesmo roteiro de testes ?

Felizmente, isso é possível. A família de ferramentas Selenium permite montar tal infraestrutura através do Selenium Grid. No site tem um passo-a-passo de como montar um conjunto de nós escravos de Selenium Grid no serviço EC2 da Amazon (http://selenium-grid.seleniumhq.org/setting_up_selenium_grid_on_ec2.html)

Outra possibilidade, talvez menos nerd, é contratar alguém que já fez isso e que oferece o teste como serviço (TaaS ?), a partir dos seus próprios scripts para Selenium, numa nuvem pública. Você paga o que o taxímetro indicar, e recebe os relatórios no conforto do seu browser. Este serviço é oferecido pela BrowserMob (http://browsermob.com). De quebra, você pode fazer testes de carga com um número grande de browsers reais, reutilizando toda a lógica dos seus testes funcionais, em vez de precisar escrever testes específicos para ferramentas como JMeter.

Se, por algum motivo, você não deseja confiar sua preciosa lógica de teste (o que provavelmente não é o caso do dono da confecção) aos cuidados de terceiros, daria para montar uma nuvem interna usando, por exemplo, o Eucalyptus nos computadores que normalmente ficariam ociosos durante a noite.

Pretendo explorar esta possibilidade nas próximas semanas e postar os resultados do experimento.
Aguardem.

Jorge Diz
http://twitter.com/jorgediz

Comentários

Dr. Spock disse…
Oi Jorge,

Acho que o tico e teco aqui não captaram os binds. Qual o bind entre guerra fria, BBB, esquerda, radicalismo, etc com os browsers, testes e selenium? Eles conseguiram captar sobre a necessidade de testes automatizados com a crescente adoção de vários browsers e meios diferentes de conexão (konqueror, safari, firefox, chrome, opera, iphone, ipod, pc, mac, smartphones, netbooks, ipad, etc). Nesse ponto tudo bem! Começou com história/filosofia e parou no técnico ... aí pifou o teco ... e o tico ficou confuso :)
Jorge Diz disse…
Explicando:

Guerra fria ~ Guerra dos browsers

Capitalismo ~ IE : vitória esmagadora

Relíquias comunistas ~ Usuários de outros browsers

BRICs ~ FOCS (Firefox, Opera, Chrome, Safari)

A geopolítica mudou desde o fim da guerra fria ~ O cenário da web mudou desde o fim da guerra dos browsers.

Ai talvez faltou continuar com a metáfora ...
mas a ideia era tentar mostrar que o mundo mudou e que vc espanta metade dos seus clientes se continuar com a ideia de que o IE marcou o "fim da história"

Acho que dei um cavalo de pau quando comecei a falar de testes, uma vez montado o cenário...

Obrigado pelo feedback :)

Jorge
Anônimo disse…
Pois sua "metafora" ficou excelente! So nao havia entendido o lance do BRICs, que esclareceu aqui. Parabens! - Daniel

Postagens mais visitadas deste blog

O que é Lógica de programação?

Este é o segundo de uma série de posts voltados aos leitores do blog que estão dando início à carreira de desenvolvimento de software. O assunto de hoje é a lógica de programação. Para ler antes: Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados A lógica de programação é um pré-requisito para quem quer se tornar um desenvolvedor de software, independente da linguagem de programação que se pretende utilizar. Mas o que é de fato a Lógica de Programação e como saber se eu tenho esse pré-requisito? A lógica de programação nada mais é do que a organização coerente das instruções do programa para que seu objetivo seja alcançado. Para criar essa organização, instruções simples do programa, como mudar o valor de uma variável ou desenhar uma imagem na tela do computador, são interconectadas a estruturas lógicas que guiam o fluxo da execução do programa. Isso é muito próximo ao que usamos em nosso cotidiano para realizar atividad

SCJP 6 - curiosidades e dicas

O objetivo desse post é falar um pouco sobre a minha preparação para o exame de atualização da certificação SCJP 6, falar um pouco sobre a prova e compartilhar algumas dicas. Em 2005 fiz o exame SCJP 1.4 , já faz algum tempo, mas nunca vou me esquecer a aflição que passei aguardando a impressão do resultado após finalizar a prova e a emoção que senti ao ver que fui aprovado. Depois dessa certificação ainda fiz mais duas ( SCWCD e SCBCD ), mas acabei desanimando por não ter nenhum valor no meu antigo trabalho. Mas aprendi que temos que fazer o que o mercado pede, pois podemos precisar dele a qualquer momento. E felizmente as certificações Java tem grande valor para os processos seletivos. Esse ano decidi voltar a ativa com as certificações Java e o primeiro passo foi atualizar a SCJP. Consegui o livro “ Sun Certified Programmer for Java 6 - Study Guide ” da Kathy Sierra e Bert Bates, no formato PDF em inglês, para revisar cada detalhe, pois todos sabem que nas certificações Java qualqu

Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados

Nesse post, diferente dos últimos que foram mais enfáticos nas experiências com tecnologias, vou focar um pouco mais nos profissionais que estão começando, ou pretendem ingressar na área de desenvolvimento de software, falando sobre conceitos fundamentais relacionados a programação em geral . Mercado de trabalho para programação Conforme já sabemos, o mercado de desenvolvimento de software, especialmente no Brasil, continua em franca expansão, sendo que cada vez mais as empresas buscam desenvolver seus próprios sistemas usando as mais diferentes e novas tecnologias. Algumas matérias interessantes: As seis profissões mais valorizadas em 2010 no IDG Now! Muitas vagas e sensação de reaquecimento da economia Por isso, a área de desenvolvimento de software tem despertado interesse em muitos profissionais de outras áreas que desejam mudar de profissão, já que as oportunidades de trabalho tendem a ser maiores. Esse é um perfil presente em muitos dos clientes da Globalcode que acabou m

Dica rápida: Apagando registros duplicados no MySQL

Ola pessoal, Sei que vocês estão acostumados a ver posts meus sobre tecnologia móvel ou algo relacionado, mas hoje vou falar sobre um pequeno "truque" que usei esse final de semana com o MySQL. Eu estava desenvolvendo o lado servidor de uma nova aplicação mobile (ahh, então "tem a ver" com mobile hehe), e quando fui fazer alguns testes percebi que tinha quase 7 mil registros duplicados (!!!) na minha base de dados! Bom, o meu primeiro reflexo como programador foi pensar em fazer um "programinha" Java para buscar e deletar todos esses registros duplicados. Mas ai, resolvi tirar as teias de aranha dos neurônios e usar os vários anos de experiência que passei com SQL e criar uma query que fizesse esse trabalho todo de uma vez!! E a query ficou assim: delete from TABLE_NAME USING  TABLE_NAME, TABLE_NAME  AS  auxtable WHERE   ( NOT  TABLE_NAME.id  =  auxtable.id ) AND   ( TABLE_NAME.name  =  auxtable.name ) Explicação direta: TABLE_NAME

Devo fazer um curso ou ler um livro?

Acredito que todos os instrutores ou professores, independentemente da área, escola ou centro de treinamento, já devam ter recebido essa pergunta alguma vez na vida: devo fazer um curso ou ler um livro? Para responder a essa pergunta, precisamos avaliar os prós e contras de cada opção. Trabalho com treinamento há algum tempo e, hoje, recebi essa pergunta de um aluno. Não adianta responder a ou b sem argumentar, demonstrando as opções conforme a situação do aluno. O conteúdo, a forma de transmissão e a capacidade de assimilação do indivíduo são chaves para haver benefício maior de aprendizado. Tanto em um bom curso quanto em um bom livro, o conteúdo é a premissa básica . Por conteúdo entendemos: se está organizado; se respeita pré-requisitos; se promove o aprendizado guiado e incremental; se aborda de forma satisfatória os principais pontos; se tem bom balanço entre teoria, exemplos e prática (favorecendo exemplos e prática); se tem como premissa a acessibilidade possível (e cabível) pa

TDC BUSINESS, chega a São Paulo com novas trilhas de Inteligência Artificial e Inovação

Maior conferência de profissionais de tecnologia do Brasil abordará temas em alta no momento como, por exemplo, Inteligência Artificial, Segurança, Ciência de Dados e Inovação O TDC BUSINESS, a 17° edição do The Developer's Conference na cidade de São Paulo, que acontece entre os dias 19 e 21 de Setembro, reunirá profissionais e especialistas da área para troca de experiência, compartilhamento de conteúdos e networking. Com o tema central: “Tecnologia para negócios transformadores”, o evento será totalmente híbrido, ocorrendo presencialmente no espaço Pro Magno, e com transmissão simultânea e atividades de network pela internet. A expectativa é reunir mais de 14.000 pessoas, somando a participação presencial e online.   Segundo Yara Mascarenhas, Fundadora e Host do Evento, “nosso objetivo com o TDC é inspirar a colaboração entre os profissionais e empresas para construir uma nova realidade para o mercado de TI.  Vamos juntar tecnologia e negócios com as trilhas técnicas, oferecen