BDT goes Mobile

463 views

Published on

vodQA 2012

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
463
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

BDT goes Mobile

  1. 1. Raman Kansal & Kriti Mehta BDT goes Mobile!!!
  2. 2. Evolution of test frameworks Core Frameworks Record & Playback Optimized scripts Behavior Driven Testing(BDT)
  3. 3. Lets start with an example USER ATM MONEY
  4. 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. 5. Let's do it BDT way! 5 UserQABA Dev Functionality Test Cases Behavior Implementation
  6. 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. 7. So the future is mobile!!
  8. 8. BDT mobile testing tools Calabash-iOS Calabash -Android Frank (iOS) Robotium (Android) FoneMonkey (iOS) Appium SikuliEggPlant
  9. 9. Calabash- iOS Automated testing technology For iOS native and hybrid applications Cucumber based
  10. 10. How it works?
  11. 11. DEMO Pre-Requisite – MacOS with xcode and Ruby DEMO Setup Features Execution Steps Query
  12. 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
  13. 13. Custom steps (.feature and .rb file)
  14. 14. Pros ➢ Uniform interface across platforms ➢ Supports complex gestures ➢ Authenticity ➢ Cucumber ➢ Extensibility and community
  15. 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
  16. 16. Questions ??

×