SlideShare a Scribd company logo
1 of 37
Download to read offline
Daniel Knott
XING AG
@dnlkntt
http://www.adventuresinqa.com
Agile Testautomatisierung
im XING Mobile Team
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
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
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
XING AG
4Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
XING AG
5Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Releases
50
XING AG
6Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
7Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Agile Entwicklung der
XING Mobile Apps
Agile Entwicklung der XING Mobile Apps
8Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
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	
  
10Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Herausforderungen
in der mobilen
Entwicklung
Herausforderungen – Plattformen
11Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
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	
  
Herausforderungen – I18N
13Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Herausforderungen – Datennetze
14Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
15Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Agile Test-
automatisierung
Agile Testautomatisierung – Warum?
16Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
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	
  
Agile Testautomatisierung – Beispiel QR Code
18Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
19Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Werkzeuge
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	
  
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));	
  
	
  }	
  
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));	
  
	
  }	
  
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));	
  
	
  }	
  
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));	
  
	
  }	
  
Werkzeuge – Robotium
25Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
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	
  
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")]];	
  
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")]];	
  
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")]];	
  
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")]];	
  
Werkzeuge – KIF (Keep It Functional)
31Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
32Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
Best
Practices
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	
  
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
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]
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]

More Related Content

Similar to Mobile Testautomatisierung

Mobile testing @ stughh
Mobile testing @ stughhMobile testing @ stughh
Mobile testing @ stughhDaniel Knott
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Projectinovex GmbH
 
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)die.agilen GmbH
 
Multiscreen Experience Design (September 2012, MuC UP12)
Multiscreen Experience Design (September 2012, MuC UP12)Multiscreen Experience Design (September 2012, MuC UP12)
Multiscreen Experience Design (September 2012, MuC UP12)Wolfram Nagel
 
Dominik Helleberg Widgets Wjax
Dominik Helleberg Widgets WjaxDominik Helleberg Widgets Wjax
Dominik Helleberg Widgets WjaxDominik Helleberg
 
Voice Assistants: Neuigkeiten von Alexa und Google Home
Voice Assistants: Neuigkeiten von Alexa und Google HomeVoice Assistants: Neuigkeiten von Alexa und Google Home
Voice Assistants: Neuigkeiten von Alexa und Google Homeinovex GmbH
 
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)Christian Heindel
 
28 11-2014-inovex-pressemitteilung-webinar-android-lollipop
28 11-2014-inovex-pressemitteilung-webinar-android-lollipop28 11-2014-inovex-pressemitteilung-webinar-android-lollipop
28 11-2014-inovex-pressemitteilung-webinar-android-lollipopinovex GmbH
 
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...Nico Orschel
 
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software EntwicklungDevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software EntwicklungMarc Müller
 
Der mobile Wissenarbeit
Der mobile WissenarbeitDer mobile Wissenarbeit
Der mobile WissenarbeitSimon Dueckert
 
Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009greenrobot
 
01-2015 - Java aktuell - Mandy Goram - Entwicklung mobiler Anwendungen für Bl...
01-2015 - Java aktuell - Mandy Goram - Entwicklung mobiler Anwendungen für Bl...01-2015 - Java aktuell - Mandy Goram - Entwicklung mobiler Anwendungen für Bl...
01-2015 - Java aktuell - Mandy Goram - Entwicklung mobiler Anwendungen für Bl...Mandy Goram
 
Anforderungen an das Touchscreen-Design
Anforderungen an das Touchscreen-DesignAnforderungen an das Touchscreen-Design
Anforderungen an das Touchscreen-Designsoultank AG
 
Basta Spring 2017 - DevOps: Automatisieren der Deployment-Prozesse mit Te...
Basta Spring 2017 - DevOps: Automatisieren der Deployment-Prozesse mit Te...Basta Spring 2017 - DevOps: Automatisieren der Deployment-Prozesse mit Te...
Basta Spring 2017 - DevOps: Automatisieren der Deployment-Prozesse mit Te...Marc Müller
 
Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!inovex GmbH
 
Mobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaMobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaYvette Teiken
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Florian Bosselmann
 

Similar to Mobile Testautomatisierung (20)

Mobile testing @ stughh
Mobile testing @ stughhMobile testing @ stughh
Mobile testing @ stughh
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
 
Multiscreen Experience Design (September 2012, MuC UP12)
Multiscreen Experience Design (September 2012, MuC UP12)Multiscreen Experience Design (September 2012, MuC UP12)
Multiscreen Experience Design (September 2012, MuC UP12)
 
Dominik Helleberg Widgets Wjax
Dominik Helleberg Widgets WjaxDominik Helleberg Widgets Wjax
Dominik Helleberg Widgets Wjax
 
Voice Assistants: Neuigkeiten von Alexa und Google Home
Voice Assistants: Neuigkeiten von Alexa und Google HomeVoice Assistants: Neuigkeiten von Alexa und Google Home
Voice Assistants: Neuigkeiten von Alexa und Google Home
 
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
 
28 11-2014-inovex-pressemitteilung-webinar-android-lollipop
28 11-2014-inovex-pressemitteilung-webinar-android-lollipop28 11-2014-inovex-pressemitteilung-webinar-android-lollipop
28 11-2014-inovex-pressemitteilung-webinar-android-lollipop
 
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
 
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software EntwicklungDevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
 
Der mobile Wissenarbeit
Der mobile WissenarbeitDer mobile Wissenarbeit
Der mobile Wissenarbeit
 
Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009
 
01-2015 - Java aktuell - Mandy Goram - Entwicklung mobiler Anwendungen für Bl...
01-2015 - Java aktuell - Mandy Goram - Entwicklung mobiler Anwendungen für Bl...01-2015 - Java aktuell - Mandy Goram - Entwicklung mobiler Anwendungen für Bl...
01-2015 - Java aktuell - Mandy Goram - Entwicklung mobiler Anwendungen für Bl...
 
Anforderungen an das Touchscreen-Design
Anforderungen an das Touchscreen-DesignAnforderungen an das Touchscreen-Design
Anforderungen an das Touchscreen-Design
 
Basta Spring 2017 - DevOps: Automatisieren der Deployment-Prozesse mit Te...
Basta Spring 2017 - DevOps: Automatisieren der Deployment-Prozesse mit Te...Basta Spring 2017 - DevOps: Automatisieren der Deployment-Prozesse mit Te...
Basta Spring 2017 - DevOps: Automatisieren der Deployment-Prozesse mit Te...
 
130605 webinale-nuisol
130605 webinale-nuisol130605 webinale-nuisol
130605 webinale-nuisol
 
Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!
 
Mobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaMobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache Cordova
 
Codeception VisualCeption
Codeception VisualCeptionCodeception VisualCeption
Codeception VisualCeption
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI
 

More from Daniel Knott

How To Grow Your Testing Team Members
How To Grow Your Testing Team MembersHow To Grow Your Testing Team Members
How To Grow Your Testing Team MembersDaniel Knott
 
Mobile Test Management Done Right
Mobile Test Management Done RightMobile Test Management Done Right
Mobile Test Management Done RightDaniel Knott
 
Softskills Software Testers
Softskills Software TestersSoftskills Software Testers
Softskills Software TestersDaniel Knott
 
From Testing to Product Management
From Testing to Product ManagementFrom Testing to Product Management
From Testing to Product ManagementDaniel Knott
 
Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Daniel Knott
 
Challenges in mobile test automation - 2011
Challenges in mobile test automation - 2011Challenges in mobile test automation - 2011
Challenges in mobile test automation - 2011Daniel Knott
 
How to scale mobile testing across several teams
How to scale mobile testing across several teamsHow to scale mobile testing across several teams
How to scale mobile testing across several teamsDaniel Knott
 
10 Mobile App Testing Mistakes To Avoid by Daniel Knott
10 Mobile App Testing Mistakes To Avoid by Daniel Knott10 Mobile App Testing Mistakes To Avoid by Daniel Knott
10 Mobile App Testing Mistakes To Avoid by Daniel KnottDaniel Knott
 
How to Scale Mobile Testing Across Several Teams
How to Scale Mobile Testing Across Several TeamsHow to Scale Mobile Testing Across Several Teams
How to Scale Mobile Testing Across Several TeamsDaniel Knott
 
Mobile testing @ XING - Ist der Release Train pünktlich
Mobile testing @ XING - Ist der Release Train pünktlichMobile testing @ XING - Ist der Release Train pünktlich
Mobile testing @ XING - Ist der Release Train pünktlichDaniel Knott
 
8 Jahre Agiles Testen - Was kommt jetzt?
8 Jahre Agiles Testen - Was kommt jetzt?8 Jahre Agiles Testen - Was kommt jetzt?
8 Jahre Agiles Testen - Was kommt jetzt?Daniel Knott
 
Hands-On Mobile App Testing
Hands-On Mobile App TestingHands-On Mobile App Testing
Hands-On Mobile App TestingDaniel Knott
 
How to Break your App - Workshop - Testbash 2015
How to Break your App - Workshop - Testbash 2015How to Break your App - Workshop - Testbash 2015
How to Break your App - Workshop - Testbash 2015Daniel Knott
 
How to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingHow to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingDaniel Knott
 
Best Practices in Mobile App Testing @STUGRM
Best Practices in Mobile App Testing @STUGRMBest Practices in Mobile App Testing @STUGRM
Best Practices in Mobile App Testing @STUGRMDaniel Knott
 

More from Daniel Knott (16)

Remote Leadership
Remote LeadershipRemote Leadership
Remote Leadership
 
How To Grow Your Testing Team Members
How To Grow Your Testing Team MembersHow To Grow Your Testing Team Members
How To Grow Your Testing Team Members
 
Mobile Test Management Done Right
Mobile Test Management Done RightMobile Test Management Done Right
Mobile Test Management Done Right
 
Softskills Software Testers
Softskills Software TestersSoftskills Software Testers
Softskills Software Testers
 
From Testing to Product Management
From Testing to Product ManagementFrom Testing to Product Management
From Testing to Product Management
 
Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012
 
Challenges in mobile test automation - 2011
Challenges in mobile test automation - 2011Challenges in mobile test automation - 2011
Challenges in mobile test automation - 2011
 
How to scale mobile testing across several teams
How to scale mobile testing across several teamsHow to scale mobile testing across several teams
How to scale mobile testing across several teams
 
10 Mobile App Testing Mistakes To Avoid by Daniel Knott
10 Mobile App Testing Mistakes To Avoid by Daniel Knott10 Mobile App Testing Mistakes To Avoid by Daniel Knott
10 Mobile App Testing Mistakes To Avoid by Daniel Knott
 
How to Scale Mobile Testing Across Several Teams
How to Scale Mobile Testing Across Several TeamsHow to Scale Mobile Testing Across Several Teams
How to Scale Mobile Testing Across Several Teams
 
Mobile testing @ XING - Ist der Release Train pünktlich
Mobile testing @ XING - Ist der Release Train pünktlichMobile testing @ XING - Ist der Release Train pünktlich
Mobile testing @ XING - Ist der Release Train pünktlich
 
8 Jahre Agiles Testen - Was kommt jetzt?
8 Jahre Agiles Testen - Was kommt jetzt?8 Jahre Agiles Testen - Was kommt jetzt?
8 Jahre Agiles Testen - Was kommt jetzt?
 
Hands-On Mobile App Testing
Hands-On Mobile App TestingHands-On Mobile App Testing
Hands-On Mobile App Testing
 
How to Break your App - Workshop - Testbash 2015
How to Break your App - Workshop - Testbash 2015How to Break your App - Workshop - Testbash 2015
How to Break your App - Workshop - Testbash 2015
 
How to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingHow to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App Testing
 
Best Practices in Mobile App Testing @STUGRM
Best Practices in Mobile App Testing @STUGRMBest Practices in Mobile App Testing @STUGRM
Best Practices in Mobile App Testing @STUGRM
 

Mobile Testautomatisierung

  • 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
  • 5. XING AG 4Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
  • 6. XING AG 5Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012 Releases 50
  • 7. XING AG 6Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
  • 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
  • 12. Herausforderungen – Plattformen 11Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
  • 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  
  • 14. Herausforderungen – I18N 13Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
  • 15. Herausforderungen – Datennetze 14Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012
  • 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
  • 20. 19Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012 Werkzeuge
  • 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
  • 33. 32Agile Testautomatisierung im XING Mobile Team | Daniel Knott @dnlkntt | Hamburg, 16.04.2012 Best Practices
  • 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]