SlideShare a Scribd company logo
1 of 20
Cucumber
Wait...What?
1. Test Automation in Mobile
2. BDD - what is that?
3. Anatomy of calabash framework.
4. Gherkin.
5. Demo.
Agenda
Hi!
I am here because I would love to
inspire you and give you some
new insights about testing :)
You can find me at:
about.me/mmachlowska
I’m Maria Machlowska
1.
Test automation
in mobile
How does it work for me?
“
Quality should be on the value for all.
Not only for QA’s or developers.
2. BDD
What is
that?
➔ Outside-in Development
➔ conceptually similar to TDD
➔ create and run functional specifications
➔ every person is weigh in to create a common
understanding of what is to be built
BDD - philosophy
The right
software is build
In the opposite to
software being build
right (TDD)
Language
understandable
for everyone
Even non technical
person can interprets
those.
Helps to make
an intelligent
testing
decisions
It’s not necessary to
follow the BDD
methodology in order
to use Calabash
effectively, but having
a basic
understanding of it
goes a long way in
making intelligent
testing decisions.
BDD - main approaches
3. Calabash framework
How it
works?
Communication between your application and
Calabash
Calabash provides a
bridge that allows
Cucumber tests to
run and validate on
iOS and Android.
4. Gherkin
how to create a
specification?
Feature
definitions
Scenarios
Step
definitions
Gherkin
Gherkin
Feautures
➔ a group of
logically
groupped
scenarios
Scenarios
➔ a single
behaviour of the
use case
➔ comprised of
steps
➔ every step begins
with the words:
Given, When,
And, Then
➔ language hint:
cause and effect
Steps
definitions
➔ glue code:
translates
Gherkin into
runnable actions
➔ code-behind the
scenarios to
make them
runnable in the
application
➔ use methods
touch and query
in Cucumber API
F1
S2
SD
1
Cucumber power
S1 SD
2
SD
3
SD
1
SD
3
SD
4
SD
5
SD
3S3
SD
6
5. Demo
Time for
DEMO
Is it really working?
Console output Action is performed
on device/emulator
source: https://s3-us-west-1.amazonaws.com/testmunk-public/blog/terminal_and_android_looped_1-5s_delay.gif
Summary
Well...
Whoa! Is it so simple?
Presentation Review/Sumup
Costs
High. You need to invest with the
time, good developers to build a test
architecture, some trainings from
experts, and then the scale time to
deply this framework into your
organization.
Quick Start?
Should be easy, but it’s not.
You can’t just download the sample
project and run it. There are too
many configuration setups.
It’s more complicated than
embedded iOS and Android Testing
Frameworks.
What could go
wrong?
You should design your tests and
Testing infrastructure very carefully
- otherwise the tests wouldn’t be
reusable.
Knowledge base
There are many good articles you
can learn from, but there is a lack of
Calabash Wiki.
StackOverflow is pretty good, but
there could be some problems it
wouldn’t cover.
Who use it?
Base CRM - a Cracow’s startup
based their Testing Infrastructure on
Cucumber, and Calabash.
They have some experts working
with this framework.
Outside-box
You don’t have to modify the code
of your application. All you need is
to run this app on emulator or real
Mobile Device.
Bibliography
■ Code resources:
o https://github.com/calabash/calabash-ios
o https://github.com/calabash/calabash-ios
■ First Tutorial: http://blog.testmunk.com/tutorial-for-automated-mobile-app-testing-
calabash
■ templates in ruby for Steps Definitions:
http://docs.testmunk.com/en/latest/steps.html
■ Demo link: https://s3-us-west-1.amazonaws.com/testmunk-
public/blog/terminal_and_android_looped_1-5s_delay.gif
■ Theory, what is BDD and Cucumber:
http://developer.xamarin.com/guides/testcloud/calabash/introduction-to-calabash/
Thanks!
Any questions?
You can find me at:
about.me/mmachlowska

More Related Content

What's hot

Gamification of Chaos Testing
Gamification of Chaos TestingGamification of Chaos Testing
Gamification of Chaos TestingBram Vogelaar
 
Understanding Why Testing is Importaint
Understanding Why Testing is ImportaintUnderstanding Why Testing is Importaint
Understanding Why Testing is ImportaintSana Nasar
 
Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014Wiktor Żołnowski
 
Pair Programming, TDD and other impractical things
Pair Programming, TDD and other impractical thingsPair Programming, TDD and other impractical things
Pair Programming, TDD and other impractical thingsMarcello Duarte
 
TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018Paulo Clavijo
 
Unit Test Lab - Why Write Unit Tests?
Unit Test Lab - Why Write Unit Tests?Unit Test Lab - Why Write Unit Tests?
Unit Test Lab - Why Write Unit Tests?Danny van Kasteel
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentjakubkoci
 
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...TelecomValley
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingLemi Orhan Ergin
 
РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021
РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021
РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021GoQA
 
Tdd in php a brief example
Tdd in php   a brief exampleTdd in php   a brief example
Tdd in php a brief exampleJeremy Kendall
 
Become Software Tester or Developer
Become Software Tester or DeveloperBecome Software Tester or Developer
Become Software Tester or DeveloperKMS Technology
 
1 common testing abbreviations
1   common testing abbreviations1   common testing abbreviations
1 common testing abbreviationsAndre Dada
 
Test Driven Development Powered by LEGO
Test Driven Development Powered by LEGOTest Driven Development Powered by LEGO
Test Driven Development Powered by LEGOAgile Montréal
 
Test Driven Development - For Girl Geeks Night Sydney
Test Driven Development - For Girl Geeks Night SydneyTest Driven Development - For Girl Geeks Night Sydney
Test Driven Development - For Girl Geeks Night SydneyJo Cranford
 
Scrum is not enough - being a successful agile engineer
Scrum is not enough - being a successful agile engineerScrum is not enough - being a successful agile engineer
Scrum is not enough - being a successful agile engineerAnton Keks
 

What's hot (20)

Gamification of Chaos Testing
Gamification of Chaos TestingGamification of Chaos Testing
Gamification of Chaos Testing
 
Understanding Why Testing is Importaint
Understanding Why Testing is ImportaintUnderstanding Why Testing is Importaint
Understanding Why Testing is Importaint
 
Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014
 
Pair Programming, TDD and other impractical things
Pair Programming, TDD and other impractical thingsPair Programming, TDD and other impractical things
Pair Programming, TDD and other impractical things
 
TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018
 
Unit Test Lab - Why Write Unit Tests?
Unit Test Lab - Why Write Unit Tests?Unit Test Lab - Why Write Unit Tests?
Unit Test Lab - Why Write Unit Tests?
 
TDD = bra design?
TDD = bra design?TDD = bra design?
TDD = bra design?
 
REST API level TDD with NodeJS
REST API level TDD with NodeJSREST API level TDD with NodeJS
REST API level TDD with NodeJS
 
(A)TDD The what, why and how
(A)TDD The what, why and how(A)TDD The what, why and how
(A)TDD The what, why and how
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Cucumber tutorial
Cucumber tutorialCucumber tutorial
Cucumber tutorial
 
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair Programming
 
РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021
РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021
РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021
 
Tdd in php a brief example
Tdd in php   a brief exampleTdd in php   a brief example
Tdd in php a brief example
 
Become Software Tester or Developer
Become Software Tester or DeveloperBecome Software Tester or Developer
Become Software Tester or Developer
 
1 common testing abbreviations
1   common testing abbreviations1   common testing abbreviations
1 common testing abbreviations
 
Test Driven Development Powered by LEGO
Test Driven Development Powered by LEGOTest Driven Development Powered by LEGO
Test Driven Development Powered by LEGO
 
Test Driven Development - For Girl Geeks Night Sydney
Test Driven Development - For Girl Geeks Night SydneyTest Driven Development - For Girl Geeks Night Sydney
Test Driven Development - For Girl Geeks Night Sydney
 
Scrum is not enough - being a successful agile engineer
Scrum is not enough - being a successful agile engineerScrum is not enough - being a successful agile engineer
Scrum is not enough - being a successful agile engineer
 

Viewers also liked

Andrei rusu-2013-amaa-workshop
Andrei rusu-2013-amaa-workshopAndrei rusu-2013-amaa-workshop
Andrei rusu-2013-amaa-workshopAndries Rusu
 
Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Mindfire Solutions
 
Cucumber.js: Cuke up your JavaScript!
Cucumber.js: Cuke up your JavaScript!Cucumber.js: Cuke up your JavaScript!
Cucumber.js: Cuke up your JavaScript!Julien Biezemans
 
BDD testing with cucumber
BDD testing with cucumberBDD testing with cucumber
BDD testing with cucumberDaniel Kummer
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Lars Thorup
 
Test automation with Cucumber-JVM
Test automation with Cucumber-JVMTest automation with Cucumber-JVM
Test automation with Cucumber-JVMAlan Parkinson
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberKMS Technology
 
Behavior Driven Development with Cucumber
Behavior Driven Development with CucumberBehavior Driven Development with Cucumber
Behavior Driven Development with CucumberBrandon Keepers
 

Viewers also liked (10)

Andrei rusu-2013-amaa-workshop
Andrei rusu-2013-amaa-workshopAndrei rusu-2013-amaa-workshop
Andrei rusu-2013-amaa-workshop
 
Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)
 
Cucumber.js: Cuke up your JavaScript!
Cucumber.js: Cuke up your JavaScript!Cucumber.js: Cuke up your JavaScript!
Cucumber.js: Cuke up your JavaScript!
 
BDD testing with cucumber
BDD testing with cucumberBDD testing with cucumber
BDD testing with cucumber
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)
 
Test automation with Cucumber-JVM
Test automation with Cucumber-JVMTest automation with Cucumber-JVM
Test automation with Cucumber-JVM
 
Cucumber ppt
Cucumber pptCucumber ppt
Cucumber ppt
 
How to become a hacker
How to become a hackerHow to become a hacker
How to become a hacker
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
Behavior Driven Development with Cucumber
Behavior Driven Development with CucumberBehavior Driven Development with Cucumber
Behavior Driven Development with Cucumber
 

Similar to Cucumber - Maria Machlowska

DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDaysJKT
 
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Abdelkrim Boujraf
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
Test-Driven Development In Action
Test-Driven Development In ActionTest-Driven Development In Action
Test-Driven Development In ActionJon Kruger
 
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Abdelkrim Boujraf
 
10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)guestebde
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsSteven Smith
 
Agile & Secure SDLC
Agile & Secure SDLCAgile & Secure SDLC
Agile & Secure SDLCPaul Yang
 
Femmengeeniring_Kateryna Mishchenko.pdf
Femmengeeniring_Kateryna Mishchenko.pdfFemmengeeniring_Kateryna Mishchenko.pdf
Femmengeeniring_Kateryna Mishchenko.pdfssuserc16f90
 
Software Development Essential Skills
Software Development Essential SkillsSoftware Development Essential Skills
Software Development Essential SkillsJohn Choi
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure rupeshchanchal
 
Working with Agile technologies and SCRUM
Working with Agile technologies and SCRUMWorking with Agile technologies and SCRUM
Working with Agile technologies and SCRUMAndrea Tino
 
Lets cook cucumber !!
Lets cook cucumber !!Lets cook cucumber !!
Lets cook cucumber !!vodQA
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012Justin Gordon
 

Similar to Cucumber - Maria Machlowska (20)

DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
 
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
 
Best pratice
Best praticeBest pratice
Best pratice
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
Test-Driven Development In Action
Test-Driven Development In ActionTest-Driven Development In Action
Test-Driven Development In Action
 
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
 
10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
 
Agile & Secure SDLC
Agile & Secure SDLCAgile & Secure SDLC
Agile & Secure SDLC
 
Software testing 1
Software testing 1Software testing 1
Software testing 1
 
Put to the Test
Put to the TestPut to the Test
Put to the Test
 
Femmengeeniring_Kateryna Mishchenko.pdf
Femmengeeniring_Kateryna Mishchenko.pdfFemmengeeniring_Kateryna Mishchenko.pdf
Femmengeeniring_Kateryna Mishchenko.pdf
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Software Development Essential Skills
Software Development Essential SkillsSoftware Development Essential Skills
Software Development Essential Skills
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
Working with Agile technologies and SCRUM
Working with Agile technologies and SCRUMWorking with Agile technologies and SCRUM
Working with Agile technologies and SCRUM
 
Lets cook cucumber !!
Lets cook cucumber !!Lets cook cucumber !!
Lets cook cucumber !!
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012
 
10 Ways To Improve Your Code
10 Ways To Improve Your Code10 Ways To Improve Your Code
10 Ways To Improve Your Code
 

More from Women in Technology Poland

Get Inspired: Po co nam UX? O edukacji i nie tylko
Get Inspired: Po co nam UX? O edukacji i nie tylkoGet Inspired: Po co nam UX? O edukacji i nie tylko
Get Inspired: Po co nam UX? O edukacji i nie tylkoWomen in Technology Poland
 
Pierwsze kroki w karierze IT: LinkedIn - wykorzystaj potencjał sieci
Pierwsze kroki w karierze IT: LinkedIn - wykorzystaj potencjał sieciPierwsze kroki w karierze IT: LinkedIn - wykorzystaj potencjał sieci
Pierwsze kroki w karierze IT: LinkedIn - wykorzystaj potencjał sieciWomen in Technology Poland
 
Blockchain and Cryptocurrency Basics- #43 spotkanie WiT Kraków
Blockchain and Cryptocurrency Basics- #43 spotkanie WiT KrakówBlockchain and Cryptocurrency Basics- #43 spotkanie WiT Kraków
Blockchain and Cryptocurrency Basics- #43 spotkanie WiT KrakówWomen in Technology Poland
 
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test..."Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...Women in Technology Poland
 
Agnieszka Pocha - Od surowych danych do gotowego modelu - uczenie maszynowe w...
Agnieszka Pocha - Od surowych danych do gotowego modelu - uczenie maszynowe w...Agnieszka Pocha - Od surowych danych do gotowego modelu - uczenie maszynowe w...
Agnieszka Pocha - Od surowych danych do gotowego modelu - uczenie maszynowe w...Women in Technology Poland
 
Monika Synoradzka - 10 sposobów na budowę silnego zespołu i bycie dobrym lide...
Monika Synoradzka - 10 sposobów na budowę silnego zespołu i bycie dobrym lide...Monika Synoradzka - 10 sposobów na budowę silnego zespołu i bycie dobrym lide...
Monika Synoradzka - 10 sposobów na budowę silnego zespołu i bycie dobrym lide...Women in Technology Poland
 
Kulisy pracy w IT: Zawód Front- end Developer prezentacja Pawła Janasa
Kulisy pracy w IT: Zawód Front- end Developer prezentacja Pawła JanasaKulisy pracy w IT: Zawód Front- end Developer prezentacja Pawła Janasa
Kulisy pracy w IT: Zawód Front- end Developer prezentacja Pawła JanasaWomen in Technology Poland
 
Poznaj GITa - część teoretyczna - Anna Szwiec
Poznaj GITa -  część teoretyczna - Anna SzwiecPoznaj GITa -  część teoretyczna - Anna Szwiec
Poznaj GITa - część teoretyczna - Anna SzwiecWomen in Technology Poland
 
HTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan KrausHTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan KrausWomen in Technology Poland
 
Architektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan KrausArchitektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan KrausWomen in Technology Poland
 
Roman Czarko-Wasiutycz- Projektowanie baz danych
Roman Czarko-Wasiutycz- Projektowanie baz danychRoman Czarko-Wasiutycz- Projektowanie baz danych
Roman Czarko-Wasiutycz- Projektowanie baz danychWomen in Technology Poland
 
Justyna Hankiewicz- Jak zbudować efektywny zespół
Justyna Hankiewicz- Jak zbudować efektywny zespółJustyna Hankiewicz- Jak zbudować efektywny zespół
Justyna Hankiewicz- Jak zbudować efektywny zespółWomen in Technology Poland
 

More from Women in Technology Poland (20)

Get Inspired: Po co nam UX? O edukacji i nie tylko
Get Inspired: Po co nam UX? O edukacji i nie tylkoGet Inspired: Po co nam UX? O edukacji i nie tylko
Get Inspired: Po co nam UX? O edukacji i nie tylko
 
Pierwsze kroki w karierze IT: LinkedIn - wykorzystaj potencjał sieci
Pierwsze kroki w karierze IT: LinkedIn - wykorzystaj potencjał sieciPierwsze kroki w karierze IT: LinkedIn - wykorzystaj potencjał sieci
Pierwsze kroki w karierze IT: LinkedIn - wykorzystaj potencjał sieci
 
Tech 101: Scrum 25.04.19 Warszawa
Tech 101: Scrum 25.04.19 WarszawaTech 101: Scrum 25.04.19 Warszawa
Tech 101: Scrum 25.04.19 Warszawa
 
ARKit by Magdalena Pałka
ARKit by Magdalena PałkaARKit by Magdalena Pałka
ARKit by Magdalena Pałka
 
React Native by Artur Staszczyk
React Native by Artur StaszczykReact Native by Artur Staszczyk
React Native by Artur Staszczyk
 
Architecure components by Paulina Szklarska
Architecure components by Paulina SzklarskaArchitecure components by Paulina Szklarska
Architecure components by Paulina Szklarska
 
Big Data - historia i przyszłość
Big Data - historia i przyszłośćBig Data - historia i przyszłość
Big Data - historia i przyszłość
 
Blockchain and Cryptocurrency Basics- #43 spotkanie WiT Kraków
Blockchain and Cryptocurrency Basics- #43 spotkanie WiT KrakówBlockchain and Cryptocurrency Basics- #43 spotkanie WiT Kraków
Blockchain and Cryptocurrency Basics- #43 spotkanie WiT Kraków
 
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test..."Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...
 
Agnieszka Pocha - Od surowych danych do gotowego modelu - uczenie maszynowe w...
Agnieszka Pocha - Od surowych danych do gotowego modelu - uczenie maszynowe w...Agnieszka Pocha - Od surowych danych do gotowego modelu - uczenie maszynowe w...
Agnieszka Pocha - Od surowych danych do gotowego modelu - uczenie maszynowe w...
 
Monika Synoradzka - 10 sposobów na budowę silnego zespołu i bycie dobrym lide...
Monika Synoradzka - 10 sposobów na budowę silnego zespołu i bycie dobrym lide...Monika Synoradzka - 10 sposobów na budowę silnego zespołu i bycie dobrym lide...
Monika Synoradzka - 10 sposobów na budowę silnego zespołu i bycie dobrym lide...
 
Kulisy pracy w IT: Zawód Front- end Developer prezentacja Pawła Janasa
Kulisy pracy w IT: Zawód Front- end Developer prezentacja Pawła JanasaKulisy pracy w IT: Zawód Front- end Developer prezentacja Pawła Janasa
Kulisy pracy w IT: Zawód Front- end Developer prezentacja Pawła Janasa
 
Jak bardzo techniczny musi być tester?
Jak bardzo techniczny musi być tester?Jak bardzo techniczny musi być tester?
Jak bardzo techniczny musi być tester?
 
Poznaj GITa - Natalia Stanko
Poznaj GITa - Natalia StankoPoznaj GITa - Natalia Stanko
Poznaj GITa - Natalia Stanko
 
Poznaj GITa - część teoretyczna - Anna Szwiec
Poznaj GITa -  część teoretyczna - Anna SzwiecPoznaj GITa -  część teoretyczna - Anna Szwiec
Poznaj GITa - część teoretyczna - Anna Szwiec
 
HTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan KrausHTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan Kraus
 
Architektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan KrausArchitektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan Kraus
 
Hackerspace Wrocław
Hackerspace WrocławHackerspace Wrocław
Hackerspace Wrocław
 
Roman Czarko-Wasiutycz- Projektowanie baz danych
Roman Czarko-Wasiutycz- Projektowanie baz danychRoman Czarko-Wasiutycz- Projektowanie baz danych
Roman Czarko-Wasiutycz- Projektowanie baz danych
 
Justyna Hankiewicz- Jak zbudować efektywny zespół
Justyna Hankiewicz- Jak zbudować efektywny zespółJustyna Hankiewicz- Jak zbudować efektywny zespół
Justyna Hankiewicz- Jak zbudować efektywny zespół
 

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
[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
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
[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
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

Cucumber - Maria Machlowska

  • 2. 1. Test Automation in Mobile 2. BDD - what is that? 3. Anatomy of calabash framework. 4. Gherkin. 5. Demo. Agenda
  • 3. Hi! I am here because I would love to inspire you and give you some new insights about testing :) You can find me at: about.me/mmachlowska I’m Maria Machlowska
  • 4. 1. Test automation in mobile How does it work for me?
  • 5. “ Quality should be on the value for all. Not only for QA’s or developers.
  • 7. ➔ Outside-in Development ➔ conceptually similar to TDD ➔ create and run functional specifications ➔ every person is weigh in to create a common understanding of what is to be built BDD - philosophy
  • 8. The right software is build In the opposite to software being build right (TDD) Language understandable for everyone Even non technical person can interprets those. Helps to make an intelligent testing decisions It’s not necessary to follow the BDD methodology in order to use Calabash effectively, but having a basic understanding of it goes a long way in making intelligent testing decisions. BDD - main approaches
  • 10. Communication between your application and Calabash Calabash provides a bridge that allows Cucumber tests to run and validate on iOS and Android.
  • 11. 4. Gherkin how to create a specification?
  • 13. Gherkin Feautures ➔ a group of logically groupped scenarios Scenarios ➔ a single behaviour of the use case ➔ comprised of steps ➔ every step begins with the words: Given, When, And, Then ➔ language hint: cause and effect Steps definitions ➔ glue code: translates Gherkin into runnable actions ➔ code-behind the scenarios to make them runnable in the application ➔ use methods touch and query in Cucumber API
  • 15. 5. Demo Time for DEMO Is it really working?
  • 16. Console output Action is performed on device/emulator source: https://s3-us-west-1.amazonaws.com/testmunk-public/blog/terminal_and_android_looped_1-5s_delay.gif
  • 18. Presentation Review/Sumup Costs High. You need to invest with the time, good developers to build a test architecture, some trainings from experts, and then the scale time to deply this framework into your organization. Quick Start? Should be easy, but it’s not. You can’t just download the sample project and run it. There are too many configuration setups. It’s more complicated than embedded iOS and Android Testing Frameworks. What could go wrong? You should design your tests and Testing infrastructure very carefully - otherwise the tests wouldn’t be reusable. Knowledge base There are many good articles you can learn from, but there is a lack of Calabash Wiki. StackOverflow is pretty good, but there could be some problems it wouldn’t cover. Who use it? Base CRM - a Cracow’s startup based their Testing Infrastructure on Cucumber, and Calabash. They have some experts working with this framework. Outside-box You don’t have to modify the code of your application. All you need is to run this app on emulator or real Mobile Device.
  • 19. Bibliography ■ Code resources: o https://github.com/calabash/calabash-ios o https://github.com/calabash/calabash-ios ■ First Tutorial: http://blog.testmunk.com/tutorial-for-automated-mobile-app-testing- calabash ■ templates in ruby for Steps Definitions: http://docs.testmunk.com/en/latest/steps.html ■ Demo link: https://s3-us-west-1.amazonaws.com/testmunk- public/blog/terminal_and_android_looped_1-5s_delay.gif ■ Theory, what is BDD and Cucumber: http://developer.xamarin.com/guides/testcloud/calabash/introduction-to-calabash/
  • 20. Thanks! Any questions? You can find me at: about.me/mmachlowska

Editor's Notes

  1. Ostatnia prezentacja przed końcem sezonu, urodzinowo: Urodzinowy temat, urodzinowo będę mówić Cele jakie chcę osiągnąć na tej prezentacji: zainspirować i wzbudzić ciekawość Temat mojej prezentacji - nie będzie to warzywo