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
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
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
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/
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