SlideShare uma empresa Scribd logo
1 de 11
How Google Crush
“QUALITY ASSURANCE”
Google Says..
“Quality is a development issue, not a testing issue. To the extent that we are
able to embed testing practice inside development, we have created a process
that is hyper incremental where mistakes can be rolled back if any one increment
turns out to be too buggy. We’ve not only prevented a lot of customer issues,
we have greatly reduced the number of testers necessary to ensure the absence
of recall-class bugs.”
• Google is used by billions of people worldwide.
• If a bug affects 0.01% of the user base in a small app, it’s not worth the energy.
• But if it affects 0.01% for Google, that’s thousands of complaints, And the price of
that can be very expensive.
• So, when it comes to studying quality assurance there’s no better examples than
one of the biggest Internet company in the world.
• Therefore Google should develop software that doesn’t break down, that doesn’t
cost you more money, and that doesn't cause frustration for its customers.
Google
Functional Testing types used by Google to ensure
the quality of the end product.
1) Unit Testing.
2) Functional Testing.
3) System Testing.
4) Regression Testing.
5) System Integration Testing.
6) Acceptance Testing.
7) Code coverage.
Code coverage: a quality control metric
Code Coverage is expressed as a percentage, so if you have tests written for 50% of the code base,
you have 50% code coverage. This includes:
• Statement coverage: is this one line broken?
• Branch coverage: can the application jump without breaking (e.g. if, switch)
• Path coverage: all paths through the program can be taken without error
And so, 100% branch coverage implies 100% statement coverage, as 100% path coverage implies
100% branch and statement coverage
The deceptive thing about code coverage is that as soon as you start combining chunks of code and
testing all possible paths and outcomes, you quickly rack up a near infinite number of tests to run, even
on medium sized projects.
Code Coverage at Google
• To provide an answer to the importance of code coverage and how it should be acted on,
Google tested implementing two types of coverages: Daily, and Per-Commit.
• Daily coverage tests the work-in-progress code of the day, and helps engineers fix
errors before they get too far along in a project.
• Per-commit focuses down on only the tests that need to be run to allow for the commit to
go smoothly.
• later — with this simple implementation, Google increased code coverage by 10% over
all projects.
• It’s also important to note that this part of their QC process is Purely Automated
Testing.
Here’s a screenshot of the internal tool they use to flag
up erroneous lines:
How Google Tests software
• Google’s testing department is relatively small for the amount of developers
but works well because, like Facebook, every engineer is responsible for their
own code’s tests.
• Google achieved this by creating a culture of testing,
• “And they have 2 billion lines of codes to work with, this alone is a huge
accomplishment.”
The benefits
• Developers and testers are on equal footing
• A many-to-one dev-to-test ratio
• Developers can just code and don’t have to spend too much time on testing
As you might expect from a company known to build Anything and Everything,
Google uses its own tool for tracking tests, the Google Test Case Manager, as well as
automated tests.
Thank You !

Mais conteúdo relacionado

Mais procurados

Tampere Goes Agile 2013 - Managing a Clean Codebase
Tampere Goes Agile 2013 - Managing a Clean CodebaseTampere Goes Agile 2013 - Managing a Clean Codebase
Tampere Goes Agile 2013 - Managing a Clean Codebase
VincitOy
 

Mais procurados (20)

The four generations of test automation
The four generations of test automationThe four generations of test automation
The four generations of test automation
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
 
Bringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & ApplitoolsBringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & Applitools
 
Agile Testing Analytics
Agile Testing AnalyticsAgile Testing Analytics
Agile Testing Analytics
 
Test Automation Beyond Test Execution
Test Automation Beyond Test ExecutionTest Automation Beyond Test Execution
Test Automation Beyond Test Execution
 
Testing challenges in a continuous delivery world
Testing challenges in a continuous delivery worldTesting challenges in a continuous delivery world
Testing challenges in a continuous delivery world
 
Developer testing webinar
Developer testing webinar Developer testing webinar
Developer testing webinar
 
Testing introduction
Testing introductionTesting introduction
Testing introduction
 
The Essentials Of Test Driven Development
The Essentials Of Test Driven Development The Essentials Of Test Driven Development
The Essentials Of Test Driven Development
 
Testing in the Age of Machine Learning
Testing in the Age of Machine Learning Testing in the Age of Machine Learning
Testing in the Age of Machine Learning
 
Testing Metrics - Making your tests visible
Testing Metrics - Making your tests visibleTesting Metrics - Making your tests visible
Testing Metrics - Making your tests visible
 
Build FAST with parallel_calabash
Build FAST with parallel_calabashBuild FAST with parallel_calabash
Build FAST with parallel_calabash
 
Continuous Delivery Presentation
Continuous Delivery PresentationContinuous Delivery Presentation
Continuous Delivery Presentation
 
Reducing risk through continuous delivery (Nov 2014)
Reducing risk through continuous delivery (Nov 2014)Reducing risk through continuous delivery (Nov 2014)
Reducing risk through continuous delivery (Nov 2014)
 
Reducing risk through continuous delivery (Nov 2014)
Reducing risk through continuous delivery (Nov 2014)Reducing risk through continuous delivery (Nov 2014)
Reducing risk through continuous delivery (Nov 2014)
 
End-to-End Test Automation for Both Horizontal and Vertical Scale
End-to-End Test Automation for Both Horizontal and Vertical ScaleEnd-to-End Test Automation for Both Horizontal and Vertical Scale
End-to-End Test Automation for Both Horizontal and Vertical Scale
 
Why You Should Be Testing in Production
Why You Should Be Testing in ProductionWhy You Should Be Testing in Production
Why You Should Be Testing in Production
 
Tampere Goes Agile 2013 - Managing a Clean Codebase
Tampere Goes Agile 2013 - Managing a Clean CodebaseTampere Goes Agile 2013 - Managing a Clean Codebase
Tampere Goes Agile 2013 - Managing a Clean Codebase
 
Shift left
Shift leftShift left
Shift left
 
Agile testing
Agile  testingAgile  testing
Agile testing
 

Semelhante a How google crush Quality Assurance

The Definitive Guide to Implementing Shift Left Testing in QA
The Definitive Guide to Implementing Shift Left Testing in QAThe Definitive Guide to Implementing Shift Left Testing in QA
The Definitive Guide to Implementing Shift Left Testing in QA
RapidValue
 
stm f.pdf
stm f.pdfstm f.pdf
stm f.pdf
HarshNagda5
 
Test driven development
Test driven developmentTest driven development
Test driven development
Harry Potter
 
Test driven development
Test driven developmentTest driven development
Test driven development
Luis Goldster
 
Test driven development
Test driven developmentTest driven development
Test driven development
Tony Nguyen
 
Test driven development
Test driven developmentTest driven development
Test driven development
Young Alista
 

Semelhante a How google crush Quality Assurance (20)

Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
 
Software_testing Unit 1 bca V.pdf
Software_testing Unit 1 bca V.pdfSoftware_testing Unit 1 bca V.pdf
Software_testing Unit 1 bca V.pdf
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 
Testing Software
Testing SoftwareTesting Software
Testing Software
 
The Definitive Guide to Implementing Shift Left Testing in QA
The Definitive Guide to Implementing Shift Left Testing in QAThe Definitive Guide to Implementing Shift Left Testing in QA
The Definitive Guide to Implementing Shift Left Testing in QA
 
Basics in software testing
Basics in software testingBasics in software testing
Basics in software testing
 
Rhonda Software Quality Assurance Services
Rhonda Software Quality Assurance ServicesRhonda Software Quality Assurance Services
Rhonda Software Quality Assurance Services
 
Backward thinking design qa system for quality goals
Backward thinking   design qa system for quality goalsBackward thinking   design qa system for quality goals
Backward thinking design qa system for quality goals
 
Why Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdfWhy Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdf
 
How to make Automation an asset for Organization
How to make Automation an asset for OrganizationHow to make Automation an asset for Organization
How to make Automation an asset for Organization
 
EFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWEFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEW
 
stm f.pdf
stm f.pdfstm f.pdf
stm f.pdf
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
 
Top Software Testing Models for Customer Satisfaction.pdf
Top Software Testing Models for Customer Satisfaction.pdfTop Software Testing Models for Customer Satisfaction.pdf
Top Software Testing Models for Customer Satisfaction.pdf
 
Top 5 automation testing tools to gear up website development
Top 5 automation testing tools to gear up website developmentTop 5 automation testing tools to gear up website development
Top 5 automation testing tools to gear up website development
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Test driven development
Test driven developmentTest driven development
Test driven development
 

Último

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Último (20)

%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

How google crush Quality Assurance

  • 2. Google Says.. “Quality is a development issue, not a testing issue. To the extent that we are able to embed testing practice inside development, we have created a process that is hyper incremental where mistakes can be rolled back if any one increment turns out to be too buggy. We’ve not only prevented a lot of customer issues, we have greatly reduced the number of testers necessary to ensure the absence of recall-class bugs.”
  • 3. • Google is used by billions of people worldwide. • If a bug affects 0.01% of the user base in a small app, it’s not worth the energy. • But if it affects 0.01% for Google, that’s thousands of complaints, And the price of that can be very expensive. • So, when it comes to studying quality assurance there’s no better examples than one of the biggest Internet company in the world. • Therefore Google should develop software that doesn’t break down, that doesn’t cost you more money, and that doesn't cause frustration for its customers. Google
  • 4. Functional Testing types used by Google to ensure the quality of the end product. 1) Unit Testing. 2) Functional Testing. 3) System Testing. 4) Regression Testing. 5) System Integration Testing. 6) Acceptance Testing. 7) Code coverage.
  • 5. Code coverage: a quality control metric
  • 6. Code Coverage is expressed as a percentage, so if you have tests written for 50% of the code base, you have 50% code coverage. This includes: • Statement coverage: is this one line broken? • Branch coverage: can the application jump without breaking (e.g. if, switch) • Path coverage: all paths through the program can be taken without error And so, 100% branch coverage implies 100% statement coverage, as 100% path coverage implies 100% branch and statement coverage The deceptive thing about code coverage is that as soon as you start combining chunks of code and testing all possible paths and outcomes, you quickly rack up a near infinite number of tests to run, even on medium sized projects.
  • 7. Code Coverage at Google • To provide an answer to the importance of code coverage and how it should be acted on, Google tested implementing two types of coverages: Daily, and Per-Commit. • Daily coverage tests the work-in-progress code of the day, and helps engineers fix errors before they get too far along in a project. • Per-commit focuses down on only the tests that need to be run to allow for the commit to go smoothly. • later — with this simple implementation, Google increased code coverage by 10% over all projects. • It’s also important to note that this part of their QC process is Purely Automated Testing.
  • 8. Here’s a screenshot of the internal tool they use to flag up erroneous lines:
  • 9. How Google Tests software • Google’s testing department is relatively small for the amount of developers but works well because, like Facebook, every engineer is responsible for their own code’s tests. • Google achieved this by creating a culture of testing, • “And they have 2 billion lines of codes to work with, this alone is a huge accomplishment.”
  • 10. The benefits • Developers and testers are on equal footing • A many-to-one dev-to-test ratio • Developers can just code and don’t have to spend too much time on testing As you might expect from a company known to build Anything and Everything, Google uses its own tool for tracking tests, the Google Test Case Manager, as well as automated tests.