GTAC 2016: Präsentationen

Einleitung

Matt Lowrie (Google)

Entwicklung der Produktivität in Unternehmen und Entwicklung

Manasi Joshi (Google-Mitarbeiter)

Links: Videos, Präsentationen

In dieser Keynote möchten wir allen zeigen, wie sich die Produktivität von Engineering-Lösungen bei Google weiterentwickelt hat und wie dies für das Unternehmenswachstum von Google entscheidend ist, um schnell voranzukommen, stabil zu bleiben und durch Entwicklung/Release-/Monitoring-Prozesse viel Vertrauen zu bieten. Außerdem weisen wir auf einige der Herausforderungen hin, mit denen wir heute konfrontiert sind, und stellen neue Anforderungen an das Testen plattformübergreifender Produkte in einem stark vernetzten bzw. vertikalen Produkterlebnis bereit, das Google durchläuft.

Automatisierung des Telepresence-Roboterantriebs

Tanya Jenkins (Cantilever Consulting)

Links: Videos, Präsentationen

Das Testen der Bedienoberfläche eines Teleskopgeräts ist eine Herausforderung. Es arbeitet in der realen Welt, interagiert mit Menschen und Objekten, muss aber in einer kontrollierten Umgebung getestet werden. Wie kannst du eine realistische Remote-Fahrumgebung schaffen und gleichzeitig Standort und Position des Geräts validieren, wenn du es nicht siehst? Ich werde eine innovative Lösung präsentieren.

Was ist in Ihrem Wallet?

Hima Mandali (Capital One)

Links: Videos, Präsentationen

Capital One ist mit über 70 Millionen Konten eines der größten Kreditkartenunternehmen in den USA. Bei Capital One entwickeln wir viele coole Produkte, die unseren Kunden ein erstaunliches digitales Erlebnis bieten. Da Mobilgeräte für unsere Kunden der bevorzugte Kanal sind, wird in diesem Vortrag erläutert, wie wir das Problem der Testautomatisierung für mobile Web-Apps gelöst haben und was wir getan haben, um eine schnellere Softwarebereitstellungspipeline zu erreichen. Wir stellen Ihnen auch die Open-Source-Tools vor, die wir verwendet haben, sowie das Open-Source-Dashboard, das wir zur Lösung unserer Probleme entwickelt haben.

Anhand von Statistiken zur Automatisierung des Testlaufs vorhersagen, welche Tests ausgeführt werden sollen

Boris Prikhodky (Unity Technologies)

Links: Videos, Präsentationen

Tests sind inzwischen ein wesentlicher Bestandteil der Anwendungsentwicklung. Was jedoch zu tun ist, wenn ein Erlöser im Alltag zu einem Engpass geworden ist. Hier zeigen wir Ihnen, wie wir bei einer Testkonfiguration drei bis sechs Stunden gewartet haben. In diesem Vortrag wird ein einfacher, aber leistungsstarker Ansatz vorgestellt, mit dem Sie kostbare Zeit mit immer grünen Tests auf einer Build- und Testfarm sparen können. Es werden auch mögliche Möglichkeiten zur Verbesserung des Prozesses beschrieben.

Seleniumbasierte Testautomatisierung für Windows und Windows Phone

Nikolai Abalov (2gis)

Links: Videos, Präsentationen

Es gibt Selen für die Testautomatisierung von Webanwendungen. Es gibt Appium für mobile Apps unter iOS und Android. Für Windows Desktop und Windows Phone/Mobile mussten wir jedoch unsere eigene Selenium-basierte Lösung entwickeln. Winium entstand. Winium ist eine Open-Source-Lösung zur Testautomatisierung von Windows-Desktop- und Windows Phone-/mobilen Apps. Winium basiert auf Selen. Es sollte also relativ einfach sein, es für Ihre Automatisierungsanforderungen zu verwenden, wenn Sie bereits Selen oder Appium kennen, es kann in Ihre bestehende Seleninfrastruktur integriert werden. In dieser Präsentation stelle ich Projekte vor, die Winium enthalten und sowohl Winium.Desktop als auch Winium.Mobile in Aktion zeigen.

Quirkier-Seite

Brian Vanpee (Google)

Links: Videos, Präsentationen

Nicht alle Fehler sind gleich. Manchmal sind Quirks in den von uns verwendeten Programmiersprachen die Schuld dafür, dass sie selbst die besten Programmierer und Tester nicht finden können. Sehen wir uns die skurrile Seite des Tests an, indem wir ein paar ausgewählte Beispiele aus vielen der täglich genutzten Sprachen zeigen. Außerdem möchten wir euch helfen, die Eigenheiten dieser Technologie zu erraten, indem wir eine Reihe von skurrilen Beispielen in Sprachen wie C, Java, Objective-C, PHP und den beliebtesten Varianten vorstellen – JavaScript.

ML-Algorithmus zum Einrichten einer Testumgebung für Mobilgeräte

Rajkumar Bhojan (Wipro-Technologien)

Links: Videos, Präsentationen

Aufgrund des rasanten Fortschritts im Bereich der mobilen Computings wechselt die mobile Anwendung auf Mobilgeräten beträchtlich in diese Anforderungen. Die Mobilgeräteverwaltung spielt bei Tests für mobile Apps eine entscheidende Rolle. Diese Probleme zu bewältigen, ist ebenso wichtig wie deren Behebung. Um gerätespezifische Probleme zu vermeiden, müssen Entwickler für Testautomatisierung ihre Apps auf einer großen Anzahl von Geräten testen, was kostspielig und ineffizient ist. In diesem Vortrag zeigen wir, wie der Algorithmus für maschinelles Lernen die richtigen Geräte für die Einrichtung einer Testumgebung auf Mobilgeräten identifizieren kann.

„Kannst du mich hören?“, um die Audioqualität zu testen

Alexander Brauckman und Dan Hislop (Citrix)

Links: Videos, Präsentationen

IATF: Ein neues automatisiertes Framework für plattform- und geräteübergreifende API-Tests

Yanbin Zhang (Intel)

Links: Videos, Präsentationen

Um die Einführung der WebRTC-Technologie zu vereinfachen und sie allgemein verfügbar zu machen, um Anwendungen zu erweitern oder zu erstellen, hat Intel die End-to-End- WebRTC-Lösung Intel® Collaboration Suite for WebRTC entwickelt. Intel baut bereits ein wachsendes Netzwerk von Intel® Collaboration Suite für WebRTC auf der ganzen Welt auf. Die Zusammenarbeit deckt verschiedene Bereiche ab, u. a. Bildung, Medizin, Clouds in den sozialen Medien, Social Media-Online-Übertragung, Videokonferenzen und Wearables. Die schnell wachsende Anzahl unterstützter Plattformen für SDK-APIs macht den plattformübergreifenden Kompatibilitäts- und Integrationstest rasant zu. Das automatische Testen der Interoperabilität dieser verschiedenen SDKs auf verschiedenen Plattformen wird zu einem großen Problem. In diesem Vortrag halten wir Sie an unserem plattformübergreifenden und geräteübergreifenden API-Test-Framework (IATF). Sie kann für alle plattform- und geräteübergreifenden SDK-Tests verwendet werden, die eine plattformübergreifende Kommunikation erfordern.

Formale Konzeptanalyse für Softwaretests verwenden

Fedor Strok (Yandex/NRU HSE)

Links: Videos, Präsentationen

Formal Concept Analysis bietet uns eine Toolbox zum Erstellen formaler Ontologie für eine Reihe von Objekten mit Beschreibungen (ausgedrückt als Gruppe von Attributen). Dieser Zweig der algebraischen Theorie wurde 1984 eingeführt und wird jetzt für eine Vielzahl von Data-Mining-Aufgaben verwendet. Der Schwerpunkt dieses Vortrags liegt auf Techniken, die besonders für Softwaretests hilfreich sind: die formale Ontologie für bequeme Testberichte und die Ableitung eines halbautomatischen Testlaufs.

Instabile Tests in Continuous Integration: Aktuelle Vorgehensweise bei Google und Zukunftspläne

John Micco (Google)

und

Atif Memon (University of Maryland, College Park)

Links: Videos, Präsentationen

Google verfügt über einen enormen Bestand an Tests, die wir kontinuierlich in unserem umfangreichen Continuous-Integration-System ausführen. Aus diesen Daten geht hervor, dass uns instabile Tests zahlreiche Verschwendungen in verschiedenen Dimensionen verursachen. Wir arbeiten daran, die Auswirkungen auf unsere Systemen besser zu verstehen und Sicherheitslücken zu erkennen und zu mindern.

Entwickler, FTW!

Niranjan Tulpen (Google)

Links: Videos, Präsentationen

Docker-basiertes Geo Dispersed Test Farm – Test Infrastructure Practice in Intel Android Program

Jerry Yu (Intel) und Guobing Chen (Intel)

Links: Videos, Präsentationen

OpenHTF – Das Open-Source-Hardware-Test-Framework

Joe Ethier (Google) und John Hawley (Google)

Links: Videos, Präsentationen

Weiterleitung der Testgenerierung zur Erkennung von Loop-Ineffizienzen

Monika Dhok (Indien-Institut für Wissenschaft)

Links: Videos, Präsentationen

In vielen Java-Bibliotheken wurde ein redundanter Durchlauf von Schleifen als Quelle von Leistungsfehlern identifiziert. Das führt zur Entwicklung statischer und dynamischer Analysetechniken, mit denen diese Leistungsfehler automatisch erkannt werden. Die Effektivität dynamischer Analysen hängt zwar von den analysierten Eingabetests ab, statische Analysen sind jedoch weniger effektiv, um das Vorhandensein dieser Probleme automatisch zu validieren, Korrekturen zu korrigieren und Regressionen in zukünftigen Versionen zu vermeiden. Wir schlagen einen neuen Ansatz vor, um Tests automatisch zu generieren, um Ineffizienzen in Java-Bibliotheken zu erkennen. Diese Präsentation bietet einen kurzen Überblick über diese Arbeit.

Need for Speed – Beschleunigung der Automatisierungstests von 3 Stunden bis 3 Minuten

Emanuil Slavov (Komfo Inc.)

Links: Videos, Präsentationen

In der rasanten, ersten Bewertungsphase sind alle automatisierten Tests langlebig. Das ist der Elefant in dem Raum, den jeder ignoriert. Und das aus gutem Grund. Schnelle, zuverlässige und nützliche automatisierte Tests sind aufwendig. Aber Sie haben keine Wahl: Mit langsamen automatischen Tests versenden Sie Ihre Kunden schneller. Jede Nacht bei Komfo wurden Tests mehr als 3 Stunden durchgeführt. Die Ausführungszeit wuchs jedoch weiterhin uneingeschränkt. Die Tests wurden instabil und als Feedbackschleife unbrauchbar. Zu einem Zeitpunkt schlugen die Tests länger als 20 Tage in Folge fehl. Regressionsfehler werden in der Produktion angezeigt. Wir haben uns entschieden, diesen Wahnsinn aufzuhalten und nach erheblichem Aufwand und Engagement die gleichen Tests auszuführen, die gerade einmal 3 Minuten dauern. Hier erfahren Sie, wie wir 60-mal schnellere Tests erhalten haben.

Die Codeabdeckung ist ein aussagekräftiger Indikator für die Effektivität der Testsuite unter realen Bedingungen

Rahul Gopinath (Oregon State University)

Links: Videos, Präsentationen

ClusterRunner: Schnelles Testfeedback durch horizontale Skalierung

Taejun Lee (Box Inc.) und Joseph Harrington (Box Inc.)

Links: Videos, Präsentationen

Box wird bei jedem Commit etwa 30 Stunden an Einheiten- und Integrationstests ausgeführt. Mit unserer Open-Source-Testvertriebsplattform ClusterRunner parallelisieren wir sie in weniger als 17 Minuten. Warum hat Box so viele Tests? Wie funktioniert ClusterRunner? Ist die Einrichtung von ClusterRunner für eigene Tests einfach? (Spoiler: Ja.) ClusterRunner liefert Ihnen unglaublich schnelles Testfeedback, indem es Tests auf einem einzelnen Host parallelisiert und auf viele Hosts verteilt. Wir haben ClusterRunner intern vom Produktivitätsteam von Box entwickelt und führen intern in 17 Minuten eine Suite mit über 30 linearen Stunden an Tests aus, und zwar mehrmals täglich. ClusterRunner ist Open Source und sprachunabhängig, sodass Sie ihn ganz einfach für Ihr eigenes Projekt verwenden können. Wir haben ClusterRunner für Entwicklerteams entwickelt, die Probleme mit langen Testfeedback-Verzögerungen oder wenig getestetem Code haben. Wir haben es von Grund auf so aufgebaut, dass es leicht zu bedienen ist und in Ihr bestehendes CI-System eingebunden werden kann. Das Tool lernt, wie lange Ihre Tests ausgeführt werden, und plant zukünftige Ausführungen entsprechend, um so schnell wie möglich Feedback zu geben. Die Komponenten kommunizieren über eine freundliche REST API, die sowohl zugänglich als auch erweiterbar ist.

Integrationstests für mehrere Mobilgeräte und Dienste

Alexander Dorokhine (Google) und Ang Li (Google)

Links: Videos, Präsentationen

Mobly ist ein von Google entwickeltes Open-Source-Framework zum Testen von Produkten, die Interaktionen zwischen mehreren Geräten erfordern, wie z. B. Social Apps, oder Tests, die eine Steuerung der Testumgebung wie WLAN-Verbindung erfordern. Sie erfahren, wie sich Tests auf mehreren Geräten von Einzelgeräten unterscheiden und welche Probleme dabei auftreten, beispielsweise Synchronisierung und Codefluss zwischen verschiedenen Geräten. Außerdem erfahren Sie, wie Sie Mobly beheben können.

Umfang und Wert: Testautomatisierung bei der BBC

Jitesh Gosai (BBC) und David Buckhurst (BBC)

Links: Videos, Präsentationen

Wir haben eine interne Open-Source-Geräte-Cloud entwickelt, um das Testen unserer mobilen und TV-Apps zu skalieren. Aber schnell erwies sich unser Monster dazu, unseren Ansatz für Automatisierung zu überdenken und das richtige Gleichgewicht zwischen Skalierung und Wert zu finden. So haben wir die Herausforderungen der On-Device-Tests mit gezielter Automatisierung und gemeinsamer Inhaberschaft gelöst. Erfahren Sie auch, wie Sie Ihre eigene interne Geräte-Cloud erstellen und unsere Open-Source-Tools nutzen.

Fehler in C++-Bibliotheken mit LibFuzzer finden

Kostya Serebryany (Google)

Links: Videos, Präsentationen

Wie habe ich mit dem Absturztest eines Servers gelernt?

Jonathan Abrahams (MongoDB)

Links: Videos, Präsentationen

Erfahren Sie, wie wir die Robustheit des MongoDB-Servers getestet haben, um verschiedene Systemabsturzszenarien zu überstehen. Hier erfahren Sie, wie wir den Absturz eines Servers eines beliebigen Betriebssystems und einer Hostkonfiguration (physisch oder virtuell) automatisieren konnten.