Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Automate	
  across	
  
Pla.orm,	
  OS,	
  
Technologies	
  with	
  TaaS	
  
Anand	
  Bagmar	
  
So#ware	
  Quality	
  Evan...
Organiza@on	
  Objec@ve	
  
Time	
  
Quality	
  
Money	
  /	
  
Value	
  
Reality	
  –	
  Organiza@ons	
  	
  
are	
  spread	
  across	
  the	
  World	
  
What	
  is	
  a	
  prac@ce	
  that	
  makes	
  Teams	
  
successful?	
  
Test	
  Automa=on	
  
What	
  is	
  a	
  prac@ce	
  that	
  makes	
  Teams	
  
unsuccessful?	
  
Test	
  Automa=on	
  
Is	
  Test	
  Automa@on	
  treated	
  as	
  1st	
  class	
  ci@zen	
  in	
  your	
  
organiza@on?	
  
•  Value	
  
–  To	
...
Principles	
  &	
  Prac@ces	
  	
  
for	
  Building	
  a	
  
Test	
  Automa@on	
  Framework	
  
Principles	
  for	
  building	
  
an	
  Automa=on	
  
Framework	
  
Code	
  Quality	
  
Design	
  PaDerns	
  
Abstrac=on	
...
Prac=ces	
  for	
  building	
  
an	
  Automa=on	
  
Framework	
  
No	
  Copy-­‐Paste	
  
Configurable	
  
Test	
  Data	
  
...
Audience	
  Survey	
  
How	
  many	
  of	
  you	
  are	
  part	
  of	
  a	
  large	
  
organiza@on?	
  
Audience	
  Survey	
  
What	
  are	
  the	
  average	
  number	
  of	
  products	
  in	
  
your	
  organiza@on’s	
  porVol...
Audience	
  Survey	
  
What	
  are	
  the	
  average	
  number	
  of	
  projects	
  across	
  
all	
  these	
  products?	
...
Audience	
  Survey	
  
What	
  is	
  the	
  typical	
  technology	
  stack	
  of	
  these	
  
products?	
  
…	
  large	
  ...
Audience	
  Survey	
  
How	
  many	
  of	
  you	
  are	
  part	
  of	
  merged	
  /	
  acquired	
  
companies?	
  
Do	
  y...
How	
  many	
  of	
  you	
  work	
  in	
  distributed	
  teams?	
  
Audience	
  Survey	
  
…	
  large	
  organiza,on?	
  
...
Audience	
  Survey	
  
Have	
  you	
  heard	
  of	
  a	
  	
  
Common	
  Test	
  Automa@on	
  framework?	
  
	
  
Good?	
 ...
Case	
  Study	
  
Outlook	
  
Outlook	
  
(Windows)	
  
Outlook	
  
(Mac)	
  
Outlook	
  Web	
  
Access	
  (OWA)	
  
(Browser)	
   Outlook	
...
How	
  will	
  you	
  Automate	
  the	
  Tes@ng	
  
for	
  Outlook?	
  
Outlook	
  for	
  
Windows	
  
•  White	
  /	
  QTP	
  
Outlook	
  for	
  
Mac	
  
•  Automator	
  
Outlook	
  Web	
  
Acc...
For	
  a	
  user	
  who	
  has	
  installed	
  and	
  configured	
  
Outlook	
  on	
  
– Windows	
  OS	
  –	
  desktop	
  v...
End-­‐2-­‐End	
  
Integra-on	
  
Tests	
  
(Test	
  
Framework	
  
for)	
  	
  
Outlook	
  on	
  
Windows	
  
	
  	
  
(Te...
Can	
  you	
  use	
  the	
  same	
  technology	
  
stack	
  for	
  automa=ng	
  the	
  tes=ng	
  
of	
  each	
  variant	
 ...
Outlook	
  for	
  
Windows	
  
•  White	
  /	
  QTP	
  
Outlook	
  for	
  
Mac	
  
•  Automator	
  
Outlook	
  Web	
  
Acc...
My	
  Original	
  Problem	
  
The	
  Solu=on	
  
What	
  is	
  TaaS?	
  
“TaaS”	
  is	
  a	
  product	
  that	
  allows	
  you	
  to	
  validate	
  the	
  integra-on	
  ac...
What	
  is	
  TaaS?	
  
Agnos-c	
  
PlaVorm	
  /	
  OS	
  
Implementa@on	
  Language	
  
What	
  is	
  TaaS?	
  
Contract	
  
Decoupling	
  of	
  technology	
  barriers	
  
Timeout	
  
What	
  is	
  TaaS?	
  
Simple	
  Parameters	
  
Input	
  &	
  Output	
  
What	
  is	
  TaaS?	
  
Developed	
  in	
  Ruby	
  using	
  Sinatra	
  
TaaS	
  is	
  Not	
  a	
  …	
  
“Tool”	
  for	
  integra@on	
  different	
  products	
  
-­‐  Lack	
  of	
  Security	
  
-­...
TaaS	
  is	
  Not	
  a	
  …	
  
Load	
  Tes@ng	
  Tool	
  
How	
  does	
  TaaS	
  work?	
  
End-­‐2-­‐End	
  
Integra-on	
  
Tests	
  
Framework	
  
TaaS	
  
Client	
  
Test	
  
Framework	
  
for	
  	
  
Outlook	
 ...
Demo	
  
How	
  to	
  use	
  TaaS?	
  
TaaS	
  Server	
  -­‐>	
  Ruby	
  project	
  
TaaS	
  Service	
  provider	
  -­‐>	
...
TaaS	
  Server	
  Implementa@on	
  
What	
  is	
  a	
  Contract?	
  
Specified	
  in	
  a	
  simple	
  yml	
  file	
  
Contract	
  Defini@on	
  
Contract	
  Defini@on	
  
Implement	
  the	
  Contract	
  
•  Update	
  tests	
  to	
  -­‐	
  
– Handle	
  input	
  parameters	
  
•  From	
  Enviro...
Implement	
  the	
  Contract	
  
Parse	
  Input	
  Parameters	
  
Return	
  the	
  Results	
  
•  Output	
  parameters	
  
– As	
  console	
  output	
  between	
  special	
  markers	
  
• ...
Collect	
  Output	
  Parameter	
  Values	
  
Return	
  Output	
  Parameter	
  Values	
  
Run	
  TaaS	
  Server	
  
•  Dedicated	
  machine	
  
•  Provide	
  IP	
  address	
  /	
  host	
  name	
  +	
  port	
  to	...
TaaS	
  Client	
  Implementa@on	
  
Setup	
  TaaS	
  Client	
  
Invoke	
  TaaS	
  Contract	
  
TaaS	
  Technical	
  Summary	
  
TaaS	
  Server	
  
•  Specify	
  contract	
  details	
  
•  Implement	
  contracts	
  
•  Return	
  the	
  results	
  
•  ...
TaaS	
  Client	
  
•  Collect	
  the	
  input	
  parameters	
  
•  Invoke	
  the	
  contract	
  
•  Consume	
  the	
  resu...
Summary	
  of	
  Features	
  
•  Contract	
  
– Decoupling	
  of	
  technology	
  barriers	
  
– Timeout	
  
•  Passing	
 ...
Why	
  is	
  this	
  a	
  Good	
  Idea?	
  
•  Automate	
  the	
  last-­‐mile	
  
•  No	
  code	
  duplica@on	
  
•  Imple...
Why	
  is	
  this	
  a	
  Good	
  Idea?	
  
•  Helps	
  in	
  Manual	
  Tes@ng	
  (setup	
  of	
  data)	
  
•  Anyone	
  c...
How	
  can	
  you	
  use	
  TaaS?	
  
•  Open	
  source	
  (apache2	
  license)	
  
•  Available	
  on	
  github!	
  	
  
...
Steps	
  to	
  Follow	
  
•  Nego@ate	
  contract	
  details	
  
•  Setup	
  &	
  configure	
  TaaS	
  Server	
  
– Impleme...
Does	
  it	
  really	
  work?	
  
>1.2K	
  downloads	
  
Before	
  you	
  use	
  TaaS	
  …	
  
Iden@fy	
  –	
  	
  
•  Is	
  TaaS	
  the	
  right	
  thing	
  for	
  you?	
  
•  Error	
  codes	
  for	
  the	
  service	
  
•  Service	
  Discovery	
  
•  Security	
  
•  Create	
  a	
  Java	
  /	
  ...
What	
  TaaS	
  did	
  for	
  me?	
  
•  Be	
  crea@ve	
  
•  Find	
  Innova@ve	
  solu@on	
  to	
  the	
  problem	
  
•  ...
abagmar@gmail.com	
  	
  
	
  
	
  	
  	
  	
  	
  @BagmarAnand	
  
	
  
about.me/anand.bagmar	
  
Thank	
  you	
  
Automate across Platform, OS, Technologies with TaaS
Upcoming SlideShare
Loading in …5
×

of

Automate across Platform, OS, Technologies with TaaS Slide 1 Automate across Platform, OS, Technologies with TaaS Slide 2 Automate across Platform, OS, Technologies with TaaS Slide 3 Automate across Platform, OS, Technologies with TaaS Slide 4 Automate across Platform, OS, Technologies with TaaS Slide 5 Automate across Platform, OS, Technologies with TaaS Slide 6 Automate across Platform, OS, Technologies with TaaS Slide 7 Automate across Platform, OS, Technologies with TaaS Slide 8 Automate across Platform, OS, Technologies with TaaS Slide 9 Automate across Platform, OS, Technologies with TaaS Slide 10 Automate across Platform, OS, Technologies with TaaS Slide 11 Automate across Platform, OS, Technologies with TaaS Slide 12 Automate across Platform, OS, Technologies with TaaS Slide 13 Automate across Platform, OS, Technologies with TaaS Slide 14 Automate across Platform, OS, Technologies with TaaS Slide 15 Automate across Platform, OS, Technologies with TaaS Slide 16 Automate across Platform, OS, Technologies with TaaS Slide 17 Automate across Platform, OS, Technologies with TaaS Slide 18 Automate across Platform, OS, Technologies with TaaS Slide 19 Automate across Platform, OS, Technologies with TaaS Slide 20 Automate across Platform, OS, Technologies with TaaS Slide 21 Automate across Platform, OS, Technologies with TaaS Slide 22 Automate across Platform, OS, Technologies with TaaS Slide 23 Automate across Platform, OS, Technologies with TaaS Slide 24 Automate across Platform, OS, Technologies with TaaS Slide 25 Automate across Platform, OS, Technologies with TaaS Slide 26 Automate across Platform, OS, Technologies with TaaS Slide 27 Automate across Platform, OS, Technologies with TaaS Slide 28 Automate across Platform, OS, Technologies with TaaS Slide 29 Automate across Platform, OS, Technologies with TaaS Slide 30 Automate across Platform, OS, Technologies with TaaS Slide 31 Automate across Platform, OS, Technologies with TaaS Slide 32 Automate across Platform, OS, Technologies with TaaS Slide 33 Automate across Platform, OS, Technologies with TaaS Slide 34 Automate across Platform, OS, Technologies with TaaS Slide 35 Automate across Platform, OS, Technologies with TaaS Slide 36 Automate across Platform, OS, Technologies with TaaS Slide 37 Automate across Platform, OS, Technologies with TaaS Slide 38 Automate across Platform, OS, Technologies with TaaS Slide 39 Automate across Platform, OS, Technologies with TaaS Slide 40 Automate across Platform, OS, Technologies with TaaS Slide 41 Automate across Platform, OS, Technologies with TaaS Slide 42 Automate across Platform, OS, Technologies with TaaS Slide 43 Automate across Platform, OS, Technologies with TaaS Slide 44 Automate across Platform, OS, Technologies with TaaS Slide 45 Automate across Platform, OS, Technologies with TaaS Slide 46 Automate across Platform, OS, Technologies with TaaS Slide 47 Automate across Platform, OS, Technologies with TaaS Slide 48 Automate across Platform, OS, Technologies with TaaS Slide 49 Automate across Platform, OS, Technologies with TaaS Slide 50 Automate across Platform, OS, Technologies with TaaS Slide 51 Automate across Platform, OS, Technologies with TaaS Slide 52 Automate across Platform, OS, Technologies with TaaS Slide 53 Automate across Platform, OS, Technologies with TaaS Slide 54 Automate across Platform, OS, Technologies with TaaS Slide 55 Automate across Platform, OS, Technologies with TaaS Slide 56 Automate across Platform, OS, Technologies with TaaS Slide 57 Automate across Platform, OS, Technologies with TaaS Slide 58 Automate across Platform, OS, Technologies with TaaS Slide 59 Automate across Platform, OS, Technologies with TaaS Slide 60 Automate across Platform, OS, Technologies with TaaS Slide 61 Automate across Platform, OS, Technologies with TaaS Slide 62 Automate across Platform, OS, Technologies with TaaS Slide 63 Automate across Platform, OS, Technologies with TaaS Slide 64
Upcoming SlideShare
Integration Testing in Enterprises using TaaS
Next
Download to read offline and view in fullscreen.

1 Like

Share

Download to read offline

Automate across Platform, OS, Technologies with TaaS

Download to read offline

"TaaS" is an open-source product that allows you do achieve the "correct" way of doing integration testing across a variety of products via Test Automation.

Typically in organizations, there are multiple projects / products. Many organizations like to have a common Test Automation solution across these products in an effort to standardize the framework.

However, this is not a good idea! Each product should be tested using the tools and technologies that are "right" for it. Yet - these different products talk with each other and you need to test the integration between them in an automated way.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Automate across Platform, OS, Technologies with TaaS

  1. 1. Automate  across   Pla.orm,  OS,   Technologies  with  TaaS   Anand  Bagmar   So#ware  Quality  Evangelist          Principal  Consultant,   @BagmarAnand  
  2. 2. Organiza@on  Objec@ve   Time   Quality   Money  /   Value  
  3. 3. Reality  –  Organiza@ons     are  spread  across  the  World  
  4. 4. What  is  a  prac@ce  that  makes  Teams   successful?   Test  Automa=on  
  5. 5. What  is  a  prac@ce  that  makes  Teams   unsuccessful?   Test  Automa=on  
  6. 6. Is  Test  Automa@on  treated  as  1st  class  ci@zen  in  your   organiza@on?   •  Value   –  To  the  team?   –  From  the  team?   •  Quality   –  Provide  feedback?   –  Built  well?   Where  is  Test  Automa@on  placed   in  the  Food  Chain  of  SDLC?  
  7. 7. Principles  &  Prac@ces     for  Building  a   Test  Automa@on  Framework  
  8. 8. Principles  for  building   an  Automa=on   Framework   Code  Quality   Design  PaDerns   Abstrac=on   Layers   Refactor  Pairing   Extend   Evolve  
  9. 9. Prac=ces  for  building   an  Automa=on   Framework   No  Copy-­‐Paste   Configurable   Test  Data   Tools  &   U=li=es   Logging   Screenshots,   Video   Recording   Con=nuous   Integra=on  (CI)  
  10. 10. Audience  Survey   How  many  of  you  are  part  of  a  large   organiza@on?  
  11. 11. Audience  Survey   What  are  the  average  number  of  products  in   your  organiza@on’s  porVolio?   …  large  organiza,on?  
  12. 12. Audience  Survey   What  are  the  average  number  of  projects  across   all  these  products?   …  large  organiza,on?   …  number  of  products?  
  13. 13. Audience  Survey   What  is  the  typical  technology  stack  of  these   products?   …  large  organiza,on?   …  number  of  products  and  projects?  
  14. 14. Audience  Survey   How  many  of  you  are  part  of  merged  /  acquired   companies?   Do  you  have  the  same  technology  across  the   “new”  products?   …  large  organiza,on?   …  number  of  products  and  projects?   …  same  technology  stack?  
  15. 15. How  many  of  you  work  in  distributed  teams?   Audience  Survey   …  large  organiza,on?   …  number  of  products  and  projects?   …  same  technology  stack?   …  merged  companies  –  same  technology  stack?  
  16. 16. Audience  Survey   Have  you  heard  of  a     Common  Test  Automa@on  framework?     Good?  Bad?     Easy?  Difficult?   …  large  organiza,on?   …  number  of  products  and  projects?   …  same  technology  stack?   …  merged  companies  –  same  technology  stack?   …  distributed  teams?  
  17. 17. Case  Study  
  18. 18. Outlook   Outlook   (Windows)   Outlook   (Mac)   Outlook  Web   Access  (OWA)   (Browser)   Outlook   Sync   (Android)   …  
  19. 19. How  will  you  Automate  the  Tes@ng   for  Outlook?  
  20. 20. Outlook  for   Windows   •  White  /  QTP   Outlook  for   Mac   •  Automator   Outlook  Web   Access   (OWA)   •  Selenium  /   Ruby   Outlook  Sync   for  Android   •  Robo@um  /   Java  
  21. 21. For  a  user  who  has  installed  and  configured   Outlook  on   – Windows  OS  –  desktop  version,  and,   – Android  device  –  na@ve  mobile  app   – …   An  email  draTed  in  one  product  is  reflected  in   the  other  products     How  will  you  Automate  the     Integra@on  Test  ….  
  22. 22. End-­‐2-­‐End   Integra-on   Tests   (Test   Framework   for)     Outlook  on   Windows       (Test   Framework   for)   Outlook   Sync  on   Android       Create  &  Save   as  DraE   1   Verify  DraE  4   Verify  DraE     present  2   Modify  DraE   3   Orchestrator  
  23. 23. Can  you  use  the  same  technology   stack  for  automa=ng  the  tes=ng   of  each  variant  of  Outlook?   The  Problem  
  24. 24. Outlook  for   Windows   •  White  /  QTP   Outlook  for   Mac   •  Automator   Outlook  Web   Access   (OWA)   •  Selenium  /   Ruby   Outlook  Sync   for  Android   •  Robo@um  /   Java  
  25. 25. My  Original  Problem  
  26. 26. The  Solu=on  
  27. 27. What  is  TaaS?   “TaaS”  is  a  product  that  allows  you  to  validate  the  integra-on  across  a   variety  of  products  via  Test  Automa-on   •  The  “correct”  way   •  Pla.orm  /  OS  agnos=c   •  Implementa=on  Language  Independent  
  28. 28. What  is  TaaS?   Agnos-c   PlaVorm  /  OS   Implementa@on  Language  
  29. 29. What  is  TaaS?   Contract   Decoupling  of  technology  barriers   Timeout  
  30. 30. What  is  TaaS?   Simple  Parameters   Input  &  Output  
  31. 31. What  is  TaaS?   Developed  in  Ruby  using  Sinatra  
  32. 32. TaaS  is  Not  a  …   “Tool”  for  integra@on  different  products   -­‐  Lack  of  Security   -­‐  Probably  not  as  robust  
  33. 33. TaaS  is  Not  a  …   Load  Tes@ng  Tool  
  34. 34. How  does  TaaS  work?  
  35. 35. End-­‐2-­‐End   Integra-on   Tests   Framework   TaaS   Client   Test   Framework   for     Outlook  on   Windows       TaaS   Server   Test   Framework   for  Outlook   Sync  on   Android       TaaS   Server   Create  &  Save   as  DraE   1   Verify  DraE  4   Verify  DraE     present  2   Modify  DraE   3   Orchestrator   Service  Providers  
  36. 36. Demo   How  to  use  TaaS?   TaaS  Server  -­‐>  Ruby  project   TaaS  Service  provider  -­‐>  Cucumber-­‐jvm  Project   (Java)   Client  –  command  line  invoca@on  
  37. 37. TaaS  Server  Implementa@on  
  38. 38. What  is  a  Contract?   Specified  in  a  simple  yml  file  
  39. 39. Contract  Defini@on  
  40. 40. Contract  Defini@on  
  41. 41. Implement  the  Contract   •  Update  tests  to  -­‐   – Handle  input  parameters   •  From  Environment  variables   – Execute  the  “test”  
  42. 42. Implement  the  Contract  
  43. 43. Parse  Input  Parameters  
  44. 44. Return  the  Results   •  Output  parameters   – As  console  output  between  special  markers   •  Console  logs   •  Excep@ons  (if  any)   •  All  return  values  are  in  “json”  format  
  45. 45. Collect  Output  Parameter  Values  
  46. 46. Return  Output  Parameter  Values  
  47. 47. Run  TaaS  Server   •  Dedicated  machine   •  Provide  IP  address  /  host  name  +  port  to   poten@al  clients  
  48. 48. TaaS  Client  Implementa@on  
  49. 49. Setup  TaaS  Client  
  50. 50. Invoke  TaaS  Contract  
  51. 51. TaaS  Technical  Summary  
  52. 52. TaaS  Server   •  Specify  contract  details   •  Implement  contracts   •  Return  the  results   •  Run  TaaS  Server  (REST  service)   •  Serve  TaaS  Client  requests   – As  separate  processes  
  53. 53. TaaS  Client   •  Collect  the  input  parameters   •  Invoke  the  contract   •  Consume  the  result   •  Con@nue  with  test  orchestra@on  
  54. 54. Summary  of  Features   •  Contract   – Decoupling  of  technology  barriers   – Timeout   •  Passing  of  input  parameters  as  Environment   variables   •  Result  as  json   – Output  parameters   – Console  logs  and  errors   – Excep@ons   •  Developed  in  Ruby  using  Sinatra  
  55. 55. Why  is  this  a  Good  Idea?   •  Automate  the  last-­‐mile   •  No  code  duplica@on   •  Implementa@on  of  contract  lies  with  the   framework  tes@ng  that  product   – Evolves  with  product  changes   •  Decoupling  of  technologies  
  56. 56. Why  is  this  a  Good  Idea?   •  Helps  in  Manual  Tes@ng  (setup  of  data)   •  Anyone  can  use  it   •  Each  product  is  tested  in  the  “best”  possible   way    
  57. 57. How  can  you  use  TaaS?   •  Open  source  (apache2  license)   •  Available  on  github!     •  Available  on  rubygems.org  !   •  Refer  sample  project  (taas-­‐server)  to  get   started  
  58. 58. Steps  to  Follow   •  Nego@ate  contract  details   •  Setup  &  configure  TaaS  Server   – Implement  contracts   – Return  the  results   – Run  TaaS  Server  (REST  service)   •  Configure  TaaS  Client  
  59. 59. Does  it  really  work?   >1.2K  downloads  
  60. 60. Before  you  use  TaaS  …   Iden@fy  –     •  Is  TaaS  the  right  thing  for  you?  
  61. 61. •  Error  codes  for  the  service   •  Service  Discovery   •  Security   •  Create  a  Java  /  .Net  version  of  TaaS  Server   •  Asynchronous  requests   How  can  You  help  TaaS?  
  62. 62. What  TaaS  did  for  me?   •  Be  crea@ve   •  Find  Innova@ve  solu@on  to  the  problem   •  Another  open  source  contribu@on  
  63. 63. abagmar@gmail.com                @BagmarAnand     about.me/anand.bagmar   Thank  you  
  • powerirs

    Mar. 19, 2014

"TaaS" is an open-source product that allows you do achieve the "correct" way of doing integration testing across a variety of products via Test Automation. Typically in organizations, there are multiple projects / products. Many organizations like to have a common Test Automation solution across these products in an effort to standardize the framework. However, this is not a good idea! Each product should be tested using the tools and technologies that are "right" for it. Yet - these different products talk with each other and you need to test the integration between them in an automated way.

Views

Total views

2,125

On Slideshare

0

From embeds

0

Number of embeds

965

Actions

Downloads

31

Shares

0

Comments

0

Likes

1

×