Integra(on	
  Tes(ng	
  in	
  
Enterprises	
  using	
  TaaS	
  
Anand	
  Bagmar	
  
So#ware	
  Quality	
  Evangelist	
  
	...
Reality	
  –	
  OrganizaBons	
  	
  
are	
  spread	
  across	
  the	
  World	
  
OrganizaBon	
  ObjecBve	
  
Time	
  
Quality	
  
Money	
  
What	
  is	
  a	
  pracBce	
  that	
  makes	
  Teams	
  
successful?	
  
Test	
  Automa(on	
  
What	
  is	
  a	
  pracBce	
  that	
  makes	
  Teams	
  
unsuccessful?	
  
Test	
  Automa(on	
  
Is	
  Test	
  AutomaBon	
  treated	
  as	
  1st	
  class	
  ciBzen	
  in	
  your	
  
organizaBon?	
  
•  Value	
  
•  Qual...
Principles	
  &	
  PracBces	
  	
  
for	
  Building	
  a	
  
Test	
  AutomaBon	
  Framework	
  
Principles	
  for	
  building	
  
an	
  Automa(on	
  
Framework	
  
Code	
  Quality	
  
Design	
  PaBerns	
  
Abstrac(on	
...
Prac(ces	
  for	
  building	
  
an	
  Automa(on	
  
Framework	
  
Configurable	
  
Con(nuous	
  
Integra(on	
  (CI)	
  
Scr...
Case	
  Study	
  
Outlook	
  
Outlook	
  
(Windows)	
  
Outlook	
  
(Mac)	
  
Outlook	
  Web	
  
Access	
  (OWA)	
  
(Browser)	
   Outlook	
...
How	
  will	
  you	
  Automate	
  the	
  TesBng	
  
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	
  a...
What	
  is	
  TaaS?	
  
Agnos-c	
  
Pla^orm	
  /	
  OS	
  
ImplementaBon	
  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	
  integraBon	
  different	
  products	
  
-­‐  Lack	
  of	
  Security	
  
-­...
TaaS	
  is	
  Not	
  a	
  …	
  
Load	
  TesBng	
  Tool	
  
How	
  does	
  TaaS	
  work?	
  
End-­‐2-­‐End	
  
Integra-on	
  
Tests	
  
Framework	
  
TaaS	
  
Client	
  
Test	
  
Framework	
  
for	
  	
  
Outlook	
 ...
TaaS	
  Server	
  ImplementaBon	
  
What	
  is	
  a	
  Contract?	
  
Specified	
  in	
  a	
  simple	
  yml	
  file	
  
Contract	
  DefiniBon	
  
Contract	
  DefiniBon	
  
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	
  ImplementaBon	
  
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	
  duplicaBon	
  
•  Imple...
Why	
  is	
  this	
  a	
  Good	
  Idea?	
  
•  Helps	
  in	
  Manual	
  TesBng	
  (setup	
  of	
  data)	
  
•  Anyone	
  c...
How	
  can	
  you	
  use	
  TaaS?	
  
•  Open	
  source	
  (apache2	
  license)	
  
•  Available	
  on	
  github!	
  	
  
...
Steps	
  to	
  Follow	
  
•  NegoBate	
  contract	
  details	
  
•  Setup	
  &	
  configure	
  TaaS	
  Server	
  
– Impleme...
Does	
  it	
  really	
  work?	
  
>550	
  downloads	
  
Before	
  you	
  use	
  TaaS	
  …	
  
IdenBfy	
  –	
  	
  
•  Is	
  TaaS	
  the	
  right	
  thing	
  for	
  you?	
  
•  Error	
  codes	
  for	
  the	
  service	
  
•  Service	
  Discovery	
  
•  Security	
  
•  Create	
  a	
  Java	
  /	
  ...
What	
  TaaS	
  did	
  for	
  me?	
  
•  Be	
  creaBve	
  
•  Find	
  InnovaBve	
  soluBon	
  to	
  the	
  problem	
  
•  ...
abagmar@gmail.com	
  	
  
	
  
	
  	
  	
  	
  	
  @BagmarAnand	
  
	
  
hip://about.me/anand.bagmar	
  
Thank	
  you	
  
Agile2013 - Integration testing in enterprises using TaaS - via Case Study
Upcoming SlideShare
Loading in …5
×

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

1,527 views

Published on

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

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,527
On SlideShare
0
From Embeds
0
Number of Embeds
302
Actions
Shares
0
Downloads
4
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. Integra(on  Tes(ng  in   Enterprises  using  TaaS   Anand  Bagmar   So#ware  Quality  Evangelist          Principal  Consultant,   @BagmarAnand  
  2. 2. Reality  –  OrganizaBons     are  spread  across  the  World  
  3. 3. OrganizaBon  ObjecBve   Time   Quality   Money  
  4. 4. What  is  a  pracBce  that  makes  Teams   successful?   Test  Automa(on  
  5. 5. What  is  a  pracBce  that  makes  Teams   unsuccessful?   Test  Automa(on  
  6. 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. 7. Principles  &  PracBces     for  Building  a   Test  AutomaBon  Framework  
  8. 8. Principles  for  building   an  Automa(on   Framework   Code  Quality   Design  PaBerns   Abstrac(on   Layers   Refactor  Pairing   Evolve   Extend  
  9. 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. 10. Case  Study  
  11. 11. Outlook   Outlook   (Windows)   Outlook   (Mac)   Outlook  Web   Access  (OWA)   (Browser)   Outlook   Sync   (Android)   …  
  12. 12. How  will  you  Automate  the  TesBng   for  Outlook?  
  13. 13. Outlook  for   Windows   •  White  /  QTP   Outlook  for   Mac   •  Automator   Outlook  Web   Access   (OWA)   •  Selenium  /   Ruby   Outlook  Sync   for  Android   •  RoboBum  /   Java  
  14. 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. 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. 16. Can  you  use  the  same  technology   stack  for  automa(ng  the  tes(ng   of  each  variant  of  Outlook?   The  Problem  
  17. 17. Outlook  for   Windows   •  White  /  QTP   Outlook  for   Mac   •  Automator   Outlook  Web   Access   (OWA)   •  Selenium  /   Ruby   Outlook  Sync   for  Android   •  RoboBum  /   Java  
  18. 18. My  Original  Problem  
  19. 19. The  Solu(on  
  20. 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. 21. What  is  TaaS?   Agnos-c   Pla^orm  /  OS   ImplementaBon  Language  
  22. 22. What  is  TaaS?   Contract   Decoupling  of  technology  barriers   Timeout  
  23. 23. What  is  TaaS?   Simple  Parameters   Input  &  Output  
  24. 24. What  is  TaaS?   Developed  in  Ruby  using  Sinatra  
  25. 25. TaaS  is  Not  a  …   “Tool”  for  integraBon  different  products   -­‐  Lack  of  Security   -­‐  Probably  not  as  robust  
  26. 26. TaaS  is  Not  a  …   Load  TesBng  Tool  
  27. 27. How  does  TaaS  work?  
  28. 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. 29. TaaS  Server  ImplementaBon  
  30. 30. What  is  a  Contract?   Specified  in  a  simple  yml  file  
  31. 31. Contract  DefiniBon  
  32. 32. Contract  DefiniBon  
  33. 33. Implement  the  Contract   •  Update  tests  to  -­‐   – Handle  input  parameters   •  From  Environment  variables   – Execute  the  “test”  
  34. 34. Implement  the  Contract  
  35. 35. Parse  Input  Parameters  
  36. 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. 37. Collect  Output  Parameter  Values  
  38. 38. Return  Output  Parameter  Values  
  39. 39. Run  TaaS  Server   •  Dedicated  machine   •  Provide  IP  address  /  host  name  +  port  to   potenBal  clients  
  40. 40. TaaS  Client  ImplementaBon  
  41. 41. Setup  TaaS  Client  
  42. 42. Invoke  TaaS  Contract  
  43. 43. TaaS  Technical  Summary  
  44. 44. TaaS  Server   •  Specify  contract  details   •  Implement  contracts   •  Return  the  results   •  Run  TaaS  Server  (REST  service)   •  Serve  TaaS  Client  requests   – As  separate  processes  
  45. 45. TaaS  Client   •  Collect  the  input  parameters   •  Invoke  the  contract   •  Consume  the  result   •  ConBnue  with  test  orchestraBon  
  46. 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. 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. 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. 49. How  can  you  use  TaaS?   •  Open  source  (apache2  license)   •  Available  on  github!     •  Available  on  rubygems.org  !  
  50. 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. 51. Does  it  really  work?   >550  downloads  
  52. 52. Before  you  use  TaaS  …   IdenBfy  –     •  Is  TaaS  the  right  thing  for  you?  
  53. 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. 54. What  TaaS  did  for  me?   •  Be  creaBve   •  Find  InnovaBve  soluBon  to  the  problem   •  Another  open  source  contribuBon  
  55. 55. abagmar@gmail.com                @BagmarAnand     hip://about.me/anand.bagmar   Thank  you  

×