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

2º Bate Papo do SP-GTUG - Divulgação

Pessoal, Para aqueles que já estiveram presentes nas atividades do SP-GTUG (encontros ou bate papos na Globalcode), e para os que ainda não puderam estar presentes, teremos um novo bate papo acerca de mais duas tecnologias do Google: AdSense e Python no GAE. Este será o nosso segundo bate papo do SP-GTUG, nos mesmos moldes dos minicursos da Globalcode . Local e data O bate papo acontecerá no dia 27/03/10, das 10:00 às 13:00 na Globalcode. Para fazer sua inscrição e participar acesse a home da Globalcode e vá até a parte de "Minicursos Gratuitos da Semana ". Conteúdo das apresentações Abaixo seguem as descrições passadas pelos palestrantes: Título: "Algoritmos em Python" Resumo: Python é uma linguagem considerada frugal, simples, sem ser simplória! Entenda como construir algoritmos ninjas com essa linguagem, adotada pela Google e pelo MIT. Veremos muito, muito código, desde algoritmos clássicos até tutoriais do

10 reasons why we love JSF

1. One-slide technology: it's so simple that I can explain basic JSF with one slide. 2. Easy to extend: components, listeners, render kit, Events, Controller, etc. 3. Real-world adoption: JBoss, Exadel, Oracle, IBM, ... 4. Architecture model: you can choose between more than 100 different architecture. 5. Open-mind community: using JSF you are going to meet very interesting people. 6. We are using JSF the last 5 years and we found very good market for JSF in Brazil 7. Progress: look to JSf 1.1 to JSF 1.2, JSF 1.2 to JSF 2.0. People are working really hard! 8. Many professionals now available 9. It's a standard. It's JCP. Before complain, report and help! 10. Ed Burns, spec leader, is an old Globalcode community friend! EXTRA: My wife is specialist in JSF. She's my F1 for JSF :) Nice job JSF community! -Vinicius Senger

JSF 2 - Composite Components, você não precisa mais ser um ninja

Estamos em uma nova era da computação, os dados não estão mais localizados em um banco dentro de sua empresa, vivemos a explosão de redes sociais, informações são geradas a todo instante, e se torna essencial que sua aplicação conheça os serviços disponíveis na web e consumam suas APIs geralmente disponíveis por serviços REST. Legal, mas como ficam meus aplicativos Java EE neste novo cenário? Para quem vem acompanhando a evolução da plataforma, é notório que todo esforço vem sendo utilizado para aumentar a produtividade e a integração com novos serviços. Basicamente duas especificações surgem com muita força para atender este cenário, a JSR - 314 (JSF-2) e JSR - 311 (JAX-RS), neste post exploraremos a JSR-314 (JSF2) e sua nova forma de criar Composite Components. Uma das grandes queixas dos desenvolvedores JSF era a complexidade em criar composite components, era necessário um vasto conhecimento sobre o ciclo de vida de uma aplicação JSF. Agora, você não precisa ser mais um “ninja” em

Gosta de informática e sonha ser programador Java um dia ?

A Globalcode está procurando jovens que queiram ser programadores no futuro, para fazer parte de sua equipe de vendas e operacional na unidade Paraíso em São Paulo somente. O grande diferencial é o planejamento para carreira de programador. O planejamento de cursos do portifólio da Globalcode: Academia do Programador, Academia Java, Academia Web, Robótica, Eletrônica, etc, será realizado periodicamente de acordo com o desempenho e interesse individual. Atenção : Este não é um estágio para trabalhar com Java, são duas vagas CLT administrativas para pessoas que queiram ser programadores no futuro. Perfil : Conhecimentos de informática básica, saber lidar com pessoas e trabalhar em equipe. Deve ter concluído o ensino médio, ter boa escrita, ser organizado, responsável, comprometido e dinâmico. Interesse por computação, programação, internet, robótica, eletrônica,... Temos duas vagas para jovem-aprendiz abertas: 1) Setor operacional No dia a dia Serviços externos Controle de estoqu

JavaMail: Enviando mensagem HTML com anexos

Introdução Depois do post "JavaMail: Enviando e-mail com Java" , que apresentava como enviar um e-mail com Java, resolvi complementar a assunto apresentando como enviar uma mensagem formatada, em HTML , e também como realizar o envio de anexos. Bibliotecas Além da biblioteca JavaMail, veja mais no post anterior , é necessário incluir o JavaBeans Activation Framework (JAF), apenas se a versão utilizada for anterior ao JSE 6.0 , que já tem o JAF incluso. O JAF está disponível em http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html , e neste download encontramos, alguns exemplos na pasta demo , documentação, incluindo javadocs, na pasta docs e a biblioteca activation.jar , que deve ser acrescentada no classpath da aplicação para versões anteriores ao JSE 6.0. Exemplo Primeiramente devemos realizar a configuração da javax.mail.Session e da javax.mail.internet.MimeMessage , estes passos podem ser vistos no post anterior . Agora vamos montar um

TDC INNOVATION lança University Pass

Modalidade de ingresso tem como objetivo ajudar na capacitação dos universitários Uma pesquisa realizada em 2020 pela Associação Brasileira das Empresas de Tecnologia da Informação e Comunicação (Brasscom) diz que até o ano de 2024 o Brasil precisará de cerca de 420 mil profissionais na área de Tecnologia da Informação. Porém, por ano, a mesma pesquisa diz que o país forma apenas 46 mil profissionais capacitados no nicho. Pensando nisso, para ajudar na formação e capacitação desses jovens profissionais, o TDC INNOVATION, segunda edição do ano do The Developer's Conference, lança o University Pass, modalidade de ingresso que possibilita aceso digital gratuito a todas as palestras do evento, ou com 50% de desconto para quem preferir ir pessoalmente. Com o tema central “Desafios para a criação do futuro Digital”, o TDC INNOVATION ocorrerá entre 1 e 3 de junho, de forma híbrida: presencialmente no Centro de Convenções CentroSul, em Florianópolis, e com transmissão simultaneamente pela