SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
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, …

Más contenido relacionado

Destacado

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 DevelopmentConor Sheehan
 
Effective Testing using Behavior-Driven Development
Effective Testing using Behavior-Driven DevelopmentEffective Testing using Behavior-Driven Development
Effective Testing using Behavior-Driven DevelopmentAlexander Kress
 
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 behatAndrei 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 ApplicationsBamdad Dashtban
 
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 RailsMark 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 /CapybaraShraddhaSF
 
Behavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shiftBehavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shiftAspire 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
 
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 IntegrationOrtus Solutions, Corp
 
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 DevelopmentRabble .
 
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 DevelopmentBrian Gesiak
 

Destacado (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 a 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 projectb4usolution .
 
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 BeginnersAdam 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 beginnersAdam Englander
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD123abcda
 
Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1willmation
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Grig 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_extrarit2010
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWDVikas 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 2005David O'Dowd
 
Internal DSLs For Automated Functional Testing
Internal DSLs For Automated Functional TestingInternal DSLs For Automated Functional Testing
Internal DSLs For Automated Functional TestingJohn 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 RiolatSistemas
 
Continuous testing at scale
Continuous testing at scaleContinuous testing at scale
Continuous testing at scaleGergely Orosz
 
BDD with Behat and Symfony2
BDD with Behat and Symfony2BDD with Behat and Symfony2
BDD with Behat and Symfony2katalisha
 
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 TestingSowmya S
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by ExampleNalin 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 2019Ahmed 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 & TricksFlexera
 

Similar a 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
 

Último

WSMM Technology February.March Newsletter_vF.pdf
WSMM Technology February.March Newsletter_vF.pdfWSMM Technology February.March Newsletter_vF.pdf
WSMM Technology February.March Newsletter_vF.pdfJamesConcepcion7
 
1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdfShaun Heinrichs
 
Cyber Security Training in Office Environment
Cyber Security Training in Office EnvironmentCyber Security Training in Office Environment
Cyber Security Training in Office Environmentelijahj01012
 
Darshan Hiranandani [News About Next CEO].pdf
Darshan Hiranandani [News About Next CEO].pdfDarshan Hiranandani [News About Next CEO].pdf
Darshan Hiranandani [News About Next CEO].pdfShashank Mehta
 
Planetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in LifePlanetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in LifeBhavana Pujan Kendra
 
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptxGo for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptxRakhi Bazaar
 
Entrepreneurship lessons in Philippines
Entrepreneurship lessons in  PhilippinesEntrepreneurship lessons in  Philippines
Entrepreneurship lessons in PhilippinesDavidSamuel525586
 
trending-flavors-and-ingredients-in-salty-snacks-us-2024_Redacted-V2.pdf
trending-flavors-and-ingredients-in-salty-snacks-us-2024_Redacted-V2.pdftrending-flavors-and-ingredients-in-salty-snacks-us-2024_Redacted-V2.pdf
trending-flavors-and-ingredients-in-salty-snacks-us-2024_Redacted-V2.pdfMintel Group
 
GUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdf
GUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdfGUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdf
GUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdfDanny Diep To
 
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptxThe-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptxmbikashkanyari
 
EUDR Info Meeting Ethiopian coffee exporters
EUDR Info Meeting Ethiopian coffee exportersEUDR Info Meeting Ethiopian coffee exporters
EUDR Info Meeting Ethiopian coffee exportersPeter Horsten
 
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...ssuserf63bd7
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationAnamaria Contreras
 
Supercharge Your eCommerce Stores-acowebs
Supercharge Your eCommerce Stores-acowebsSupercharge Your eCommerce Stores-acowebs
Supercharge Your eCommerce Stores-acowebsGOKUL JS
 
Fordham -How effective decision-making is within the IT department - Analysis...
Fordham -How effective decision-making is within the IT department - Analysis...Fordham -How effective decision-making is within the IT department - Analysis...
Fordham -How effective decision-making is within the IT department - Analysis...Peter Ward
 
20220816-EthicsGrade_Scorecard-JP_Morgan_Chase-Q2-63_57.pdf
20220816-EthicsGrade_Scorecard-JP_Morgan_Chase-Q2-63_57.pdf20220816-EthicsGrade_Scorecard-JP_Morgan_Chase-Q2-63_57.pdf
20220816-EthicsGrade_Scorecard-JP_Morgan_Chase-Q2-63_57.pdfChris Skinner
 
Excvation Safety for safety officers reference
Excvation Safety for safety officers referenceExcvation Safety for safety officers reference
Excvation Safety for safety officers referencessuser2c065e
 
Memorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMMemorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMVoces Mineras
 
Jewish Resources in the Family Resource Centre
Jewish Resources in the Family Resource CentreJewish Resources in the Family Resource Centre
Jewish Resources in the Family Resource CentreNZSG
 

Último (20)

WSMM Technology February.March Newsletter_vF.pdf
WSMM Technology February.March Newsletter_vF.pdfWSMM Technology February.March Newsletter_vF.pdf
WSMM Technology February.March Newsletter_vF.pdf
 
1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf
 
Cyber Security Training in Office Environment
Cyber Security Training in Office EnvironmentCyber Security Training in Office Environment
Cyber Security Training in Office Environment
 
Darshan Hiranandani [News About Next CEO].pdf
Darshan Hiranandani [News About Next CEO].pdfDarshan Hiranandani [News About Next CEO].pdf
Darshan Hiranandani [News About Next CEO].pdf
 
Planetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in LifePlanetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in Life
 
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptxGo for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
 
Entrepreneurship lessons in Philippines
Entrepreneurship lessons in  PhilippinesEntrepreneurship lessons in  Philippines
Entrepreneurship lessons in Philippines
 
trending-flavors-and-ingredients-in-salty-snacks-us-2024_Redacted-V2.pdf
trending-flavors-and-ingredients-in-salty-snacks-us-2024_Redacted-V2.pdftrending-flavors-and-ingredients-in-salty-snacks-us-2024_Redacted-V2.pdf
trending-flavors-and-ingredients-in-salty-snacks-us-2024_Redacted-V2.pdf
 
GUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdf
GUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdfGUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdf
GUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdf
 
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptxThe-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
 
EUDR Info Meeting Ethiopian coffee exporters
EUDR Info Meeting Ethiopian coffee exportersEUDR Info Meeting Ethiopian coffee exporters
EUDR Info Meeting Ethiopian coffee exporters
 
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement Presentation
 
WAM Corporate Presentation April 12 2024.pdf
WAM Corporate Presentation April 12 2024.pdfWAM Corporate Presentation April 12 2024.pdf
WAM Corporate Presentation April 12 2024.pdf
 
Supercharge Your eCommerce Stores-acowebs
Supercharge Your eCommerce Stores-acowebsSupercharge Your eCommerce Stores-acowebs
Supercharge Your eCommerce Stores-acowebs
 
Fordham -How effective decision-making is within the IT department - Analysis...
Fordham -How effective decision-making is within the IT department - Analysis...Fordham -How effective decision-making is within the IT department - Analysis...
Fordham -How effective decision-making is within the IT department - Analysis...
 
20220816-EthicsGrade_Scorecard-JP_Morgan_Chase-Q2-63_57.pdf
20220816-EthicsGrade_Scorecard-JP_Morgan_Chase-Q2-63_57.pdf20220816-EthicsGrade_Scorecard-JP_Morgan_Chase-Q2-63_57.pdf
20220816-EthicsGrade_Scorecard-JP_Morgan_Chase-Q2-63_57.pdf
 
Excvation Safety for safety officers reference
Excvation Safety for safety officers referenceExcvation Safety for safety officers reference
Excvation Safety for safety officers reference
 
Memorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMMemorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQM
 
Jewish Resources in the Family Resource Centre
Jewish Resources in the Family Resource CentreJewish Resources in the Family Resource Centre
Jewish Resources in the Family Resource Centre
 

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, …