SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Integra(on	
  tes(ng	
  in	
  
Enterprises	
  using	
  TaaS	
  
Anand	
  Bagmar	
  
So#ware	
  Quality	
  Evangelist	
  
Principal	
  Consultant,	
  ThoughtWorks	
  
Organiza?on	
  Objec?ve	
  
Business	
  spread	
  across	
  the	
  globe	
  
A	
  prac?ce	
  that	
  makes	
  Teams	
  
successful?	
  
Test	
  Automa(on	
  
A	
  prac?ce	
  that	
  makes	
  Teams	
  
unsuccessful?	
  
Test	
  Automa(on	
  
Principles	
  &	
  Prac?ces	
  	
  
for	
  building	
  a	
  
Test	
  Automa?on	
  Framework	
  
Principles	
  &	
  
Prac(ces	
  of	
  
Automa(on	
  
Framework	
  
Code	
  
Quality	
  
Design	
  
PaBerns	
  
Pairing	
  
Test	
  Data	
  
Abstrac(on	
  
Layers	
  
Refactor,	
  
Evolve	
  &	
  
Extend	
  
	
  	
  
Configurable	
  
Con(nuous	
  
Integra(on	
  
(CI)	
  
Screenshots,	
  
Video	
  
Recordings	
  
Logging	
  
Tools	
  &	
  
U(li(es	
  
No	
  Copy-­‐
Paste	
  
Is	
  Test	
  Automa?on	
  treated	
  as	
  1st	
  class	
  ci?zen	
  in	
  
your	
  organiza?on?	
  
•  Value	
  
•  Quality	
  
Quick	
  survey	
  
•  Part	
  of	
  a	
  large	
  organiza?on?	
  
•  #	
  of	
  products	
  in	
  the	
  porNolio?	
  
•  #	
  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?	
  
Case	
  Study	
  
Outlook	
  Outlook	
  
(Windows)	
  
Outlook	
  (Mac)	
  
Outlook	
  Web	
  
Access	
  (OWA)	
  
(Browser)	
  
Outlook	
  Sync	
  
(Android)	
  
…	
  
…	
  
How	
  will	
  you	
  automate	
  these?	
  
Outlook	
  for	
  
Windows	
  
•  White	
  /	
  QTP	
  
Outlook	
  for	
  
Mac	
  
•  Automator	
  
Outlook	
  Web	
  
Access	
  
(OWA)	
  
•  Selenium	
  /	
  
Ruby	
  
Outlook	
  Sync	
  
for	
  Android	
  
•  Robo?um	
  /	
  
Java	
  
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	
  automate	
  the	
  test	
  ….	
  
	
  
An	
  email	
  draQed	
  in	
  one	
  product	
  is	
  reflected	
  in	
  
the	
  other	
  products	
  	
  
End-­‐2-­‐End	
  
Integra-on	
  
Test	
  
(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	
  
Can	
  you	
  use	
  the	
  same	
  technology	
  
stack	
  for	
  automa(ng	
  the	
  tes(ng	
  
of	
  each	
  variant	
  of	
  Outlook?	
  
The	
  problem	
  
Outlook	
  for	
  
Windows	
  
•  White	
  /	
  QTP	
  
Outlook	
  for	
  
Mac	
  
•  Automator	
  
Outlook	
  Web	
  
Access	
  
(OWA)	
  
•  Selenium	
  /	
  
Ruby	
  
Outlook	
  Sync	
  
for	
  Android	
  
•  Robo?um	
  /	
  
Java	
  
The	
  solu(on	
  
End-­‐2-­‐End	
  
Integra-on	
  
Test	
  
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	
  
TaaS	
  Server	
  
•  Specify	
  contract	
  details	
  
•  Implement	
  contracts	
  
•  Return	
  the	
  results	
  
•  Run	
  TaaS	
  Server	
  (REST	
  service)	
  
•  Serve	
  TaaS	
  Client	
  requests	
  
– As	
  separate	
  processes	
  
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	
  Environment	
  variables	
  
– Execute	
  the	
  “test”	
  
Implement	
  the	
  Contract	
  
Parse	
  Input	
  parameters	
  
Return	
  the	
  results	
  
•  Output	
  parameters	
  
– As	
  console	
  output	
  between	
  special	
  markers	
  
•  Console	
  logs	
  
•  Excep?ons	
  (if	
  any)	
  
•  All	
  return	
  values	
  are	
  in	
  “json”	
  format	
  
Return	
  Output	
  parameter	
  values	
  
Run	
  TaaS	
  Server	
  
•  Dedicated	
  machine	
  
•  Provide	
  IP	
  address	
  /	
  host	
  name	
  +	
  port	
  to	
  
poten?al	
  clients	
  
TaaS	
  Client	
  
•  Collect	
  the	
  input	
  parameters	
  
•  Invoke	
  the	
  contract	
  
•  Consume	
  the	
  result	
  
•  Con?nue	
  with	
  test	
  orchestra?on	
  
Invoke	
  TaaS	
  Contract	
  
Summary	
  of	
  Features	
  
•  Developed	
  in	
  Ruby	
  using	
  Sinatra	
  
•  Contract	
  
– Decoupling	
  of	
  technology	
  barriers	
  
– Timeout	
  
•  Passing	
  of	
  input	
  parameters	
  as	
  Environment	
  
variables	
  
•  Result	
  as	
  json	
  
– Output	
  parameters	
  
– Console	
  logs	
  and	
  errors	
  
– Excep?ons	
  
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	
  
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	
  
•  Its	
  –	
  providing	
  Test	
  as	
  a	
  Service!!!	
  
What	
  this	
  is	
  Not	
  
•  Load	
  tes?ng	
  tool	
  
•  A	
  “tool”	
  for	
  integra?ng	
  different	
  products	
  
– Lack	
  of	
  security	
  
– Probably	
  not	
  as	
  robust	
  
What	
  TaaS	
  did	
  for	
  me?	
  
•  Be	
  crea?ve	
  
•  Find	
  Innova?ve	
  solu?on	
  to	
  the	
  problem	
  
•  Another	
  open	
  source	
  contribu?on	
  
Does	
  it	
  really	
  work?	
  
How	
  can	
  you	
  use	
  TaaS?	
  
•  Open	
  source	
  (apache2	
  license)	
  
•  Available	
  on	
  github!	
  	
  
•  Available	
  as	
  taas.gem	
  on	
  rubygems.org	
  (~500	
  
downloads)	
  
•  Error	
  codes	
  for	
  the	
  service	
  
•  Service	
  Discovery	
  
•  Security	
  
•  Create	
  a	
  Java	
  /	
  .Net	
  version	
  of	
  TaaS	
  Server	
  
How	
  can	
  you	
  help	
  TaaS?	
  
hkp://essenceo#es?ng.blogspot.com	
  
hkps://github.com/anandbagmar/taas	
  
anandbagmar/	
  
Anand.Bagmar@thoughtworks.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Abagmar@gmail.com	
  
	
  
	
   	
  @BagmarAnand	
  

Weitere ähnliche Inhalte

Was ist angesagt?

A Concise QA Process
A Concise QA Process A Concise QA Process
A Concise QA Process Arslan Ali
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQASymphony
 
qTest 7.4: New Features
qTest 7.4: New FeaturesqTest 7.4: New Features
qTest 7.4: New FeaturesQASymphony
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeIndicThreads
 
Why your company loves to welcome change but sucks at accommodating it
Why your company loves to welcome change but sucks at accommodating itWhy your company loves to welcome change but sucks at accommodating it
Why your company loves to welcome change but sucks at accommodating itFarooq Ali
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing MethodologyGaya1985
 
Agile testing - Principles and best practices
Agile testing  - Principles and best practicesAgile testing  - Principles and best practices
Agile testing - Principles and best practicesDr Ganesh Iyer
 
Testing automation in agile environment
Testing automation in agile environmentTesting automation in agile environment
Testing automation in agile environmentPerfecto Mobile
 
Agile Test Automation: Truth, Oxymoron or Lie?
Agile Test Automation: Truth, Oxymoron or Lie?Agile Test Automation: Truth, Oxymoron or Lie?
Agile Test Automation: Truth, Oxymoron or Lie?Original Software
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentJoseph Beale
 
Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Kari Kakkonen
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Kaizenko
 
'An Evolution Into Specification By Example' by Adam Knight
'An Evolution Into Specification By Example' by Adam Knight'An Evolution Into Specification By Example' by Adam Knight
'An Evolution Into Specification By Example' by Adam KnightTEST Huddle
 
Test automation in agile ecosystem
Test automation in agile ecosystemTest automation in agile ecosystem
Test automation in agile ecosystemJohnRizer
 
Vladimir Primakov - Qa management in big agile teams
Vladimir Primakov - Qa management in big agile teamsVladimir Primakov - Qa management in big agile teams
Vladimir Primakov - Qa management in big agile teamsIevgenii Katsan
 
QA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel LucentQA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel LucentAgileSparks
 
QA Process Overview for Firefox OS 2014
QA Process Overview for Firefox OS 2014QA Process Overview for Firefox OS 2014
QA Process Overview for Firefox OS 2014Anthony Chung
 
Optimising Quality Assurance in an Agile World
Optimising Quality Assurance in an Agile WorldOptimising Quality Assurance in an Agile World
Optimising Quality Assurance in an Agile WorldOriginal Software
 

Was ist angesagt? (20)

A Concise QA Process
A Concise QA Process A Concise QA Process
A Concise QA Process
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the Enterprise
 
qTest 7.4: New Features
qTest 7.4: New FeaturesqTest 7.4: New Features
qTest 7.4: New Features
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil Karade
 
Why your company loves to welcome change but sucks at accommodating it
Why your company loves to welcome change but sucks at accommodating itWhy your company loves to welcome change but sucks at accommodating it
Why your company loves to welcome change but sucks at accommodating it
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
Agile testing - Principles and best practices
Agile testing  - Principles and best practicesAgile testing  - Principles and best practices
Agile testing - Principles and best practices
 
Testing automation in agile environment
Testing automation in agile environmentTesting automation in agile environment
Testing automation in agile environment
 
Agile Test Automation: Truth, Oxymoron or Lie?
Agile Test Automation: Truth, Oxymoron or Lie?Agile Test Automation: Truth, Oxymoron or Lie?
Agile Test Automation: Truth, Oxymoron or Lie?
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
 
Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
'An Evolution Into Specification By Example' by Adam Knight
'An Evolution Into Specification By Example' by Adam Knight'An Evolution Into Specification By Example' by Adam Knight
'An Evolution Into Specification By Example' by Adam Knight
 
Test automation in agile ecosystem
Test automation in agile ecosystemTest automation in agile ecosystem
Test automation in agile ecosystem
 
QTest
QTest QTest
QTest
 
Vladimir Primakov - Qa management in big agile teams
Vladimir Primakov - Qa management in big agile teamsVladimir Primakov - Qa management in big agile teams
Vladimir Primakov - Qa management in big agile teams
 
QA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel LucentQA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel Lucent
 
QA Process Overview for Firefox OS 2014
QA Process Overview for Firefox OS 2014QA Process Overview for Firefox OS 2014
QA Process Overview for Firefox OS 2014
 
Optimising Quality Assurance in an Agile World
Optimising Quality Assurance in an Agile WorldOptimising Quality Assurance in an Agile World
Optimising Quality Assurance in an Agile World
 

Ähnlich wie Integration testing in enterprises using TaaS

Automate across Platform, OS, Technologies with TaaS
Automate across Platform, OS, Technologies with TaaSAutomate across Platform, OS, Technologies with TaaS
Automate across Platform, OS, Technologies with TaaSThoughtworks
 
Agile2013 - Integration testing in enterprises using TaaS - via Case Study
Agile2013 - Integration testing in enterprises using TaaS - via Case StudyAgile2013 - Integration testing in enterprises using TaaS - via Case Study
Agile2013 - Integration testing in enterprises using TaaS - via Case StudyAnand Bagmar
 
Integration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSIntegration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSAnand Bagmar
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Shelley Lambert
 
Automation in the world of project
Automation  in the world of projectAutomation  in the world of project
Automation in the world of projectZbyszek Mockun
 
Udvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load testUdvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load testPeter Lindberg
 
Drive Faster Quality Insights through Customized Test Automation
Drive Faster Quality Insights through Customized Test AutomationDrive Faster Quality Insights through Customized Test Automation
Drive Faster Quality Insights through Customized Test AutomationPerfecto by Perforce
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITVishnu Raju Datla
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous TestingParasoft
 
Beginners overview of automated testing with Rspec
Beginners overview of automated testing with RspecBeginners overview of automated testing with Rspec
Beginners overview of automated testing with Rspecjeffrey1ross
 
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha
 
Understanding TDD - theory, practice, techniques and tips.
Understanding TDD - theory, practice, techniques and tips.Understanding TDD - theory, practice, techniques and tips.
Understanding TDD - theory, practice, techniques and tips.Malinda Kapuruge
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerAndrew Siemer
 
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignGeorgina Tilby
 
FUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemFUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemQualitest
 
Transforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOpsTransforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOpsNicolas (Nick) Barcet
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automationEran Kinsbrunner
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-toolBabuDevanandam
 

Ähnlich wie Integration testing in enterprises using TaaS (20)

Automate across Platform, OS, Technologies with TaaS
Automate across Platform, OS, Technologies with TaaSAutomate across Platform, OS, Technologies with TaaS
Automate across Platform, OS, Technologies with TaaS
 
Agile2013 - Integration testing in enterprises using TaaS - via Case Study
Agile2013 - Integration testing in enterprises using TaaS - via Case StudyAgile2013 - Integration testing in enterprises using TaaS - via Case Study
Agile2013 - Integration testing in enterprises using TaaS - via Case Study
 
Integration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSIntegration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaS
 
Agile testing
Agile testingAgile testing
Agile testing
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014
 
Automation in the world of project
Automation  in the world of projectAutomation  in the world of project
Automation in the world of project
 
Udvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load testUdvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load test
 
Drive Faster Quality Insights through Customized Test Automation
Drive Faster Quality Insights through Customized Test AutomationDrive Faster Quality Insights through Customized Test Automation
Drive Faster Quality Insights through Customized Test Automation
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
Qtp - Introduction values
Qtp - Introduction valuesQtp - Introduction values
Qtp - Introduction values
 
Beginners overview of automated testing with Rspec
Beginners overview of automated testing with RspecBeginners overview of automated testing with Rspec
Beginners overview of automated testing with Rspec
 
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
 
Understanding TDD - theory, practice, techniques and tips.
Understanding TDD - theory, practice, techniques and tips.Understanding TDD - theory, practice, techniques and tips.
Understanding TDD - theory, practice, techniques and tips.
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
 
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case Design
 
FUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemFUNTASY - Functional testing automated system
FUNTASY - Functional testing automated system
 
Transforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOpsTransforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOps
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automation
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
 

Mehr von Anand Bagmar

Eradicate Flaky Tests
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky TestsAnand Bagmar
 
Automating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAutomating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAnand Bagmar
 
Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Anand Bagmar
 
Design Patterns in Automation
Design Patterns in AutomationDesign Patterns in Automation
Design Patterns in AutomationAnand Bagmar
 
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteChange Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteAnand Bagmar
 
Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)Anand Bagmar
 
Next Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AINext Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AIAnand Bagmar
 
The Best Test Automation Framework is...
The Best Test Automation Framework is...The Best Test Automation Framework is...
The Best Test Automation Framework is...Anand Bagmar
 
Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021Anand Bagmar
 
Getting started with Appium 2.0
Getting started with Appium 2.0Getting started with Appium 2.0
Getting started with Appium 2.0Anand Bagmar
 
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Anand Bagmar
 
Selenium Deep Dive
Selenium Deep DiveSelenium Deep Dive
Selenium Deep DiveAnand Bagmar
 
Does your functional automation really add value?
Does your functional automation really add value?Does your functional automation really add value?
Does your functional automation really add value?Anand Bagmar
 
Measuring Coverage From E2E Tests
Measuring Coverage From E2E TestsMeasuring Coverage From E2E Tests
Measuring Coverage From E2E TestsAnand Bagmar
 
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Anand Bagmar
 
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumVisual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumAnand Bagmar
 
Collaboration - A Taboo!
Collaboration - A Taboo!Collaboration - A Taboo!
Collaboration - A Taboo!Anand Bagmar
 
Visual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidVisual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidAnand Bagmar
 
Measuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopMeasuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopAnand Bagmar
 
What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?Anand Bagmar
 

Mehr von Anand Bagmar (20)

Eradicate Flaky Tests
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky Tests
 
Automating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAutomating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devices
 
Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022
 
Design Patterns in Automation
Design Patterns in AutomationDesign Patterns in Automation
Design Patterns in Automation
 
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteChange Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
 
Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)
 
Next Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AINext Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AI
 
The Best Test Automation Framework is...
The Best Test Automation Framework is...The Best Test Automation Framework is...
The Best Test Automation Framework is...
 
Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021
 
Getting started with Appium 2.0
Getting started with Appium 2.0Getting started with Appium 2.0
Getting started with Appium 2.0
 
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
 
Selenium Deep Dive
Selenium Deep DiveSelenium Deep Dive
Selenium Deep Dive
 
Does your functional automation really add value?
Does your functional automation really add value?Does your functional automation really add value?
Does your functional automation really add value?
 
Measuring Coverage From E2E Tests
Measuring Coverage From E2E TestsMeasuring Coverage From E2E Tests
Measuring Coverage From E2E Tests
 
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020
 
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumVisual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA Symposium
 
Collaboration - A Taboo!
Collaboration - A Taboo!Collaboration - A Taboo!
Collaboration - A Taboo!
 
Visual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidVisual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation Pyramid
 
Measuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopMeasuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback Loop
 
What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?
 

Kürzlich hochgeladen

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Kürzlich hochgeladen (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

Integration testing in enterprises using TaaS

  • 1. Integra(on  tes(ng  in   Enterprises  using  TaaS   Anand  Bagmar   So#ware  Quality  Evangelist   Principal  Consultant,  ThoughtWorks  
  • 3. Business  spread  across  the  globe  
  • 4. A  prac?ce  that  makes  Teams   successful?   Test  Automa(on  
  • 5. A  prac?ce  that  makes  Teams   unsuccessful?   Test  Automa(on  
  • 6. Principles  &  Prac?ces     for  building  a   Test  Automa?on  Framework  
  • 7. Principles  &   Prac(ces  of   Automa(on   Framework   Code   Quality   Design   PaBerns   Pairing   Test  Data   Abstrac(on   Layers   Refactor,   Evolve  &   Extend       Configurable   Con(nuous   Integra(on   (CI)   Screenshots,   Video   Recordings   Logging   Tools  &   U(li(es   No  Copy-­‐ Paste  
  • 8. Is  Test  Automa?on  treated  as  1st  class  ci?zen  in   your  organiza?on?   •  Value   •  Quality  
  • 9. Quick  survey   •  Part  of  a  large  organiza?on?   •  #  of  products  in  the  porNolio?   •  #  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?  
  • 10.
  • 12. Outlook  Outlook   (Windows)   Outlook  (Mac)   Outlook  Web   Access  (OWA)   (Browser)   Outlook  Sync   (Android)   …   …  
  • 13. How  will  you  automate  these?  
  • 14. Outlook  for   Windows   •  White  /  QTP   Outlook  for   Mac   •  Automator   Outlook  Web   Access   (OWA)   •  Selenium  /   Ruby   Outlook  Sync   for  Android   •  Robo?um  /   Java  
  • 15. 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  automate  the  test  ….     An  email  draQed  in  one  product  is  reflected  in   the  other  products    
  • 16. End-­‐2-­‐End   Integra-on   Test   (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  
  • 17. Can  you  use  the  same  technology   stack  for  automa(ng  the  tes(ng   of  each  variant  of  Outlook?  
  • 19. Outlook  for   Windows   •  White  /  QTP   Outlook  for   Mac   •  Automator   Outlook  Web   Access   (OWA)   •  Selenium  /   Ruby   Outlook  Sync   for  Android   •  Robo?um  /   Java  
  • 21. End-­‐2-­‐End   Integra-on   Test   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  
  • 22.
  • 23. TaaS  Server   •  Specify  contract  details   •  Implement  contracts   •  Return  the  results   •  Run  TaaS  Server  (REST  service)   •  Serve  TaaS  Client  requests   – As  separate  processes  
  • 24. What  is  a  Contract?   Specified  in  a  simple  yml  file  
  • 27. Implement  the  Contract   •  Update  tests  to  -­‐   – Handle  input  parameters   •  From  Environment  variables   – Execute  the  “test”  
  • 30. Return  the  results   •  Output  parameters   – As  console  output  between  special  markers   •  Console  logs   •  Excep?ons  (if  any)   •  All  return  values  are  in  “json”  format  
  • 32. Run  TaaS  Server   •  Dedicated  machine   •  Provide  IP  address  /  host  name  +  port  to   poten?al  clients  
  • 33. TaaS  Client   •  Collect  the  input  parameters   •  Invoke  the  contract   •  Consume  the  result   •  Con?nue  with  test  orchestra?on  
  • 35. Summary  of  Features   •  Developed  in  Ruby  using  Sinatra   •  Contract   – Decoupling  of  technology  barriers   – Timeout   •  Passing  of  input  parameters  as  Environment   variables   •  Result  as  json   – Output  parameters   – Console  logs  and  errors   – Excep?ons  
  • 36. 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  
  • 37. 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   •  Its  –  providing  Test  as  a  Service!!!  
  • 38. What  this  is  Not   •  Load  tes?ng  tool   •  A  “tool”  for  integra?ng  different  products   – Lack  of  security   – Probably  not  as  robust  
  • 39. What  TaaS  did  for  me?   •  Be  crea?ve   •  Find  Innova?ve  solu?on  to  the  problem   •  Another  open  source  contribu?on  
  • 40. Does  it  really  work?  
  • 41. How  can  you  use  TaaS?   •  Open  source  (apache2  license)   •  Available  on  github!     •  Available  as  taas.gem  on  rubygems.org  (~500   downloads)  
  • 42. •  Error  codes  for  the  service   •  Service  Discovery   •  Security   •  Create  a  Java  /  .Net  version  of  TaaS  Server   How  can  you  help  TaaS?  
  • 43. hkp://essenceo#es?ng.blogspot.com   hkps://github.com/anandbagmar/taas   anandbagmar/   Anand.Bagmar@thoughtworks.com                        Abagmar@gmail.com        @BagmarAnand