SlideShare a Scribd company logo
Daniel Knott
XING AG
Challenges in Mobile Test Automation
Agile Testing Days 2011
Daniel Knott
Manager Quality Assurance
daniel.knott@xing.com
Daniel Knott has a technical background with different programming languages and quality
assurance tools. After his vocational education at IBM Deutschland GmbH, he studied
Computer Science with a focus on quality assurance. Since 2010 Daniel is working as a
Quality Assurance Manager at XING AG. In different projects he was responsible for the test
management, test automation and test execution in agile teams at XING. Currently, he works
in the mobile team, where he is involved in the test management and test automation on
Android and iPhone devices. Daniel likes to work in agile software development teams and to
automate test cases using technologies such as Robotium, KIF (Keep It Functional),
Selenium and Java. His XING profile: https://www.xing.com/profile/Daniel_Knott
1.  Challenges
2.  Solutions
3.  Conclusion
What’s inside?
2Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
3Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
Challenges
Challenges – Platforms
4Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
Challenges – Platforms
5Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
More	
  than	
  one	
  Vendor	
  
Different	
  User	
  Interfaces	
  
Different	
  Hardware	
  
Different	
  So7ware	
  Versions	
  
One	
  Vendor	
  
Different	
  Hardware	
  
Different	
  So7ware	
  Versions	
  
Challenges – I18N
6Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
Challenges – Carrier Network
7Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
8Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
Solution –
Test Automation
Solution – Robotium
9Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
Black	
  Box	
  Test	
  Tool	
  
Based	
  on	
  Java	
  and	
  JUnit	
  3	
  
Support	
  from	
  Android	
  1.6	
  
Simulate	
  User	
  InteracHon	
  
Simple	
  Structure	
  
Device	
  &	
  Simulator	
  
Solution – Robotium
10Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
	
  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));	
  
	
  }	
  
Solution – Robotium
11Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
	
  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));	
  
	
  }	
  
Solution – Robotium
12Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
	
  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));	
  
	
  }	
  
Solution – Robotium
13Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
	
  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));	
  
	
  }	
  
Solution – Robotium
14Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
Solution – KIF (Keep It Functional)
15Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
Grey	
  Box	
  Test	
  Tool	
  
ObjecHve	
  C	
  
Currently	
  Simulator	
  only	
  
Simulate	
  User	
  InteracHon	
  
Really	
  Fast	
  &	
  Easy	
  to	
  integrate	
  
Solution – KIF (Keep It Functional)
16Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
+	
  (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")]];	
  
Solution – KIF (Keep It Functional)
17Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
+	
  (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")]];	
  
Solution – KIF (Keep It Functional)
18Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
+	
  (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")]];	
  
Solution – KIF (Keep It Functional)
19Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
+	
  (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")]];	
  
Solution – KIF (Keep It Functional)
20Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
21Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
Solution –
Crowd Source Testing
Solution – Internal Beta Release
22Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
23Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
Conclusion
Conclusion
24Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
Know	
  your	
  customers	
  
Write	
  test	
  automaHon	
  
Combine	
  tools	
  
Use	
  crowd	
  source	
  tesHng	
  
Don‘t	
  forget	
  the	
  languages	
  
Don‘t	
  forget	
  the	
  carrier	
  network	
  
Provide	
  a	
  high	
  quality	
  app	
  
Thank you
for your
kind
attention!
The professional network
www.xing.com
Daniel Knott
Manager Quality Assurance
daniel.knott@xing.com
@dnlkntt
http://www.adventuresinqa.com/
25Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
Links & References
26Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
References
  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/]
Images and Logos
  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]
Links & References
27Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
Images and Logos
  Agile Testing Days Logo [http://agiletestingdays.com/_img/logo_header.png]
  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]

More Related Content

What's hot

Android Test Automation Workshop
Android Test Automation WorkshopAndroid Test Automation Workshop
Android Test Automation Workshop
Eduardo Carrara de Araujo
 
Android automation tools
Android automation toolsAndroid automation tools
Android automation tools
SSGMCE SHEGAON
 
[Droidcon NL 2013] Developing Cross-Platform Apps
[Droidcon NL 2013] Developing Cross-Platform Apps[Droidcon NL 2013] Developing Cross-Platform Apps
[Droidcon NL 2013] Developing Cross-Platform Apps
Kenichi Kambara
 
100 effective software testing tools that boost your Testing
100 effective software testing tools that boost your Testing100 effective software testing tools that boost your Testing
100 effective software testing tools that boost your Testing
BugRaptors
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?
Bitbar
 
Robotium - sampath
Robotium - sampathRobotium - sampath
Robotium - sampath
Sampath Muddineni
 

What's hot (6)

Android Test Automation Workshop
Android Test Automation WorkshopAndroid Test Automation Workshop
Android Test Automation Workshop
 
Android automation tools
Android automation toolsAndroid automation tools
Android automation tools
 
[Droidcon NL 2013] Developing Cross-Platform Apps
[Droidcon NL 2013] Developing Cross-Platform Apps[Droidcon NL 2013] Developing Cross-Platform Apps
[Droidcon NL 2013] Developing Cross-Platform Apps
 
100 effective software testing tools that boost your Testing
100 effective software testing tools that boost your Testing100 effective software testing tools that boost your Testing
100 effective software testing tools that boost your Testing
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?
 
Robotium - sampath
Robotium - sampathRobotium - sampath
Robotium - sampath
 

Similar to Challenges in mobile test automation - 2011

Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012
Daniel Knott
 
Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)
Danny Preussler
 
ICTestAutomation TrendIC 2016 ENGLISH
ICTestAutomation TrendIC 2016 ENGLISHICTestAutomation TrendIC 2016 ENGLISH
ICTestAutomation TrendIC 2016 ENGLISH
Marcel Diepenbroek
 
2012 star west-t10
2012 star west-t102012 star west-t10
2012 star west-t10
Eing Ong
 
2011 py con
2011 py con2011 py con
2011 py con
Eing Ong
 
Mobile Quality Night Vienna 2015 - Testobject Appium in der Cloud
Mobile Quality Night Vienna 2015 - Testobject Appium in der CloudMobile Quality Night Vienna 2015 - Testobject Appium in der Cloud
Mobile Quality Night Vienna 2015 - Testobject Appium in der Cloud
Rudolf Grötz
 
UI Testing - Selenium? Rich-Clients? Containers? (SwanseaCon 2018)
UI Testing - Selenium? Rich-Clients? Containers? (SwanseaCon 2018)UI Testing - Selenium? Rich-Clients? Containers? (SwanseaCon 2018)
UI Testing - Selenium? Rich-Clients? Containers? (SwanseaCon 2018)
Tobias Schneck
 
Android Building, Testing and reversing
Android Building, Testing and reversingAndroid Building, Testing and reversing
Android Building, Testing and reversing
Enrique López Mañas
 
Cucumber meets iPhone
Cucumber meets iPhoneCucumber meets iPhone
Cucumber meets iPhone
Erin Dees
 
Eclipse Summit Europe '10 - Test UI Aspects of Plug-ins
Eclipse Summit Europe '10 - Test UI Aspects of Plug-insEclipse Summit Europe '10 - Test UI Aspects of Plug-ins
Eclipse Summit Europe '10 - Test UI Aspects of Plug-ins
Tonny Madsen
 
Android testing
Android testingAndroid testing
Android testing
Bitbar
 
Cross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToCross Platform Appium Tests: How To
Cross Platform Appium Tests: How To
GlobalLogic Ukraine
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
Mindfire Solutions
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
NgLQun
 
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Intuit Inc.
 
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
Bitbar
 
20150812 4시간만에 따라해보는 windows 10 앱 개발
20150812  4시간만에 따라해보는 windows 10 앱 개발20150812  4시간만에 따라해보는 windows 10 앱 개발
20150812 4시간만에 따라해보는 windows 10 앱 개발
영욱 김
 
YuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14h
YuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14hYuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14h
YuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14h
Yury M
 
Selenium Testing Training in Bangalore
Selenium Testing Training in BangaloreSelenium Testing Training in Bangalore
Selenium Testing Training in Bangalore
rajkamal560066
 
JUNit Presentation
JUNit PresentationJUNit Presentation
JUNit Presentation
Animesh Kumar
 

Similar to Challenges in mobile test automation - 2011 (20)

Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012
 
Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)
 
ICTestAutomation TrendIC 2016 ENGLISH
ICTestAutomation TrendIC 2016 ENGLISHICTestAutomation TrendIC 2016 ENGLISH
ICTestAutomation TrendIC 2016 ENGLISH
 
2012 star west-t10
2012 star west-t102012 star west-t10
2012 star west-t10
 
2011 py con
2011 py con2011 py con
2011 py con
 
Mobile Quality Night Vienna 2015 - Testobject Appium in der Cloud
Mobile Quality Night Vienna 2015 - Testobject Appium in der CloudMobile Quality Night Vienna 2015 - Testobject Appium in der Cloud
Mobile Quality Night Vienna 2015 - Testobject Appium in der Cloud
 
UI Testing - Selenium? Rich-Clients? Containers? (SwanseaCon 2018)
UI Testing - Selenium? Rich-Clients? Containers? (SwanseaCon 2018)UI Testing - Selenium? Rich-Clients? Containers? (SwanseaCon 2018)
UI Testing - Selenium? Rich-Clients? Containers? (SwanseaCon 2018)
 
Android Building, Testing and reversing
Android Building, Testing and reversingAndroid Building, Testing and reversing
Android Building, Testing and reversing
 
Cucumber meets iPhone
Cucumber meets iPhoneCucumber meets iPhone
Cucumber meets iPhone
 
Eclipse Summit Europe '10 - Test UI Aspects of Plug-ins
Eclipse Summit Europe '10 - Test UI Aspects of Plug-insEclipse Summit Europe '10 - Test UI Aspects of Plug-ins
Eclipse Summit Europe '10 - Test UI Aspects of Plug-ins
 
Android testing
Android testingAndroid testing
Android testing
 
Cross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToCross Platform Appium Tests: How To
Cross Platform Appium Tests: How To
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
 
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
 
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
 
20150812 4시간만에 따라해보는 windows 10 앱 개발
20150812  4시간만에 따라해보는 windows 10 앱 개발20150812  4시간만에 따라해보는 windows 10 앱 개발
20150812 4시간만에 따라해보는 windows 10 앱 개발
 
YuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14h
YuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14hYuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14h
YuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14h
 
Selenium Testing Training in Bangalore
Selenium Testing Training in BangaloreSelenium Testing Training in Bangalore
Selenium Testing Training in Bangalore
 
JUNit Presentation
JUNit PresentationJUNit Presentation
JUNit Presentation
 

More from Daniel Knott

Remote Leadership
Remote LeadershipRemote Leadership
Remote Leadership
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 Members
Daniel Knott
 
Mobile Test Management Done Right
Mobile Test Management Done RightMobile Test Management Done Right
Mobile Test Management Done Right
Daniel Knott
 
Softskills Software Testers
Softskills Software TestersSoftskills Software Testers
Softskills Software Testers
Daniel Knott
 
From Testing to Product Management
From Testing to Product ManagementFrom Testing to Product Management
From Testing to Product Management
Daniel Knott
 
Mobile Testautomatisierung
Mobile TestautomatisierungMobile Testautomatisierung
Mobile Testautomatisierung
Daniel Knott
 
Mobile Testautomatisierung mit Robotium
Mobile Testautomatisierung mit RobotiumMobile Testautomatisierung mit Robotium
Mobile Testautomatisierung mit Robotium
Daniel Knott
 
Agile Mobile Test Automatisierung
Agile Mobile Test AutomatisierungAgile Mobile Test Automatisierung
Agile Mobile Test Automatisierung
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
Daniel 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 Knott
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
Daniel 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ünktlich
Daniel Knott
 
Mobile testing @ stughh
Mobile testing @ stughhMobile testing @ stughh
Mobile testing @ stughh
Daniel 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 Testing
Daniel 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 2015
Daniel 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 Testing
Daniel 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 @STUGRM
Daniel Knott
 

More from Daniel Knott (18)

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 Testautomatisierung
Mobile TestautomatisierungMobile Testautomatisierung
Mobile Testautomatisierung
 
Mobile Testautomatisierung mit Robotium
Mobile Testautomatisierung mit RobotiumMobile Testautomatisierung mit Robotium
Mobile Testautomatisierung mit Robotium
 
Agile Mobile Test Automatisierung
Agile Mobile Test AutomatisierungAgile Mobile Test Automatisierung
Agile Mobile Test Automatisierung
 
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
 
Mobile testing @ stughh
Mobile testing @ stughhMobile testing @ stughh
Mobile testing @ stughh
 
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
 

Recently uploaded

Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
gerogepatton
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
shahdabdulbaset
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
GauravCar
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 

Recently uploaded (20)

Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 

Challenges in mobile test automation - 2011

  • 1. Daniel Knott XING AG Challenges in Mobile Test Automation Agile Testing Days 2011
  • 2. Daniel Knott Manager Quality Assurance daniel.knott@xing.com Daniel Knott has a technical background with different programming languages and quality assurance tools. After his vocational education at IBM Deutschland GmbH, he studied Computer Science with a focus on quality assurance. Since 2010 Daniel is working as a Quality Assurance Manager at XING AG. In different projects he was responsible for the test management, test automation and test execution in agile teams at XING. Currently, he works in the mobile team, where he is involved in the test management and test automation on Android and iPhone devices. Daniel likes to work in agile software development teams and to automate test cases using technologies such as Robotium, KIF (Keep It Functional), Selenium and Java. His XING profile: https://www.xing.com/profile/Daniel_Knott
  • 3. 1.  Challenges 2.  Solutions 3.  Conclusion What’s inside? 2Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
  • 4. 3Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 Challenges
  • 5. Challenges – Platforms 4Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
  • 6. Challenges – Platforms 5Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 More  than  one  Vendor   Different  User  Interfaces   Different  Hardware   Different  So7ware  Versions   One  Vendor   Different  Hardware   Different  So7ware  Versions  
  • 7. Challenges – I18N 6Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
  • 8. Challenges – Carrier Network 7Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
  • 9. 8Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 Solution – Test Automation
  • 10. Solution – Robotium 9Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 Black  Box  Test  Tool   Based  on  Java  and  JUnit  3   Support  from  Android  1.6   Simulate  User  InteracHon   Simple  Structure   Device  &  Simulator  
  • 11. Solution – Robotium 10Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011  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));    }  
  • 12. Solution – Robotium 11Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011  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));    }  
  • 13. Solution – Robotium 12Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011  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));    }  
  • 14. Solution – Robotium 13Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011  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));    }  
  • 15. Solution – Robotium 14Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
  • 16. Solution – KIF (Keep It Functional) 15Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 Grey  Box  Test  Tool   ObjecHve  C   Currently  Simulator  only   Simulate  User  InteracHon   Really  Fast  &  Easy  to  integrate  
  • 17. Solution – KIF (Keep It Functional) 16Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 +  (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")]];  
  • 18. Solution – KIF (Keep It Functional) 17Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 +  (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")]];  
  • 19. Solution – KIF (Keep It Functional) 18Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 +  (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")]];  
  • 20. Solution – KIF (Keep It Functional) 19Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 +  (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")]];  
  • 21. Solution – KIF (Keep It Functional) 20Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
  • 22. 21Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 Solution – Crowd Source Testing
  • 23. Solution – Internal Beta Release 22Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
  • 24. 23Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 Conclusion
  • 25. Conclusion 24Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 Know  your  customers   Write  test  automaHon   Combine  tools   Use  crowd  source  tesHng   Don‘t  forget  the  languages   Don‘t  forget  the  carrier  network   Provide  a  high  quality  app  
  • 26. Thank you for your kind attention! The professional network www.xing.com Daniel Knott Manager Quality Assurance daniel.knott@xing.com @dnlkntt http://www.adventuresinqa.com/ 25Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011
  • 27. Links & References 26Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 References   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/] Images and Logos   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]
  • 28. Links & References 27Challenges in Mobile Test Automation | Daniel Knott | Potsdam, 15.11.2011 Images and Logos   Agile Testing Days Logo [http://agiletestingdays.com/_img/logo_header.png]   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]