Aprimorando a Web
A qualidade e a precisão dos mecanismos HTML5 de diferentes navegadores continuam variando muito. Continuamos contribuindo com os conjuntos de teste em desenvolvimento no W3C para atingirmos a meta de interoperabilidade da plataforma Web e de marcação única. Ao todo, enviamos 7.573 testes que também podem ser vistos na central de testes do IE. À medida que diferentes navegadores aperfeiçoam o suporte à mesma marcação, podemos concretizar a promessa que é o HTML5.
O título desta postagem se refere ao evento de fim de semana oferecido pela Adobe nos dias 15 e 16 de junho no escritório de São Francisco. Dezenas de voluntários se uniram aos especialistas do W3C e aos membros da Adobe, Google, Mozilla, Apple, HP e Microsoft para saber mais sobre os padrões de testes da Web, como escrever testes de CSS e SVG, como arquivar bugs e também conhecer as ferramentas disponíveis para o gerenciamento de conjuntos de teste.
O encontro se converteu em uma maratona de testes abastecida por bebida e comida gratuitas ao logo do dia. Os voluntários passaram a maior parte do Sábado escrevendo novos casos de testes para CSS OM, Transforms, Backgrounds e Borders, Exclusions, SVG e outros módulos. Os participantes foram indicados a vários prêmios.
Testando os padrões da Web
Alan Stearns da Adobe introduziu aos participantes os princípios gerais dos testes do W3C e a função dos testes de colaborar para a evolução das especificações. Na realidade, estabelecer uma taxa de aprovação para uma dada especificação de navegadores individuais não é uma meta dos conjuntos de teste do W3C. Para que uma especificação se torne uma Recomendação do W3C, o Grupo de Trabalho deve provar que é possível implementá-la. Na prática, isso significa:
- criar um caso de teste para cada requisito na especificação (conhecidos como declarações normativas)
- verificar que ao menos duas implementações separadas são aprovadas em cada teste
observar que a diferença 'entre ao menos dois navegadores deve ser aprovada em todo o conjunto de teste' e 'ao menos dois navegadores devem ser aprovados em cada teste no conjunto de teste'. Os testadores de navegadores geralmente descrevem esta fase como 'teste de especificações'.
Contudo, um importante efeito colateral desse processo de testes é determinar uma base comum interoperável na qual todos os navegadores podem se desenvolver e serem testados. Conjuntos de teste ajudam a localizar bugs em todos os navegadores e podem, às vezes, identificar problemas nas especificações.
Escrevendo testes de CSS e SVG
Existem três tipos diferentes de testes:
- Testes autônomos, em geral, dependem de uma verificação visual: se ocorrer uma falha nas condições, o conteúdo vermelho será exibido.
- Testes de referência comparam um teste com uma referência visual que não depende de que o recurso esteja sendo testado. Observe que o teste inclui um link para o teste de referência com o qual ele deve ser comparado.
- Testes de modelo de objeto CSS dependem de agentes de teste JavaScript, que verificam se o modelo de objeto refletirá o que é especificado nas style sheets estáticas. Um exemplo é esse teste de media query de CSS.
Doug Schepers do W3C cuidou do Teste de SVG enquanto Rebecca Hauck e Jacob Goldstein da Adobe forneceram um tutorial de criação de teste. Peter Linss, um dos líderes do Grupo de Trabalho de CSS, aperfeiçoou o modelo de testes de CSS incluindo o sistema de criação de conjunto de teste e as ferramentas de gerenciamento como Shephard.
Relatando os bug corretamente
Elika Etemad da Mozilla aconselhou aos participantes em como fazer um bom relatório de bugs de navegador:
- O problema é específico e pode ser reproduzido
- A versão e a plataforma são identificadas
- Você procurou por duplicatas
- Inclui os passos para se reproduzir o problema
- Os resultados reais e esperados estão descritos
- Se possível, o problema terá sido reduzido. Por exemplo todo HTML, JavaScript e CSS que não precisar reproduzir o problema terá sido eliminado da página com o problema e o lembrete será anexado ao bug.
Criando um conjunto de teste
A criação de um conjunto de teste é um grande investimento. Um dos motivos pelo qual se levou muito tempo para que o CSS2.1 alcançasse o estágio de Recomendação foi o tamanho da especificação e o número subjacente dos requisitos a serem testados. A versão mais recente do conjunto de teste contém 9.422 testes.
A Microsoft contribuiu com mais de 7.000 dentre esses testes e continuará a contribuir com mais testes para outros padrões de especificações.
No IE10, adicionamos suporte a uma longa lista de novos recursos padrão para CSS, HTML, SVG e DOM. Publicamos alguns de nossos casos de teste para esses novo recursos em nossa central de testes do IE. Enviaremos muito mais, sobretudo no que diz respeito aos recursos recentemente apresentados sem prefixo no IE10 Release Preview.
Como você pode ajudar
É gratificante fazer parte de uma comunidade que trabalha para construir uma Web mais interoperável. Se você deseja ajudar no progresso da Web, você pode ajudar a aperfeiçoar ainda mais a interoperabilidade. Saiba como colaborar com testes ou revisar os testes atuais. Para obter mais informações, acesse o wiki do CSS WG e também a página de eventos.
Manteremos você atualizados sobre os eventos futuros.
—Sylvain Galineau, gerente de programa, Internet Explorer e
—John Jansen, líder de testes, Internet Explorer