• Save
Agile2013 - Integration testing in enterprises using TaaS - via Case Study
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Agile2013 - Integration testing in enterprises using TaaS - via Case Study

on

  • 1,409 views

Slides used in Agile2013 conference on the topic - Integration Testing in Enterprises using TaaS - via Case Study

Slides used in Agile2013 conference on the topic - Integration Testing in Enterprises using TaaS - via Case Study

Statistics

Views

Total Views
1,409
Views on SlideShare
1,116
Embed Views
293

Actions

Likes
1
Downloads
4
Comments
0

4 Embeds 293

http://eventifier2013.agilealliance.org 207
http://eventifier.co 75
https://twitter.com 10
http://eventifier.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

Agile2013 - Integration testing in enterprises using TaaS - via Case Study Presentation Transcript

  • 1. Integra(on  Tes(ng  in   Enterprises  using  TaaS   Anand  Bagmar   So#ware  Quality  Evangelist          Principal  Consultant,   @BagmarAnand  
  • 2. Reality  –  OrganizaBons     are  spread  across  the  World  
  • 3. OrganizaBon  ObjecBve   Time   Quality   Money  
  • 4. What  is  a  pracBce  that  makes  Teams   successful?   Test  Automa(on  
  • 5. What  is  a  pracBce  that  makes  Teams   unsuccessful?   Test  Automa(on  
  • 6. Is  Test  AutomaBon  treated  as  1st  class  ciBzen  in  your   organizaBon?   •  Value   •  Quality   Where  is  Test  AutomaBon  placed   in  the  Food  Chain  of  SDLC?  
  • 7. Principles  &  PracBces     for  Building  a   Test  AutomaBon  Framework  
  • 8. Principles  for  building   an  Automa(on   Framework   Code  Quality   Design  PaBerns   Abstrac(on   Layers   Refactor  Pairing   Evolve   Extend  
  • 9. Prac(ces  for  building   an  Automa(on   Framework   Configurable   Con(nuous   Integra(on  (CI)   Screenshots,   Video   Recording   Logging   Tools  &   U(li(es   Test  Data   No  Copy-­‐Paste  
  • 10. Case  Study  
  • 11. Outlook   Outlook   (Windows)   Outlook   (Mac)   Outlook  Web   Access  (OWA)   (Browser)   Outlook   Sync   (Android)   …  
  • 12. How  will  you  Automate  the  TesBng   for  Outlook?  
  • 13. Outlook  for   Windows   •  White  /  QTP   Outlook  for   Mac   •  Automator   Outlook  Web   Access   (OWA)   •  Selenium  /   Ruby   Outlook  Sync   for  Android   •  RoboBum  /   Java  
  • 14. For  a  user  who  has  installed  and  configured   Outlook  on   – Windows  OS  –  desktop  version,  and,   – Android  device  –  naBve  mobile  app   – Mac  OS  –  desktop  version   – …   An  email  draQed  in  one  product  is  reflected  in   the  other  products     How  will  you  Automate  the     IntegraBon  Test  ….  
  • 15. 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  
  • 16. Can  you  use  the  same  technology   stack  for  automa(ng  the  tes(ng   of  each  variant  of  Outlook?   The  Problem  
  • 17. Outlook  for   Windows   •  White  /  QTP   Outlook  for   Mac   •  Automator   Outlook  Web   Access   (OWA)   •  Selenium  /   Ruby   Outlook  Sync   for  Android   •  RoboBum  /   Java  
  • 18. My  Original  Problem  
  • 19. The  Solu(on  
  • 20. 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  
  • 21. What  is  TaaS?   Agnos-c   Pla^orm  /  OS   ImplementaBon  Language  
  • 22. What  is  TaaS?   Contract   Decoupling  of  technology  barriers   Timeout  
  • 23. What  is  TaaS?   Simple  Parameters   Input  &  Output  
  • 24. What  is  TaaS?   Developed  in  Ruby  using  Sinatra  
  • 25. TaaS  is  Not  a  …   “Tool”  for  integraBon  different  products   -­‐  Lack  of  Security   -­‐  Probably  not  as  robust  
  • 26. TaaS  is  Not  a  …   Load  TesBng  Tool  
  • 27. How  does  TaaS  work?  
  • 28. 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  
  • 29. TaaS  Server  ImplementaBon  
  • 30. What  is  a  Contract?   Specified  in  a  simple  yml  file  
  • 31. Contract  DefiniBon  
  • 32. Contract  DefiniBon  
  • 33. Implement  the  Contract   •  Update  tests  to  -­‐   – Handle  input  parameters   •  From  Environment  variables   – Execute  the  “test”  
  • 34. Implement  the  Contract  
  • 35. Parse  Input  Parameters  
  • 36. Return  the  Results   •  Output  parameters   – As  console  output  between  special  markers   •  Console  logs   •  ExcepBons  (if  any)   •  All  return  values  are  in  “json”  format  
  • 37. Collect  Output  Parameter  Values  
  • 38. Return  Output  Parameter  Values  
  • 39. Run  TaaS  Server   •  Dedicated  machine   •  Provide  IP  address  /  host  name  +  port  to   potenBal  clients  
  • 40. TaaS  Client  ImplementaBon  
  • 41. Setup  TaaS  Client  
  • 42. Invoke  TaaS  Contract  
  • 43. TaaS  Technical  Summary  
  • 44. TaaS  Server   •  Specify  contract  details   •  Implement  contracts   •  Return  the  results   •  Run  TaaS  Server  (REST  service)   •  Serve  TaaS  Client  requests   – As  separate  processes  
  • 45. TaaS  Client   •  Collect  the  input  parameters   •  Invoke  the  contract   •  Consume  the  result   •  ConBnue  with  test  orchestraBon  
  • 46. 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   – ExcepBons   •  Developed  in  Ruby  using  Sinatra  
  • 47. Why  is  this  a  Good  Idea?   •  Automate  the  last-­‐mile   •  No  code  duplicaBon   •  ImplementaBon  of  contract  lies  with  the   framework  tesBng  that  product   – Evolves  with  product  changes   •  Decoupling  of  technologies  
  • 48. Why  is  this  a  Good  Idea?   •  Helps  in  Manual  TesBng  (setup  of  data)   •  Anyone  can  use  it   •  Each  product  is  tested  in  the  “best”  possible   way     •  Its  –  providing  Test  as  a  Service!!!  
  • 49. How  can  you  use  TaaS?   •  Open  source  (apache2  license)   •  Available  on  github!     •  Available  on  rubygems.org  !  
  • 50. Steps  to  Follow   •  NegoBate  contract  details   •  Setup  &  configure  TaaS  Server   – Implement  contracts   – Return  the  results   – Run  TaaS  Server  (REST  service)   •  Configure  TaaS  Client  
  • 51. Does  it  really  work?   >550  downloads  
  • 52. Before  you  use  TaaS  …   IdenBfy  –     •  Is  TaaS  the  right  thing  for  you?  
  • 53. •  Error  codes  for  the  service   •  Service  Discovery   •  Security   •  Create  a  Java  /  .Net  version  of  TaaS  Server   •  Asynchronous  requests   How  can  You  help  TaaS?  
  • 54. What  TaaS  did  for  me?   •  Be  creaBve   •  Find  InnovaBve  soluBon  to  the  problem   •  Another  open  source  contribuBon  
  • 55. abagmar@gmail.com                @BagmarAnand     hip://about.me/anand.bagmar   Thank  you