GTAC 2013: apresentações – dia 1

Comentários iniciais

Tony Voellm (Google)

Palestra de abertura - Evolução do controle de qualidade para engenharia de teste

Ari Shamash (Google)

Você criou um app e o lançou. Você pensou que conseguiria isso, aumentar o volume, conseguir financiamento, jogar tudo e começar do zero para fazer "isso certo". No entanto, a demanda por novos recursos está alta, e agora você precisa ir em direção a uma escala sem precedentes em uma velocidade inédita. Opa! E agora?

Não é possível jogá-lo no zero e começar do zero: basta desenvolver o que você tem e continuar a adicionar recursos de alta qualidade em uma velocidade incrível. Além disso, é preciso garantir que o que já está lá não falhe. Como fazer isso? Felizmente, há um novo campo no setor de engenharia de software que aborda esse cenário comum: no Google, isso é chamado de "engenharia de teste".

O foco dessa palestra é o que é a engenharia de testes, como ela evoluiu desde o controle de qualidade e como o setor como um todo implementou a engenharia de testes (com exemplos específicos de como ela é implementada no Google).

Como testar sistemas em escala @Twitter

James Waldrop (Twitter)

James discutirá as ferramentas, o processo e a filosofia que vão para os testes de desempenho no Twitter. Há uma ênfase especial na biblioteca de teste de carga de código aberto do Iago, que ele escreveu para que as equipes de engenharia do Twitter possam realizar testes de carga antes de implantar o código na produção. A palestra vai mostrar detalhes da implementação de alguns desses testes (incluindo código-fonte) e explicar como fatores complicados, como o OAuth e protocolos arbitrários do Thrift, são gerenciados.

Como testar um SO para dispositivos móveis?

David Burns (Mozilla) e Malini Das (Mozilla)

Esse é o problema que o Mozilla encontrou quando decidimos entrar no mundo do FirefoxOS. Por onde começar e como fazer isso seria uma tarefa interessante. Confira como resolvemos esse problema e como criamos um novo framework.

Automação de dispositivo móvel no pipeline de entrega contínua

Igor Dorovskikh (Expedia) e Kaustubh Gawande (Expedia)

A Expedia começou a investir em apps da Web para dispositivos móveis e iOS/Android no início de 2012. Ao mesmo tempo, os engenheiros de teste começaram a desenvolver soluções de automação de teste para criar qualidade e capacidade de teste nos produtos desde o início. Nesta palestra, compartilharemos nossa experiência e aprendizado de como usar ferramentas de código aberto para criar testes automatizados no ambiente ágil e de desenvolvimento ágil da Expedia. Vamos falar sobre a pirâmide de testes e analisar em mais detalhes as ferramentas de código aberto específicas que funcionaram bem para nós. Algumas das ferramentas de código aberto que usamos são o BDD, como Cucumber, a ferramenta de automação da Web Selenium-WebDriver, a ferramenta de automação do iOS Frank, as ferramentas de automação do Android Robotium e Calabash e o sistema de integração contínua Jenkins. Além disso, compartilharemos alguns dos princípios de entrega ágil que tentamos adotar, como TDD, programação de pareamento, radiadores de compilação e teste. Por fim, vamos compartilhar alguns dos benefícios que tivemos com nosso investimento em automação ágil e de teste e como isso está nos ajudando a alcançar as metas de entrega contínua.

Teste automatizado de conversor com GStreamer e OpenCV

David Röthlisberger (YouView)

Vamos criar um sistema de reconhecimento de imagem com captura de vídeo em três minutos usando as ferramentas de linha de comando do GStreamer e o OpenCV. O GStreamer é um framework de gerenciamento de mídia de código aberto. O OpenCV, "Open Computer Vision", é uma biblioteca de processamento de imagens de código aberto.

Um exemplo importante desse sistema é o http://stb-tester.com, uma ferramenta de código aberto desenvolvida no YouView para automatizar os testes de IU dos nossos conversores. Vamos descrever o testador stb, a flexibilidade oferecida pelas bases do GStreamer, algumas das possibilidades que ele abre e os desafios que ainda temos.

Driver da Web para Chrome

Ken Kania (Google)

Desde o início, como um navegador apenas para Windows, o Chrome foi expandido para Mac, Linux, ChromeOS e, mais recentemente, para Android e iOS. O teste no nível do usuário de aplicativos da Web nessas plataformas tem sido difícil e exigiu várias abordagens de automação. Esta palestra descreve o trabalho que a equipe do Chrome está fazendo para disponibilizar o WebDriver para o Chrome em todas as plataformas. Isso inclui uma visão técnica da abordagem, mas se concentra em como os desenvolvedores podem usar o novo ChromeDriver para criar testes para as várias plataformas do Chrome. Além disso, vamos falar sobre o estado atual do projeto e um roteiro para o futuro dele.

Karma: executor de testes para JavaScript

Vojta Jina (Google)

Introdução ao Karma - executor de testes que facilita e testa os aplicativos JavaScript em navegadores reais.

O teste não é opcional quando alguém está criando um aplicativo JavaScript que precisa funcionar em muitos navegadores e dispositivos. No entanto, a execução de testes em todos esses diversos ambientes é difícil. Karma transforma essa tarefa cansativa em um bolo. Ele permite que você execute testes de JavaScript em navegadores ou dispositivos reais, como seu smartphone ou tablet, diretamente do conforto do seu terminal ou ambiente de desenvolvimento integrado favorito.

Medição automatizada de qualidade do vídeo

Patrik Höglund (Google)

Sim, é possível testar automaticamente medidas subjetivas e complexas, como a qualidade do vídeo. Esta palestra mostra como construímos um teste de ponta a ponta automatizado e contínuo de uma videochamada WebRTC. Vamos dar uma olhada no conjunto de ferramentas em alto nível e quais desafios enfrentamos durante a construção dele. Isso é perfeito se você quiser se inspirar para aprimorar seus testes de mídia.

Quando coisas ruins acontecem com aplicativos bons...

Minal Mishra (Netflix)

O boom da computação em smartphones e tablets inundou o setor de software com plataformas de desenvolvimento de aplicativos. O desenvolvimento de aplicativos para o consumidor em plataformas de computação tem uma experiência mágica para os usuários finais. As empresas de software voltadas para o consumidor sempre tentam dar o melhor de si quando desenvolvem um aplicativo para essas plataformas. No entanto, o maior desafio no desenvolvimento de aplicativos só começa depois que as empresas lançam a primeira versão do aplicativo. Os consumidores e as empresas de software querem o desenvolvimento dos recursos e funcionalidades mais recentes assim que possível e com a melhor qualidade possível. Isso leva à rotatividade de código constante em todas as camadas da pilha. Nós, engenheiros de automação de IU, criamos vários sistemas de detecção para detectar problemas de aplicativos o mais rápido possível. Nesta palestra, compartilharei alguns de nossos desafios e sucessos por trás desse sistema de detecção, que ajudou a encontrar problemas fora da camada do aplicativo, mas que ainda afeta negativamente a experiência do usuário.

Teste para jogos educacionais e jogos educacionais para testes

Tao Xie (Universidade Estadual da Carolina do Norte)

Esta palestra apresenta a Pex4Fun (http://www.pexforfun.com/), que aproveita a geração automatizada de testes para sustentar a avaliação automática em um sistema de programação on-line que pode ser escalonado para centenas de milhares de usuários. Ele oferece uma experiência de jogo orientada para programação fora da sala de aula, treinando os usuários para aprenderem várias habilidades de programação e engenharia de software, incluindo habilidades de teste, como a criação de testes de unidade parametrizados. O Pex4Fun contribui muito para o problema conhecido da atribuição de atividades e também oferece uma experiência de aprendizado divertida com base em jogos interativos. A Pex4Fun tem tido muita popularidade na comunidade: desde que foi lançada ao público em junho de 2010, o número de cliques no botão "Perguntar à Pex!" (indicando as tentativas dos usuários de resolver jogos na Pex4Fun) atingiu mais de um milhão no início de 2013.

Palestra de abertura - Como o Facebook testa o Facebook no Android

Simon Stewart (Facebook)

O Facebook é um dos aplicativos Android mais populares que existem. Nesta palestra, você descobrirá o que o Facebook faz para garantir que cada versão seja a melhor possível. Abordaremos tudo, desde como gerenciamos nosso código até nossas abordagens de teste e como usar a versão dogfood.