SlideShare una empresa de Scribd logo
1 de 30
Team Wide Testing
Ethan Huang
An Integrated
Development and Testing Lifecycle
Ethan Huang
China Global Delivery Center
It’s about DEVELOPMENT
Tester A:
• Look at that bug; it’s pretty
straightforward that the
functionality doesn’t match
our test case. Why can’t
somebody do a quick smoke
test before checking in the
code?
Developer A:
• Well, yes I agree that’s a bug.
But we didn’t have enough
time, you know, the schedule
is tough, we did as much
verifications as we could
before we checked the code
in; but we didn’t have
enough time to cover that
functionality. It’s great that
the testing team found that
bug, we can fix it later.
A real conversation
Tester B (Test Lead) :
• But that costs a lot, we
spent a whole day to
manually execute all the
functional test cases and
found at least 5 obvious
bugs. They could be
identified even without
looking at the test cases.
Now we need another day
for regression test after
your team gets them fixed.
Developer B (Develop Lead) :
• But that’s the reality, isn’t
it? It’s normal to have bugs.
We cannot avoid delivering
bugs together with the
code. That’s why we have a
testing team.
A real conversation
Find
A BUG
1 h 2 h 4 h 2 h
1 d
1 h2 d1 d0.5 d
AT LEAST 1 week
Fix
This Bug
Smoke
Testing
Generate
A Dev Build
Push
To Test
Bug
Verification
Regression
Testing
Push
To Staging
UATPush
To Production
Rework/Cost
Bad quality
Team silos
And this conversations is
happening everywhere
on this planet…
Why can’t we do things right the first time?
What does
Do?
The REALITY
• 6 Developers : 1 Tester
• Non-structured narrative requirements
• Huge amount of legacy functionalities
• Few tests automated
• 13 weeks to deliver
The PROBLEM
After the planning the whole team was
feeling upset because of the predictable
BAD QUALITY
Team did root cause analysis
Team did root cause analysis
• 1 Tester cannot complete all testing work
• We might have to shrink testing phase
• Big, complicated features - long Dev cycle
needed to deliver one feature
• Huge Regression Testing effort needed to
cover legacy features as well
• Has no Requirements details , only
mockups
• Don’t know what details to
implement/write test cases
• Lots of dependencies – hard to test
80%
20%
• 1 Tester cannot complete all testing work
• We might have to shrink testing phase
• Big, complicated features - long Dev cycle
needed to deliver one feature
• Huge Regression Testing effort needed to
cover legacy features as well
• Has no Requirements details , only
mockups
• Don’t know what details to
implement/write test cases
• Lots of dependencies – hard to test
Team did root cause analysis - voted
Team decisions before kicking off
• Break the team silos – Team Wide Testing
• Do things right the first time – Create fewer bugs
Team
• Developers to be involved into all QA activities
• Let the only Tester organize the whole team
Process
• We don’t do waterfall
• We don’t do small waterfalls iteratively either
A new
V Model
Activities
• Represent Requirement using UAT Cases
• Write Automation Tests before development
• Test Driven Development
• CCR + Local Verification
• Check-In, CI + Continuous Automated Testing
• Daily Verification/Daily Demo
• Do UAT every Iteration
Break feature down to small stories
Every single story
is a development
cycle
Every Sprint
delivers some stories
Two Quality Gates
• Represent Requirement using UAT Cases
• Write Automation Tests before development
• Test Driven Development
• CCR + Local Verification - Quality Gate 1
• Check-In, CI + Continuous Automation Testing
• Daily Verification/Daily Demo - Quality Gate 2
• Do UAT every Iteration
What we achieved
12 Sprints for Development,
1 Sprint for Testing
What we achieved
We didn’t complete all the User Stories
But for those stories we delivered,
the client couldn't find even
ONE BUG
Takeaways
A new Team Model integrates Developers and Testers
A new Lifecycle Model integrates Development and Testing
New Development activities driven by Tests
http://blogs.perficient.com/multi-shoring/blog/author/ehuang/
View my posts on Perficient official blog:

Más contenido relacionado

La actualidad más candente

Using Crowdsourced Testing to Turbocharge your Development Team
Using Crowdsourced Testing to Turbocharge your Development TeamUsing Crowdsourced Testing to Turbocharge your Development Team
Using Crowdsourced Testing to Turbocharge your Development TeamRainforest QA
 
Implementing automation in definition of done is team effort
Implementing automation in definition of done is team effortImplementing automation in definition of done is team effort
Implementing automation in definition of done is team effortAnand Narayan Shirkande
 
Iterative Development Process
Iterative Development ProcessIterative Development Process
Iterative Development ProcessAjay Shrivastava
 
Definition of done training
Definition of done trainingDefinition of done training
Definition of done trainingMonica Yap
 
Definition Of Done
Definition Of DoneDefinition Of Done
Definition Of DoneWei Zhu
 
Moving QA from Reactive to Proactive with qTest
Moving QA from Reactive to Proactive  with qTestMoving QA from Reactive to Proactive  with qTest
Moving QA from Reactive to Proactive with qTestQASymphony
 
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Mike McGarr
 
Ethan huang 全民qa
Ethan huang   全民qaEthan huang   全民qa
Ethan huang 全民qaOdd-e
 
Dev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsDev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsSudipta Lahiri
 
Automated Performance Testing
Automated Performance TestingAutomated Performance Testing
Automated Performance TestingLars Thorup
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi qTomas Riha
 
Break Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus MerrellBreak Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus MerrellSauce Labs
 
Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014Andrey Rebrov
 
ALE15 The real value of a definition of done
ALE15  The real value of a definition of doneALE15  The real value of a definition of done
ALE15 The real value of a definition of doneChristian Vos
 
Extreme Programming - to the next-level
Extreme Programming - to the next-levelExtreme Programming - to the next-level
Extreme Programming - to the next-levelLars Thorup
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Amazon Web Services
 
Adding value in an agile context
Adding value in an agile contextAdding value in an agile context
Adding value in an agile contextHouseofTest
 
QASymphony Atlanta Customer User Group Fall 2017
QASymphony Atlanta Customer User Group Fall 2017QASymphony Atlanta Customer User Group Fall 2017
QASymphony Atlanta Customer User Group Fall 2017QASymphony
 

La actualidad más candente (20)

Using Crowdsourced Testing to Turbocharge your Development Team
Using Crowdsourced Testing to Turbocharge your Development TeamUsing Crowdsourced Testing to Turbocharge your Development Team
Using Crowdsourced Testing to Turbocharge your Development Team
 
Implementing automation in definition of done is team effort
Implementing automation in definition of done is team effortImplementing automation in definition of done is team effort
Implementing automation in definition of done is team effort
 
Iterative Development Process
Iterative Development ProcessIterative Development Process
Iterative Development Process
 
Definition of done training
Definition of done trainingDefinition of done training
Definition of done training
 
Definition Of Done
Definition Of DoneDefinition Of Done
Definition Of Done
 
Definition of Done
Definition of DoneDefinition of Done
Definition of Done
 
Moving QA from Reactive to Proactive with qTest
Moving QA from Reactive to Proactive  with qTestMoving QA from Reactive to Proactive  with qTest
Moving QA from Reactive to Proactive with qTest
 
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
 
Ethan huang 全民qa
Ethan huang   全民qaEthan huang   全民qa
Ethan huang 全民qa
 
Dev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsDev ops is more than CI+CD tools
Dev ops is more than CI+CD tools
 
Automated Performance Testing
Automated Performance TestingAutomated Performance Testing
Automated Performance Testing
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi q
 
Fast end-to-end-tests
Fast end-to-end-testsFast end-to-end-tests
Fast end-to-end-tests
 
Break Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus MerrellBreak Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus Merrell
 
Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014
 
ALE15 The real value of a definition of done
ALE15  The real value of a definition of doneALE15  The real value of a definition of done
ALE15 The real value of a definition of done
 
Extreme Programming - to the next-level
Extreme Programming - to the next-levelExtreme Programming - to the next-level
Extreme Programming - to the next-level
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
Adding value in an agile context
Adding value in an agile contextAdding value in an agile context
Adding value in an agile context
 
QASymphony Atlanta Customer User Group Fall 2017
QASymphony Atlanta Customer User Group Fall 2017QASymphony Atlanta Customer User Group Fall 2017
QASymphony Atlanta Customer User Group Fall 2017
 

Similar a Integrated Development and Testing Lifecycle for Fewer Bugs

Getting By Without "QA"
Getting By Without "QA"Getting By Without "QA"
Getting By Without "QA"Dave King
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseClareMcLennan
 
Scrum and-xp-from-the-trenches 06 testing
Scrum and-xp-from-the-trenches 06 testingScrum and-xp-from-the-trenches 06 testing
Scrum and-xp-from-the-trenches 06 testingHossam Hassan
 
Testing in a DevOps team
Testing in a DevOps teamTesting in a DevOps team
Testing in a DevOps teamLaurent PY
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversionAshish Kumar
 
Battle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectBattle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectGlobalLogic Ukraine
 
An Introduction To Software Development - Final Review
An Introduction To Software Development - Final ReviewAn Introduction To Software Development - Final Review
An Introduction To Software Development - Final ReviewBlue Elephant Consulting
 
Tester Challenges in Agile ?
Tester Challenges in Agile ?Tester Challenges in Agile ?
Tester Challenges in Agile ?alind tiwari
 
Software Testing, Everyone's responsibility
Software Testing, Everyone's responsibilitySoftware Testing, Everyone's responsibility
Software Testing, Everyone's responsibilityKurt Bliefernich
 
Continuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQContinuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQTomas Riha
 
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)Dinis Cruz
 

Similar a Integrated Development and Testing Lifecycle for Fewer Bugs (20)

Getting By Without "QA"
Getting By Without "QA"Getting By Without "QA"
Getting By Without "QA"
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
Scrum and-xp-from-the-trenches 06 testing
Scrum and-xp-from-the-trenches 06 testingScrum and-xp-from-the-trenches 06 testing
Scrum and-xp-from-the-trenches 06 testing
 
Testing in a DevOps team
Testing in a DevOps teamTesting in a DevOps team
Testing in a DevOps team
 
AgileTesting_Ver1.0
AgileTesting_Ver1.0AgileTesting_Ver1.0
AgileTesting_Ver1.0
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversion
 
Battle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectBattle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java Project
 
Great! another bug
Great! another bugGreat! another bug
Great! another bug
 
An Introduction To Software Development - Final Review
An Introduction To Software Development - Final ReviewAn Introduction To Software Development - Final Review
An Introduction To Software Development - Final Review
 
QA Best Practices in Agile World_new
QA Best Practices in Agile World_newQA Best Practices in Agile World_new
QA Best Practices in Agile World_new
 
Tester Challenges in Agile ?
Tester Challenges in Agile ?Tester Challenges in Agile ?
Tester Challenges in Agile ?
 
Agile process
Agile processAgile process
Agile process
 
NYC MeetUp 10.9
NYC MeetUp 10.9NYC MeetUp 10.9
NYC MeetUp 10.9
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Software Testing, Everyone's responsibility
Software Testing, Everyone's responsibilitySoftware Testing, Everyone's responsibility
Software Testing, Everyone's responsibility
 
Invite the tester to the party
Invite the tester to the partyInvite the tester to the party
Invite the tester to the party
 
Tdd
TddTdd
Tdd
 
Continuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQContinuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQ
 
Presentation delex
Presentation delexPresentation delex
Presentation delex
 
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
 

Más de Ethan Huang

Agile Coach & HR (Chinese) - Speech @ Agile Tour 2020
Agile Coach & HR (Chinese) - Speech @ Agile Tour 2020Agile Coach & HR (Chinese) - Speech @ Agile Tour 2020
Agile Coach & HR (Chinese) - Speech @ Agile Tour 2020Ethan Huang
 
Lets abandon performance appraisal
Lets abandon performance appraisalLets abandon performance appraisal
Lets abandon performance appraisalEthan Huang
 
Toolbox for agile coaches@rsg hz2016
Toolbox for agile coaches@rsg hz2016Toolbox for agile coaches@rsg hz2016
Toolbox for agile coaches@rsg hz2016Ethan Huang
 
20 ways to run retrospective differently
20 ways to run retrospective differently20 ways to run retrospective differently
20 ways to run retrospective differentlyEthan Huang
 
Agile testing strategy
Agile testing strategyAgile testing strategy
Agile testing strategyEthan Huang
 
Lets abandon performance appraisal
Lets abandon performance appraisalLets abandon performance appraisal
Lets abandon performance appraisalEthan Huang
 
User Story Cycle Time - An Universal Agile Maturity Measurement
User Story Cycle Time - An Universal Agile Maturity MeasurementUser Story Cycle Time - An Universal Agile Maturity Measurement
User Story Cycle Time - An Universal Agile Maturity MeasurementEthan Huang
 
Are you being the right ScrumMaster?
Are you being the right ScrumMaster?Are you being the right ScrumMaster?
Are you being the right ScrumMaster?Ethan Huang
 
Agile vs. the iron triangle
Agile vs. the iron triangleAgile vs. the iron triangle
Agile vs. the iron triangleEthan Huang
 
Agile development makes elephants dance
Agile development makes elephants danceAgile development makes elephants dance
Agile development makes elephants danceEthan Huang
 

Más de Ethan Huang (10)

Agile Coach & HR (Chinese) - Speech @ Agile Tour 2020
Agile Coach & HR (Chinese) - Speech @ Agile Tour 2020Agile Coach & HR (Chinese) - Speech @ Agile Tour 2020
Agile Coach & HR (Chinese) - Speech @ Agile Tour 2020
 
Lets abandon performance appraisal
Lets abandon performance appraisalLets abandon performance appraisal
Lets abandon performance appraisal
 
Toolbox for agile coaches@rsg hz2016
Toolbox for agile coaches@rsg hz2016Toolbox for agile coaches@rsg hz2016
Toolbox for agile coaches@rsg hz2016
 
20 ways to run retrospective differently
20 ways to run retrospective differently20 ways to run retrospective differently
20 ways to run retrospective differently
 
Agile testing strategy
Agile testing strategyAgile testing strategy
Agile testing strategy
 
Lets abandon performance appraisal
Lets abandon performance appraisalLets abandon performance appraisal
Lets abandon performance appraisal
 
User Story Cycle Time - An Universal Agile Maturity Measurement
User Story Cycle Time - An Universal Agile Maturity MeasurementUser Story Cycle Time - An Universal Agile Maturity Measurement
User Story Cycle Time - An Universal Agile Maturity Measurement
 
Are you being the right ScrumMaster?
Are you being the right ScrumMaster?Are you being the right ScrumMaster?
Are you being the right ScrumMaster?
 
Agile vs. the iron triangle
Agile vs. the iron triangleAgile vs. the iron triangle
Agile vs. the iron triangle
 
Agile development makes elephants dance
Agile development makes elephants danceAgile development makes elephants dance
Agile development makes elephants dance
 

Último

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 

Último (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 

Integrated Development and Testing Lifecycle for Fewer Bugs

  • 1. Team Wide Testing Ethan Huang An Integrated Development and Testing Lifecycle
  • 5. Tester A: • Look at that bug; it’s pretty straightforward that the functionality doesn’t match our test case. Why can’t somebody do a quick smoke test before checking in the code? Developer A: • Well, yes I agree that’s a bug. But we didn’t have enough time, you know, the schedule is tough, we did as much verifications as we could before we checked the code in; but we didn’t have enough time to cover that functionality. It’s great that the testing team found that bug, we can fix it later. A real conversation
  • 6. Tester B (Test Lead) : • But that costs a lot, we spent a whole day to manually execute all the functional test cases and found at least 5 obvious bugs. They could be identified even without looking at the test cases. Now we need another day for regression test after your team gets them fixed. Developer B (Develop Lead) : • But that’s the reality, isn’t it? It’s normal to have bugs. We cannot avoid delivering bugs together with the code. That’s why we have a testing team. A real conversation
  • 7. Find A BUG 1 h 2 h 4 h 2 h 1 d 1 h2 d1 d0.5 d AT LEAST 1 week Fix This Bug Smoke Testing Generate A Dev Build Push To Test Bug Verification Regression Testing Push To Staging UATPush To Production Rework/Cost
  • 10. And this conversations is happening everywhere on this planet…
  • 11. Why can’t we do things right the first time?
  • 13. The REALITY • 6 Developers : 1 Tester • Non-structured narrative requirements • Huge amount of legacy functionalities • Few tests automated • 13 weeks to deliver
  • 14. The PROBLEM After the planning the whole team was feeling upset because of the predictable BAD QUALITY
  • 15. Team did root cause analysis
  • 16. Team did root cause analysis • 1 Tester cannot complete all testing work • We might have to shrink testing phase • Big, complicated features - long Dev cycle needed to deliver one feature • Huge Regression Testing effort needed to cover legacy features as well • Has no Requirements details , only mockups • Don’t know what details to implement/write test cases • Lots of dependencies – hard to test
  • 17. 80% 20% • 1 Tester cannot complete all testing work • We might have to shrink testing phase • Big, complicated features - long Dev cycle needed to deliver one feature • Huge Regression Testing effort needed to cover legacy features as well • Has no Requirements details , only mockups • Don’t know what details to implement/write test cases • Lots of dependencies – hard to test Team did root cause analysis - voted
  • 18. Team decisions before kicking off • Break the team silos – Team Wide Testing • Do things right the first time – Create fewer bugs
  • 19. Team • Developers to be involved into all QA activities • Let the only Tester organize the whole team
  • 20. Process • We don’t do waterfall • We don’t do small waterfalls iteratively either
  • 22. Activities • Represent Requirement using UAT Cases • Write Automation Tests before development • Test Driven Development • CCR + Local Verification • Check-In, CI + Continuous Automated Testing • Daily Verification/Daily Demo • Do UAT every Iteration
  • 23. Break feature down to small stories
  • 24. Every single story is a development cycle
  • 26. Two Quality Gates • Represent Requirement using UAT Cases • Write Automation Tests before development • Test Driven Development • CCR + Local Verification - Quality Gate 1 • Check-In, CI + Continuous Automation Testing • Daily Verification/Daily Demo - Quality Gate 2 • Do UAT every Iteration
  • 27. What we achieved 12 Sprints for Development, 1 Sprint for Testing
  • 28. What we achieved We didn’t complete all the User Stories
  • 29. But for those stories we delivered, the client couldn't find even ONE BUG
  • 30. Takeaways A new Team Model integrates Developers and Testers A new Lifecycle Model integrates Development and Testing New Development activities driven by Tests http://blogs.perficient.com/multi-shoring/blog/author/ehuang/ View my posts on Perficient official blog: