GTAC 2016: Présentations

Discours d'ouverture

Matt Lowrie (Google)

Évolution de la productivité des entreprises et des ingénieurs

Manasi Joshi (Google)

Liens : Vidéo, Slides

Dans ce discours d'ouverture, nous essayons de faire suivre à tous l'évolution de la discipline de la productivité des ingénieurs chez Google, et de voir comment cela a joué un rôle essentiel dans la croissance de Google et comment elle est essentielle pour évoluer rapidement, rester stable et gagner en confiance grâce à des processus de développement, de release et de surveillance. Nous faisons également référence à certains des défis auxquels nous sommes confrontés aujourd'hui, ainsi qu'à de nouveaux horizons pour tester l'expérience produit hautement connectée/verticale que Google traverse.

Automatisation du mode Robot de téléprésence

Tanya Jenkins (Cantilever Consulting)

Liens : Vidéo, Slides

Il est difficile de tester l'interface de conduite d'un appareil de téléprésence. Elle fonctionne dans le monde réel, interagit avec des personnes et des objets, mais doit être testée dans un environnement contrôlé. Comment faire pour créer un environnement de conduite à distance réaliste tout en validant simultanément la position et la position de l'appareil lorsque vous ne pouvez pas le voir ? Je vais vous présenter une solution innovante.

Que contient Wallet ?

Hima Mandali (Capital One)

Liens : Vidéo, Slides

Capital One est l'une des plus grandes sociétés de cartes de crédit aux États-Unis, avec plus de 70 millions de comptes. Chez Capital one, nous développons de nombreux produits intéressants qui offrent des expériences numériques de qualité à nos clients. Aujourd'hui, nous allons parler des appareils mobiles et de la façon dont nous avons résolu le problème de l'automatisation des tests dans les applications Web mobiles. Nous verrons également comment accéder à un pipeline de livraison de logiciels plus rapide. Nous partagerons également les outils Open Source que nous avons utilisés et le tableau de bord Open Source que nous avons conçu pour résoudre nos problèmes.

Utiliser les statistiques d'automatisation des tests pour prédire les tests à exécuter

Boris Prikhodky (Unity Technologies)

Liens : Vidéo, Slides

Les tests sont devenus une partie essentielle des processus de développement d'applications, mais que faire lorsqu'un sauveur est devenu un goulot d'étranglement dans une vie quotidienne. Ici, nous partageons notre expérience sur ce que nous avons fait quand nous avons attendu trois à six heures pour l'exécution d'une configuration de test. Cette approche est simple, mais puissante, et elle vous fait gagner un temps précieux lorsque vous exécutez des tests verts sur une ferme de build et de test. Nous aborderons également les moyens d'améliorer le processus.

Automatisation des tests basés sur le sélénium pour Windows et Windows Phone

Nikolai Abalov (2gis)

Liens : Vidéo, Slides

Il existe du sélénium pour tester l'automatisation des applications Web. Il existe Appium pour les applications mobiles sur iOS et Android. Mais pour Windows Desktop et Windows Phone/Mobile, nous avons dû trouver notre propre solution basée sur le sélénium. Le Winium a donc été créé. Winium est une solution Open Source permettant de tester l'automatisation des applications Windows Desktop et Windows Phone/Mobile. Comme le Winium est basé sur du sélénium, il est relativement facile de commencer à l'utiliser si vous connaissez déjà le sélénium ou l'Appium. Vous pouvez donc l'intégrer à votre infrastructure de sélénium existante. Au cours de cette présentation, je présente les projets avec Winium, ainsi que les démonstrations de Winium.Desktop et de Winium.Mobile.

L'aspect Quirkier des tests

Brian Vanpee (Google)

Liens : Vidéo, Slides

Tous les bugs ne sont pas équivalents. Parfois, les décalages dans les langages de programmation que nous utilisons sont responsables : il est souvent difficile de les trouver, même pour les meilleurs programmeurs et testeurs. Venez découvrir avec nous une version amusante des fonctionnalités de tests grâce à des exemples soigneusement sélectionnés, issus de nombreuses langues que nous utilisons tous les jours. Enfin, nous vous lancerons un défi pour essayer de deviner le quirk, car nous vous présentons une série d'exemples de jeux de culture bizarre que l'on trouve dans des langages comme C, Java, Objective-C, PHP et le langage JavaScript préféré.

Algorithme de ML pour configurer un environnement de test mobile

Rajkumar Bhojan (technologies Wipro)

Liens : Vidéo, Slides

Avec l'essor rapide de la technologie informatique mobile, il existe une demande importante pour les tests d'applications mobiles sur les appareils mobiles. La gestion des appareils mobiles joue un rôle essentiel dans les tests d'applications mobiles. Comprendre les défis de la gestion des appareils mobiles est aussi important que les résoudre. Pour éviter les problèmes spécifiques aux appareils, les développeurs d'automatisation de tests doivent tester leurs applications sur un grand nombre d'appareils, ce qui est coûteux et inefficace. Dans cette conférence, nous allons vous montrer comment l'algorithme de machine learning peut identifier le bon ensemble d'appareils pour configurer un environnement de test sur mobile.

"Tu m'entends ?" – Survivre aux tests de qualité audio

Alexander Brauckman et Dan Hislop (Citrix)

Liens : Vidéo, Slides

IATF: un nouveau framework de test d'API multiplate-forme et multi-appareils automatisés

Yanbin Zhang (Intel)

Liens : Vidéo, Slides

Pour faciliter l'adoption de la technologie WebRTC et la rendre accessible à un plus grand nombre d'utilisateurs ou en créant de nouvelles applications, Intel a développé la solution WebRTC de bout en bout, Intel® Collaboration Suite pour WebRTC. Actuellement, Intel établit déjà un écosystème d'Intel® Collaboration Suite pour WebRTC dans le monde entier. La coopération couvre différents domaines, tels que l'enseignement, la médecine, le cloud sectoriel, la diffusion en ligne sur les réseaux sociaux, la visioconférence, l'accessoire connecté, etc. Le nombre croissant de plates-formes compatibles avec les API du SDK augmentent le nombre de tests de compatibilité et d'intégration multiplates-formes. Comment tester automatiquement l'interopérabilité entre ces SDK sur différentes plates-formes devient un problème majeur. Au cours de cette conférence, nous présenterons le framework de test d'API multi-appareils et multi-appareils automatisés IATF. Elle peut être adoptée pour tout test de SDK multiplate-forme et multi-appareil nécessitant une communication entre différentes plates-formes.

Utiliser l'analyse de concepts formelle dans les tests logiciels

Fedor Strok (Yandex/NRU HSE)

Liens : Vidéo, Slides

L'analyse formelle des concepts nous fournit une boîte à outils pour créer une ontologie formelle sur l'ensemble d'objets avec des descriptions (exprimées sous la forme d'un ensemble d'attributs). Cette branche de la théorie algébrique a été introduite en 1984 et s'applique désormais à une grande variété de tâches d'extraction de données. Cette présentation se concentre sur des techniques particulièrement utiles pour les tests logiciels: l'ontologie formelle pour les rapports de test pratiques et la dérivation de scénarios de test semi-automatiques.

Les tests irréguliers en intégration continue: les bonnes pratiques actuelles chez Google et les prochaines étapes

John Micco (Google)

et

Atif Memon (Université du Maryland, College Park)

Liens : Vidéo, Slides

Google dispose d'un énorme corpus de tests que nous exécutons en continu dans notre immense système d'intégration continue. En examinant ces données, nous constatons que les tests irréguliers sont source de gaspillage dans plusieurs dimensions. Nous nous efforçons d'améliorer notre capacité à comprendre l'impact, à détecter et à atténuer le niveau de fluidité inhérent dans notre système.

Expérience pour les développeurs, FTW !

Niranjan Tulpule (Google)

Liens : Vidéo, Slides

Ferme de test dispersée géographique basée sur Docker : entraînement sur l'infrastructure de test dans le programme Intel pour Android

Jerry Yu (Intel) et Guobing Chen (Intel)

Liens : Vidéo, Slides

OpenHTF – Framework de test du matériel Open Source

Joe Ethier (Google) et John Hawley (Google)

Liens : Vidéo, Slides

Génération de tests dirigée pour détecter les problèmes d'efficacité des boucles

Monika Dhok (Institut indien des sciences)

Liens : Vidéo, Slides

Le balayage redondant des boucles a été identifié comme une source de bugs de performances dans de nombreuses bibliothèques Java. C'est pourquoi nous avons conçu des techniques d'analyse statique et dynamique afin de détecter automatiquement ces bugs de performances. Cependant, si l'efficacité des analyses dynamiques dépend des tests d'entrée analysés, les analyses statiques sont moins efficaces pour valider automatiquement la présence de ces problèmes, valider les correctifs et éviter les régressions dans les futures versions. Nous proposons une nouvelle approche pour générer automatiquement des tests afin de détecter les problèmes d'inefficacité des boucles dans les bibliothèques Java. Cette présentation donne un bref aperçu de ce travail.

besoin de vitesse - Accélérez les tests d'automatisation de trois heures à trois minutes

Emanuil Slavov (Komfo Inc)

Liens : Vidéo, Slides

Tous les tests automatisés de haut niveau sont lents dans l'environnement rapide d'aujourd'hui. Il s'agit de l'éléphant présent dans la pièce que tout le monde ignore. et pour une bonne raison. Il est difficile d'effectuer des tests automatisés rapides, fiables et utiles. Cependant, vous n'avez pas le choix. Avec les tests automatisés lents, vous ne faites que livrer vos clients plus rapidement. Les tests de Komfo ont fonctionné plus de 3 heures par nuit. Le temps d'exécution ne cessait de croître. Les tests deviennent instables et inutilisables en tant que boucle de rétroaction. À un moment donné, les tests ont échoué pendant plus de 20 jours consécutifs. Des bugs de régression ont commencé à apparaître en production. Nous avons décidé d'arrêter cette folie. Après un effort et un dévouement considérables, les mêmes tests s'exécutent actuellement pendant moins de 3 minutes. Voici les témoignages d'améliorations continues qui nous ont permis d'obtenir des tests 60 fois plus rapides.

La couverture de code est un bon indicateur de l'efficacité de la suite de tests dans le monde réel

Rahul Gopinath (Université d'État de l'Oregon)

Liens : Vidéo, Slides

ClusterRunner: faciliter le retour rapide des tests grâce au scaling horizontal

Taejun Lee (Box Inc) et Joseph Harrington (Box Inc)

Liens : Vidéo, Slides

Box exécute environ 30 heures de tests unitaires et d'intégration à chaque commit. Nous les exécutons en parallèle en moins de 17 minutes grâce à notre plate-forme de distribution de tests Open Source, ClusterRunner. Pourquoi Box a-t-il autant de tests ? Comment fonctionne ClusterRunner ? Est-il facile de configurer ClusterRunner pour vos propres tests ? (Spoiler: oui.) ClusterRunner vous permet d'obtenir des retours de test ultra-rapides en parallélisant les tests sur un seul hôte et en les répartissant sur de nombreux hôtes. Développé par l'équipe d'ingénierie de la productivité de Box, nous utilisons ClusterRunner en interne pour exécuter une suite de tests de plus de 30 heures linéaires en 17 minutes, et nous effectuons cette opération plusieurs fois par jour. ClusterRunner est Open Source et indépendant du langage. Vous pouvez donc l'utiliser facilement pour votre propre projet. Nous avons créé ClusterRunner pour les équipes d'ingénierie qui rencontrent des problèmes avec les longs délais de rétroaction des tests ou du code sous-testé. Nous l'avons conçu de bas en haut pour qu'il soit facile à utiliser et qu'il s'intègre à votre système CI existant. Il mémorise la durée d'exécution de vos tests et planifie les prochaines exécutions en conséquence afin d'envoyer des commentaires le plus rapidement possible. Ses composants communiquent via une API REST conviviale, qui la rend accessible et extensible.

Tests d'intégration avec plusieurs appareils et services mobiles

Alexander Dorokhine (Google) et Ang Li (Google)

Liens : Vidéo, Slides

Mobly est un framework Open Source développé par Google pour tester des produits qui nécessitent des interactions sur plusieurs appareils (applications de réseau social, par exemple) ou des tests qui nécessitent de contrôler l'environnement de test, comme une connexion Wi-Fi. Nous verrons en quoi les tests multi-appareils diffèrent des tests sur un seul appareil et leurs problèmes uniques, tels que la synchronisation et le flux de code entre plusieurs appareils, et comment Mobly les résout.

Évolutivité et valeur: tester l'automatisation à la BBC

Jitesh Gosai (BBC) et David Buckhurst (BBC)

Liens : Vidéo, Slides

Nous avons conçu un cloud d'appareils Open Source interne pour effectuer des tests à grande échelle de nos applications mobiles et TV, mais il est rapidement devenu un monstre qui nous a obligés à repenser notre approche de l'automatisation et à trouver le bon équilibre entre évolutivité et valeur. Découvrez comment nous avons résolu les problèmes liés aux tests sur l'appareil grâce à l'automatisation ciblée et à la propriété partagée. Découvrez également comment créer votre propre cloud interne d'appareil et exploiter nos outils Open Source.

Rechercher des bugs dans les bibliothèques C++ à l'aide de LibFuzzer

Kostya serebryany (Google)

Liens : Vidéo, Slides

J'ai appris à faire planter un serveur

Jonathan Abrahams (MongoDB)

Liens : Vidéo, Slides

Découvrez comment nous avons testé la robustesse du serveur MongoDB pour faire face à différents scénarios de plantage du système. Découvrez comment nous avons pu automatiser le plantage de tout type de configuration d'OS et d'hôte (physique ou virtuelle).