SlideShare a Scribd company logo
1 of 21
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

How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy Impetus Technologies
 
Manual Testing
Manual TestingManual Testing
Manual TestingG.C Reddy
 
Test Automation
Test AutomationTest Automation
Test Automationrockoder
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing ProcessIntetics
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOpsTechWell
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and SeleniumKarapet Sarkisyan
 
Cigniti Independent Software Testing Services
Cigniti Independent Software Testing ServicesCigniti Independent Software Testing Services
Cigniti Independent Software Testing ServicesCigniti Technologies Ltd
 
Agile & Secure SDLC
Agile & Secure SDLCAgile & Secure SDLC
Agile & Secure SDLCPaul Yang
 
Codeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar PresentationCodeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar PresentationInflectra
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updatedTharinda Liyanage
 
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...Edureka!
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMIBM UrbanCode Products
 
Katalon Studio - A Codeless Automation Tool.pdf
Katalon Studio - A Codeless Automation Tool.pdfKatalon Studio - A Codeless Automation Tool.pdf
Katalon Studio - A Codeless Automation Tool.pdfKnoldus Inc.
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingArchana Krushnan
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Leonard Fingerman
 

What's hot (20)

How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy
 
Manual Testing
Manual TestingManual Testing
Manual Testing
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOps
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
 
Cigniti Independent Software Testing Services
Cigniti Independent Software Testing ServicesCigniti Independent Software Testing Services
Cigniti Independent Software Testing Services
 
Agile & Secure SDLC
Agile & Secure SDLCAgile & Secure SDLC
Agile & Secure SDLC
 
Testing Services
Testing ServicesTesting Services
Testing Services
 
Codeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar PresentationCodeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar Presentation
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
 
Agile testing
Agile testingAgile testing
Agile testing
 
Testing resume
Testing resumeTesting resume
Testing resume
 
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBM
 
Katalon Studio - A Codeless Automation Tool.pdf
Katalon Studio - A Codeless Automation Tool.pdfKatalon Studio - A Codeless Automation Tool.pdf
Katalon Studio - A Codeless Automation Tool.pdf
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Guide to Agile testing
Guide to Agile testingGuide to Agile testing
Guide to Agile testing
 

Similar to How google-tests-software

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
 
Software testing
Software testingSoftware testing
Software testing
 
Demo1ghjkl
Demo1ghjklDemo1ghjkl
Demo1ghjkl
 
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 ProgrammingBhawna Tuteja
 
The Power Of Full Engagement
The Power Of Full EngagementThe Power Of Full Engagement
The Power Of Full EngagementBhawna 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

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 

Recently uploaded (20)

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 

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!