SlideShare a Scribd company logo
Behavior Driven GUI Testing
Mobile Dev + Test 2015
by Amanda Burma
About me
Name Amanda Burma
Company froglogic GmbH
Position Technical Marketing Engineer
Former Automated Testing Engineer
In industry since 1998
www.facebook.com/amandaBurma
www.linkedin.com/in/amandaburma
About froglogic
 HQ in Hamburg, Germany
 Founded in 2003
 US presence since 2009
 Product focus on Squish
- Squish GUI Tester (Cross-Platform/Cross-Technology GUI Test Automation)
- Squish Coco (C, C++, C# and Tcl Code Coverage)
 More than 3,000 customers world-wide
Overview
 What is BDD and TDD?
 Why BDD and BDT with Mobile Apps?
 Automating a Behavior Driven Mobile GUI Test
 Integrating BDT and Mobile Test Automation frameworks
What is Behavior Driven Development (BDD)?
What is Behavior Driven Testing (BDT)?
“BDD is a second-generation, outside-in, pull-based, multiple-stakeholder, multiple-
scale, high-automation,agile methodology. It describes a cycle of interactions with
well-defned outputs, resulting in the delivery of working,tested software that
matters.” - Dan North
http://en.wikipedia.org/wiki/Behavior-driven_development
OR...
What is BDD?
What is BDT?
 Based on Test Driven Development
- Write a (failing) test
- Implement feature until test passes
- Unit-Test level granularity (inside-out)
 But
- Focus on application's behavior and specifcation
- Describe in a human-readable DSL (e.g. Gherkin)
- Reduce focus on implementation details
Versatile usage of Feature Files
 User story / feature specifcation
 Communicate with customer / users
 Document acceptance test
 Create walk-through sequence for manual tests
 Produce storyboard for test automation
Why Behavior Driven Development?
Why Behavior Driven Testing?
 “Test frst”development on a higher level
 Clearly separate test logic from implementation
 Allow non-programmers to defne features & tests
 Have a common, single language to communicate
What is BDD / BDT?
Android Address Book App
What is BDD / BDT?
Feature: Validate address book entry
Scenario: Add address book entry
Given the Address book App is running
When I click Add Address
And enter Tom in the Forename field
And enter Smith in the Surname field
And enter 123.123.1234 in the Phone field
And enter tom@smith.com in the Email field
And click Save
Then the list contains the matching forename value
And the list contains the matching surname value
FeatureFile
(Gherkin)
Android Address Book App
What is BDD / BDT?
Feature: Invalid phone number
Scenario: Invalid phone number
Given the Address book App is running
When I click Add Address
And enter Tom in the Forename field
And enter Smith in the Surname field
And enter Smith in the Phone field
Then the Phone field does not contain Smith
FeatureFile
(Gherkin)
Android Address Book App
What is BDD / BDT?
The Process
Refactor
Code
Make
Feature Test
Pass
Write a Failing
Feature Test
What is BDD / BDT?
The Process
Manual or Automated
Test
Refactor
Code
Make
Feature Test
Pass
Write a Failing
Feature Test
Automating a Behavior Driven GUI Test
 BDT framework
 Test Automation framework (GUI test tool, …)
 The 'Glue'
Requirements
BDT Framework
 Parse Feature fles
 Generate step defnition skeletons
- (functions and annotations) in a preferred language
Test.feature
Feature: Validate address book entry
Scenario: Add address book entry
Given the Address book App is running
When I click Add Address
....
Test.py
@Step("Given the Address book App is running")
def step(context):
test.warning("Implement me”)
@Step("When I click Add Address")
def step(context):
test.warning("Implement me”)
Generate Skeletons
BDT Framework
 Parse Feature fles
 Execute Feature fles by mapping steps to step defnitions (functions)
 Reporting
Test.feature
Feature: Validate address book entry
Scenario: Add address book entry
Given the Address book App is running
When I click Add Address
....
Test.py
@Step("Given the Address book App is running")
def step(context):
test.warning("Implement me”)
@Step("When I click Add Address")
def step(context):
test.warning("Implement me”)
Run Feature Files
Test Automation Framework
 Support the specifc UI technology of the application
 Support the scripting/programming language of the BDT framework
 Tool for convenient test creation, maintenance and debugging
Test.py
@Step("Given the Address book App is running")
def step(context):
test.warning("Implement me”)
@Step("When I click Add Address")
def step(context):
test.warning("Implement me”)
Requirements
Integrating BDT and Test Automation frameworks
 Need to“speak the same language”
 Reporting
 Debugging
Requirements
BDT Frameworks
 Cucumber
 JBehave
 Behave
 SpecFlow
 RSpec
 Lettuce
 Squish GUI Tester
 ...
Test Automation Frameworks
 CppUnit
 GoogleTest
 xUnit
 NUnit
 JUnit
 Squish GUI Tester
 HP QTP / UFT
 Rational Functional Tester
 Selenium
 ...
Live Demo
 Valid Address book entry
 Invalid Address book entry
 Passing parameters
 Scenario outline
BDD GUI Test for Cross-Platform Unit Converter
Questions?
Contact me
Amanda Burma
squish@froglogic.com
Download
Free & supported Squish GUI Tester trial
www.froglogic.com/evaluate
About Squish GUI Tester
 Cross-Platform / Cross-GUI Technology Test Automation
- Windows, Linux, Mac OS X, Unix, Embedded OS', RTOS', Mobile
- Java (Swing/AWT,SWT/RCP,JavaFx),Qt/QML/QtQuick,Web,MFC,WinForms,WPF,iOS,
Cocoa, Carbon,Android,Tk, Flex, …
 Object-based GUI object identifcation
 Record & Playback
 Powerful scripting (JavaScript, Python, Ruby,Tcl, Perl)
 Eclipse-based IDE
 Built-in BDD framework and support
 Batch-testing & Command-line tools
 Remote/distributed testing architecture
 Integrations: MicrosoftALM, HP QC/ALM,Rational RQM,SeapineTCM,SpiraTest,
MKS,XStudio,Jenkins,Hudson,TeamCity,Bamboo,Robot Framework,JUnit,
Maven, …

More Related Content

Viewers also liked

Startup Institute: JS Testing & Behavior Driven Development
Startup Institute: JS Testing & Behavior Driven DevelopmentStartup Institute: JS Testing & Behavior Driven Development
Startup Institute: JS Testing & Behavior Driven Development
Conor Sheehan
 
Effective Testing using Behavior-Driven Development
Effective Testing using Behavior-Driven DevelopmentEffective Testing using Behavior-Driven Development
Effective Testing using Behavior-Driven Development
Alexander Kress
 
Calabash
CalabashCalabash
Calabash
Panji Gautama
 
Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...
Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...
Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...
FalafelSoftware
 
Behavior driven development. Testing drupal using behat
Behavior driven development. Testing drupal using behatBehavior driven development. Testing drupal using behat
Behavior driven development. Testing drupal using behat
Andrei Jechiu
 
Behavior Driven Testing for Multichannel Enterprise Applications
Behavior Driven Testing for Multichannel Enterprise ApplicationsBehavior Driven Testing for Multichannel Enterprise Applications
Behavior Driven Testing for Multichannel Enterprise Applications
Bamdad Dashtban
 
Behavior driven development
Behavior driven developmentBehavior driven development
Behavior driven development
TEQneers GmbH & Co. KG
 
Behavior Driven Testing goes Mobile!
Behavior Driven Testing goes Mobile!Behavior Driven Testing goes Mobile!
Behavior Driven Testing goes Mobile!
Thoughtworks
 
Behavior Driven Development with Rails
Behavior Driven Development with RailsBehavior Driven Development with Rails
Behavior Driven Development with Rails
Mark Menard
 
Natural Language UI Testing using Behavior Driven Development with Pavlov and...
Natural Language UI Testing using Behavior Driven Development with Pavlov and...Natural Language UI Testing using Behavior Driven Development with Pavlov and...
Natural Language UI Testing using Behavior Driven Development with Pavlov and...
Eric DeLabar
 
BDD / cucumber /Capybara
BDD / cucumber /CapybaraBDD / cucumber /Capybara
BDD / cucumber /Capybara
ShraddhaSF
 
Behavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shiftBehavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shift
Aspire Systems
 
Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)
Anand Bagmar
 
[Agile Testing Day] Behavior Driven Development (BDD)
[Agile Testing Day] Behavior Driven Development (BDD)[Agile Testing Day] Behavior Driven Development (BDD)
[Agile Testing Day] Behavior Driven Development (BDD)
Cellenza
 
Behavior Driven Development Testing (BDD)
Behavior Driven Development Testing (BDD)Behavior Driven Development Testing (BDD)
Behavior Driven Development Testing (BDD)
Dignitas Digital Pvt. Ltd.
 
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
Ortus Solutions, Corp
 
Behavior Driven GUI Testing
Behavior Driven GUI TestingBehavior Driven GUI Testing
Behavior Driven GUI Testing
Reginald Stadlbauer
 
Beyond Testing: Specs and Behavior Driven Development
Beyond Testing: Specs and Behavior  Driven DevelopmentBeyond Testing: Specs and Behavior  Driven Development
Beyond Testing: Specs and Behavior Driven Development
Rabble .
 
German Testing Day 2015 - How behavior-driven development fuses developers an...
German Testing Day 2015 - How behavior-driven development fuses developers an...German Testing Day 2015 - How behavior-driven development fuses developers an...
German Testing Day 2015 - How behavior-driven development fuses developers an...
Bastian Seehaus
 
iOS Behavior-Driven Development
iOS Behavior-Driven DevelopmentiOS Behavior-Driven Development
iOS Behavior-Driven Development
Brian Gesiak
 

Viewers also liked (20)

Startup Institute: JS Testing & Behavior Driven Development
Startup Institute: JS Testing & Behavior Driven DevelopmentStartup Institute: JS Testing & Behavior Driven Development
Startup Institute: JS Testing & Behavior Driven Development
 
Effective Testing using Behavior-Driven Development
Effective Testing using Behavior-Driven DevelopmentEffective Testing using Behavior-Driven Development
Effective Testing using Behavior-Driven Development
 
Calabash
CalabashCalabash
Calabash
 
Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...
Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...
Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...
 
Behavior driven development. Testing drupal using behat
Behavior driven development. Testing drupal using behatBehavior driven development. Testing drupal using behat
Behavior driven development. Testing drupal using behat
 
Behavior Driven Testing for Multichannel Enterprise Applications
Behavior Driven Testing for Multichannel Enterprise ApplicationsBehavior Driven Testing for Multichannel Enterprise Applications
Behavior Driven Testing for Multichannel Enterprise Applications
 
Behavior driven development
Behavior driven developmentBehavior driven development
Behavior driven development
 
Behavior Driven Testing goes Mobile!
Behavior Driven Testing goes Mobile!Behavior Driven Testing goes Mobile!
Behavior Driven Testing goes Mobile!
 
Behavior Driven Development with Rails
Behavior Driven Development with RailsBehavior Driven Development with Rails
Behavior Driven Development with Rails
 
Natural Language UI Testing using Behavior Driven Development with Pavlov and...
Natural Language UI Testing using Behavior Driven Development with Pavlov and...Natural Language UI Testing using Behavior Driven Development with Pavlov and...
Natural Language UI Testing using Behavior Driven Development with Pavlov and...
 
BDD / cucumber /Capybara
BDD / cucumber /CapybaraBDD / cucumber /Capybara
BDD / cucumber /Capybara
 
Behavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shiftBehavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shift
 
Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)
 
[Agile Testing Day] Behavior Driven Development (BDD)
[Agile Testing Day] Behavior Driven Development (BDD)[Agile Testing Day] Behavior Driven Development (BDD)
[Agile Testing Day] Behavior Driven Development (BDD)
 
Behavior Driven Development Testing (BDD)
Behavior Driven Development Testing (BDD)Behavior Driven Development Testing (BDD)
Behavior Driven Development Testing (BDD)
 
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
 
Behavior Driven GUI Testing
Behavior Driven GUI TestingBehavior Driven GUI Testing
Behavior Driven GUI Testing
 
Beyond Testing: Specs and Behavior Driven Development
Beyond Testing: Specs and Behavior  Driven DevelopmentBeyond Testing: Specs and Behavior  Driven Development
Beyond Testing: Specs and Behavior Driven Development
 
German Testing Day 2015 - How behavior-driven development fuses developers an...
German Testing Day 2015 - How behavior-driven development fuses developers an...German Testing Day 2015 - How behavior-driven development fuses developers an...
German Testing Day 2015 - How behavior-driven development fuses developers an...
 
iOS Behavior-Driven Development
iOS Behavior-Driven DevelopmentiOS Behavior-Driven Development
iOS Behavior-Driven Development
 

Similar to Behavior Driven GUI Testing

Sexy Using Cucumber - BDD in your project
Sexy Using Cucumber - BDD in your projectSexy Using Cucumber - BDD in your project
Sexy Using Cucumber - BDD in your project
b4usolution .
 
PHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersPHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for Beginners
Adam Englander
 
Zend con 2016 bdd with behat for beginners
Zend con 2016   bdd with behat for beginnersZend con 2016   bdd with behat for beginners
Zend con 2016 bdd with behat for beginners
Adam Englander
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD
123abcda
 
Gherkin /BDD intro
Gherkin /BDD introGherkin /BDD intro
Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1
willmation
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009
Grig Gheorghiu
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
Leonard Fingerman
 
Alexandre.iline rit 2010 java_fxui_extra
Alexandre.iline rit 2010 java_fxui_extraAlexandre.iline rit 2010 java_fxui_extra
Alexandre.iline rit 2010 java_fxui_extra
rit2010
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
Vikas Sarin
 
Susan windsor soft test 16th november 2005
Susan windsor soft test   16th november 2005Susan windsor soft test   16th november 2005
Susan windsor soft test 16th november 2005
David O'Dowd
 
Internal DSLs For Automated Functional Testing
Internal DSLs For Automated Functional TestingInternal DSLs For Automated Functional Testing
Internal DSLs For Automated Functional Testing
John Sonmez
 
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo RiolWebinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
atSistemas
 
Continuous testing at scale
Continuous testing at scaleContinuous testing at scale
Continuous testing at scale
Gergely Orosz
 
BDD with Behat and Symfony2
BDD with Behat and Symfony2BDD with Behat and Symfony2
BDD with Behat and Symfony2
katalisha
 
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
 
Sowmya_2.5_Years_Manual Testing
Sowmya_2.5_Years_Manual TestingSowmya_2.5_Years_Manual Testing
Sowmya_2.5_Years_Manual Testing
Sowmya S
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by Example
Nalin Goonawardana
 
The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019
Ahmed Abu Eldahab
 
FlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
FlexNet Delivery and FlexNet Operations On-Demand Tips & TricksFlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
FlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
Flexera
 

Similar to Behavior Driven GUI Testing (20)

Sexy Using Cucumber - BDD in your project
Sexy Using Cucumber - BDD in your projectSexy Using Cucumber - BDD in your project
Sexy Using Cucumber - BDD in your project
 
PHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersPHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for Beginners
 
Zend con 2016 bdd with behat for beginners
Zend con 2016   bdd with behat for beginnersZend con 2016   bdd with behat for beginners
Zend con 2016 bdd with behat for beginners
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD
 
Gherkin /BDD intro
Gherkin /BDD introGherkin /BDD intro
Gherkin /BDD intro
 
Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Alexandre.iline rit 2010 java_fxui_extra
Alexandre.iline rit 2010 java_fxui_extraAlexandre.iline rit 2010 java_fxui_extra
Alexandre.iline rit 2010 java_fxui_extra
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
 
Susan windsor soft test 16th november 2005
Susan windsor soft test   16th november 2005Susan windsor soft test   16th november 2005
Susan windsor soft test 16th november 2005
 
Internal DSLs For Automated Functional Testing
Internal DSLs For Automated Functional TestingInternal DSLs For Automated Functional Testing
Internal DSLs For Automated Functional Testing
 
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo RiolWebinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
 
Continuous testing at scale
Continuous testing at scaleContinuous testing at scale
Continuous testing at scale
 
BDD with Behat and Symfony2
BDD with Behat and Symfony2BDD with Behat and Symfony2
BDD with Behat and Symfony2
 
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)
 
Sowmya_2.5_Years_Manual Testing
Sowmya_2.5_Years_Manual TestingSowmya_2.5_Years_Manual Testing
Sowmya_2.5_Years_Manual Testing
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by Example
 
The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019
 
FlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
FlexNet Delivery and FlexNet Operations On-Demand Tips & TricksFlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
FlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
 

Recently uploaded

Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024
Top Forex Brokers Review
 
amptalk_RecruitingDeck_english_2024.06.05
amptalk_RecruitingDeck_english_2024.06.05amptalk_RecruitingDeck_english_2024.06.05
amptalk_RecruitingDeck_english_2024.06.05
marketing317746
 
Industrial Tech SW: Category Renewal and Creation
Industrial Tech SW:  Category Renewal and CreationIndustrial Tech SW:  Category Renewal and Creation
Industrial Tech SW: Category Renewal and Creation
Christian Dahlen
 
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
AnnySerafinaLove
 
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challengesEvent Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Holger Mueller
 
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
my Pandit
 
LA HUG - Video Testimonials with Chynna Morgan - June 2024
LA HUG - Video Testimonials with Chynna Morgan - June 2024LA HUG - Video Testimonials with Chynna Morgan - June 2024
LA HUG - Video Testimonials with Chynna Morgan - June 2024
Lital Barkan
 
Chapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .pptChapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .ppt
ssuser567e2d
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
CLIVE MINCHIN
 
ModelingMarketingStrategiesMKS.CollumbiaUniversitypdf
ModelingMarketingStrategiesMKS.CollumbiaUniversitypdfModelingMarketingStrategiesMKS.CollumbiaUniversitypdf
ModelingMarketingStrategiesMKS.CollumbiaUniversitypdf
fisherameliaisabella
 
-- June 2024 is National Volunteer Month --
-- June 2024 is National Volunteer Month ---- June 2024 is National Volunteer Month --
-- June 2024 is National Volunteer Month --
NZSG
 
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Lviv Startup Club
 
Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431
ecamare2
 
Creative Web Design Company in Singapore
Creative Web Design Company in SingaporeCreative Web Design Company in Singapore
Creative Web Design Company in Singapore
techboxsqauremedia
 
Top mailing list providers in the USA.pptx
Top mailing list providers in the USA.pptxTop mailing list providers in the USA.pptx
Top mailing list providers in the USA.pptx
JeremyPeirce1
 
buy old yahoo accounts buy yahoo accounts
buy old yahoo accounts buy yahoo accountsbuy old yahoo accounts buy yahoo accounts
buy old yahoo accounts buy yahoo accounts
Susan Laney
 
Business storytelling: key ingredients to a story
Business storytelling: key ingredients to a storyBusiness storytelling: key ingredients to a story
Business storytelling: key ingredients to a story
Alexandra Fulford
 
ikea_woodgreen_petscharity_cat-alogue_digital.pdf
ikea_woodgreen_petscharity_cat-alogue_digital.pdfikea_woodgreen_petscharity_cat-alogue_digital.pdf
ikea_woodgreen_petscharity_cat-alogue_digital.pdf
agatadrynko
 
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
bosssp10
 
Part 2 Deep Dive: Navigating the 2024 Slowdown
Part 2 Deep Dive: Navigating the 2024 SlowdownPart 2 Deep Dive: Navigating the 2024 Slowdown
Part 2 Deep Dive: Navigating the 2024 Slowdown
jeffkluth1
 

Recently uploaded (20)

Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024
 
amptalk_RecruitingDeck_english_2024.06.05
amptalk_RecruitingDeck_english_2024.06.05amptalk_RecruitingDeck_english_2024.06.05
amptalk_RecruitingDeck_english_2024.06.05
 
Industrial Tech SW: Category Renewal and Creation
Industrial Tech SW:  Category Renewal and CreationIndustrial Tech SW:  Category Renewal and Creation
Industrial Tech SW: Category Renewal and Creation
 
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
 
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challengesEvent Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
 
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
 
LA HUG - Video Testimonials with Chynna Morgan - June 2024
LA HUG - Video Testimonials with Chynna Morgan - June 2024LA HUG - Video Testimonials with Chynna Morgan - June 2024
LA HUG - Video Testimonials with Chynna Morgan - June 2024
 
Chapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .pptChapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .ppt
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
 
ModelingMarketingStrategiesMKS.CollumbiaUniversitypdf
ModelingMarketingStrategiesMKS.CollumbiaUniversitypdfModelingMarketingStrategiesMKS.CollumbiaUniversitypdf
ModelingMarketingStrategiesMKS.CollumbiaUniversitypdf
 
-- June 2024 is National Volunteer Month --
-- June 2024 is National Volunteer Month ---- June 2024 is National Volunteer Month --
-- June 2024 is National Volunteer Month --
 
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
 
Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431
 
Creative Web Design Company in Singapore
Creative Web Design Company in SingaporeCreative Web Design Company in Singapore
Creative Web Design Company in Singapore
 
Top mailing list providers in the USA.pptx
Top mailing list providers in the USA.pptxTop mailing list providers in the USA.pptx
Top mailing list providers in the USA.pptx
 
buy old yahoo accounts buy yahoo accounts
buy old yahoo accounts buy yahoo accountsbuy old yahoo accounts buy yahoo accounts
buy old yahoo accounts buy yahoo accounts
 
Business storytelling: key ingredients to a story
Business storytelling: key ingredients to a storyBusiness storytelling: key ingredients to a story
Business storytelling: key ingredients to a story
 
ikea_woodgreen_petscharity_cat-alogue_digital.pdf
ikea_woodgreen_petscharity_cat-alogue_digital.pdfikea_woodgreen_petscharity_cat-alogue_digital.pdf
ikea_woodgreen_petscharity_cat-alogue_digital.pdf
 
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
 
Part 2 Deep Dive: Navigating the 2024 Slowdown
Part 2 Deep Dive: Navigating the 2024 SlowdownPart 2 Deep Dive: Navigating the 2024 Slowdown
Part 2 Deep Dive: Navigating the 2024 Slowdown
 

Behavior Driven GUI Testing

  • 1. Behavior Driven GUI Testing Mobile Dev + Test 2015 by Amanda Burma
  • 2. About me Name Amanda Burma Company froglogic GmbH Position Technical Marketing Engineer Former Automated Testing Engineer In industry since 1998 www.facebook.com/amandaBurma www.linkedin.com/in/amandaburma
  • 3. About froglogic  HQ in Hamburg, Germany  Founded in 2003  US presence since 2009  Product focus on Squish - Squish GUI Tester (Cross-Platform/Cross-Technology GUI Test Automation) - Squish Coco (C, C++, C# and Tcl Code Coverage)  More than 3,000 customers world-wide
  • 4. Overview  What is BDD and TDD?  Why BDD and BDT with Mobile Apps?  Automating a Behavior Driven Mobile GUI Test  Integrating BDT and Mobile Test Automation frameworks
  • 5. What is Behavior Driven Development (BDD)? What is Behavior Driven Testing (BDT)? “BDD is a second-generation, outside-in, pull-based, multiple-stakeholder, multiple- scale, high-automation,agile methodology. It describes a cycle of interactions with well-defned outputs, resulting in the delivery of working,tested software that matters.” - Dan North http://en.wikipedia.org/wiki/Behavior-driven_development OR...
  • 6. What is BDD? What is BDT?  Based on Test Driven Development - Write a (failing) test - Implement feature until test passes - Unit-Test level granularity (inside-out)  But - Focus on application's behavior and specifcation - Describe in a human-readable DSL (e.g. Gherkin) - Reduce focus on implementation details
  • 7. Versatile usage of Feature Files  User story / feature specifcation  Communicate with customer / users  Document acceptance test  Create walk-through sequence for manual tests  Produce storyboard for test automation
  • 8. Why Behavior Driven Development? Why Behavior Driven Testing?  “Test frst”development on a higher level  Clearly separate test logic from implementation  Allow non-programmers to defne features & tests  Have a common, single language to communicate
  • 9. What is BDD / BDT? Android Address Book App
  • 10. What is BDD / BDT? Feature: Validate address book entry Scenario: Add address book entry Given the Address book App is running When I click Add Address And enter Tom in the Forename field And enter Smith in the Surname field And enter 123.123.1234 in the Phone field And enter tom@smith.com in the Email field And click Save Then the list contains the matching forename value And the list contains the matching surname value FeatureFile (Gherkin) Android Address Book App
  • 11. What is BDD / BDT? Feature: Invalid phone number Scenario: Invalid phone number Given the Address book App is running When I click Add Address And enter Tom in the Forename field And enter Smith in the Surname field And enter Smith in the Phone field Then the Phone field does not contain Smith FeatureFile (Gherkin) Android Address Book App
  • 12. What is BDD / BDT? The Process Refactor Code Make Feature Test Pass Write a Failing Feature Test
  • 13. What is BDD / BDT? The Process Manual or Automated Test Refactor Code Make Feature Test Pass Write a Failing Feature Test
  • 14. Automating a Behavior Driven GUI Test  BDT framework  Test Automation framework (GUI test tool, …)  The 'Glue' Requirements
  • 15. BDT Framework  Parse Feature fles  Generate step defnition skeletons - (functions and annotations) in a preferred language Test.feature Feature: Validate address book entry Scenario: Add address book entry Given the Address book App is running When I click Add Address .... Test.py @Step("Given the Address book App is running") def step(context): test.warning("Implement me”) @Step("When I click Add Address") def step(context): test.warning("Implement me”) Generate Skeletons
  • 16. BDT Framework  Parse Feature fles  Execute Feature fles by mapping steps to step defnitions (functions)  Reporting Test.feature Feature: Validate address book entry Scenario: Add address book entry Given the Address book App is running When I click Add Address .... Test.py @Step("Given the Address book App is running") def step(context): test.warning("Implement me”) @Step("When I click Add Address") def step(context): test.warning("Implement me”) Run Feature Files
  • 17. Test Automation Framework  Support the specifc UI technology of the application  Support the scripting/programming language of the BDT framework  Tool for convenient test creation, maintenance and debugging Test.py @Step("Given the Address book App is running") def step(context): test.warning("Implement me”) @Step("When I click Add Address") def step(context): test.warning("Implement me”) Requirements
  • 18. Integrating BDT and Test Automation frameworks  Need to“speak the same language”  Reporting  Debugging Requirements
  • 19. BDT Frameworks  Cucumber  JBehave  Behave  SpecFlow  RSpec  Lettuce  Squish GUI Tester  ...
  • 20. Test Automation Frameworks  CppUnit  GoogleTest  xUnit  NUnit  JUnit  Squish GUI Tester  HP QTP / UFT  Rational Functional Tester  Selenium  ...
  • 21. Live Demo  Valid Address book entry  Invalid Address book entry  Passing parameters  Scenario outline BDD GUI Test for Cross-Platform Unit Converter
  • 22. Questions? Contact me Amanda Burma squish@froglogic.com Download Free & supported Squish GUI Tester trial www.froglogic.com/evaluate
  • 23. About Squish GUI Tester  Cross-Platform / Cross-GUI Technology Test Automation - Windows, Linux, Mac OS X, Unix, Embedded OS', RTOS', Mobile - Java (Swing/AWT,SWT/RCP,JavaFx),Qt/QML/QtQuick,Web,MFC,WinForms,WPF,iOS, Cocoa, Carbon,Android,Tk, Flex, …  Object-based GUI object identifcation  Record & Playback  Powerful scripting (JavaScript, Python, Ruby,Tcl, Perl)  Eclipse-based IDE  Built-in BDD framework and support  Batch-testing & Command-line tools  Remote/distributed testing architecture  Integrations: MicrosoftALM, HP QC/ALM,Rational RQM,SeapineTCM,SpiraTest, MKS,XStudio,Jenkins,Hudson,TeamCity,Bamboo,Robot Framework,JUnit, Maven, …