Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Devs & Testers : BFFs with Virtual APIs
1. a b c d e f g h i j k l m n o p q r s t u v w x y
2. Paul Bruce
API Product Marketing Manager
a b c d e f g h i j k l m n o p q r s t u v w x y
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
3. a b c d e f g h i j k l m n o p q r s t u v w x y
reverse
Q&
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
reverse
Q & A
@ PaulSBruce #VirtualAPIs @SmartBear
4. a b c d e f g h i j k l m n o p q r s t u v w x y
we don’t have
the luxury
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
5. a b c d e f g h i j k l m n o p q r s t u v w x y
the
connected world
is nuts
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
#VirtualAPIs @SmartBear
6. a b c d e f g h i j k l m n o p q r s t u v w x y
APIs
really
help
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
#VirtualAPIs @SmartBear
7. a b c d e f g h i j k l m n o p q r s t u v w x y
APIs
come with
baggage
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
8.
9. a b c d e f g h i j k l m n o p q r s t u v w x y
show me
your API,
i‘ll show
you mine
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
10. a b c d e f g h i j k l m n o p q r s t u v w x y
people
not devs, not testers
people
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
11. a b c d e f g h i j k l m n o p q r s t u v w x y
a good
multi-tasker
is hard to
find
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
12. a b c d e f g h i j k l m n o p q r s t u v w x y
don’t test the
code you write
(get someone else to do it)
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
13. a b c d e f g h i j k l m n o p q r s t u v w x y
schizophrenia
or just agile?
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
14. a b c d e f g h i j k l m n o p q r s t u v w x y
i just think
it‘s time to
see other
people
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
15. a b c d e f g h i j k l m n o p q r s t u v w x y
what‘s the
real problem
here?
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
16. a b c d e f g h i j k l m n o p q r s t u v w x y
there is
no API
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
18. a b c d e f g h i j k l m n o p q r s t u v w x y
no one
likes to be
mocked
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
19. a b c d e f g h i j k l m n o p q r s t u v w x y
“when i grow up,
i want to be a virt”
- mock
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
20. a b c d e f g h i j k l m n o p q r s t u v w x y
what virts
aren‘t
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
21. a b c d e f g h i j k l m n o p q r s t u v w x y
well of course,
and I really
mean it
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
22. a b c d e f g h i j k l m n o p q r s t u v w x y
the sky
is the
limit
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
23. a b c d e f g h i j k l m n o p q r s t u v w x y
the point
being
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
24. a b c d e f g h i j k l m n o p q r s t u v w x y
we‘re doing
okay, but
it could be
better
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
25. a b c d e f g h i j k l m n o p q r s t u v w x y
we live
in the
future
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
26. a b c d e f g h i j k l m n o p q r s t u v w x y
focus on
what‘s not
already solved
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
27. a b c d e f g h i j k l m n o p q r s t u v w x y
let‘s get
together
and build
great software
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
28. a b c d e f g h i j k l m n o p q r s t u v w x y
proper
Q & A
Paul Bruce | Devs + Testers = BFFs w/ Virtual APIs APIdays Mediterranea 20150506
@ PaulSBruce #VirtualAPIs @SmartBear
Notas del editor
Intro
Been a dev for may years, needed to expand my horizons
Working with all aspects of multiple product teams
Help with strategic decisions, convey the true value
Who believes stuff should just work?
Who believes patterns & practices should get better?
Who here uses service virtualization?
The way we build now, we don’t have the luxury of:
Enough time (aka. three week sprints)
Last minute complications
Heavy, bureaucratic solutions (ESB, SOA)
One big, messy distributed system
Even when done right, is full of hard problems
Constantly changing
Candy store for devs, plug-n-play business models
Lightweight, easy for very small devices to read/write
Same tenants as environmental friendliness: reuse, reduce, recycle
Complicated to adopt and train on w/ out docs & descriptors
Useless if you can’t connect them (Berlin speed hack, bad wifi, Watson)
Only as good as what’s in-front or behind them
I know lots of devs who don’t use API descriptors…
If documentation and discoverability are good for APIs, why not start with a descriptor?
REST is like a Zelda dungeon without a compass or a map
And [sometimes] devs don’t always think [far enough] ahead
In dev mode, focus on code and unit testing
In testing mode, pretend there is no such thing as code
Code-first is a bad testing methodology, not scalable
Dual-role team members are difficult:
To find and retain
To expect separation of concern from
To put deadlines on…(good code, or good tests?)
So please, please test your code (unit of course)
Find someone to pair review your code with tests of their own
If you don’t have someone, pick a day of the week to be a tester
Don’t fix what you just tested, don’t get too far down in the weeds
Are these roles really best for different people? Practically:
In enterprises and geographically disperse teams
Skills and personalities, some people like different things
Frees the business up to make the right decisions
Why aren’t devs and testers always BFFs?
Dev: You break my code
Test: You make me so late
We rolled something broken
Test: You said you wouldn’t change
Dev: You didn’t catch everything
We’re out of time
We’re losing revenue/customers
And we do this over and over again
What are some dependencies?
Time, time, time
Stack (servers, config, versioning)
Control
What if the API didn’t exist yet, what would it take?
Simulate behavior that is “good enough”
Start from nothing instead of everything
Aren’t good APIs supposed to be modeled to consumer anyway?
Where mocks begin to fail us:
When we’re not all devs, code is a heavy asset
When we don’t want to redeploy (yet another process)
When a building sharable, dynamic mock is more costly
Dev time & lost opportunity cost
Every line of mock code you write is time lost
Virtual APIs, mocks that scale:
To team skills
To the roles that need it (testers, designers)
To other testing (performance, integration)
When won’t virtual APIs help:
When you’re a small team and you don’t have deadlines
When you’re confident that your homegrown holds up
When you really need to do full stack testing
Yes I work for a company that does this:
I wouldn’t have known there was a better way w/out diving deep
We think your time and intelligence is worth a lot
You should too
We’re okay with giving you options around saving time
If you want to know more, find me afterwards
What does the landscape look like with Virtual APIs?
Devs & testers start working at the same time
Alphas are then immediately testable
Bugs resolved in same cycle they’re created
Front-end designers, can model how the API should feel
What does this all do for the business?
Keeps cost down (salary, licensing, opportunity)
Lets people work independently and as-connected
Gives back control (data, performance, errors)
You still need environments. If APIs are like glue, then
Virtual APIs are like paper clips (temporary, reusable)
You still have to test total performance in staging
But your tests are already to go
There is more to this, service virtualization, and it takes exploring(like Mike said this morning, tool builders can’t even imagine what…)
Like A/B testing, traffic routing and shaping
Like performance on virts/non-virts being called out
Like automation (schema changes, default data)
In other words, go build exciting experiences…
We’re standing on the shoulders of giants already
The way we get beyond that is to reach for what’s not already been attained
Writing code is fun, but mundane. Step back regularly to see the big picture
And let’s do this together.
The space has exploded, lots of competition, but lots more to do.
So whatever we do, let’s do it together. Let’s build accurate, fast, and safe experiences.