SlideShare a Scribd company logo
COMPARING
AGILE QA APPROACHES
TO END-TO-ENDTESTING
Daria Mehra, Director of QE at Quid
Talk at Lean StartupWeek, 11/03/16
Why test at all?
■ Can’t we write bug-free software?
– Industry Average: "about 15 - 50 errors per 1000 lines of delivered code.”
(Steve McConnell, Code Complete)
■ Can’t we fix the bugs as the users report them?
– Are you Facebook?
■ Cost of fixing the bug goes up with time from inception
– Prevent it at no cost*, fix it pre-release for $, fix it post-release for $$$$.
■ “Hope is not a strategy.” (Google SRE)
Buggy math
■ Mercedes recently ran an ad saying that its new car has 100 million lines of code.That’s
impressive—until you realize that on average, any piece of software has a few bugs per
thousand lines of code, so the car probably has thousands of vulnerabilities.
– Chris Dixon of Andreessen Horowitz, replying to Obama’s 6 tech challenges
■ 100 mln loc * 15 bugs/kloc => 1.5 mln bugs!
■ Ford F-150 pickup, 150 mln loc => 2.25 mln bugs
■ Assume 0.001% probability of bug in a given month
■ Get 1 bug per working day…
How to move fast
■ Remember “Move fast and break things”?
■ Slogan v2: “Move fast and build things”!
■ Because you don’t move faster with a broken leg.
■ Quality vsVelocity is a false dichotomy
■ Quality improves as waste is removed,
leading to velocity
– Kaizen: “change for the better”
– What Agile was called in 1986
Bimodal IT: where do you land?
http://techbeacon.com/gartners-bimodal-it-mistake-devops-can-deliver-velocity-quality
Y u so slow?
Don’t do that “Fast” won’t last
Awesome. How?
Path to quality
Velocity: High.
Except for when it breaks.
Quality: ?????
Velocity: High.
Quality: High.
https://danashby.co.uk/2016/10/19/continuous-testing-in-devops/
Who needs end-to-end tests?
■ http://www.alwaysagileconsulting.com/articles/end-to-end-testing-considered-harmful/
■ https://testing.googleblog.com/2015/04/just-say-no-to-more-end-to-end-tests.html
■ End-to-end testing considered harmful. If that’s all you do. (Steve Smith)
■ Unit tests are great! At Quid: 5000+ unit tests, 108 e2e user-workflow tests.
2 unit tests, 0 integration tests
If this video won’t play in the slide deck, watch it here:
http://thisotplife.tumblr.com/post/137415092034/2-unit-tests-0-integration-tests
needs end-to-end tests!
■ What’s Quid?
– Quid is a platform that searches, analyzes and visualizes
the world’s collective intelligence to help
answer strategic questions
■ Huge data set + upload your own
– Data-dependent execution
■ Search -> NLP -> knowledge network -> viz
■ Rich UI with many workflows:
– Lots of ways to slice and dice the data
■ Import and export and browsers, oh my!
■ Must test important user workflows daily in CI
Two roads diverged
■ Manual-only testing is not a feasible path: slow, expensive, unreliable.
■ Two ways I’ve done it: full automation with Selenium, and RainforestQA.
Selenium approach
■ Automated end-to-end testcases in Python / Ruby / etc,
executed by driving browser actions via Selenium framework
■ Often with a layer of structured natural language on top (Gherkin or Cucumber)
■ Pros:
– Fast execution -> quick feedback loop
– Runs in CI on developer branches and master -> always releasable master
■ Cons:
– Tied to the front-end implementation, your CSS is now your API
– Finicky, tends to suffer from timing issues with page state
– Hard to debug failures, is this a product regression or a test issue?
“Element is not clickable at point (x, y). Other element would receive the click: …”
– Misses regressions that human would notice
– Takes engineering skill to add and maintain testcases
Release process w/Selenium
UnitTests + FunctionalTests + End-to-End SeleniumTests
RainforestQA approach
■ Automated end-to-end testcases in unstructured natural language (English),
executed by crowdsourced human testers via RainforestQA service
■ Pros:
– Easy to add and maintain testcases, non-engineers can do it
– Easy to debug test failures (screenshot + human comment)
– No dependence on front-end implementation, only user-visible workflow
– Human eye
– Parallel scalable execution
■ Cons:
– Slower test execution at human speed
– Annual contract expense
– Runs on staging and/or production, not on dev branches
Release process w/RainforestQA
UnitTests + FunctionalTests End-to-End RainforestQATests
Why we picked RainforestQA
■ Not either/or:
– Quid uses Selenium in production monitoring checks
■ Scaling out Rainforest testcases was SO MUCH EASIER
■ Solved regression testing for a complex product
■ Nightly testing is close enough to CI/CD for us
– Next up: early access testing with feature flags
■ Allows QE team to stay small
■ Promotes collaboration on quality between PM, CS, QE and Dev
■ Frees up Quality Engineer time for “artisanal” exploratory testing
■ … And that has made all the difference.
Ask me anything
■ Daria Mehra, Director of QE at Quid
■ Look us up: www.quid.com
■ Email me: dmehra@quid.com
■ Read my post on quality process: http://tinyurl.com/dmehra-ikea
■ Read about how I spend my days: http://tinyurl.com/dmehra-day
■ And we ARE hiring!

More Related Content

PDF
Continuous Integration for Spark Apps by Sean McIntyre
PDF
Hadoop Summit 2013 : Continuous Integration on top of hadoop
PDF
Monitoring 改造計畫:流程觀點
PDF
Devops, Secops, Opsec, DevSec *ops *.* ?
PDF
An almost complete continuous delivery pipeline including configuration manag...
PDF
Devops is a Security Requirement
PPTX
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
PDF
Continuous integration at CartoDB March '16
Continuous Integration for Spark Apps by Sean McIntyre
Hadoop Summit 2013 : Continuous Integration on top of hadoop
Monitoring 改造計畫:流程觀點
Devops, Secops, Opsec, DevSec *ops *.* ?
An almost complete continuous delivery pipeline including configuration manag...
Devops is a Security Requirement
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Continuous integration at CartoDB March '16

What's hot (20)

PDF
Trunk based development
PDF
AgileDC15 I'm Using Chef So I'm DevOps Right?
PDF
DevOps Unicorns
PDF
Becoming a Git Master - Nicola Paolucci
PDF
從限制理論看 DevOps
PPTX
Back to basic: continuous integration (Madrid DevOps)
PDF
Trunk-Based Development and Toggling
PPTX
Advanced deployment scenarios (netcoreconf)
PDF
有了 Agile,為什麼還要有 DevOps?
PPTX
CI back to basis
PPTX
Advanced deployment scenarios
PPTX
From Continuous Integration to Continuous Delivery and DevOps
ODP
Getting your project_started
PDF
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
PPTX
Automation CICD
PDF
Distributed Release Management
PDF
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
PPTX
A brief history of automation in Software Engineering
PPTX
Trunk Based Development in the Enterprise - Its Relevance and Economics
PDF
Principles and Practices in Continuous Deployment at Etsy
Trunk based development
AgileDC15 I'm Using Chef So I'm DevOps Right?
DevOps Unicorns
Becoming a Git Master - Nicola Paolucci
從限制理論看 DevOps
Back to basic: continuous integration (Madrid DevOps)
Trunk-Based Development and Toggling
Advanced deployment scenarios (netcoreconf)
有了 Agile,為什麼還要有 DevOps?
CI back to basis
Advanced deployment scenarios
From Continuous Integration to Continuous Delivery and DevOps
Getting your project_started
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
Automation CICD
Distributed Release Management
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
A brief history of automation in Software Engineering
Trunk Based Development in the Enterprise - Its Relevance and Economics
Principles and Practices in Continuous Deployment at Etsy
Ad

Viewers also liked (8)

PDF
ContainerCon - Test Driven Infrastructure
PDF
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
PDF
Put on Your Asynchronous Hat and Node
PDF
PDF
End to End Testing: Bug Squashing for API Developers
PPTX
Behavior-Driven Development (BDD) in context
PDF
Atagg2015 BDD in Test pyramid
PDF
Security DevOps - Free pentesters' time to focus on high-hanging fruits // Ha...
ContainerCon - Test Driven Infrastructure
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
Put on Your Asynchronous Hat and Node
End to End Testing: Bug Squashing for API Developers
Behavior-Driven Development (BDD) in context
Atagg2015 BDD in Test pyramid
Security DevOps - Free pentesters' time to focus on high-hanging fruits // Ha...
Ad

Similar to Comparing Agile QA Approaches to End-to-End Testing (20)

PDF
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
PDF
Building QA Team that matters for an Agile World
PDF
Sq mag no_05
PPTX
How to Add Test Automation to your Quality Assurance Toolbelt
PDF
High Performance Software Engineering Teams
PDF
How to Build in Quality from Day 1 using Lean QA and Agile Testing
PDF
How we improved iOS delivery speed from QA side
PDF
SVCC 2011 - 0 - 60: QA Automation @ Box
PDF
Atlassian Summit 2015 Lean QA and Agile Testing
PDF
How TestOps is Redefining QA Testing in DevOps.pdf
PDF
Engaging IV&V Testing Services for Agile Projects
DOCX
Guide for Quality Center (QC) Automation Tool
PPTX
Moving QA from Reactive to Proactive with qTest
PPTX
Zero touch QA automation platform for DevOps
DOC
Software testing cv shirish nagar
DOC
Software testing cv shirish nagar
DOC
S'ware Testing CV_Shirish Nagar
PDF
Automated Testing: QA Horizons
PPTX
Quality engineering approaches (published)
PDF
Agile Testing Transformation is as Easy as 1, 2, 3 by Michael Buening
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
Building QA Team that matters for an Agile World
Sq mag no_05
How to Add Test Automation to your Quality Assurance Toolbelt
High Performance Software Engineering Teams
How to Build in Quality from Day 1 using Lean QA and Agile Testing
How we improved iOS delivery speed from QA side
SVCC 2011 - 0 - 60: QA Automation @ Box
Atlassian Summit 2015 Lean QA and Agile Testing
How TestOps is Redefining QA Testing in DevOps.pdf
Engaging IV&V Testing Services for Agile Projects
Guide for Quality Center (QC) Automation Tool
Moving QA from Reactive to Proactive with qTest
Zero touch QA automation platform for DevOps
Software testing cv shirish nagar
Software testing cv shirish nagar
S'ware Testing CV_Shirish Nagar
Automated Testing: QA Horizons
Quality engineering approaches (published)
Agile Testing Transformation is as Easy as 1, 2, 3 by Michael Buening

Recently uploaded (20)

PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Spectroscopy.pptx food analysis technology
PPT
Teaching material agriculture food technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Cloud computing and distributed systems.
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
KodekX | Application Modernization Development
PDF
Empathic Computing: Creating Shared Understanding
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Reach Out and Touch Someone: Haptics and Empathic Computing
Review of recent advances in non-invasive hemoglobin estimation
Spectroscopy.pptx food analysis technology
Teaching material agriculture food technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Dropbox Q2 2025 Financial Results & Investor Presentation
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Cloud computing and distributed systems.
“AI and Expert System Decision Support & Business Intelligence Systems”
sap open course for s4hana steps from ECC to s4
Unlocking AI with Model Context Protocol (MCP)
Digital-Transformation-Roadmap-for-Companies.pptx
KodekX | Application Modernization Development
Empathic Computing: Creating Shared Understanding

Comparing Agile QA Approaches to End-to-End Testing

  • 1. COMPARING AGILE QA APPROACHES TO END-TO-ENDTESTING Daria Mehra, Director of QE at Quid Talk at Lean StartupWeek, 11/03/16
  • 2. Why test at all? ■ Can’t we write bug-free software? – Industry Average: "about 15 - 50 errors per 1000 lines of delivered code.” (Steve McConnell, Code Complete) ■ Can’t we fix the bugs as the users report them? – Are you Facebook? ■ Cost of fixing the bug goes up with time from inception – Prevent it at no cost*, fix it pre-release for $, fix it post-release for $$$$. ■ “Hope is not a strategy.” (Google SRE)
  • 3. Buggy math ■ Mercedes recently ran an ad saying that its new car has 100 million lines of code.That’s impressive—until you realize that on average, any piece of software has a few bugs per thousand lines of code, so the car probably has thousands of vulnerabilities. – Chris Dixon of Andreessen Horowitz, replying to Obama’s 6 tech challenges ■ 100 mln loc * 15 bugs/kloc => 1.5 mln bugs! ■ Ford F-150 pickup, 150 mln loc => 2.25 mln bugs ■ Assume 0.001% probability of bug in a given month ■ Get 1 bug per working day…
  • 4. How to move fast ■ Remember “Move fast and break things”? ■ Slogan v2: “Move fast and build things”! ■ Because you don’t move faster with a broken leg. ■ Quality vsVelocity is a false dichotomy ■ Quality improves as waste is removed, leading to velocity – Kaizen: “change for the better” – What Agile was called in 1986
  • 5. Bimodal IT: where do you land? http://techbeacon.com/gartners-bimodal-it-mistake-devops-can-deliver-velocity-quality Y u so slow? Don’t do that “Fast” won’t last Awesome. How?
  • 6. Path to quality Velocity: High. Except for when it breaks. Quality: ????? Velocity: High. Quality: High. https://danashby.co.uk/2016/10/19/continuous-testing-in-devops/
  • 7. Who needs end-to-end tests? ■ http://www.alwaysagileconsulting.com/articles/end-to-end-testing-considered-harmful/ ■ https://testing.googleblog.com/2015/04/just-say-no-to-more-end-to-end-tests.html ■ End-to-end testing considered harmful. If that’s all you do. (Steve Smith) ■ Unit tests are great! At Quid: 5000+ unit tests, 108 e2e user-workflow tests.
  • 8. 2 unit tests, 0 integration tests If this video won’t play in the slide deck, watch it here: http://thisotplife.tumblr.com/post/137415092034/2-unit-tests-0-integration-tests
  • 9. needs end-to-end tests! ■ What’s Quid? – Quid is a platform that searches, analyzes and visualizes the world’s collective intelligence to help answer strategic questions ■ Huge data set + upload your own – Data-dependent execution ■ Search -> NLP -> knowledge network -> viz ■ Rich UI with many workflows: – Lots of ways to slice and dice the data ■ Import and export and browsers, oh my! ■ Must test important user workflows daily in CI
  • 10. Two roads diverged ■ Manual-only testing is not a feasible path: slow, expensive, unreliable. ■ Two ways I’ve done it: full automation with Selenium, and RainforestQA.
  • 11. Selenium approach ■ Automated end-to-end testcases in Python / Ruby / etc, executed by driving browser actions via Selenium framework ■ Often with a layer of structured natural language on top (Gherkin or Cucumber) ■ Pros: – Fast execution -> quick feedback loop – Runs in CI on developer branches and master -> always releasable master ■ Cons: – Tied to the front-end implementation, your CSS is now your API – Finicky, tends to suffer from timing issues with page state – Hard to debug failures, is this a product regression or a test issue? “Element is not clickable at point (x, y). Other element would receive the click: …” – Misses regressions that human would notice – Takes engineering skill to add and maintain testcases
  • 12. Release process w/Selenium UnitTests + FunctionalTests + End-to-End SeleniumTests
  • 13. RainforestQA approach ■ Automated end-to-end testcases in unstructured natural language (English), executed by crowdsourced human testers via RainforestQA service ■ Pros: – Easy to add and maintain testcases, non-engineers can do it – Easy to debug test failures (screenshot + human comment) – No dependence on front-end implementation, only user-visible workflow – Human eye – Parallel scalable execution ■ Cons: – Slower test execution at human speed – Annual contract expense – Runs on staging and/or production, not on dev branches
  • 14. Release process w/RainforestQA UnitTests + FunctionalTests End-to-End RainforestQATests
  • 15. Why we picked RainforestQA ■ Not either/or: – Quid uses Selenium in production monitoring checks ■ Scaling out Rainforest testcases was SO MUCH EASIER ■ Solved regression testing for a complex product ■ Nightly testing is close enough to CI/CD for us – Next up: early access testing with feature flags ■ Allows QE team to stay small ■ Promotes collaboration on quality between PM, CS, QE and Dev ■ Frees up Quality Engineer time for “artisanal” exploratory testing ■ … And that has made all the difference.
  • 16. Ask me anything ■ Daria Mehra, Director of QE at Quid ■ Look us up: www.quid.com ■ Email me: dmehra@quid.com ■ Read my post on quality process: http://tinyurl.com/dmehra-ikea ■ Read about how I spend my days: http://tinyurl.com/dmehra-day ■ And we ARE hiring!