SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Raman Kansal & Kriti Mehta
BDT goes Mobile!!!
Evolution of test frameworks
Core Frameworks
Record & Playback
Optimized scripts
Behavior Driven Testing(BDT)
Lets start with an example
USER ATM MONEY
Test cases:
Valid card,
Invalid card,
Valid amount,
Invalid amount etc
Methods:
validate_card()
verify_cash()
debit_cash()
*Validating card
*Verifying the
account
*Debit cash
*Ensure correct
balance in account
4
User
QA
BA
Developer
BUT
I wanted to withdraw cash
from atm !!!
Let's do it BDT way!
5
UserQABA Dev
Functionality
Test Cases
Behavior
Implementation
Why is BDT an advantage?
Usable domain language for team as well as domain experts/clients
Never have to rewrite specs, since the behavior does not change.
Fixing context implementations , less painful than to rewrite tests
Supports multiple languages
Example: Cucumber supports 30 different languages.
So the future is mobile!!
BDT mobile testing tools
Calabash-iOS
Calabash
-Android
Frank
(iOS)
Robotium
(Android)
FoneMonkey
(iOS)
Appium
SikuliEggPlant
Calabash- iOS
Automated testing technology
For iOS native and hybrid applications
Cucumber based
How it works?
DEMO
Pre-Requisite – MacOS with xcode and Ruby
DEMO
Setup
Features
Execution
Steps
Query
Useful calabash commands
cd path-to-my-ios-project (i.e. directory containing .xcodeproj file)
gem install calabash-cucumber
calabash-ios gen
calabash-ios setup
Cucumber /NO_LAUNCH=1 DEVICE=iphone OS=ios5
DEVICE_ENDPOINT=http://192.168.1.37:37265 cucumber
calabash-ios console
Custom steps
(.feature and .rb file)
Pros
➢ Uniform interface across
platforms
➢ Supports complex gestures
➢ Authenticity
➢ Cucumber
➢ Extensibility and community
Useful links
➢ Calabash ios setup: https://github.com/calabash/calabash-ios
➢ Calabash android setup:https://github.com/calabash/calabash-android
➢ IOS - Application used in Demo:
https://github.com/Frahaan/2012-Olympics-iOS--iPad-and-iPhone--source-code
➢ Calabash cucumber doc:
https://github.com/calabash/calabash-ios/blob/0.9.x/calabash-cucumber/doc/x-platform-te
sting.md
➢ Calabash tests execution:
https://github.com/calabash/calabash-ios/wiki/07-Testing-on-physical-iDevices
➢ Calabash landing page:
http://calaba.sh/
➢ Less-Painful -Automated App testing:
https://www.lesspainful.com/
➢ Pre-defined steps:https://github.com/calabash/calabash-ios/wiki/02-Predefined-steps
➢ Calabash iOS ruby API:
https://github.com/calabash/calabash-ios/wiki/03.5-Calabash-iOS-Ruby-API
Questions ??

Contenu connexe

Similaire à BDT goes Mobile

Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1willmation
 
DDT Testing Library for Android
DDT Testing Library for AndroidDDT Testing Library for Android
DDT Testing Library for AndroidAhmed Misbah
 
Test Essentials @mdevcon 2012
Test Essentials @mdevcon 2012Test Essentials @mdevcon 2012
Test Essentials @mdevcon 2012Maxim Zaks
 
Deepak_QA-Manual$Automation_5 Years_MCA_CV_FIS
Deepak_QA-Manual$Automation_5 Years_MCA_CV_FISDeepak_QA-Manual$Automation_5 Years_MCA_CV_FIS
Deepak_QA-Manual$Automation_5 Years_MCA_CV_FISDeepak kumar
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWDVikas Sarin
 
LDN BotFramework Meetup #3: Robots Testing Robots
LDN BotFramework Meetup #3: Robots Testing RobotsLDN BotFramework Meetup #3: Robots Testing Robots
LDN BotFramework Meetup #3: Robots Testing RobotsRobin Osborne
 
Continuous testing at scale
Continuous testing at scaleContinuous testing at scale
Continuous testing at scaleGergely Orosz
 
Acceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkAcceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkSteve Zhang
 
Abhay Bajpai_Resume
Abhay Bajpai_ResumeAbhay Bajpai_Resume
Abhay Bajpai_ResumeAbhay Bajpai
 
"Production Driven Development", Serhii Kalinets
"Production Driven Development", Serhii Kalinets"Production Driven Development", Serhii Kalinets
"Production Driven Development", Serhii KalinetsFwdays
 
API Craft : Building Autodesk Forge APIs
API Craft : Building Autodesk Forge APIsAPI Craft : Building Autodesk Forge APIs
API Craft : Building Autodesk Forge APIsmonmohan
 
Synchronized Development for Distributed Teams
Synchronized Development for Distributed TeamsSynchronized Development for Distributed Teams
Synchronized Development for Distributed TeamsTogakangaroo
 
Versioned Page Objects: How to handle 12 versions of web application
Versioned Page Objects: How to handle 12 versions of web applicationVersioned Page Objects: How to handle 12 versions of web application
Versioned Page Objects: How to handle 12 versions of web applicationAlexandr Khotemskoy
 
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UXBehaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UXJohn Patterson
 
Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerQA or the Highway
 

Similaire à BDT goes Mobile (20)

Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1
 
DDT Testing Library for Android
DDT Testing Library for AndroidDDT Testing Library for Android
DDT Testing Library for Android
 
Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD
 
Test Essentials @mdevcon 2012
Test Essentials @mdevcon 2012Test Essentials @mdevcon 2012
Test Essentials @mdevcon 2012
 
Deepak_QA-Manual$Automation_5 Years_MCA_CV_FIS
Deepak_QA-Manual$Automation_5 Years_MCA_CV_FISDeepak_QA-Manual$Automation_5 Years_MCA_CV_FIS
Deepak_QA-Manual$Automation_5 Years_MCA_CV_FIS
 
Testdroid:
Testdroid: Testdroid:
Testdroid:
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
 
LDN BotFramework Meetup #3: Robots Testing Robots
LDN BotFramework Meetup #3: Robots Testing RobotsLDN BotFramework Meetup #3: Robots Testing Robots
LDN BotFramework Meetup #3: Robots Testing Robots
 
Continuous testing at scale
Continuous testing at scaleContinuous testing at scale
Continuous testing at scale
 
Acceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkAcceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot Framework
 
BDD
BDDBDD
BDD
 
Abhay Bajpai_Resume
Abhay Bajpai_ResumeAbhay Bajpai_Resume
Abhay Bajpai_Resume
 
"Production Driven Development", Serhii Kalinets
"Production Driven Development", Serhii Kalinets"Production Driven Development", Serhii Kalinets
"Production Driven Development", Serhii Kalinets
 
Resume_Sameer Parihar
Resume_Sameer PariharResume_Sameer Parihar
Resume_Sameer Parihar
 
API Craft : Building Autodesk Forge APIs
API Craft : Building Autodesk Forge APIsAPI Craft : Building Autodesk Forge APIs
API Craft : Building Autodesk Forge APIs
 
Lean Quality & Engineering
Lean Quality & EngineeringLean Quality & Engineering
Lean Quality & Engineering
 
Synchronized Development for Distributed Teams
Synchronized Development for Distributed TeamsSynchronized Development for Distributed Teams
Synchronized Development for Distributed Teams
 
Versioned Page Objects: How to handle 12 versions of web application
Versioned Page Objects: How to handle 12 versions of web applicationVersioned Page Objects: How to handle 12 versions of web application
Versioned Page Objects: How to handle 12 versions of web application
 
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UXBehaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
 
Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
 

Plus de Thoughtworks

Design System as a Product
Design System as a ProductDesign System as a Product
Design System as a ProductThoughtworks
 
Designers, Developers & Dogs
Designers, Developers & DogsDesigners, Developers & Dogs
Designers, Developers & DogsThoughtworks
 
Cloud-first for fast innovation
Cloud-first for fast innovationCloud-first for fast innovation
Cloud-first for fast innovationThoughtworks
 
More impact with flexible teams
More impact with flexible teamsMore impact with flexible teams
More impact with flexible teamsThoughtworks
 
Culture of Innovation
Culture of InnovationCulture of Innovation
Culture of InnovationThoughtworks
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer ExperienceThoughtworks
 
When we design together
When we design togetherWhen we design together
When we design togetherThoughtworks
 
Hardware is hard(er)
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)Thoughtworks
 
Customer-centric innovation enabled by cloud
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloudThoughtworks
 
Amazon's Culture of Innovation
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of InnovationThoughtworks
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go liveThoughtworks
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the RubiconThoughtworks
 
Your test coverage is a lie!
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!Thoughtworks
 
Docker container security
Docker container securityDocker container security
Docker container securityThoughtworks
 
Redefining the unit
Redefining the unitRedefining the unit
Redefining the unitThoughtworks
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Thoughtworks
 
A Tribute to Turing
A Tribute to TuringA Tribute to Turing
A Tribute to TuringThoughtworks
 
Rsa maths worked out
Rsa maths worked outRsa maths worked out
Rsa maths worked outThoughtworks
 

Plus de Thoughtworks (20)

Design System as a Product
Design System as a ProductDesign System as a Product
Design System as a Product
 
Designers, Developers & Dogs
Designers, Developers & DogsDesigners, Developers & Dogs
Designers, Developers & Dogs
 
Cloud-first for fast innovation
Cloud-first for fast innovationCloud-first for fast innovation
Cloud-first for fast innovation
 
More impact with flexible teams
More impact with flexible teamsMore impact with flexible teams
More impact with flexible teams
 
Culture of Innovation
Culture of InnovationCulture of Innovation
Culture of Innovation
 
Dual-Track Agile
Dual-Track AgileDual-Track Agile
Dual-Track Agile
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer Experience
 
When we design together
When we design togetherWhen we design together
When we design together
 
Hardware is hard(er)
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)
 
Customer-centric innovation enabled by cloud
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloud
 
Amazon's Culture of Innovation
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of Innovation
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go live
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the Rubicon
 
Error handling
Error handlingError handling
Error handling
 
Your test coverage is a lie!
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!
 
Docker container security
Docker container securityDocker container security
Docker container security
 
Redefining the unit
Redefining the unitRedefining the unit
Redefining the unit
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
 
A Tribute to Turing
A Tribute to TuringA Tribute to Turing
A Tribute to Turing
 
Rsa maths worked out
Rsa maths worked outRsa maths worked out
Rsa maths worked out
 

Dernier

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Dernier (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

BDT goes Mobile

  • 1. Raman Kansal & Kriti Mehta BDT goes Mobile!!!
  • 2. Evolution of test frameworks Core Frameworks Record & Playback Optimized scripts Behavior Driven Testing(BDT)
  • 3. Lets start with an example USER ATM MONEY
  • 4. Test cases: Valid card, Invalid card, Valid amount, Invalid amount etc Methods: validate_card() verify_cash() debit_cash() *Validating card *Verifying the account *Debit cash *Ensure correct balance in account 4 User QA BA Developer BUT I wanted to withdraw cash from atm !!!
  • 5. Let's do it BDT way! 5 UserQABA Dev Functionality Test Cases Behavior Implementation
  • 6. Why is BDT an advantage? Usable domain language for team as well as domain experts/clients Never have to rewrite specs, since the behavior does not change. Fixing context implementations , less painful than to rewrite tests Supports multiple languages Example: Cucumber supports 30 different languages.
  • 7. So the future is mobile!!
  • 8. BDT mobile testing tools Calabash-iOS Calabash -Android Frank (iOS) Robotium (Android) FoneMonkey (iOS) Appium SikuliEggPlant
  • 9. Calabash- iOS Automated testing technology For iOS native and hybrid applications Cucumber based
  • 11. DEMO Pre-Requisite – MacOS with xcode and Ruby DEMO Setup Features Execution Steps Query
  • 12. Useful calabash commands cd path-to-my-ios-project (i.e. directory containing .xcodeproj file) gem install calabash-cucumber calabash-ios gen calabash-ios setup Cucumber /NO_LAUNCH=1 DEVICE=iphone OS=ios5 DEVICE_ENDPOINT=http://192.168.1.37:37265 cucumber calabash-ios console
  • 14. Pros ➢ Uniform interface across platforms ➢ Supports complex gestures ➢ Authenticity ➢ Cucumber ➢ Extensibility and community
  • 15. Useful links ➢ Calabash ios setup: https://github.com/calabash/calabash-ios ➢ Calabash android setup:https://github.com/calabash/calabash-android ➢ IOS - Application used in Demo: https://github.com/Frahaan/2012-Olympics-iOS--iPad-and-iPhone--source-code ➢ Calabash cucumber doc: https://github.com/calabash/calabash-ios/blob/0.9.x/calabash-cucumber/doc/x-platform-te sting.md ➢ Calabash tests execution: https://github.com/calabash/calabash-ios/wiki/07-Testing-on-physical-iDevices ➢ Calabash landing page: http://calaba.sh/ ➢ Less-Painful -Automated App testing: https://www.lesspainful.com/ ➢ Pre-defined steps:https://github.com/calabash/calabash-ios/wiki/02-Predefined-steps ➢ Calabash iOS ruby API: https://github.com/calabash/calabash-ios/wiki/03.5-Calabash-iOS-Ruby-API