Wie funktioniert Android App-Entwicklung?
Welche Tools benötige ich?
Schritt-für-Schritt Anleitung für Android App-Entwicklung.
Update 9.2012: Google hat seine Online Dokumentation erweitert. Mein Vortrag ist teilweise veraltet.
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...Marc Müller
Mittlerweile haben sich im VS-Umfeld immer mehr Nicht-MSTest-Testframeworks etabliert. Im Vortrag wollen wir auf mögliche Alternativen zu MSTest und Coded UI eingehen (z. B. Selenium, Ranorex, Protractor, …). Es geht dabei um Vor-/Nachteile, sinnvolle Szenarien und wie man es geschickt in die TFS-Werkzeugwelt integriert. Das Ziel ist dabei, das Beste aus beiden Welten zu bekommen
Mobile Applikationen für Smartphones und Tablets sind aus der Geschäftswelt nicht mehr wegzudenken:
Mitarbeiter und Geschäftspartner können mobil in Unternehmensprozesse eingebunden werden, Kunden mit mobilen Applikationen auf Daten und Dienstleistungen zugreifen. Oder Neukunden werden durch mobile Applikationen erst auf das Unternehmen aufmerksam.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
Wie mobile.de mobil wurde - Fast FeedbackHolger Hammel
mobile.de ist Teil von ebay inc. und Deutschlands größter Fahrzeugmarkt. Der Traffic über mobile Endgeräte liegt inzwischen bei über 50% und wächst weiter. Die Anforderungen der Nutzer über Gerätegrenzen hinweg und die Qualität und Stabilität der Anwendungen sind ein zentrales Element jeder Planung und Strategie. In dieser Keynote erfahren Sie, wie mobile Webapps bei mobile.de entwickelt werden, die alle unter den erfolgreichsten deutschen Apps zu finden sind. Dazu gehören unter anderem cross funktionale Teams, Kanban, Extreme Programming, Lean UX und automatisierte Tests.
Keynote http://mobile-testing-days.de/ 4.6.2014 Berlin
Erstellung von mobilen cross-platform-AppsRalf Lütke
Mobile Apps für iOS und Android, cross-plattform, d.h. mit nur einer gemeinsamen Programmierung für beide Systeme:
- Was ist cross-plattform?
- Technologie-Vergleich und Empfehlung!
- Gegenüberstellung von Web-Apps (mit HTML5/CSS3), Hybrid-Apps (mit PhoneGap) und nativen Apps (cross-plattform mit Titanium und plattform-spezifisch mit Objective-C / Java).
Wie funktioniert Android App-Entwicklung?
Welche Tools benötige ich?
Schritt-für-Schritt Anleitung für Android App-Entwicklung.
Update 9.2012: Google hat seine Online Dokumentation erweitert. Mein Vortrag ist teilweise veraltet.
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...Marc Müller
Mittlerweile haben sich im VS-Umfeld immer mehr Nicht-MSTest-Testframeworks etabliert. Im Vortrag wollen wir auf mögliche Alternativen zu MSTest und Coded UI eingehen (z. B. Selenium, Ranorex, Protractor, …). Es geht dabei um Vor-/Nachteile, sinnvolle Szenarien und wie man es geschickt in die TFS-Werkzeugwelt integriert. Das Ziel ist dabei, das Beste aus beiden Welten zu bekommen
Mobile Applikationen für Smartphones und Tablets sind aus der Geschäftswelt nicht mehr wegzudenken:
Mitarbeiter und Geschäftspartner können mobil in Unternehmensprozesse eingebunden werden, Kunden mit mobilen Applikationen auf Daten und Dienstleistungen zugreifen. Oder Neukunden werden durch mobile Applikationen erst auf das Unternehmen aufmerksam.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
Wie mobile.de mobil wurde - Fast FeedbackHolger Hammel
mobile.de ist Teil von ebay inc. und Deutschlands größter Fahrzeugmarkt. Der Traffic über mobile Endgeräte liegt inzwischen bei über 50% und wächst weiter. Die Anforderungen der Nutzer über Gerätegrenzen hinweg und die Qualität und Stabilität der Anwendungen sind ein zentrales Element jeder Planung und Strategie. In dieser Keynote erfahren Sie, wie mobile Webapps bei mobile.de entwickelt werden, die alle unter den erfolgreichsten deutschen Apps zu finden sind. Dazu gehören unter anderem cross funktionale Teams, Kanban, Extreme Programming, Lean UX und automatisierte Tests.
Keynote http://mobile-testing-days.de/ 4.6.2014 Berlin
Erstellung von mobilen cross-platform-AppsRalf Lütke
Mobile Apps für iOS und Android, cross-plattform, d.h. mit nur einer gemeinsamen Programmierung für beide Systeme:
- Was ist cross-plattform?
- Technologie-Vergleich und Empfehlung!
- Gegenüberstellung von Web-Apps (mit HTML5/CSS3), Hybrid-Apps (mit PhoneGap) und nativen Apps (cross-plattform mit Titanium und plattform-spezifisch mit Objective-C / Java).
This is my talk in german about Mobile Testing. This time I was asked questions from the audience before my talk and I prepared a nice slide deck with the answers and more about mobile testing.
Das Android Open Source Project, kurz AOSP, ist das Betriebssystem, das auf den meisten heutigen und wahrscheinlich auch auf deinem Smartphone läuft. Es ist die Basis für das Android-App-Universum und wird von Millionen Nutzern und Entwicklern auf der Welt verwendet. Wegen der offenen Verfügbarkeit des Source Codes ist es auch die Basis für bekannte Custom ROMs wie LineageOS.
Der erste Teil des Talks gab eine Übersicht über die Architektur des Betriebssystems, das App-Ökosystem, den Hardware Abstraction Layer (HAL), die Sicherheitskonzepte und einige neue Betriebssystementwicklungen wie Project Treble in Android 8.0.
Der zweite Teil des Talks gab einen Einblick in den Quellcode und die Struktur des AOSP: Wie lädt man sich den Source Code herunter, wie baut man das AOSP für unterstützte Geräte und wie kann man die eigenen ROMs auf ein Smartphone flashen? Zum Spaß wurde auch noch in einige Implementierungsdetails von Android-App-API-Funktionen geblickt, die man als App Developer schon aufgerufen hat.
Speaker: Stefan Lengfeld, inovex
Event: inovex Meetup Köln, 23.10.2018
Mehr Tech-Vorträge: www.inovex.de/vortraege
Mehr Tech-Artikel: www.inovex.de/blog
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)die.agilen GmbH
jQuery Mobile ist das führende Framework zur Erstellung von mobilen Websites. Das über 150 Seiten umfassende Kompendium behandelt alle Elemente der aktuelle Version 1.1.0 und führt mit zahlreichen Beispielen und Code-Examples umfassend in die Verwendung ein.
Vortrag von Wolfram Nagel (digiparden GmbH) zum Thema "Multiscreen Experience Design" auf der Usability Professionals Konferenz 2012 in Konstanz.
Die Gerätelandschaft wird immer dynamischer und fragmentierter. Viele Anwender werden zukünftig mehrere verschiedene Endgeräte (gleichzeitig) benutzen. Deshalb müssen Informationen auf möglichst allen (relevanten) Screens und Ausgabekanälen verfügbar sein. Das wiederum bedeutet, dass jedes Projekt generell für mehrere Screens und Ausgabekanäle gedacht und konzipiert werden muss, um dem Anwender eine möglichst „fließende Multiscreen Experience“ zu bieten. Der Vortrag stellt Prinzipien, Muster und Empfehlungen vor, die man bei der Konzeption von Multiscreen Projekten berücksichtigen sollte. Zwei Schwerpunkte des Vortrags sind Content- und Informationsmanagement für verschiedene Screens, sowie Kommunikation und Nutzung von Informationen auf mobilen Endgeräten.
Voice Assistants: Neuigkeiten von Alexa und Google Homeinovex GmbH
inovex Meetup Köln, 12.06.2017
Dominik Helleberg, Sebastian Meßingfeld
Sebastian Meßingfeld und Dominik Helleberg stellen die Neuerungen von Voice Assistants vor, gehen auf prinzipielle Funktionsweisen ein und zeigen ein, zwei Features in einer Demo. Fokus legen sie dabei auf Alexa und Google Home.
Mehr Tech-Vorträge: https://www.inovex.de/de/content-pool/vortraege/
DevDay 2016 Keynote - Die Evolution agiler Software EntwicklungMarc Müller
DevOps ist derzeit in aller Munde und das IT-Buzzword schlecht hin. Doch was verbirgt sich genau hinter diesem Begriff? Es ist definitiv viel mehr als nur die verbesserte Zusammenarbeit zwischen Entwicklung und Betrieb. Agile Planung, kurze Releasezyklen, Automatisierung und das kontinuierliche Feedback sind zentrale Themen, mit denen sich jedes Entwicklungsteam heutzutage auseinandersetzen muss. Der Vortrag zeigt die Anforderungen und Herausforderungen an einen modernen und effizienten DevOps Prozess auf und untermauert diese mit Praxisbeispielen aus unserer langjährigen Beratertätigkeit.
Präsentation zu einem Vortrag, den ich am 17.03.2011 bei BITKOM Arbeitskreis Knowledge Managmement in Frankfurt halte. Näheres unter http://www.cogneon.de/node/4699
Basta Spring 2017 - DevOps: Automatisieren der Deployment-Prozesse mit Te...Marc Müller
Erleben Sie eine End-to-End-Demo der TFS-Features, die DevOps-Teams dabei unterstützen, Ihre Deployments zu automatisieren – vom Quellcode über Build-Automatisierung, „Releasepipelines“ mit mehreren „Stages“, dem Deployment in Test- und Produktivumgebungen sowie automatisierten Ausführung von funktionalen Tests auf Testmaschinen. Egal ob Web, Mobile oder Windows-Projekte: Wenn Sie Ihre Release- und Deployment-Prozesse noch nicht vollständig automatisiert haben, dann sollten Sie diesen Vortrag nicht verpassen.
Niemals nach Mitternacht füttern - Grüne Roboter überall!inovex GmbH
War Android Embedded in der Vergangenheit noch ein Exot, der meist vom Wunsch nach einer schlüsselfertigen, modernen Touchoberfläche getrieben wurde, so ist Android inzwischen im Embedded Bereich fast Mainstream geworden und es werden zunehmend auch komplexere Änderungen an Android in Angriff genommen: Google Glass, Android Wear, Verbindungen von RT-Linux und Android, etc. Wir möchten in dieser Session rekapitulieren, warum Android im Embedded Bereich so populär geworden ist und wo die Stärken und Schwächen von Android Embedded Lösungen liegen. Dabei werden wir auch Problemfelder aus unserer praktischen Erfahrung in Android Embedded Projekten diskutieren.
.NET Usergroup Oldenburg 23. April 2015 - von Christopher Wennhold und Hilmar Bunjes -Mobile Anwendungen mit Apache Cordova.
Apache Cordova (früher Phonegap) ist eine Plattform für Apps auf mobilen Geräten (Windows Phone, Windows 8+, iOS, Android, Blackberry, WebOS, Bada, Symbian). Mittels HTML/JS können Apps gebaut werden, die mit minimalen Anpassungen auf allen Plattformen laufen können.
Wir zeigen die Idee hinter Cordova und Möglichkeiten, mit Cordova Apps zu entwickeln. Dabei wird Visual Studio als IDE verwendet, welches durch die "Visual Studio Tools for Apache Cordova" eine herausragende Plattform für hierfür geworden ist. Ebenfalls gibt es eine kurze Einführung in das Debugging und den Aufbau von Plugins für Cordova.
Über die Sprecher:
Christopher Wennhold leitet die mobile Entwicklung bei erminas in Oldenburg. Cordova ist dabei die erste Wahl, wenn es um plattformübergreifende Apps geht. Zusätzlich ist er .NET und Open Text WSM Entwickler, insbesondere im Web-Bereich.
Hilmar Bunjes ist Gründer und Geschäftsführer von erminas. Ein Schwerpunkt sind mobile Apps im B2B-Bereich (u.a. mit Cordova). Daneben entwickeln wir Web-Applikationen mit .NET und Open Text WSM.
In this talk I am sharing the challenges of being a remote leader. I am sharing tips and insights on how to overcome the issues with remote work.
Remote work isn't easy and this talk should give you an idea about remote leadership problems and what you can do to overcome them.
Leading a testing team of individual people with different skills and mindsets is a challenging task. Modern leaders should support, help, guide, and coach the direct reports to grow their skill set to become a better tester. In this talk, Daniel will introduce the testing wheel to you and what it's all about.
The content of the testing wheel will help leaders to shape their testing team and to support, help, guide, and coach each person in the team on an individual level.
The testing wheel is an instrument to bring potential problems or missing skills to the top and is a basis for discussion. It will further help the direct report to grow their own skills set. On the other side it will help the leader to guide and coach the team member.
Join my talk to learn all about the testing wheel.
Key Takeaways
1. What is the testing wheel and how a leader and the direct reports can benefit from it.
2. How to configure the testing wheel for the individual needs.
3. How to use the results from the testing wheel to shape the testing team and how to guide and coach team members.
This is my talk in german about Mobile Testing. This time I was asked questions from the audience before my talk and I prepared a nice slide deck with the answers and more about mobile testing.
Das Android Open Source Project, kurz AOSP, ist das Betriebssystem, das auf den meisten heutigen und wahrscheinlich auch auf deinem Smartphone läuft. Es ist die Basis für das Android-App-Universum und wird von Millionen Nutzern und Entwicklern auf der Welt verwendet. Wegen der offenen Verfügbarkeit des Source Codes ist es auch die Basis für bekannte Custom ROMs wie LineageOS.
Der erste Teil des Talks gab eine Übersicht über die Architektur des Betriebssystems, das App-Ökosystem, den Hardware Abstraction Layer (HAL), die Sicherheitskonzepte und einige neue Betriebssystementwicklungen wie Project Treble in Android 8.0.
Der zweite Teil des Talks gab einen Einblick in den Quellcode und die Struktur des AOSP: Wie lädt man sich den Source Code herunter, wie baut man das AOSP für unterstützte Geräte und wie kann man die eigenen ROMs auf ein Smartphone flashen? Zum Spaß wurde auch noch in einige Implementierungsdetails von Android-App-API-Funktionen geblickt, die man als App Developer schon aufgerufen hat.
Speaker: Stefan Lengfeld, inovex
Event: inovex Meetup Köln, 23.10.2018
Mehr Tech-Vorträge: www.inovex.de/vortraege
Mehr Tech-Artikel: www.inovex.de/blog
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)die.agilen GmbH
jQuery Mobile ist das führende Framework zur Erstellung von mobilen Websites. Das über 150 Seiten umfassende Kompendium behandelt alle Elemente der aktuelle Version 1.1.0 und führt mit zahlreichen Beispielen und Code-Examples umfassend in die Verwendung ein.
Vortrag von Wolfram Nagel (digiparden GmbH) zum Thema "Multiscreen Experience Design" auf der Usability Professionals Konferenz 2012 in Konstanz.
Die Gerätelandschaft wird immer dynamischer und fragmentierter. Viele Anwender werden zukünftig mehrere verschiedene Endgeräte (gleichzeitig) benutzen. Deshalb müssen Informationen auf möglichst allen (relevanten) Screens und Ausgabekanälen verfügbar sein. Das wiederum bedeutet, dass jedes Projekt generell für mehrere Screens und Ausgabekanäle gedacht und konzipiert werden muss, um dem Anwender eine möglichst „fließende Multiscreen Experience“ zu bieten. Der Vortrag stellt Prinzipien, Muster und Empfehlungen vor, die man bei der Konzeption von Multiscreen Projekten berücksichtigen sollte. Zwei Schwerpunkte des Vortrags sind Content- und Informationsmanagement für verschiedene Screens, sowie Kommunikation und Nutzung von Informationen auf mobilen Endgeräten.
Voice Assistants: Neuigkeiten von Alexa und Google Homeinovex GmbH
inovex Meetup Köln, 12.06.2017
Dominik Helleberg, Sebastian Meßingfeld
Sebastian Meßingfeld und Dominik Helleberg stellen die Neuerungen von Voice Assistants vor, gehen auf prinzipielle Funktionsweisen ein und zeigen ein, zwei Features in einer Demo. Fokus legen sie dabei auf Alexa und Google Home.
Mehr Tech-Vorträge: https://www.inovex.de/de/content-pool/vortraege/
DevDay 2016 Keynote - Die Evolution agiler Software EntwicklungMarc Müller
DevOps ist derzeit in aller Munde und das IT-Buzzword schlecht hin. Doch was verbirgt sich genau hinter diesem Begriff? Es ist definitiv viel mehr als nur die verbesserte Zusammenarbeit zwischen Entwicklung und Betrieb. Agile Planung, kurze Releasezyklen, Automatisierung und das kontinuierliche Feedback sind zentrale Themen, mit denen sich jedes Entwicklungsteam heutzutage auseinandersetzen muss. Der Vortrag zeigt die Anforderungen und Herausforderungen an einen modernen und effizienten DevOps Prozess auf und untermauert diese mit Praxisbeispielen aus unserer langjährigen Beratertätigkeit.
Präsentation zu einem Vortrag, den ich am 17.03.2011 bei BITKOM Arbeitskreis Knowledge Managmement in Frankfurt halte. Näheres unter http://www.cogneon.de/node/4699
Basta Spring 2017 - DevOps: Automatisieren der Deployment-Prozesse mit Te...Marc Müller
Erleben Sie eine End-to-End-Demo der TFS-Features, die DevOps-Teams dabei unterstützen, Ihre Deployments zu automatisieren – vom Quellcode über Build-Automatisierung, „Releasepipelines“ mit mehreren „Stages“, dem Deployment in Test- und Produktivumgebungen sowie automatisierten Ausführung von funktionalen Tests auf Testmaschinen. Egal ob Web, Mobile oder Windows-Projekte: Wenn Sie Ihre Release- und Deployment-Prozesse noch nicht vollständig automatisiert haben, dann sollten Sie diesen Vortrag nicht verpassen.
Niemals nach Mitternacht füttern - Grüne Roboter überall!inovex GmbH
War Android Embedded in der Vergangenheit noch ein Exot, der meist vom Wunsch nach einer schlüsselfertigen, modernen Touchoberfläche getrieben wurde, so ist Android inzwischen im Embedded Bereich fast Mainstream geworden und es werden zunehmend auch komplexere Änderungen an Android in Angriff genommen: Google Glass, Android Wear, Verbindungen von RT-Linux und Android, etc. Wir möchten in dieser Session rekapitulieren, warum Android im Embedded Bereich so populär geworden ist und wo die Stärken und Schwächen von Android Embedded Lösungen liegen. Dabei werden wir auch Problemfelder aus unserer praktischen Erfahrung in Android Embedded Projekten diskutieren.
.NET Usergroup Oldenburg 23. April 2015 - von Christopher Wennhold und Hilmar Bunjes -Mobile Anwendungen mit Apache Cordova.
Apache Cordova (früher Phonegap) ist eine Plattform für Apps auf mobilen Geräten (Windows Phone, Windows 8+, iOS, Android, Blackberry, WebOS, Bada, Symbian). Mittels HTML/JS können Apps gebaut werden, die mit minimalen Anpassungen auf allen Plattformen laufen können.
Wir zeigen die Idee hinter Cordova und Möglichkeiten, mit Cordova Apps zu entwickeln. Dabei wird Visual Studio als IDE verwendet, welches durch die "Visual Studio Tools for Apache Cordova" eine herausragende Plattform für hierfür geworden ist. Ebenfalls gibt es eine kurze Einführung in das Debugging und den Aufbau von Plugins für Cordova.
Über die Sprecher:
Christopher Wennhold leitet die mobile Entwicklung bei erminas in Oldenburg. Cordova ist dabei die erste Wahl, wenn es um plattformübergreifende Apps geht. Zusätzlich ist er .NET und Open Text WSM Entwickler, insbesondere im Web-Bereich.
Hilmar Bunjes ist Gründer und Geschäftsführer von erminas. Ein Schwerpunkt sind mobile Apps im B2B-Bereich (u.a. mit Cordova). Daneben entwickeln wir Web-Applikationen mit .NET und Open Text WSM.
In this talk I am sharing the challenges of being a remote leader. I am sharing tips and insights on how to overcome the issues with remote work.
Remote work isn't easy and this talk should give you an idea about remote leadership problems and what you can do to overcome them.
Leading a testing team of individual people with different skills and mindsets is a challenging task. Modern leaders should support, help, guide, and coach the direct reports to grow their skill set to become a better tester. In this talk, Daniel will introduce the testing wheel to you and what it's all about.
The content of the testing wheel will help leaders to shape their testing team and to support, help, guide, and coach each person in the team on an individual level.
The testing wheel is an instrument to bring potential problems or missing skills to the top and is a basis for discussion. It will further help the direct report to grow their own skills set. On the other side it will help the leader to guide and coach the team member.
Join my talk to learn all about the testing wheel.
Key Takeaways
1. What is the testing wheel and how a leader and the direct reports can benefit from it.
2. How to configure the testing wheel for the individual needs.
3. How to use the results from the testing wheel to shape the testing team and how to guide and coach team members.
Mobile testing is a complex task. In this talk I shared insights on how to gather more data about your customers and how you can make use of this data for your testing activities. Furthermore, I share insights on how to scale mobile releases across multiple development teams.
5 soft skills every software tester should have in order to improve the daily work. The skills will help to tackle testing challenges and to keep up with the technology changes.
This talk describes my way from a lead test engineer to a senior product manager. I am also sharing information about my book Hands-On Mobile App Testing and the testing community.
The document describes Daniel Knott's presentation on "Mobile App Testing – Challenges, Solutions and Best Practices" given at the Scandinavian Agile Conference 2012. It provides background on Daniel Knott and his work as quality assurance manager at XING AG, a business social network. It then outlines some of the challenges of mobile app testing like different platforms, internationalization issues, and carrier networks. The presentation discusses solutions like test automation using Robotium and KIF and provides code examples, and shares best practices.
Challenges in mobile test automation - 2011Daniel Knott
Daniel Knott presents on the challenges of mobile test automation. He discusses different platforms like Android and iOS that have different user interfaces, hardware, and software versions that must be tested. He then outlines solutions like using Robotium for Android test automation, KIF for iOS testing, and crowd sourcing testing by doing internal beta releases.
How to scale mobile testing across several teamsDaniel Knott
Testbash Munich talk about mobile testing scaling. In this talk I present the technologies we use at XING to scale our mobile testing accross several teams. Solutions for automation, releases and more are included
10 Mobile App Testing Mistakes To Avoid by Daniel KnottDaniel Knott
The document discusses 10 common mistakes to avoid when testing mobile apps. These include: not listening to customer feedback; not following platform UI guidelines; failing to test mobile-specific use cases like interruptions and battery drainage; trying to test everything instead of focusing on critical functions; not performing real-world testing; overlooking backend functionality by only testing the UI; automating tests at the wrong layer; testing on a single device instead of a range; neglecting update/installation testing; and not adequately addressing security testing. The author emphasizes focusing testing efforts on the most important functions and devices based on customer usage data.
How to Scale Mobile Testing Across Several TeamsDaniel Knott
This document discusses how to scale mobile testing across several teams. It describes the challenges of scaling mobile testing in a company that started as primarily web-focused. Key steps discussed include establishing feature teams for each mobile platform, implementing a release train model with fixed release dates, growing test automation capabilities for both iOS and Android using shared frameworks, and investing in tools and infrastructure like a mobile test farm. The document emphasizes that communication is important, mobile skills are needed, and the testing environment requires ongoing investment and reconsideration.
This document discusses hands-on mobile app testing. It notes that there are over 3 million apps available across major app stores, with over 100 billion downloads, but many apps are not well tested or deleted after first use. It emphasizes testing on different device types and operating system versions. It recommends establishing a beta testing program to get early feedback from real users. The mobile test pyramid prioritizes manual testing, integration tests, and unit tests over end-to-end UI tests. References are provided for tools to conduct stress testing, beta testing, and using device clouds and labs.
How to Break your App - Workshop - Testbash 2015Daniel Knott
Mobile phones are available since the middle of the 1980s. Since then, the devices changed savagely but the biggest change happened in 2007, when the first iPhone was presented by Apple. Since then, the mobile smartphone market knows only one direction – UP! Since 8 years touch devices are everywhere, from smartphones to tablets.
More than 2 millions apps are available for download in the stores of the biggest vendors and this number is still increasing. There are apps for photos, music, games, office and many more categories just to name some of them.
But what about the quality of those apps? Are those apps reliable, trust worthy, easy to use, well developed and tested? The latest world quality report from Sogeti shows that almost half (45 percent) of mobile apps are not well tested in terms of functionality, performance and security.
This workshop includes insights into the challenging job of mobile testing from native to web apps. Best practices will be provided to become a better mobile tester. Besides that, this workshop will show different test techniques from functional to non functional mobile testing, test automation tools and how to handle the device fragmentation.
The workshop will not include practical mobile test automation. However, the participants will be able to test different mobile apps manually based on the content of the workshop.
How to Break your App - Best Practices in Mobile App TestingDaniel Knott
These are the slides from my keynote talk at the Mobile App Europe conference 2014 in Potsdam. Unfortunately, I was not able to give the talk because of sickness, but nevertheless I want to share the slides with you guys. If you have any questions, don't hesitate to get in contact with me.
2. Daniel Knott
Manager Quality Assurance
@dnlkntt
daniel.knott@xing.com
Daniel Knott hat einen technischen Hintergrund in verschiedenen Programmiersprachen und Quality Assurance
Tools. Nach seiner Ausbildung bei der IBM Deutschland GmbH studierte er an der Fachhochschule Wiesbaden
Informatik mit dem Schwerpunkt Softwarequalitätssicherung. Seit 2010 arbeitet Daniel Knott als Manager Quality
Assurance bei der XING AG. In verschiedenen Projekten (XING Suche, XING Empfehlungen) war er verantwortlich
für das Testmanagement, für die Ausführung der Testfälle sowie für die Testautomatisierung.
Zur Zeit arbeitet Daniel Knott im XING mobile Team. Dort ist er verantwortlich für das Testmanagement aller Mobilen
Apps der XING AG, dazu gehören iPhone, Android, touch.xing.com, Windows Phone 7 und die Blackberry App.
Neben dem Testmanagement betreut Daniel die Testautomatisierung der iPhone und Android App. Zusätzlich zu
seiner Tätigkeit bei der XING AG ist Daniel ein Sprecher auf agilen Konferenzen.
Sein XING Profil https://www.xing.com/profile/Daniel_Knott.
Sein Blog http://www.adventuresinqa.com
3. 1. XING AG
2. Agile Entwicklung der XING Mobile Apps
3. Herausforderungen in der mobilen Entwicklung
4. Agile Testautomatisierung
5. Werkzeuge
6. Best Practices
Inhaltsverzeichnis
2Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
4. 3Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
XING AG
Gegründet 2003 als OpenBC
Seit 2006 XING AG
> 11.7 Mio. Mitglieder
~ 25% Mobile Traffic
8. 7Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Agile Entwicklung der
XING Mobile Apps
9. Agile Entwicklung der XING Mobile Apps
8Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
10. Agile Entwicklung der XING Mobile Apps
9Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Selected
Backlog
Product
Backlog
Feature/ Discovery
Es2ma2on
Developing
Tes2ng
Internal
Beta
Phase
11. 10Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Herausforderungen
in der mobilen
Entwicklung
13. Herausforderungen – Plattformen
12Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Verschiedene
Hersteller
Verschiedene
User
Interfaces
Unterschiedliche
Hardware
Viele
So5ware-‐Versionen
Ein
Hersteller
Unterschiedliche
Hardware
Viele
So5ware-‐Versionen
16. 15Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Agile Test-
automatisierung
17. Agile Testautomatisierung – Warum?
16Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
18. Agile Testautomatisierung – Warum?
17Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
App
lässt
sich
nicht
installieren
Layout-‐Probleme
Probleme
mit
Landscape
/
Portrait
Mode
Falsche
Übersetzungen
Fehlende
Resourcen
Keine
Verbindung
zum
Backend
19. Agile Testautomatisierung – Beispiel QR Code
18Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
21. Werkzeuge – Robotium
20Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Black
Box
Test
Tool
Basiert
auf
Java
und
JUnit
3
Support
für
Android
1.6
–
4.x
Simuliert
User
InteracVon
Einfacher
AuWau
Device
&
Simulator
Testet
gegen
APK
Datei
22. Werkzeuge – Robotium
21Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
public
void
testLoginFailed()
throws
Exception
{
solo.enterText(0,
“wrongusername”);
solo.enterText(1,
“wrongpassword”);
solo.clickOnButton(solo.getString(com.xing.android.R.string.button_login));
solo.waitForActivity("com.xing.android.activities.SpinnerLoginActivity",
2000);
assertTrue("ERROR:
Error
message
is
not
shown",
verifyTextIsPresent(solo.getString(
com.xing.android.R.string.dialog_error_body)));
solo.clickOnButton(solo.getString(com.xing.android.R.string.dialog_button));
}
23. Werkzeuge – Robotium
22Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
public
void
testLoginFailed()
throws
Exception
{
solo.enterText(0,
“wrongusername”);
solo.enterText(1,
“wrongpassword”);
solo.clickOnButton(solo.getString(com.xing.android.R.string.button_login));
solo.waitForActivity("com.xing.android.activities.SpinnerLoginActivity",
2000);
assertTrue("ERROR:
Error
message
is
not
shown",
verifyTextIsPresent(solo.getString(
com.xing.android.R.string.dialog_error_body)));
solo.clickOnButton(solo.getString(com.xing.android.R.string.dialog_button));
}
24. Werkzeuge – Robotium
23Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
public
void
testLoginFailed()
throws
Exception
{
solo.enterText(0,
“wrongusername”);
solo.enterText(1,
“wrongpassword”);
solo.clickOnButton(solo.getString(com.xing.android.R.string.button_login));
solo.waitForActivity("com.xing.android.activities.SpinnerLoginActivity",
2000);
assertTrue("ERROR:
Error
message
is
not
shown",
verifyTextIsPresent(solo.getString(
com.xing.android.R.string.dialog_error_body)));
solo.clickOnButton(solo.getString(com.xing.android.R.string.dialog_button));
}
25. Werkzeuge – Robotium
24Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
public
void
testLoginFailed()
throws
Exception
{
solo.enterText(0,
“wrongusername”);
solo.enterText(1,
“wrongpassword”);
solo.clickOnButton(solo.getString(com.xing.android.R.string.button_login));
solo.waitForActivity("com.xing.android.activities.SpinnerLoginActivity",
2000);
assertTrue("ERROR:
Error
message
is
not
shown",
verifyTextIsPresent(solo.getString(
com.xing.android.R.string.dialog_error_body)));
solo.clickOnButton(solo.getString(com.xing.android.R.string.dialog_button));
}
26. Werkzeuge – Robotium
25Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
27. Werkzeuge – KIF (Keep It Functional)
26Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Grey
Box
Test
Tool
ObjecVve
C
Device
&
Simulator
Simuliert
User
InteracVon
Sehr
schnell
&
CI
IntegraVon
28. Werkzeuge – KIF (Keep It Functional)
27Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
+
(id)scenarioLoginWithWrongCredentials
{
KIFTestScenario
*scenario
=
[KIFTestScenario
scenarioWithDescription:@"Test
the
login
wrong
credentials"];
[scenario
addStep:[KIFTestStep
stepToEnterText:@"wrongusername"
intoViewWithAccessibilityLabel:@"Login
User
Name"]];
[scenario
addStep:[KIFTestStep
stepToEnterText:@"wrongpassword"
intoViewWithAccessibilityLabel:@"Login
Password"]];
[scenario
addStep:[KIFTestStep
stepToTapViewWithAccessibilityLabel:@"done"]];
[scenario
addStep:[KIFTestStep
stepToWaitForViewWithAccessibilityLabel:LocalizedString
(@"ID_LOGIN_FAILED_MESSAGE")]];
[scenario
addStep:[KIFTestStep
stepToTapViewWithAccessibilityLabel:LocalizedString
(@"ACC_FIELD_USER_NAME_LOGIN")]];
29. Werkzeuge – KIF (Keep It Functional)
28Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
+
(id)scenarioLoginWithWrongCredentials
{
KIFTestScenario
*scenario
=
[KIFTestScenario
scenarioWithDescription:@"Test
the
login
wrong
credentials"];
[scenario
addStep:[KIFTestStep
stepToEnterText:@"wrongusername"
intoViewWithAccessibilityLabel:@"Login
User
Name"]];
[scenario
addStep:[KIFTestStep
stepToEnterText:@"wrongpassword"
intoViewWithAccessibilityLabel:@"Login
Password"]];
[scenario
addStep:[KIFTestStep
stepToTapViewWithAccessibilityLabel:@"done"]];
[scenario
addStep:[KIFTestStep
stepToWaitForViewWithAccessibilityLabel:LocalizedString
(@"ID_LOGIN_FAILED_MESSAGE")]];
[scenario
addStep:[KIFTestStep
stepToTapViewWithAccessibilityLabel:LocalizedString
(@"ACC_FIELD_USER_NAME_LOGIN")]];
30. Werkzeuge – KIF (Keep It Functional)
29Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
+
(id)scenarioLoginWithWrongCredentials
{
KIFTestScenario
*scenario
=
[KIFTestScenario
scenarioWithDescription:@"Test
the
login
wrong
credentials"];
[scenario
addStep:[KIFTestStep
stepToEnterText:@"wrongusername"
intoViewWithAccessibilityLabel:@"Login
User
Name"]];
[scenario
addStep:[KIFTestStep
stepToEnterText:@"wrongpassword"
intoViewWithAccessibilityLabel:@"Login
Password"]];
[scenario
addStep:[KIFTestStep
stepToTapViewWithAccessibilityLabel:@"done"]];
[scenario
addStep:[KIFTestStep
stepToWaitForViewWithAccessibilityLabel:LocalizedString
(@"ID_LOGIN_FAILED_MESSAGE")]];
[scenario
addStep:[KIFTestStep
stepToTapViewWithAccessibilityLabel:LocalizedString
(@"ACC_FIELD_USER_NAME_LOGIN")]];
31. Werkzeuge – KIF (Keep It Functional)
30Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
+
(id)scenarioLoginWithWrongCredentials
{
KIFTestScenario
*scenario
=
[KIFTestScenario
scenarioWithDescription:@"Test
the
login
wrong
credentials"];
[scenario
addStep:[KIFTestStep
stepToEnterText:@"wrongusername"
intoViewWithAccessibilityLabel:@"Login
User
Name"]];
[scenario
addStep:[KIFTestStep
stepToEnterText:@"wrongpassword"
intoViewWithAccessibilityLabel:@"Login
Password"]];
[scenario
addStep:[KIFTestStep
stepToTapViewWithAccessibilityLabel:@"done"]];
[scenario
addStep:[KIFTestStep
stepToWaitForViewWithAccessibilityLabel:LocalizedString
(@"ID_LOGIN_FAILED_MESSAGE")]];
[scenario
addStep:[KIFTestStep
stepToTapViewWithAccessibilityLabel:LocalizedString
(@"ACC_FIELD_USER_NAME_LOGIN")]];
32. Werkzeuge – KIF (Keep It Functional)
31Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
34. Best Practices
33Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Kunden
kennen!
TestautomaVsierung
schreiben
Werkzeuge
Kombinieren
Crowd-‐/
Cloud
TesVng
nutzen
Nutzer
und
den
Markt
beobachten
Testcode
und
Anwendung
in
gleicher
Sprache
Versionskontrolle
nutzen
ConVnuous
IntegraVon
nutzen
Mobile
Simulatoren
meiden
35. Vielen Dank
für Ihre
Aufmerksamkeit!
The professional network
www.xing.com
Daniel Knott
Manager Quality Assurance
daniel.knott@xing.com
@dnlkntt
http://www.adventuresinqa.com/
34Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
36. Links & Referenzen
35Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Robotium [http://code.google.com/p/robotium/]
KIF [http://corner.squareup.com/2011/07/ios-integration-testing.html]
WaxSim [https://github.com/square/waxsim]
Hockeykit [http://hockeykit.net/]
Twitter Logo [https://si0.twimg.com/a/1318896278/images/logos/twitter_newbird_white.png]
Businesswoman [http://www.istockphoto.com/stock-photo-16742115-businesswoman-
holding-a-blank-sign-isolated.php]
Letters, by davide vizzini limbte [http://www.flickr.com/photos/limbte/4007115435/]
Little Dish, by Juan de Dios Santander Vela [http://www.flickr.com/photos/juandesant/
209098053]
App Store Logo [http://upload.wikimedia.org/wikipedia/de/0/05/App-Store-Logo.png]
Robot [http://www.nassaulibrary.org/eastrock/robot.jpg]
Robotium Logo [http://f.hatena.ne.jp/images/fotolife/r/re_shikajiro/20110601/
20110601224550.jpg]
Square Logo [http://c580513.r13.cf2.rackcdn.com/wp-content/uploads/2011/07/Square_Logo
_Landscape1-500x214.png?9d7bd4]
37. Links & Referenzen
36Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Apple Logo [http://www.lte-tablets.de/files/2011/08/apple_logo.jpg]
Android Logo [http://www.android.com/media/wallpaper/gif/android_logo.gif]
Windows Phone Logo [http://upload.wikimedia.org/wikipedia/de/thumb/2/23/Windows_
Phone_Logo.svg/500px-Windows_Phone_Logo.svg.png]
Blackberry Logo [http://us.blackberry.com/legal/bblogo_gray_003.jpg]
WebOS Logo [http://upload.wikimedia.org/wikipedia/en/e/e0/WebOS_logo.svg]
Symbian Logo [http://upload.wikimedia.org/wikipedia/de/thumb/c/c8/Symbian_OS_
logo.svg/686px-Symbian_OS_logo.svg.png]
Google Play Logo [
http://www.android.com/images/brand/android_app_on_play_logo_small.png]
Apple App Store Logo [http://www.inext.me/wp-content/uploads/2011/09/
app-store_logo.png]
Windows Market Place Logo [http://modmyi.com/attachments/forums/iphone-4-
new-skins-themes-launches/483774d1290368882-release-windows-phone-7-hd-market-
place-2x.png]