Eröffnungsbemerkungen
Tony Voellm (Google)
Eröffnungs-Keynote – Evolution from Quality Assurance to Test Engineering
Ari Shamash (Google)
Sie haben eine App erstellt und sie veröffentlicht. Du dachtest dir, du schaffst es raus, baust etwas Volumen auf, finanzierst etwas, gibst alles aus und fängst von vorne an, damit du es richtig machen kannst. Die Nachfrage nach neuen Funktionen ist jedoch riesig. Deshalb müssen Sie jetzt mit noch nie dagewesener Geschwindigkeit anspornen. So entsteht ein Teufelskreis. Wie geht es jetzt weiter?
Sie können es nicht wegwerfen und ganz von vorn anfangen. Sie müssen einfach nur entwickeln, was Sie haben, und gleichzeitig qualitativ hochwertige Funktionen hinzufügen. Außerdem sollten Sie darauf achten, dass das, was bereits vorhanden ist, nicht beschädigt wird. Wie gehen Sie vor? Glücklicherweise entsteht in der Softwareentwicklungsbranche ein neues Feld, das dieses gängige Szenario behandelt: Bei Google nennen wir das „Test Engineering“.
In dieser Gesprächsrunde geht es darum, was Test Engineering ist, wie es sich aus der Qualitätssicherung herausgebildet hat und wie die Branche insgesamt Test Engineering implementiert hat (mit spezifischen Beispielen für die Implementierung bei Google).
Testsysteme in großem Maßstab @Twitter
James Waldrop (Twitter)
James spricht über die Tools, den Prozess und die Unternehmensphilosophie, die beim Leistungstest bei Twitter zum Einsatz kommt. Ein besonderer Schwerpunkt wird auf der Open-Source-Bibliothek für Lasttests von Iago liegen, die er verfasst hat, damit die Entwicklerteams von Twitter Lasttests durchführen können, bevor Code in der Produktion bereitgestellt wird. Dabei werden Details zur Implementierung einiger dieser Tests (einschließlich Quellcode) und zur Komplikation von komplizierten Faktoren wie OAuth und beliebigen Thrift-Protokollen behandelt.
Wie testet man ein mobiles Betriebssystem?
David Burns (Mozilla) und Malini Das (Mozilla)
Das ist das Problem, mit dem Mozilla konfrontiert wurde, als wir beschlossen, in die Welt von Firefox OS einzusteigen. Der Einstieg und die Vorgehensweise waren eine interessante Aufgabe. Hören Sie sich an, wie wir dieses Problem gelöst haben und wie wir ein neues Framework entwickelt haben.
Mobile Automatisierung in Continuous Delivery Pipeline
Igor Dorovskikh (Expedia) und Kaustubh Gawande (Expedia)
Expedia begann Anfang 2012, in mobile Web- und iOS-/Android-Apps zu investieren. Gleichzeitig entwickelten Test Engineers von Anfang an Lösungen zur Testautomatisierung, um Qualität und Testbarkeit in die Produkte zu integrieren. In diesem Vortrag sprechen wir über unsere Erfahrung mit dem Einsatz von Open-Source-Tools für automatisierte Tests in der agilen Entwicklungs- und Continuous-Delivery-Umgebung von Expedia. Wir sprechen über Test Pyramid und sehen uns die einzelnen Open-Source-Tools genauer an, die uns geholfen haben. Zu den verwendeten Open-Source-Tools gehören BDD-Tools wie Gurke, Webautomatisierungstool Selenium-WebDriver, iOS-Automatisierungstool Frank, Android-Automatisierungstools Robotium und Calabash sowie das Continuous Integration-System Jenkins. Darüber hinaus stellen wir einige der agilen Lieferprinzipien wie TDD, Paarprogrammierung, Build and Test Radiators vor. Abschließend möchte ich Ihnen einige der Vorteile vorstellen, die wir durch unsere Investition in Agile- und Testautomatisierung erreichen konnten und wie wir dadurch unsere Ziele für Continuous Delivery erreichen.
Automatisierte Set-Top-Box-Tests mit GStreamer und OpenCV
David Röthlisberger (YouView)
Wir erstellen mit den Befehlszeilentools von GStreamer und OpenCV in 3 Minuten ein Bilderkennungssystem für Videoaufnahmen. GStreamer ist ein Open-Source-Framework für die Medienverarbeitung. OpenCV („Open Computer Vision“) ist eine Open-Source-Bibliothek zur Bildverarbeitung.
Ein führendes Beispiel für ein solches System ist http://stb-tester.com, ein Open-Source-Tool von YouView, mit dem die UI-Tests unserer Set-Top-Boxen automatisiert werden können. Wir beschreiben stb-tester, die Flexibilität seiner GStreamer-Basis, einige der Möglichkeiten, die sich damit eröffnen, und die Herausforderungen, die vor uns liegen.
Webdriver for Chrome
Ken Kania (Google)
Chrome wurde von Anfang an als Windows-Browser eingeführt und ist jetzt auch auf Mac, Linux, Chrome OS und zuletzt auf Android- und iOS-Geräten verfügbar. Das Testen von Webanwendungen auf Nutzerebene auf diesen Plattformen war schwierig und erforderte verschiedene Automatisierungsansätze. In diesem Gespräch wird beschrieben, wie das Chrome-Team WebDriver für Chrome auf allen Plattformen bereitstellt. Dazu gehört auch ein technischer Blick auf den zugrunde liegenden Ansatz. Dabei geht es vor allem darum, wie Entwickler mit dem neuen ChromeDriver Tests für die verschiedenen Plattformen von Chrome schreiben können. Außerdem werden der aktuelle Status des Projekts und eine Roadmap für die Zukunft behandelt.
Karma – Test-Ausführer für JavaScript
Vojta Jina (Google)
Einführung in Karma – den Test-Ausführer, der das Testen von JavaScript-Anwendungen in echten Browsern reibungslos und angenehm macht.
Tests sind nicht optional, wenn eine JavaScript-Anwendung erstellt wird, die für viele Browser und Geräte geeignet ist. Das Ausführen von Tests in all diesen verschiedenen Umgebungen ist jedoch schwierig. Karma macht aus dieser mühsamen Aufgabe ein Stück Kuchen. Damit können Sie JavaScript-Tests in echten Browsern oder auf Geräten wie Ihrem Smartphone oder Tablet direkt über Ihr Terminal oder Ihre bevorzugte IDE ausführen.
Automatische Messung der Videoqualität
Patrik Höglund (Google)
Ja, komplexe, subjektive Messungen wie die Videoqualität können automatisch getestet werden. Dieses Gespräch zeigt, wie wir einen kontinuierlichen, automatisierten End-to-End-Test eines WebRTC-Videoanrufs entwickelt haben. Wir sehen uns die Toolchain genauer an und erläutern, mit welchen Herausforderungen wir sie konstruieren konnten. Das ist eine hervorragende Möglichkeit, Ihre Medientests auf die nächste Stufe zu bringen.
Was mit guten Anwendungen passiert...
Minal Mishra (Netflix)
Der boomende Mobil- und Tablet-Computing hat die Softwarebranche mit Plattformen zur Anwendungsentwicklung überlagert. Die Entwicklung von Verbraucheranwendungen auf Rechenplattformen hat eine eigene magische Erfahrung für Endnutzer. Softwareunternehmen, die sich an Nutzer wenden, versuchen immer, ihr Bestes zu geben, wenn sie eine Anwendung für diese Plattformen entwickeln. Die größte Herausforderung bei der Anwendungsentwicklung beginnt jedoch erst, wenn Unternehmen die erste Version der Anwendung einführen. Verbraucher und Softwareunternehmen wünschen sich, dass die neuesten Funktionen so schnell wie möglich und in höchster Qualität bereitgestellt werden. Dies führt zu einer ständigen Abwanderung von Code in jeder Ebene des Stacks. Wir, Entwickler von UI-Automatisierungen, erstellen verschiedene Erkennungssysteme, um Anwendungsprobleme schneller als später zu erkennen. In diesem Vortrag möchte ich Ihnen einige der Herausforderungen und Erfolge vorstellen, die hinter einem solchen Erkennungssystem stecken. Es hat uns geholfen, Probleme außerhalb der Anwendungsebene zu finden, aber die Nutzererfahrung beeinträchtigt.
Tests für Lernspiele und Lernspiele
Tao Xie (North Carolina State University)
In diesem Vortrag wird Pex4Fun (http://www.pexforfun.com/) vorgestellt, das die automatische Benotung in einem Onlineprogrammierungssystem nutzt, das für Hunderttausende Nutzer skalierbar ist. Sie bietet ein programmorientiertes Gamingerlebnis außerhalb des Klassenzimmers, in dem Nutzer sich mit verschiedenen Programmier- und Softwareentwicklungskenntnissen vertraut machen können, darunter Testkompetenzen wie das Schreiben parametrisierter Einheitentests. Pex4Fun trägt einen erheblichen Beitrag zum bekannten Problem der Benotung von Aufgaben bei und bietet unterhaltsame Lernerfahrungen, die auf interaktiven Spielen basieren. Pex4Fun erfreut sich in der Community großer Beliebtheit: Seit der Veröffentlichung im Juni 2010 hat die Anzahl der Klicks auf die Schaltfläche "Ask Pex!" (die Nutzer versuchen, Spiele bei Pex4Fun zu lösen) seit Anfang 2013 über eine Million erreicht.
Keynote schließen – Facebook auf Facebook testen
Simon Stewart (Facebook)
Facebook ist eine der beliebtesten Android-Apps auf dem Markt. In diesem Vortrag erfährst du, wie Facebook dafür sorgt, dass jeder Release so gut wie möglich ist. Wir decken alles ab – von der Verwaltung unseres Codes über unsere Ansätze zum Testen bis hin zum Dogfood-Test.