If a product technology stack cannot be unified in an organization, then why FORCE the Test Automation technology stack to be the same across the same organization?
"TaaS - Test as a Service" is an open source framework that allows teams within large organisations to use tools and technologies that will best test individual products, and then use TaaS to do the end-2-end automated integration testing across these products.
7. Is
Test
Automa?on
treated
as
1st
class
ci?zen
in
your
organiza?on?
• Value
• Quality
8. Quick
survey
• Part
of
a
large
organiza?on?
• #
of
products
in
the
porLolio?
• #
of
projects
across
all
these
products?
• Technology
stack
of
these
products?
• Part
of
merged
/
acquired
companies?
– Same
technology
of
“new”
products?
• Distributed
teams?
• Common
Test
Automa?on
framework?
13. The
solu?on
Outlook
for
Outlook
for
Outlook
Web
Outlook
Sync
Windows
Mac
Access
for
Android
• White
/
QTP
• Automator
(OWA)
• Robo?um
/
• Selenium
/
Java
Ruby
14. For
a
user
who
has
installed
Outlook
on
– Windows
OS
–
desktop
version,
and,
– Mac
OS
–
desktop
version
– Android
device
–
na?ve
mobile
app
How
will
you
test
….
An
email
dra7ed
in
one
product
is
reflected
in
the
other
products
15. Can
you
use
the
same
technology
stack
for
tes(ng
each
variant
of
Outlook?
16. On
Windows
• Create
an
email
and
save
it
as
dra#
In
Browser
(OWA)
• Verify
dra#
email
is
seen
On
Mac
• Verify
dra#
email
is
seen
On
Android
• Verify
dra#
email
is
seen
…
17. …
In
OWA
• Change
the
dra#
email
content
On
Windows
• Verify
updated
email
content
is
seen
On
Mac
• Verify
updated
email
content
is
seen
On
Android
• Verify
updated
email
content
is
seen
18. The
problem
Outlook
for
Outlook
for
Outlook
Web
Outlook
Sync
Windows
Mac
Access
for
Android
• White
/
QTP
• Automator
(OWA)
• Robo?um
/
• Selenium
/
Java
Ruby
20. Create
&
Save
(Test
as
DraE
Framework
for)
1
Outlook
on
Windows
4
Verify
DraE
End-‐2-‐End
Integra-on
Test
Verify
DraE
2
present
(Test
Framework
for)
3
Outlook
Orchestrator
Sync
on
Modify
DraE
Android
21. Create
&
Save
Test
as
DraE
Framework
TaaS
for
1
Server
Outlook
on
Windows
4
Verify
DraE
End-‐2-‐End
Integra-on
TaaS
Service
Providers
Test
Client
Framework
Verify
DraE
2
present
Test
Framework
3
TaaS
for
Outlook
Orchestrator
Server
Sync
on
Modify
DraE
Android
22.
23. TaaS
Server
• Specify
the
contract
• Implement
the
contract
• Return
the
results
• Run
TaaS
Server
(REST
service)
• Serve
TaaS
Client
requests
– As
separate
processes
25. Implement
the
contract
• Update
tests
to
-‐
– Handle
input
parameters
• From
Environment
variables
– Execute
the
“test”
26. Return
the
results
• Output
parameters
– As
console
output
between
special
markers
• Console
logs
• Excep?ons
(if
any)
• All
return
values
are
in
“json”
format
27. Run
TaaS
Server
• Dedicated
machine
• Provide
IP
address
/
host
name
+
port
to
poten?al
clients
28. TaaS
Client
• Collect
the
input
parameters
• Invoke
the
contract
• Consume
the
result
• Con?nue
with
test
orchestra?on
39. • Error
codes
for
the
service
• Service
Discovery
• Security
• Publish
as
a
gem
40. Why
is
this
a
good
idea?
• No
code
duplica?on
• Implementa?on
of
contract
lies
with
the
framework
tes?ng
that
product
– Evolves
with
product
changes
• Each
product
is
tested
in
the
“best”
possible
way
• Decoupling
of
technologies
• Its
–
providing
Test
as
a
Service!!!