SlideShare a Scribd company logo
Many Developers : One Tester
Many : One
Many: One
Quality Process: Philosophy
Every Body Is Engineer
Quality is Responsibility started/owned by
Management, Developers, Testers
Quality Process
Quality Process – Various Types Of Test
• verify the behavior of a single unit
of code
• No External Dependency. If
needed they are mocked.
• Used/Executed Frequently to lead
quick discovery of bug
• Shorter build and execution
times for tests.
• No/Minimum Test Infrastructure
Executed by Developer
• Execution Time : less than 100 ms
• Kill test target after 1 minute
• Lead To Code Quality
• Executed by SWE
• Automated
• validate the interaction of one or more
application modules
• External Dependency like interaction with
database, local file system
• Less Frequently Executed
• Test Infrastructure
• Executed by SET
• Execution Time : less than 1 sec
• Kill test target after 5 mins
• Lead to Product Quality
• Executed By SET
• Usually Automated
• Verify the whole application(all application
subsystems from the UI down to backend
• data storage)
• Must use external resources like remote
data base, file system
• Execution Time : ASAP
• Kill test target in 1 hour
• Lead to Product Quality
• Executed by TE
• Automated Or Maual
0
10%
20%
70%
Types Of Tests
Small Tests Medium Tests Large Tests
Quality Process – Test Execution System
Google Execution System
Indicates the potential
resource needs of a
test
Test running in this system shouldn’t
have any persistent side effect. They
must leave their environment exactly in
the state when it started
Uses test sizes to
distinguish fast
jobs from slower
ones
Cancels execution and reports a
failure for any test that exceeds the
time or resource requirements
associated with its test size.
Each test must be independent from
other tests so that tests can be
executed in any order.
Quality Process – Continuous Integration System
 Based On Dependency Analyses : Build rules are defined to decide which tests to run based on the changes done
Quality Process – Test Certified
 Set up test coverage bundles.
 Set up a continuous build.
 Classify your tests as Small, Medium, and Large.
 Identify nondeterministic tests.
 Create a smoke test suite.
Automate running of smoke tests
before submitting new code.
 Smoke tests should take less than 30 minutes to run.
 No nondeterministic tests.
 All significant features are tested by integration tests
 Total test coverage should be at least 40%.
 Test coverage from small tests alone should be at least 25%.
 Add a test for each nontrivial bug fix.
 Actively use available analysis tools.
 Total test coverage should be at least 60%.
 Test coverage from small tests alone should be at least 40%.
 Incremental coverage by small tests >= 50%.
 New significant features are tested by integration tests.
 Require tests for all nontrivial changes.
 No releases with red tests.
 Require a smoke test suite to pass before a submit.
 Incremental coverage by all tests >= 50%.
 Incremental coverage by small tests >= 10%.
 At least one feature tested by an integration test.
Level1
Level5
Idea :
Hiring/Getting Developers
participating in Testing
Quality Process – Test Planning
“Test plans are the first testing artifact created and the first one to die of
neglect.”
 10 Minute Test Plan
Quality Process – Test Planning
If the test plan is actually important, all of these things would be happening
every day………………
 Test plan actually drive testing activity throughout the entire lifecycle of a
product?
 Testers continually consult it as they divvy up the features among them so as to
divide and conquer the app?
 Developers insist the test plan be updated as they add and modify functionality?
 Development managers keep a copy open on their desktop as they manage their
todo list?
 Test manager refer to the contents of a test plan in status and progress meetings?
Quality Process – Test Planning- ACC
Qualities and characteristics that promote the product and
distinguish it from the competition. Attributes are the reasons
people would choose to use the product over a competitor.)
Components are the building blocks that together constitute the
system in question.
They are the core components and chunks of code that make the
software
what it is.
Capabilities are the actions the system performs at the
command of the user. They are responses to input, answers to
queries, and activities accomplished on behalf of the user.
Attribute
Component
Capability
C
C
A
Quality Process : Test Planning -ACC
Quality Process : GTA(Google Test Analytics)
Quality Process : Heat Map
Quality Processes : Crowd Sourcing(Testing)
 Instead of one tester trying to figure out the way
1,000 users will work, you have 1,000 users acting
like testers
 Weakness of the crowd is the time it takes for
them to learn an application and put it through
its paces
 Real-world multiplatform testing
 Flexibity : People from various Time Zones
Quality Process : Free Testing WorkFlow
 Cost Of Testing : ~0 Dollar
 Cost next to nothing
 Instantaneous test results
 Require little or no human intervention
 Very flexible because one size does not fit all
Impact
Impact
Every
Engineer
Every Team
Every
Manager
Annual
Discussions/Promotions
Hiring
Impact#High Quality
Impact#On Time Release Every Process
: Understand Project Goals, Schedule and do what no body has done ever.
Organization Structure
SWE(Software TE(TestSET(Software
Test Lead Manager
Test Engineering Manager
Test Director
Senior Test Director
Test Lead
Organization Structure
SWE(Software Engineer) SET(Software Engineer In Test) (TE)Test Engineer
Feature Developer Test Developer User Developer
Owner : Code for application to be tested/delivered Owner : Code for test Infrastructure/Automation Owner : Test Results for these infrastructure
Application Code Quality Test Infrastructure Code Quality
Product Quality(Partial)
Product Quality(security, privacy, performance,
reliability, usability, compatibility,
Globalization)
Unit Tests
FDD, Architectural design
TDD(Partial)
TDD
Test Plan(Partial)
Test Plan
Participate in writing tests Writes and owns these tests Execute these tests
SET interviewers focus on how the candidate thinks about
the solution
TE Interview
A good SET candidate should not have to be told to test the
code she writes. Itshould be an automatic part of her
How google-tests-software

More Related Content

What's hot

Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
Agile Testing Alliance
 
Test Automation
Test AutomationTest Automation
Test Automation
rockoder
 
Test automation process
Test automation processTest automation process
Test automation process
Bharathi Krishnamurthi
 
Unit testing best practices
Unit testing best practicesUnit testing best practices
Unit testing best practices
nickokiss
 
QA process Presentation
QA process PresentationQA process Presentation
QA process Presentation
Nadeeshani Aththanagoda
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Group
suwalki24.pl
 
Automated Test Framework with Cucumber
Automated Test Framework with CucumberAutomated Test Framework with Cucumber
Automated Test Framework with Cucumber
Ramesh Krishnan Ganesan
 
Iseb, ISTQB Static Testing
Iseb, ISTQB Static TestingIseb, ISTQB Static Testing
Iseb, ISTQB Static Testing
onsoftwaretest
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
Tharinda Liyanage
 
Introduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven DevelopmentIntroduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven Development
Elisabeth Hendrickson
 
Istqb chapter 5
Istqb chapter 5Istqb chapter 5
Istqb chapter 5
nstprabakaran
 
Regression Test Automation Framework
Regression Test Automation Framework Regression Test Automation Framework
Regression Test Automation Framework
Infosys
 
Agile Qa Framework Jacky Wu
Agile Qa Framework Jacky WuAgile Qa Framework Jacky Wu
Agile Qa Framework Jacky Wu
Jacky Wu
 
Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testing
Kanoah
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
KMS Technology
 
Introduction to Software Test Automation
Introduction to Software Test AutomationIntroduction to Software Test Automation
Introduction to Software Test Automation
Amr Ali (ISTQB CTAL Full, CSM, ITIL Foundation)
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
Dimitri Ponomareff
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
Raymond Adrian (Rad) Butalid
 
6 Ways to Measure the ROI of Automated Testing
6 Ways to Measure the ROI of Automated Testing6 Ways to Measure the ROI of Automated Testing
6 Ways to Measure the ROI of Automated Testing
SmartBear
 
Insprint automation, build the culture
Insprint automation, build the cultureInsprint automation, build the culture
Insprint automation, build the culture
ShekharRamphal
 

What's hot (20)

Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Test automation process
Test automation processTest automation process
Test automation process
 
Unit testing best practices
Unit testing best practicesUnit testing best practices
Unit testing best practices
 
QA process Presentation
QA process PresentationQA process Presentation
QA process Presentation
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Group
 
Automated Test Framework with Cucumber
Automated Test Framework with CucumberAutomated Test Framework with Cucumber
Automated Test Framework with Cucumber
 
Iseb, ISTQB Static Testing
Iseb, ISTQB Static TestingIseb, ISTQB Static Testing
Iseb, ISTQB Static Testing
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
 
Introduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven DevelopmentIntroduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven Development
 
Istqb chapter 5
Istqb chapter 5Istqb chapter 5
Istqb chapter 5
 
Regression Test Automation Framework
Regression Test Automation Framework Regression Test Automation Framework
Regression Test Automation Framework
 
Agile Qa Framework Jacky Wu
Agile Qa Framework Jacky WuAgile Qa Framework Jacky Wu
Agile Qa Framework Jacky Wu
 
Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testing
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Introduction to Software Test Automation
Introduction to Software Test AutomationIntroduction to Software Test Automation
Introduction to Software Test Automation
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
6 Ways to Measure the ROI of Automated Testing
6 Ways to Measure the ROI of Automated Testing6 Ways to Measure the ROI of Automated Testing
6 Ways to Measure the ROI of Automated Testing
 
Insprint automation, build the culture
Insprint automation, build the cultureInsprint automation, build the culture
Insprint automation, build the culture
 

Similar to How google-tests-software

Automation Concepts
Automation ConceptsAutomation Concepts
Automation Concepts
Nishant Worah
 
ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2
Chandukar
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
Chankey Pathak
 
DISE - Software Testing and Quality Management
DISE - Software Testing and Quality ManagementDISE - Software Testing and Quality Management
DISE - Software Testing and Quality Management
Rasan Samarasinghe
 
Software Testing
Software TestingSoftware Testing
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testing
sankalpkumarsahoo174
 
Software_Testing_ppt.pptx
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
BharathReddy615859
 
testing.pptx
testing.pptxtesting.pptx
testing.pptx
jagadeeppapisettipal
 
Software-Testing-ppt.pptx
Software-Testing-ppt.pptxSoftware-Testing-ppt.pptx
Software-Testing-ppt.pptx
Sushilkumar744913
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overview
Alex Pop
 
software testing
 software testing software testing
software testing
Sara shall
 
Software testing
Software testingSoftware testing
Software testing
Nitin Dhanuka
 
Software testing
Software testingSoftware testing
Software testing
Rtr Sasi Tharan
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
Yogindernath Gupta
 
Software test proposal
Software test proposalSoftware test proposal
Software test proposal
ManikandanRamanujam
 
Software testing2
Software testing2Software testing2
Software testing2
suneeth kumar
 
Software testing
Software testingSoftware testing
Software testing
Rakshitha Raviprakash
 
Demo1ghjkl
Demo1ghjklDemo1ghjkl
Demo1ghjkl
crazyvirtue
 
Software testing
Software testingSoftware testing
Software testing
YashasviSingh23
 
Software testing
Software testingSoftware testing
Software testing
suneeth kumar
 

Similar to How google-tests-software (20)

Automation Concepts
Automation ConceptsAutomation Concepts
Automation Concepts
 
ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
DISE - Software Testing and Quality Management
DISE - Software Testing and Quality ManagementDISE - Software Testing and Quality Management
DISE - Software Testing and Quality Management
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testing
 
Software_Testing_ppt.pptx
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
 
testing.pptx
testing.pptxtesting.pptx
testing.pptx
 
Software-Testing-ppt.pptx
Software-Testing-ppt.pptxSoftware-Testing-ppt.pptx
Software-Testing-ppt.pptx
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overview
 
software testing
 software testing software testing
software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
 
Software test proposal
Software test proposalSoftware test proposal
Software test proposal
 
Software testing2
Software testing2Software testing2
Software testing2
 
Software testing
Software testingSoftware testing
Software testing
 
Demo1ghjkl
Demo1ghjklDemo1ghjkl
Demo1ghjkl
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 

More from Bhawna Tuteja

Basics Of Python Programming
Basics Of Python ProgrammingBasics Of Python Programming
Basics Of Python Programming
Bhawna Tuteja
 
The Power Of Full Engagement
The Power Of Full EngagementThe Power Of Full Engagement
The Power Of Full Engagement
Bhawna Tuteja
 
Git-Basics
Git-BasicsGit-Basics
Git-Basics
Bhawna Tuteja
 
Six sigma
Six sigmaSix sigma
Six sigma
Bhawna Tuteja
 
Lean fundamentals
Lean fundamentalsLean fundamentals
Lean fundamentals
Bhawna Tuteja
 
Coding Best Practices For Memory Management
Coding Best Practices For Memory Management Coding Best Practices For Memory Management
Coding Best Practices For Memory Management
Bhawna Tuteja
 

More from Bhawna Tuteja (6)

Basics Of Python Programming
Basics Of Python ProgrammingBasics Of Python Programming
Basics Of Python Programming
 
The Power Of Full Engagement
The Power Of Full EngagementThe Power Of Full Engagement
The Power Of Full Engagement
 
Git-Basics
Git-BasicsGit-Basics
Git-Basics
 
Six sigma
Six sigmaSix sigma
Six sigma
 
Lean fundamentals
Lean fundamentalsLean fundamentals
Lean fundamentals
 
Coding Best Practices For Memory Management
Coding Best Practices For Memory Management Coding Best Practices For Memory Management
Coding Best Practices For Memory Management
 

Recently uploaded

E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 

Recently uploaded (20)

E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 

How google-tests-software

  • 1.
  • 2.
  • 3. Many Developers : One Tester Many : One Many: One
  • 4. Quality Process: Philosophy Every Body Is Engineer Quality is Responsibility started/owned by Management, Developers, Testers
  • 6. Quality Process – Various Types Of Test • verify the behavior of a single unit of code • No External Dependency. If needed they are mocked. • Used/Executed Frequently to lead quick discovery of bug • Shorter build and execution times for tests. • No/Minimum Test Infrastructure Executed by Developer • Execution Time : less than 100 ms • Kill test target after 1 minute • Lead To Code Quality • Executed by SWE • Automated • validate the interaction of one or more application modules • External Dependency like interaction with database, local file system • Less Frequently Executed • Test Infrastructure • Executed by SET • Execution Time : less than 1 sec • Kill test target after 5 mins • Lead to Product Quality • Executed By SET • Usually Automated • Verify the whole application(all application subsystems from the UI down to backend • data storage) • Must use external resources like remote data base, file system • Execution Time : ASAP • Kill test target in 1 hour • Lead to Product Quality • Executed by TE • Automated Or Maual 0 10% 20% 70% Types Of Tests Small Tests Medium Tests Large Tests
  • 7. Quality Process – Test Execution System Google Execution System Indicates the potential resource needs of a test Test running in this system shouldn’t have any persistent side effect. They must leave their environment exactly in the state when it started Uses test sizes to distinguish fast jobs from slower ones Cancels execution and reports a failure for any test that exceeds the time or resource requirements associated with its test size. Each test must be independent from other tests so that tests can be executed in any order.
  • 8. Quality Process – Continuous Integration System  Based On Dependency Analyses : Build rules are defined to decide which tests to run based on the changes done
  • 9. Quality Process – Test Certified  Set up test coverage bundles.  Set up a continuous build.  Classify your tests as Small, Medium, and Large.  Identify nondeterministic tests.  Create a smoke test suite. Automate running of smoke tests before submitting new code.  Smoke tests should take less than 30 minutes to run.  No nondeterministic tests.  All significant features are tested by integration tests  Total test coverage should be at least 40%.  Test coverage from small tests alone should be at least 25%.  Add a test for each nontrivial bug fix.  Actively use available analysis tools.  Total test coverage should be at least 60%.  Test coverage from small tests alone should be at least 40%.  Incremental coverage by small tests >= 50%.  New significant features are tested by integration tests.  Require tests for all nontrivial changes.  No releases with red tests.  Require a smoke test suite to pass before a submit.  Incremental coverage by all tests >= 50%.  Incremental coverage by small tests >= 10%.  At least one feature tested by an integration test. Level1 Level5 Idea : Hiring/Getting Developers participating in Testing
  • 10. Quality Process – Test Planning “Test plans are the first testing artifact created and the first one to die of neglect.”  10 Minute Test Plan
  • 11. Quality Process – Test Planning If the test plan is actually important, all of these things would be happening every day………………  Test plan actually drive testing activity throughout the entire lifecycle of a product?  Testers continually consult it as they divvy up the features among them so as to divide and conquer the app?  Developers insist the test plan be updated as they add and modify functionality?  Development managers keep a copy open on their desktop as they manage their todo list?  Test manager refer to the contents of a test plan in status and progress meetings?
  • 12. Quality Process – Test Planning- ACC Qualities and characteristics that promote the product and distinguish it from the competition. Attributes are the reasons people would choose to use the product over a competitor.) Components are the building blocks that together constitute the system in question. They are the core components and chunks of code that make the software what it is. Capabilities are the actions the system performs at the command of the user. They are responses to input, answers to queries, and activities accomplished on behalf of the user. Attribute Component Capability C C A
  • 13. Quality Process : Test Planning -ACC
  • 14. Quality Process : GTA(Google Test Analytics)
  • 15. Quality Process : Heat Map
  • 16. Quality Processes : Crowd Sourcing(Testing)  Instead of one tester trying to figure out the way 1,000 users will work, you have 1,000 users acting like testers  Weakness of the crowd is the time it takes for them to learn an application and put it through its paces  Real-world multiplatform testing  Flexibity : People from various Time Zones
  • 17. Quality Process : Free Testing WorkFlow  Cost Of Testing : ~0 Dollar  Cost next to nothing  Instantaneous test results  Require little or no human intervention  Very flexible because one size does not fit all
  • 18. Impact Impact Every Engineer Every Team Every Manager Annual Discussions/Promotions Hiring Impact#High Quality Impact#On Time Release Every Process : Understand Project Goals, Schedule and do what no body has done ever.
  • 19. Organization Structure SWE(Software TE(TestSET(Software Test Lead Manager Test Engineering Manager Test Director Senior Test Director Test Lead
  • 20. Organization Structure SWE(Software Engineer) SET(Software Engineer In Test) (TE)Test Engineer Feature Developer Test Developer User Developer Owner : Code for application to be tested/delivered Owner : Code for test Infrastructure/Automation Owner : Test Results for these infrastructure Application Code Quality Test Infrastructure Code Quality Product Quality(Partial) Product Quality(security, privacy, performance, reliability, usability, compatibility, Globalization) Unit Tests FDD, Architectural design TDD(Partial) TDD Test Plan(Partial) Test Plan Participate in writing tests Writes and owns these tests Execute these tests SET interviewers focus on how the candidate thinks about the solution TE Interview A good SET candidate should not have to be told to test the code she writes. Itshould be an automatic part of her

Editor's Notes

  1. Can we get developers to take testing seriously if we make it a prestigious matter? They got lots of attention from good testers who signed up to be Test Certified Mentors. In a culture where testing resources were scarce, signing up for this program got a product team far more testers than it ordinarily would have merited. • They received guidance from experts and learned how to write better small tests. • They understood which teams were doing a better job of testing and thus who to learn from. • They were able to brag to the other teams that they were higher on the Test Certified scale!