Automate across Platform, OS, Technologies with TaaS
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Automate across Platform, OS, Technologies with TaaS

on

  • 377 views

Slides and link to audio from my talk + demo on how to "Automation across Platform, OS, Technologies with TaaS" at Agile India 2014, Bangalore on 1st March 2014

Slides and link to audio from my talk + demo on how to "Automation across Platform, OS, Technologies with TaaS" at Agile India 2014, Bangalore on 1st March 2014

Statistics

Views

Total Views
377
Views on SlideShare
345
Embed Views
32

Actions

Likes
1
Downloads
11
Comments
0

5 Embeds 32

http://present.agileindia.org 16
http://confengine.com 9
https://connections.houston.hp.com 5
http://www.linkedin.com 1
http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Automate across Platform, OS, Technologies with TaaS Presentation Transcript

  • 1. Automate  across   Pla.orm,  OS,   Technologies  with  TaaS   Anand  Bagmar   So#ware  Quality  Evangelist          Principal  Consultant,   @BagmarAnand  
  • 2. Organiza@on  Objec@ve   Money  /   Value   Time   Quality  
  • 3. Reality  –  Organiza@ons     are  spread  across  the  World  
  • 4. What  is  a  prac@ce  that  makes  Teams   successful?   Test  Automa=on  
  • 5. What  is  a  prac@ce  that  makes  Teams   unsuccessful?   Test  Automa=on  
  • 6. Where  is  Test  Automa@on  placed   in  the  Food  Chain  of  SDLC?   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?  
  • 7. Principles  &  Prac@ces     for  Building  a   Test  Automa@on  Framework  
  • 8. Code  Quality   Evolve   Extend   Design  PaDerns   Principles  for  building   an  Automa=on   Framework   Pairing   Refactor   Abstrac=on   Layers  
  • 9. No  Copy-­‐Paste   Con=nuous   Integra=on  (CI)   Screenshots,   Video   Recording   Configurable   Prac=ces  for  building   an  Automa=on   Framework   Logging   Tools  &   U=li=es   Test  Data  
  • 10. Audience  Survey   How  many  of  you  are  part  of  a  large   organiza@on?  
  • 11. Audience  Survey   …  large  organiza,on?   What  are  the  average  number  of  products  in   your  organiza@on’s  porVolio?  
  • 12. Audience  Survey   …  large  organiza,on?   …  number  of  products?   What  are  the  average  number  of  projects  across   all  these  products?  
  • 13. Audience  Survey   …  large  organiza,on?   …  number  of  products  and  projects?   What  is  the  typical  technology  stack  of  these   products?  
  • 14. Audience  Survey   …  large  organiza,on?   …  number  of  products  and  projects?   …  same  technology  stack?   How  many  of  you  are  part  of  merged  /  acquired   companies?   Do  you  have  the  same  technology  across  the   “new”  products?  
  • 15. Audience  Survey   …  large  organiza,on?   …  number  of  products  and  projects?   …  same  technology  stack?   …  merged  companies  –  same  technology  stack?   How  many  of  you  work  in  distributed  teams?  
  • 16. Audience  Survey   …  large  organiza,on?   …  number  of  products  and  projects?   …  same  technology  stack?   …  merged  companies  –  same  technology  stack?   …  distributed  teams?   Have  you  heard  of  a     Common  Test  Automa@on  framework?     Good?  Bad?     Easy?  Difficult?  
  • 17. Case  Study  
  • 18. Outlook   (Mac)   Outlook   (Windows)   Outlook  Web   Access  (OWA)   (Browser)   Outlook   Outlook   Sync   (Android)   …  
  • 19. How  will  you  Automate  the  Tes@ng   for  Outlook?  
  • 20. Outlook  for   Windows   Outlook  for   Mac   •  White  /  QTP   •  Automator   Outlook  Web   Access   (OWA)   •  Selenium  /   Ruby   Outlook  Sync   for  Android   •  Robo@um  /   Java  
  • 21. How  will  you  Automate  the     Integra@on  Test  ….   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    
  • 22. Create  &  Save   as  DraE   1   4   End-­‐2-­‐End   Integra-on   Tests   2   Verify  DraE   Verify  DraE     present   3   Orchestrator   Modify  DraE   (Test   Framework   for)     Outlook  on   Windows     (Test   Framework   for)   Outlook   Sync  on   Android    
  • 23. The  Problem   Can  you  use  the  same  technology   stack  for  automa=ng  the  tes=ng   of  each  variant  of  Outlook?  
  • 24. Outlook  for   Windows   Outlook  for   Mac   •  White  /  QTP   •  Automator   Outlook  Web   Access   (OWA)   •  Selenium  /   Ruby   Outlook  Sync   for  Android   •  Robo@um  /   Java  
  • 25. My  Original  Problem  
  • 26. The  Solu=on  
  • 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. What  is  TaaS?   Agnos-c   PlaVorm  /  OS   Implementa@on  Language  
  • 29. What  is  TaaS?   Contract   Decoupling  of  technology  barriers   Timeout  
  • 30. What  is  TaaS?   Simple  Parameters   Input  &  Output  
  • 31. What  is  TaaS?   Developed  in  Ruby  using  Sinatra  
  • 32. TaaS  is  Not  a  …   “Tool”  for  integra@on  different  products   -­‐  Lack  of  Security   -­‐  Probably  not  as  robust  
  • 33. TaaS  is  Not  a  …   Load  Tes@ng  Tool  
  • 34. How  does  TaaS  work?  
  • 35. Create  &  Save   as  DraE   1   End-­‐2-­‐End   Integra-on   TaaS   Tests   Client   Framework   Orchestrator   4   Verify  DraE   Test   Framework   TaaS   for     Server   Outlook  on   Windows     Service  Providers   2   Verify  DraE     present   3   Modify  DraE   Test   Framework   TaaS   for  Outlook   Server   Sync  on   Android    
  • 36. Demo   How  to  use  TaaS?   TaaS  Server  -­‐>  Ruby  project   TaaS  Service  provider  -­‐>  Cucumber-­‐jvm  Project   (Java)   Client  –  command  line  invoca@on  
  • 37. TaaS  Server  Implementa@on  
  • 38. What  is  a  Contract?   Specified  in  a  simple  yml  file  
  • 39. Contract  Defini@on  
  • 40. Contract  Defini@on  
  • 41. Implement  the  Contract   •  Update  tests  to  -­‐   –  Handle  input  parameters   •  From  Environment  variables   –  Execute  the  “test”  
  • 42. Implement  the  Contract  
  • 43. Parse  Input  Parameters  
  • 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. Collect  Output  Parameter  Values  
  • 46. Return  Output  Parameter  Values  
  • 47. Run  TaaS  Server   •  Dedicated  machine   •  Provide  IP  address  /  host  name  +  port  to   poten@al  clients  
  • 48. TaaS  Client  Implementa@on  
  • 49. Setup  TaaS  Client  
  • 50. Invoke  TaaS  Contract  
  • 51. TaaS  Technical  Summary  
  • 52. TaaS  Server   •  •  •  •  •  Specify  contract  details   Implement  contracts   Return  the  results   Run  TaaS  Server  (REST  service)   Serve  TaaS  Client  requests   –  As  separate  processes  
  • 53. TaaS  Client   •  •  •  •  Collect  the  input  parameters   Invoke  the  contract   Consume  the  result   Con@nue  with  test  orchestra@on  
  • 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. 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. 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. 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. 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. Does  it  really  work?   >1.2K  downloads  
  • 60. Before  you  use  TaaS  …   Iden@fy  –     •  Is  TaaS  the  right  thing  for  you?  
  • 61. How  can  You  help  TaaS?   •  •  •  •  •  Error  codes  for  the  service   Service  Discovery   Security   Create  a  Java  /  .Net  version  of  TaaS  Server   Asynchronous  requests  
  • 62. What  TaaS  did  for  me?   •  Be  crea@ve   •  Find  Innova@ve  solu@on  to  the  problem   •  Another  open  source  contribu@on  
  • 63. Thank  you   abagmar@gmail.com                @BagmarAnand     about.me/anand.bagmar