GTAC 2013: Presentaciones, día 1

Comentarios de apertura

Tony Voellm (Google)

Presentación de apertura: Evolución del control de calidad a la ingeniería de pruebas

Ari Shamash (Google)

Compilaste una app. La lanzaste. Pensaste que podrías lograrlo, generar un poco de volumen, obtener algo de financiación, comenzar de cero y "hacerlo bien". Sin embargo, las demandas de nuevas funciones son muy altas, ahora se le pide que avance a una escala sin precedentes a una velocidad sin precedentes. ¡Ouch! ¿Cuál es el próximo paso?

No hay que desechar y comenzar desde cero, solo debes desarrollar lo que tienes, a la vez que continúas agregando funciones de alta calidad a una velocidad impresionante. Además, debe asegurarse de que lo que ya está ahí no se rompa. ¿Cómo lo haces? Afortunadamente, se está creando un nuevo campo dentro de la industria de la ingeniería de software que aborda esta situación común: en Google, esto se denomina “ingeniería de prueba”.

Esta charla se centrará en qué es la ingeniería de pruebas, cómo evolucionó de su control de calidad y cómo toda la industria implementó la ingeniería de pruebas (con ejemplos específicos de cómo se implementa en Google).

Probar los sistemas a gran escala en @Twitter

James Waldrop (Twitter)

James hablará sobre las herramientas, el proceso y la filosofía que se usan para probar el rendimiento en Twitter. Se hará hincapié especialmente en la biblioteca de prueba de carga de código abierto de Iago, que escribió para permitir que los equipos de ingeniería de Twitter realicen pruebas de carga antes de implementar el código en la producción. En la charla, se analizarán los detalles de la implementación de algunas de estas pruebas (incluido el código fuente) y de qué manera se administran factores tan complicados como OAuth y los protocolos arbitrarios de Thrift.

¿Cómo se prueba un SO para celulares?

David Burns (Mozilla) y Malini Das (Mozilla)

Este es el problema que enfrentaba Mozilla cuando decidimos aventurarnos en el mundo de FirefoxOS. Dónde comenzar y cómo hacerlo iba a ser una tarea interesante. Vengan a escuchar cómo resolvimos este problema y cómo creamos un marco de trabajo nuevo.

Automatización de dispositivos móviles en canalización de entrega continua

Igor Dorovskikh (Expedia) y Kaustubh Gawande (Expedia)

Expedia comenzó a invertir en la Web móvil y las aplicaciones para iOS y Android a principios de 2012. Al mismo tiempo, los ingenieros de pruebas comenzaron a desarrollar soluciones de automatización de pruebas para incorporar calidad y capacidad de prueba a los productos desde el principio. En esta charla, compartiremos nuestra experiencia y aprendizaje sobre el uso de herramientas de código abierto para crear pruebas automatizadas en el entorno de desarrollo y entrega continua ágil de Expedia. Hablaremos sobre la pirámide de pruebas y analizaremos en detalle las herramientas específicas de código abierto que han funcionado en nuestra empresa. Algunas de las herramientas de código abierto que usamos son herramientas de BDD como Cucumber, la herramienta de automatización web Selenium-WebDriver, la herramienta de automatización de iOS Frank, las herramientas de automatización de Android Robotium y Calabash, y el sistema de integración continua Jenkins. Además, compartiremos algunos de los principios de entrega ágil que nos esforzamos por adoptar, como el TDD, la programación de parejas y los radiadores de compilación y prueba. Por último, compartiremos algunos de los beneficios que obtuvimos con nuestra inversión en Agile y la automatización de pruebas, y cómo eso nos lleva a alcanzar nuestros objetivos de entrega continua.

Decodificador automatizado con GStreamer y OpenCV

David Röthlisberger (YouView)

Crearemos un sistema de captura de imágenes de video en 3 minutos con las herramientas de línea de comandos de GStreamer y OpenCV. (GStreamer es un marco de trabajo de código abierto para el manejo de contenido multimedia; OpenCV, "Open Computer Vision"; es una biblioteca de procesamiento de imágenes de código abierto).

Un ejemplo líder de este sistema es http://stb-tester.com, una herramienta de código abierto desarrollada en YouView para automatizar la prueba de la IU de nuestros decodificadores. Describiremos la herramienta stb-tester, la flexibilidad que ofrecen los fundamentos de GStreamer, algunas de las posibilidades que ofrece y los desafíos por venir.

Webdriver para Chrome

Ken Kania (Google)

Desde sus inicios como navegador solo para Windows, Chrome se expandió a Mac, Linux, ChromeOS y, más recientemente, a iOS y Android. Probar a nivel del usuario las aplicaciones web en estas plataformas fue difícil y necesitó varios enfoques de automatización. Esta charla describirá el trabajo que el equipo de Chrome está haciendo con el objetivo de que WebDriver esté disponible para Chrome en todas las plataformas. Esto incluirá una visión técnica del enfoque subyacente, pero se centrará en cómo los desarrolladores pueden usar el nuevo ChromeDriver para escribir pruebas en las diferentes plataformas de Chrome. Además, se tratarán el estado actual del proyecto y una hoja de ruta para su futuro.

Karma, ejecutor de pruebas para JavaScript

Vojta Jina (Google)

Introducción a Karma, un ejecutor de pruebas que permite probar aplicaciones de JavaScript en navegadores reales sin inconvenientes ni inconvenientes.

Las pruebas no son opcionales cuando se compila una aplicación de JavaScript que debe funcionar con muchos navegadores y dispositivos. Sin embargo, ejecutar pruebas en todos estos entornos es difícil. Karma convierte esta tarea típicamente en una torta. Te permite ejecutar pruebas de JavaScript en navegadores o dispositivos reales, como tu teléfono o tablet, directamente desde la terminal o tu IDE favorito.

Mediciones automatizadas de la calidad de video

Patrik Höglund (Google)

Sí, es posible probar automáticamente mediciones subjetivas complejas, como la calidad de video. Esta charla mostrará cómo construimos una prueba automatizada y continua de extremo a extremo para una videollamada de WebRTC. Observaremos la cadena de herramientas en términos generales y los desafíos con los que nos encontramos durante la construcción. Esto es perfecto si quieres inspirarte para que lleves tus pruebas de medios al siguiente nivel.

Cuando suceden cosas malas con las aplicaciones buenas...

Minal Mishra (Netflix)

El auge de la computación móvil y la tablet inundaron la industria del software con plataformas de desarrollo de aplicaciones. El desarrollo de aplicaciones para consumidores en plataformas informáticas tiene su propia experiencia mágica para los usuarios finales. Las empresas de software orientadas al consumidor siempre intentan dar una buena impresión cuando desarrollan una aplicación para estas plataformas. Sin embargo, el mayor desafío en el desarrollo de aplicaciones solo comienza después de que las empresas lanzan la primera versión de la aplicación. Los consumidores y las empresas de software desean que las funciones y características más recientes estén fuera de desarrollo lo antes posible con la mejor calidad. Esto genera una deserción de código constante en cada capa de la pila. Nosotros, los ingenieros de automatización de IU, creamos una variedad de sistemas de detección para detectar los problemas de las aplicaciones lo antes posible. En esta charla, compartiré algunos de nuestros desafíos y logros detrás de uno de esos sistemas de detección que ayudaron a encontrar problemas fuera de la capa de la aplicación, pero igualmente perjudicaron la experiencia del usuario.

Pruebas de videojuegos educativos y de videojuegos para pruebas

Tao Xie (Universidad Estatal de Carolina del Norte)

Esta charla presenta a Pex4Fun (http://www.pexforfun.com/), que aprovecha la generación de pruebas automatizada para respaldar la calificación automática en un sistema de programación en línea que puede escalar a cientos de miles de usuarios. Brinda una experiencia de juego orientada a la programación fuera del aula, donde capacita a los usuarios para que aprendan diversas habilidades de programación y de ingeniería de software, incluidas las de prueba (por ejemplo, escribir pruebas de unidades parametrizadas). Pex4Fun contribuye de forma significativa al problema conocido de calificar las tareas, además de proporcionar una experiencia de aprendizaje divertida basada en los juegos interactivos. Pex4Fun ha ganado popularidad en la comunidad: desde que se lanzó al público en junio de 2010, la cantidad de clics del botón "Ask Pex!" (lo que indica que los usuarios intentaron resolver juegos en Pex4Fun) ha llegado a más de un millón a principios de 2013.

Discurso de apertura: Cómo prueba Facebook Facebook en Android

Simon Stewart (Facebook)

Facebook es una de las aplicaciones para Android más populares. En esta charla, descubrirás qué hace Facebook para garantizar que cada versión sea lo mejor posible. Abarcaremos todo, desde cómo administramos nuestro código hasta nuestros enfoques para realizar pruebas y pruebas internas.