SlideShare a Scribd company logo
1 of 23
Automated Analytics
Testing
MARCUS MERRELL, RETAILMENOT, INC
@MMERRELL
What We’re
Talking about
 Conservancy
 Overview of Web/User
Analytics
 Explanation of A/B
Testing
 Why this matters to QA
personnel
 Examples
 How to get started
http://bit.ly/2u6tJMa http://bit.ly/2urc80O
Who Is Conservancy?
 Software Freedom Conservancy
 Protects the branding, copyrights, and licenses for over
40 free and open source projects
 Includes Selenium, git, Samba, PyPy, and many others
 www.sfconservancy.org
 Non-profit organization
 The reason Jim, Manoj, and I are here
Overview of User Analytics
 Primarily B2C: Banks, shopping, high-volume apps
 Applies to all platforms, including video game consoles
 Tells the ”story” of user interaction with a product
User Analytics
Hits
Sessions
Users
“If you are not paying for it… you are the product being sold”
—Andrew Lewis (blue_beetle)
A/B Testing
 Don’t change everything at once
 Major source of regressions in analytics:
 Analytics will need to change as a result of a test, but
sometimes those changes are forgotten (
 We used to just release changes after basic QA
 “The Highball Incident”
http://bit.ly/2ttj1RK
Real-life RMN Example
...&b21=17&…
...&b21=18&…
...&b21=0&…
(wait, shouldn’t that say 18?)
How Is This Related?
 Analytics have historically not been included in test
design
 Major source of regression defects
 In this case, no A/B testing was done
 Data loss was permanent, irrecoverable
Real-world Examples
 Shopping cart—shipping & tax calculation
 Suggesting products and content based on cookie, not
login
Real-world Examples
 RetailMeNot’s email program
 Category and Merchant “affinity”
Classic Approach
Marketing
Business
Intelligence
Product
Manager
EngineeringQA
(Usually the newest
person on the team)
Why You Should Care
 What if the analytics contain the wrong information?
 But furthermore…
 This is everywhere
 It is only growing
 Companies are becoming smart
 (Really really smart)
 QA is being left behind
Why You Should Care
Why You Should Really Care
 As a tester:
 There is a team of people working on this
 It gets worked into features as they are developed
 It is rarely called out separately in a scheduled task
 It rarely receives QA outside of the Product Management
and Business Intelligence people who really care about it
http://bit.ly/2u6j4AW
Fortunately, It’s Easy
 Usually one extra HTTP request, made during a
navigation event
 Intercept this request, then verify the data within it
Process
 Break down into key-value pairs
 Build a Map of “expected results”
 Assert on expected vs actual results
sequence=12 sequence=12
category=food category=food
type=code type=sale
Test Cycle
@Test
Launch
Browser
Navigate
to Position
Start Proxy
Perform
Main
Action
Stop Proxy
Clean-up
Test
Execution
 Send JSON to the “expectation” end-point
 Includes a “timer” and an alert email
 Later (asynchronously), more JSON is sent to the
“result”
 If there’s no match before the timer runs out, ALERT
Expectation Action Result
Reporting
 Report to a dashboard
 Indicates “PASS”, “FAIL”, and “Staleness”
Alternatives
 Anand Bagmar
 https://github.com/anandbagmar/WAAT
 Tool for testing Omniture Analytics
 Uses Omniture’s built-in web interface to examine
attributes emitted by page, rather than using a proxy
Conclusion
 User Analytics are your CEO’s favorite subject!
 Deliver real value—million-dollar decisions are made with
this data
 Can be implemented with just as many bugs as any other
kind of software
Questions?
 Once again, thank you so very much
 Twitter: @mmerrell
 mmerrell@gmail.com
 I’m also on LinkedIn

More Related Content

Similar to Automated Analytics Testing

Intro to Data Analytics with Oscar's Director of Product
 Intro to Data Analytics with Oscar's Director of Product Intro to Data Analytics with Oscar's Director of Product
Intro to Data Analytics with Oscar's Director of ProductProduct School
 
The Lean Startup at Code for America fellows
The Lean Startup at Code for America fellowsThe Lean Startup at Code for America fellows
The Lean Startup at Code for America fellowsEric Ries
 
User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015Marcus Merrell
 
2010 10 25 lean startup for wealthfront
2010 10 25 lean startup for wealthfront2010 10 25 lean startup for wealthfront
2010 10 25 lean startup for wealthfrontEric Ries
 
2010 10 15 the lean startup at tech_hub london
2010 10 15 the lean startup at tech_hub london2010 10 15 the lean startup at tech_hub london
2010 10 15 the lean startup at tech_hub londonEric Ries
 
Eric Ries, Author/Speaker/Consultant, The Lean Startup
Eric Ries, Author/Speaker/Consultant, The Lean StartupEric Ries, Author/Speaker/Consultant, The Lean Startup
Eric Ries, Author/Speaker/Consultant, The Lean Startup500 Startups
 
2010 09 23 lean startup for true ventures
2010 09 23 lean startup for true ventures2010 09 23 lean startup for true ventures
2010 09 23 lean startup for true venturesEric Ries
 
Lean Startup for Geeks with Eric Ries
Lean Startup for Geeks with Eric RiesLean Startup for Geeks with Eric Ries
Lean Startup for Geeks with Eric RiesWealthfront
 
Microsoft guide controlled experiments
Microsoft guide controlled experimentsMicrosoft guide controlled experiments
Microsoft guide controlled experimentsBitsytask
 
Patrick McKenzie Opticon 2014: Advanced A/B Testing
Patrick McKenzie Opticon 2014: Advanced A/B TestingPatrick McKenzie Opticon 2014: Advanced A/B Testing
Patrick McKenzie Opticon 2014: Advanced A/B TestingPatrick McKenzie
 
The Lean Startup fbFund Edition
The Lean Startup fbFund EditionThe Lean Startup fbFund Edition
The Lean Startup fbFund EditionEric Ries
 
Metrics that every startup should know
Metrics that every startup should knowMetrics that every startup should know
Metrics that every startup should knowAlexey Orap
 
Practical operability techniques for teams - Matthew Skelton - Agile in the C...
Practical operability techniques for teams - Matthew Skelton - Agile in the C...Practical operability techniques for teams - Matthew Skelton - Agile in the C...
Practical operability techniques for teams - Matthew Skelton - Agile in the C...Skelton Thatcher Consulting Ltd
 
Driving Agile Product Development with Experimentation
Driving Agile Product Development with ExperimentationDriving Agile Product Development with Experimentation
Driving Agile Product Development with ExperimentationSplit Software
 
Intuit - How to Scale Your Experimentation Program
Intuit - How to Scale Your Experimentation ProgramIntuit - How to Scale Your Experimentation Program
Intuit - How to Scale Your Experimentation ProgramOptimizely
 
Order vs Chaos: Taming Digital Analytics Complexity With Automation
Order vs Chaos: Taming Digital Analytics Complexity With AutomationOrder vs Chaos: Taming Digital Analytics Complexity With Automation
Order vs Chaos: Taming Digital Analytics Complexity With AutomationObservePoint
 
Recommender System- Analyzing products by mining Data Streams
Recommender System- Analyzing products by mining Data StreamsRecommender System- Analyzing products by mining Data Streams
Recommender System- Analyzing products by mining Data StreamsIRJET Journal
 
2010 10 28 the lean startup at ucsd
2010 10 28 the lean startup at ucsd2010 10 28 the lean startup at ucsd
2010 10 28 the lean startup at ucsdEric Ries
 
The Lean Startup EA edition
The Lean Startup EA editionThe Lean Startup EA edition
The Lean Startup EA editionEric Ries
 
How to Improve Quality and Efficiency Using Test Data Analytics
How to Improve Quality and Efficiency Using Test Data AnalyticsHow to Improve Quality and Efficiency Using Test Data Analytics
How to Improve Quality and Efficiency Using Test Data AnalyticsTequra Analytics
 

Similar to Automated Analytics Testing (20)

Intro to Data Analytics with Oscar's Director of Product
 Intro to Data Analytics with Oscar's Director of Product Intro to Data Analytics with Oscar's Director of Product
Intro to Data Analytics with Oscar's Director of Product
 
The Lean Startup at Code for America fellows
The Lean Startup at Code for America fellowsThe Lean Startup at Code for America fellows
The Lean Startup at Code for America fellows
 
User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015
 
2010 10 25 lean startup for wealthfront
2010 10 25 lean startup for wealthfront2010 10 25 lean startup for wealthfront
2010 10 25 lean startup for wealthfront
 
2010 10 15 the lean startup at tech_hub london
2010 10 15 the lean startup at tech_hub london2010 10 15 the lean startup at tech_hub london
2010 10 15 the lean startup at tech_hub london
 
Eric Ries, Author/Speaker/Consultant, The Lean Startup
Eric Ries, Author/Speaker/Consultant, The Lean StartupEric Ries, Author/Speaker/Consultant, The Lean Startup
Eric Ries, Author/Speaker/Consultant, The Lean Startup
 
2010 09 23 lean startup for true ventures
2010 09 23 lean startup for true ventures2010 09 23 lean startup for true ventures
2010 09 23 lean startup for true ventures
 
Lean Startup for Geeks with Eric Ries
Lean Startup for Geeks with Eric RiesLean Startup for Geeks with Eric Ries
Lean Startup for Geeks with Eric Ries
 
Microsoft guide controlled experiments
Microsoft guide controlled experimentsMicrosoft guide controlled experiments
Microsoft guide controlled experiments
 
Patrick McKenzie Opticon 2014: Advanced A/B Testing
Patrick McKenzie Opticon 2014: Advanced A/B TestingPatrick McKenzie Opticon 2014: Advanced A/B Testing
Patrick McKenzie Opticon 2014: Advanced A/B Testing
 
The Lean Startup fbFund Edition
The Lean Startup fbFund EditionThe Lean Startup fbFund Edition
The Lean Startup fbFund Edition
 
Metrics that every startup should know
Metrics that every startup should knowMetrics that every startup should know
Metrics that every startup should know
 
Practical operability techniques for teams - Matthew Skelton - Agile in the C...
Practical operability techniques for teams - Matthew Skelton - Agile in the C...Practical operability techniques for teams - Matthew Skelton - Agile in the C...
Practical operability techniques for teams - Matthew Skelton - Agile in the C...
 
Driving Agile Product Development with Experimentation
Driving Agile Product Development with ExperimentationDriving Agile Product Development with Experimentation
Driving Agile Product Development with Experimentation
 
Intuit - How to Scale Your Experimentation Program
Intuit - How to Scale Your Experimentation ProgramIntuit - How to Scale Your Experimentation Program
Intuit - How to Scale Your Experimentation Program
 
Order vs Chaos: Taming Digital Analytics Complexity With Automation
Order vs Chaos: Taming Digital Analytics Complexity With AutomationOrder vs Chaos: Taming Digital Analytics Complexity With Automation
Order vs Chaos: Taming Digital Analytics Complexity With Automation
 
Recommender System- Analyzing products by mining Data Streams
Recommender System- Analyzing products by mining Data StreamsRecommender System- Analyzing products by mining Data Streams
Recommender System- Analyzing products by mining Data Streams
 
2010 10 28 the lean startup at ucsd
2010 10 28 the lean startup at ucsd2010 10 28 the lean startup at ucsd
2010 10 28 the lean startup at ucsd
 
The Lean Startup EA edition
The Lean Startup EA editionThe Lean Startup EA edition
The Lean Startup EA edition
 
How to Improve Quality and Efficiency Using Test Data Analytics
How to Improve Quality and Efficiency Using Test Data AnalyticsHow to Improve Quality and Efficiency Using Test Data Analytics
How to Improve Quality and Efficiency Using Test Data Analytics
 

More from Naoya Kojima

20170710 hifive-test-meetup
20170710 hifive-test-meetup20170710 hifive-test-meetup
20170710 hifive-test-meetupNaoya Kojima
 
JJUG CCC 2017 Spring LT about JPA
JJUG CCC 2017 Spring LT about JPAJJUG CCC 2017 Spring LT about JPA
JJUG CCC 2017 Spring LT about JPANaoya Kojima
 
JJUG CCC 2017 Spring LT about Twice Submit
JJUG CCC 2017 Spring LT about  Twice SubmitJJUG CCC 2017 Spring LT about  Twice Submit
JJUG CCC 2017 Spring LT about Twice SubmitNaoya Kojima
 
20161222 selenium adventcalender
20161222 selenium adventcalender20161222 selenium adventcalender
20161222 selenium adventcalenderNaoya Kojima
 
20161218 selenium study4
20161218 selenium study420161218 selenium study4
20161218 selenium study4Naoya Kojima
 
20161212 selenium adventcalender
20161212 selenium adventcalender20161212 selenium adventcalender
20161212 selenium adventcalenderNaoya Kojima
 
20161203 selenium adventcalender
20161203 selenium adventcalender20161203 selenium adventcalender
20161203 selenium adventcalenderNaoya Kojima
 
20161218 selenium study4-part1
20161218 selenium study4-part120161218 selenium study4-part1
20161218 selenium study4-part1Naoya Kojima
 
jjug_night_20161121
jjug_night_20161121jjug_night_20161121
jjug_night_20161121Naoya Kojima
 
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめようAzureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめようNaoya Kojima
 

More from Naoya Kojima (10)

20170710 hifive-test-meetup
20170710 hifive-test-meetup20170710 hifive-test-meetup
20170710 hifive-test-meetup
 
JJUG CCC 2017 Spring LT about JPA
JJUG CCC 2017 Spring LT about JPAJJUG CCC 2017 Spring LT about JPA
JJUG CCC 2017 Spring LT about JPA
 
JJUG CCC 2017 Spring LT about Twice Submit
JJUG CCC 2017 Spring LT about  Twice SubmitJJUG CCC 2017 Spring LT about  Twice Submit
JJUG CCC 2017 Spring LT about Twice Submit
 
20161222 selenium adventcalender
20161222 selenium adventcalender20161222 selenium adventcalender
20161222 selenium adventcalender
 
20161218 selenium study4
20161218 selenium study420161218 selenium study4
20161218 selenium study4
 
20161212 selenium adventcalender
20161212 selenium adventcalender20161212 selenium adventcalender
20161212 selenium adventcalender
 
20161203 selenium adventcalender
20161203 selenium adventcalender20161203 selenium adventcalender
20161203 selenium adventcalender
 
20161218 selenium study4-part1
20161218 selenium study4-part120161218 selenium study4-part1
20161218 selenium study4-part1
 
jjug_night_20161121
jjug_night_20161121jjug_night_20161121
jjug_night_20161121
 
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめようAzureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめよう
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Automated Analytics Testing

  • 1. Automated Analytics Testing MARCUS MERRELL, RETAILMENOT, INC @MMERRELL
  • 2. What We’re Talking about  Conservancy  Overview of Web/User Analytics  Explanation of A/B Testing  Why this matters to QA personnel  Examples  How to get started http://bit.ly/2u6tJMa http://bit.ly/2urc80O
  • 3. Who Is Conservancy?  Software Freedom Conservancy  Protects the branding, copyrights, and licenses for over 40 free and open source projects  Includes Selenium, git, Samba, PyPy, and many others  www.sfconservancy.org  Non-profit organization  The reason Jim, Manoj, and I are here
  • 4. Overview of User Analytics  Primarily B2C: Banks, shopping, high-volume apps  Applies to all platforms, including video game consoles  Tells the ”story” of user interaction with a product
  • 5. User Analytics Hits Sessions Users “If you are not paying for it… you are the product being sold” —Andrew Lewis (blue_beetle)
  • 6. A/B Testing  Don’t change everything at once  Major source of regressions in analytics:  Analytics will need to change as a result of a test, but sometimes those changes are forgotten (  We used to just release changes after basic QA  “The Highball Incident” http://bit.ly/2ttj1RK
  • 7.
  • 9. How Is This Related?  Analytics have historically not been included in test design  Major source of regression defects  In this case, no A/B testing was done  Data loss was permanent, irrecoverable
  • 10. Real-world Examples  Shopping cart—shipping & tax calculation  Suggesting products and content based on cookie, not login
  • 11. Real-world Examples  RetailMeNot’s email program  Category and Merchant “affinity”
  • 13. Why You Should Care  What if the analytics contain the wrong information?  But furthermore…  This is everywhere  It is only growing  Companies are becoming smart  (Really really smart)  QA is being left behind
  • 15. Why You Should Really Care  As a tester:  There is a team of people working on this  It gets worked into features as they are developed  It is rarely called out separately in a scheduled task  It rarely receives QA outside of the Product Management and Business Intelligence people who really care about it http://bit.ly/2u6j4AW
  • 16. Fortunately, It’s Easy  Usually one extra HTTP request, made during a navigation event  Intercept this request, then verify the data within it
  • 17. Process  Break down into key-value pairs  Build a Map of “expected results”  Assert on expected vs actual results sequence=12 sequence=12 category=food category=food type=code type=sale
  • 18. Test Cycle @Test Launch Browser Navigate to Position Start Proxy Perform Main Action Stop Proxy Clean-up Test
  • 19. Execution  Send JSON to the “expectation” end-point  Includes a “timer” and an alert email  Later (asynchronously), more JSON is sent to the “result”  If there’s no match before the timer runs out, ALERT Expectation Action Result
  • 20. Reporting  Report to a dashboard  Indicates “PASS”, “FAIL”, and “Staleness”
  • 21. Alternatives  Anand Bagmar  https://github.com/anandbagmar/WAAT  Tool for testing Omniture Analytics  Uses Omniture’s built-in web interface to examine attributes emitted by page, rather than using a proxy
  • 22. Conclusion  User Analytics are your CEO’s favorite subject!  Deliver real value—million-dollar decisions are made with this data  Can be implemented with just as many bugs as any other kind of software
  • 23. Questions?  Once again, thank you so very much  Twitter: @mmerrell  mmerrell@gmail.com  I’m also on LinkedIn