SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
Beyond Agile
Testing to Lean
Development
James O. Coplien
Gertrud & Cope
BEYOND AGILE TESTING TO LEAN DEVELOPMENT - Jim Coplien
• Testing is a business function that should be focused on risk 
• Lean defines testing as waste — why do it? 
• Automated tests should reflect requirements, but testers shouldn't test requirements 
• Testers are the team's conscience
50 Minutes
1 20140925FiSTBKeynote.key - 27 Sep 2014
2-1 20140925FiSTBKeynote.key - 27 Sep 2014
2-2 20140925FiSTBKeynote.key - 27 Sep 2014
3-1 20140925FiSTBKeynote.key - 27 Sep 2014
3-2 20140925FiSTBKeynote.key - 27 Sep 2014
4-1 20140925FiSTBKeynote.key - 27 Sep 2014
4-2 20140925FiSTBKeynote.key - 27 Sep 2014
5-1 20140925FiSTBKeynote.key - 27 Sep 2014
5-2 20140925FiSTBKeynote.key - 27 Sep 2014
http://www.ambysoft.com/essays/agileTesting.html
6 20140925FiSTBKeynote.key - 27 Sep 2014
What	
  we	
  Wish	
  Agile	
  Testing	
  Were
(Big thanks to Michael Bolton and James Bach)
7 20140925FiSTBKeynote.key - 27 Sep 2014
Agile Testing
means “Test-first”
… and almost always
at the unit level
Specification by example.
“Context-driven testing is sometimes considered a ‘flavor' of agile software development.” — http://
searchsoftwarequality.techtarget.com/definition/context-driven-testing
8-1 20140925FiSTBKeynote.key - 27 Sep 2014
Agile Testing
means “Test-first”
… and almost always
at the unit level
Specificatio
n
by
E
xam
ple
Contextualtesting
Autom
ation
JUnit
TDD
"At the basis of the test automation
pyramid is unit testing. Unit testing
should be the foundation of a solid test
automation strategy and as such
represents the largest part of the
pyramid.” — Mike Cohn
Specification by example.
“Context-driven testing is sometimes considered a ‘flavor' of agile software development.” — http://
searchsoftwarequality.techtarget.com/definition/context-driven-testing
8-2 20140925FiSTBKeynote.key - 27 Sep 2014
Agile Testing
means “Test-first”
… and almost always
at the unit level
Specificatio
n
by
E
xam
ple
Contextualtesting
Autom
ation
JUnit
TDD
Processes and tools
over
Individuals
and Interactions
Specification by example.
“Context-driven testing is sometimes considered a ‘flavor' of agile software development.” — http://
searchsoftwarequality.techtarget.com/definition/context-driven-testing
8-3 20140925FiSTBKeynote.key - 27 Sep 2014
Part I: (Unit)
Testing is Muda
9 20140925FiSTBKeynote.key - 27 Sep 2014
Unit Testing is One of the
Least Efficient Ways we
Know to Remove Defects
Removal Step Efficiency
Formal Inspections 93%
Static Analysis 55%
System Test 36%
Functional Test 35%
Component Test 32%
Unit Test 32%
Desk Check 27%
Prototyping 20%
Acceptance Tests 17%
Regression Tests 14%
(“Software Defect Origins and Removal Methods,” Draft 5, 28 December 2012, http://www.ifpug.org/Documents/Jones-
SoftwareDefectOriginsAndRemovalMethodsDraft5.pdf
10 20140925FiSTBKeynote.key - 27 Sep 2014
Why doesn’t unit
testing work?
We can’t test things of business
value
Not knowing what to test, we test
many things that don’t need testing
Automated crap is still crap
11 20140925FiSTBKeynote.key - 27 Sep 2014
Unit tests can’t test
things of business value
In an OO world you can’t tell, from the code,
whether a method will ever be executed — or in
what sequence
There is rarely any explicit link from unit tests
to anything of business value
What’s amazing is that we continue to test…
Paths that will never be exercised
Methods that are never used
Ungrounded method invocation sequences
12 20140925FiSTBKeynote.key - 27 Sep 2014
Not knowing what to test,
we test things that don’t
need testing
We test scenarios that will never be
exercised in the real world
We test methods that will never be
invoked
13 20140925FiSTBKeynote.key - 27 Sep 2014
Automated crap is
still crap
Automation for its sake is waste
Design requires intelligence: intelligence cannot be
automated
Autonomation instead of automation
You still need exploratory and experience-based testing
Get manual procedures working first and then
automate the mundane parts
Design for Test like they do in hardware
14 20140925FiSTBKeynote.key - 27 Sep 2014
Automated testing is not
testing
http://qz.com/196200/toyota-is-becoming-more-efficient-by-replacing-robots-with-humans/ Max Niesen, April 7, 2014
James Bach: “Testing Requires Inference.” “Exploratory inference may sound like a strange idea. It means one idea leading
to another in ways you can’t predict in advance” [and, therefore, can’t script].
15 20140925FiSTBKeynote.key - 27 Sep 2014
The software is trained
to pass the tests
"In software testing, it gets progressively
harder and harder to find defects. If we
run the same test or use the same
technique over and over, the effort
becomes less effective each time we do it,
because we find only the easy-to-find
bugs. The software is trained to pass the
test. …” — Ross Smith, Microsoft
16 20140925FiSTBKeynote.key - 27 Sep 2014
That kind of test thinking,
leads to a bottom-up
procedural architecture
Citation: Siniaalto and Abrahamsson, Does Test-Driven Development Improve the Program Code? Alarming results from a
Comparative Case Study. Proceedings of Cee-Set 2007, 10 - 12 October, 2007, Poznan, Poland.
17 20140925FiSTBKeynote.key - 27 Sep 2014
18 20140925FiSTBKeynote.key - 27 Sep 2014
Part II: Why do we
unit test?
Because we can
It doesn’t require teamwork
We don’t have to talk with the
business
We get to interact with tools
instead of people
Our decisions are emotional,
not rational
Last point: Most tests are irrational: i.e., you can never presume software correctness from the tests. But we do feel better by
having checked, so we test anyhow.
19 20140925FiSTBKeynote.key - 27 Sep 2014
Nokia Test Score 2:
Testing
No dedicated QA - 0

Unit tested - 1

Feature tested - 5

Feature tested as soon as completed - 7

Software passes acceptance testing - 8

Software is deployed - 10
20 20140925FiSTBKeynote.key - 27 Sep 2014
Part III: You Will Have Bugs!
Scenarios we
test in the lab
!
!
! !
!
!
Scenarios
exhibiting
faults
!
Scenarios
invoked in
the field
21 20140925FiSTBKeynote.key - 27 Sep 2014
Testing waste
Scenarios we
test in the lab
!
!
! !
!
!
Scenarios
exhibiting
faults
!
Scenarios
invoked in
the field
Type 2: Weinberg’s Law of Decomposition
Type 4: Keeping tests that never fail
22-1 20140925FiSTBKeynote.key - 27 Sep 2014
Testing waste
Scenarios we
test in the lab
!
!
! !
!
!
Scenarios
exhibiting
faults
!
Scenarios
invoked in
the field
Type 1
Muda
Type 1: Defects
Type 2: Weinberg’s Law of Decomposition
Type 4: Keeping tests that never fail
22-2 20140925FiSTBKeynote.key - 27 Sep 2014
Testing waste
Scenarios we
test in the lab
!
!
! !
!
!
Scenarios
exhibiting
faults
!
Scenarios
invoked in
the field
Type 2
Muda
Type 1
Muda
Type 1: Defects
Type 2: Stuff
customers
don’t ask for
Type 2: Weinberg’s Law of Decomposition
Type 4: Keeping tests that never fail
22-3 20140925FiSTBKeynote.key - 27 Sep 2014
Testing waste
Scenarios we
test in the lab
!
!
! !
!
!
Scenarios
exhibiting
faults
!
Scenarios
invoked in
the field
Type 2
Muda
Type 1
Muda
Type 4
Muda
Type 1: Defects
Type 2: Stuff
customers
don’t ask for
Type 4:
Overprocessing
Type 2: Weinberg’s Law of Decomposition
Type 4: Keeping tests that never fail
22-4 20140925FiSTBKeynote.key - 27 Sep 2014
Testing waste
!
!
!
Scenarios
exhibiting
faults
!
Scenarios
invoked in
the field
Type 1
Muda
Type 4
Muda
Type 1: Defects
Type 2: Stuff
customers
don’t ask for
Type 4:
OverprocessingType
1 Muda
(field)
Type 2: Weinberg’s Law of Decomposition
Type 4: Keeping tests that never fail
22-5 20140925FiSTBKeynote.key - 27 Sep 2014
Testing waste
!
!
!
Scenarios
exhibiting
faults
!
Scenarios
invoked in
the field
Type 1
Muda
Type 4
Muda
Type 1: Defects
Type 2: Stuff
customers
don’t ask for
Type 4:
OverprocessingType
1 Muda
(field)
Removing tests
leaves field faults
undetected!
Type 2: Weinberg’s Law of Decomposition
Type 4: Keeping tests that never fail
22-6 20140925FiSTBKeynote.key - 27 Sep 2014
Reduction of Waste
Type 1: Better testing (e.g., going beyond
contextual testing to exploratory & experience-
based testing) (and better yet, better analysis
and design, where the real payoffs are)
Type 2: Just get rid of the tests
Type 4: Remove redundant and tautalogical
tests
Type 1 in the field: Ship your tests!
23 20140925FiSTBKeynote.key - 27 Sep 2014
Don’t take the tests
out when you ship!
Remember, you will have bugs in the
field!
Deployment is your largest test driver
Ship your tests as part of the code
IN case of a failure, it saves you
from Type 9 muda (unsafe execution)
Be customer-focused
24 20140925FiSTBKeynote.key - 27 Sep 2014
Defensive
Programming
… is largely the incorporation of
tests in the code
Long known for high-reliability
systems
The value of asserting the obvious
Design by Contract
25 20140925FiSTBKeynote.key - 27 Sep 2014
Assertions make code
readable!
- (void) prepareForSegue: (UIStoryboardSegue*) segue
sender: (id) sender
{
assert(segue != nil);
if ([[segue identifier] isEqualToString:
@"SegueAvatarPickerToPickOneLoginPlayer"]) {
assert((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone));
// The field parentViewController_ (instance variable) is
// maybe null if we are in iPhone mode and doing a real
// segue, instead of a popover as we do on the iPad. So
// get the right object from the segue record.
KnowsyPlayerPickerCommonViewController *parentViewController =
[segue destinationViewController];
[parentViewController setKnowsyData: knowsyData_];
} else {
// iPad - no special processing - should be no popover
assert(parentViewController_ == nil);
}
}
26 20140925FiSTBKeynote.key - 27 Sep 2014
Agile testing isn’t
about tools!
It’s about the test effort being customer-
focused
It’s about partners instead of customers
It’s about “stopping the line” when
discovering a defect — even in deployment
It’s about quality at every step
These are all Lean ideas
27 20140925FiSTBKeynote.key - 27 Sep 2014
Part IV: Beyond agile
testing, Lean testing
When a test finds a bug, it’s about
fixing the process — not the bug
The long-term payoff is higher!
No bug-tracking systems: we fix
problems NOW.
The tester should be the team’s
conscience
Conscience… Curmudgeonly and like Emperor’s New Clothes — not in the sense of standing in the way. That’s business’s
job.
28 20140925FiSTBKeynote.key - 27 Sep 2014
Other Lean-isms
Deming: Quality is inversely
proportional to the number of
testers
GM kept around its cars for 1 - 6
weeks for test and repair: Toyota
drove them off the end of the
assembly line onto the car carriers.
No unit - subsystem - system - integration - acceptance test leveling.
29 20140925FiSTBKeynote.key - 27 Sep 2014
Conclusion
Be humble about what tests can accomplish
It’s not about testing, but value
Design tests to assess properties of business value
Go beyond unit testing to defensive
programming and design-by-contract
As agile testers, focus on process first and
product second
30 20140925FiSTBKeynote.key - 27 Sep 2014
31-1 20140925FiSTBKeynote.key - 27 Sep 2014
31-2 20140925FiSTBKeynote.key - 27 Sep 2014
32 20140925FiSTBKeynote.key - 27 Sep 2014

Más contenido relacionado

La actualidad más candente

General technical interview questions
General technical interview questionsGeneral technical interview questions
General technical interview questionsKevalkumar Shah
 
Software Testing
Software TestingSoftware Testing
Software TestingAdroitLogic
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Grig Gheorghiu
 
Test-Driven Development (TDD)
Test-Driven Development (TDD)Test-Driven Development (TDD)
Test-Driven Development (TDD)Brian Rasmussen
 
Software testing and quality assurance
Software testing and quality assuranceSoftware testing and quality assurance
Software testing and quality assuranceBenjamin Baumann
 
Unit Testing in Action - C#, NUnit, and Moq
Unit Testing in Action - C#, NUnit, and MoqUnit Testing in Action - C#, NUnit, and Moq
Unit Testing in Action - C#, NUnit, and MoqXPDays
 
Quality Assurance Guidelines
Quality Assurance GuidelinesQuality Assurance Guidelines
Quality Assurance GuidelinesTim Stribos
 
Engaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile ProjectsEngaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile ProjectsRavi Kumar
 
Test driven development
Test driven developmentTest driven development
Test driven developmentnamkha87
 
When will ai take my job as a tester
When will ai take my job as a testerWhen will ai take my job as a tester
When will ai take my job as a testerSAP SE
 
Tutorial of web application load testing in selinium
Tutorial of web application load testing in seliniumTutorial of web application load testing in selinium
Tutorial of web application load testing in seliniumKevalkumar Shah
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyIosif Itkin
 
Testing Experience - Evolution of Test Automation Frameworks
Testing Experience - Evolution of Test Automation FrameworksTesting Experience - Evolution of Test Automation Frameworks
Testing Experience - Evolution of Test Automation FrameworksŁukasz Morawski
 
Testing without assertions - #HUSTEF2019
Testing without assertions - #HUSTEF2019Testing without assertions - #HUSTEF2019
Testing without assertions - #HUSTEF2019SAP SE
 
Test Drive Development
Test Drive DevelopmentTest Drive Development
Test Drive Developmentsatya sudheer
 
Istqb question-paper-dump-4
Istqb question-paper-dump-4Istqb question-paper-dump-4
Istqb question-paper-dump-4TestingGeeks
 
Selenium Testing Project report
Selenium Testing Project reportSelenium Testing Project report
Selenium Testing Project reportKapil Rajpurohit
 
Behavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowBehavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowRachid Kherrazi
 

La actualidad más candente (19)

General technical interview questions
General technical interview questionsGeneral technical interview questions
General technical interview questions
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Why Unit Testingl
Why Unit TestinglWhy Unit Testingl
Why Unit Testingl
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009
 
Test-Driven Development (TDD)
Test-Driven Development (TDD)Test-Driven Development (TDD)
Test-Driven Development (TDD)
 
Software testing and quality assurance
Software testing and quality assuranceSoftware testing and quality assurance
Software testing and quality assurance
 
Unit Testing in Action - C#, NUnit, and Moq
Unit Testing in Action - C#, NUnit, and MoqUnit Testing in Action - C#, NUnit, and Moq
Unit Testing in Action - C#, NUnit, and Moq
 
Quality Assurance Guidelines
Quality Assurance GuidelinesQuality Assurance Guidelines
Quality Assurance Guidelines
 
Engaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile ProjectsEngaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile Projects
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
When will ai take my job as a tester
When will ai take my job as a testerWhen will ai take my job as a tester
When will ai take my job as a tester
 
Tutorial of web application load testing in selinium
Tutorial of web application load testing in seliniumTutorial of web application load testing in selinium
Tutorial of web application load testing in selinium
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
 
Testing Experience - Evolution of Test Automation Frameworks
Testing Experience - Evolution of Test Automation FrameworksTesting Experience - Evolution of Test Automation Frameworks
Testing Experience - Evolution of Test Automation Frameworks
 
Testing without assertions - #HUSTEF2019
Testing without assertions - #HUSTEF2019Testing without assertions - #HUSTEF2019
Testing without assertions - #HUSTEF2019
 
Test Drive Development
Test Drive DevelopmentTest Drive Development
Test Drive Development
 
Istqb question-paper-dump-4
Istqb question-paper-dump-4Istqb question-paper-dump-4
Istqb question-paper-dump-4
 
Selenium Testing Project report
Selenium Testing Project reportSelenium Testing Project report
Selenium Testing Project report
 
Behavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowBehavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlow
 

Destacado

2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?
2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?
2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?James Coplien
 
Nuevas tecnologías de información en computo
Nuevas  tecnologías  de información  en computoNuevas  tecnologías  de información  en computo
Nuevas tecnologías de información en computoMaria Alejandra
 
Totem Sustainability Pitch Deck
Totem Sustainability Pitch DeckTotem Sustainability Pitch Deck
Totem Sustainability Pitch DeckIan Dodd
 
Social Media Strategies for FACC
Social Media Strategies for FACCSocial Media Strategies for FACC
Social Media Strategies for FACCMichael Procopio
 
Five Steps for Working Smarter
Five Steps for Working SmarterFive Steps for Working Smarter
Five Steps for Working SmarterAdam Sicinski
 
Investment analysis of startups
Investment analysis of startups Investment analysis of startups
Investment analysis of startups Anton Fedorov
 
Geke van Dijk, "Tugboats and Tankers: Contributing to Longterm Organizational...
Geke van Dijk, "Tugboats and Tankers: Contributing to Longterm Organizational...Geke van Dijk, "Tugboats and Tankers: Contributing to Longterm Organizational...
Geke van Dijk, "Tugboats and Tankers: Contributing to Longterm Organizational...WebVisions
 
Words That Inspire Me
Words That Inspire MeWords That Inspire Me
Words That Inspire MeOH TEIK BIN
 
Grafico diario del dax perfomance index para el 13 03-2012
Grafico diario del dax perfomance index para el 13 03-2012Grafico diario del dax perfomance index para el 13 03-2012
Grafico diario del dax perfomance index para el 13 03-2012Experiencia Trading
 
Daily Snapshot - 31st January 2017
Daily Snapshot - 31st January 2017Daily Snapshot - 31st January 2017
Daily Snapshot - 31st January 2017Tracxn
 
Rifle scopes
Rifle scopesRifle scopes
Rifle scopespau0006
 
How to deal with confrontational students
How to deal with confrontational studentsHow to deal with confrontational students
How to deal with confrontational studentskaiperm17
 
The lego story in comic book form
The lego story in comic book formThe lego story in comic book form
The lego story in comic book formDavid Robertson
 
Технология раскрашивания
Технология раскрашиванияТехнология раскрашивания
Технология раскрашиванияkulibin
 
User Engagement - A scientific Challenge
User Engagement - A scientific ChallengeUser Engagement - A scientific Challenge
User Engagement - A scientific ChallengeJanette Lehmann
 

Destacado (20)

Secrets of Scrum
Secrets of ScrumSecrets of Scrum
Secrets of Scrum
 
2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?
2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?
2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?
 
Guitar
GuitarGuitar
Guitar
 
Nuevas tecnologías de información en computo
Nuevas  tecnologías  de información  en computoNuevas  tecnologías  de información  en computo
Nuevas tecnologías de información en computo
 
Totem Sustainability Pitch Deck
Totem Sustainability Pitch DeckTotem Sustainability Pitch Deck
Totem Sustainability Pitch Deck
 
Social Media Strategies for FACC
Social Media Strategies for FACCSocial Media Strategies for FACC
Social Media Strategies for FACC
 
Five Steps for Working Smarter
Five Steps for Working SmarterFive Steps for Working Smarter
Five Steps for Working Smarter
 
Investment analysis of startups
Investment analysis of startups Investment analysis of startups
Investment analysis of startups
 
Geke van Dijk, "Tugboats and Tankers: Contributing to Longterm Organizational...
Geke van Dijk, "Tugboats and Tankers: Contributing to Longterm Organizational...Geke van Dijk, "Tugboats and Tankers: Contributing to Longterm Organizational...
Geke van Dijk, "Tugboats and Tankers: Contributing to Longterm Organizational...
 
Experiencias de ensamblado de un computador
Experiencias de ensamblado de un computadorExperiencias de ensamblado de un computador
Experiencias de ensamblado de un computador
 
Words That Inspire Me
Words That Inspire MeWords That Inspire Me
Words That Inspire Me
 
Guia de estudio fe y obras del 4 6
Guia de estudio fe y obras del 4 6Guia de estudio fe y obras del 4 6
Guia de estudio fe y obras del 4 6
 
Grafico diario del dax perfomance index para el 13 03-2012
Grafico diario del dax perfomance index para el 13 03-2012Grafico diario del dax perfomance index para el 13 03-2012
Grafico diario del dax perfomance index para el 13 03-2012
 
Daily Snapshot - 31st January 2017
Daily Snapshot - 31st January 2017Daily Snapshot - 31st January 2017
Daily Snapshot - 31st January 2017
 
Rifle scopes
Rifle scopesRifle scopes
Rifle scopes
 
Pando Ventures Presse Kit
Pando Ventures Presse KitPando Ventures Presse Kit
Pando Ventures Presse Kit
 
How to deal with confrontational students
How to deal with confrontational studentsHow to deal with confrontational students
How to deal with confrontational students
 
The lego story in comic book form
The lego story in comic book formThe lego story in comic book form
The lego story in comic book form
 
Технология раскрашивания
Технология раскрашиванияТехнология раскрашивания
Технология раскрашивания
 
User Engagement - A scientific Challenge
User Engagement - A scientific ChallengeUser Engagement - A scientific Challenge
User Engagement - A scientific Challenge
 

Similar a 20140925 fistb keynote

An exploratory study of the state of practice of performance testing in Java-...
An exploratory study of the state of practice of performance testing in Java-...An exploratory study of the state of practice of performance testing in Java-...
An exploratory study of the state of practice of performance testing in Java-...corpaulbezemer
 
Developers’ mDay u Banjoj Luci - Milan Popović, PHP Srbija – Testimony (about...
Developers’ mDay u Banjoj Luci - Milan Popović, PHP Srbija – Testimony (about...Developers’ mDay u Banjoj Luci - Milan Popović, PHP Srbija – Testimony (about...
Developers’ mDay u Banjoj Luci - Milan Popović, PHP Srbija – Testimony (about...mCloud
 
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...IRJET Journal
 
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success Cloudtestr Inc.
 
Assessing the business value of Agile Engineering Practices
Assessing the business value of Agile Engineering PracticesAssessing the business value of Agile Engineering Practices
Assessing the business value of Agile Engineering PracticesRob Myers
 
Software Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaSoftware Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaEdureka!
 
Top 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | EdurekaTop 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | EdurekaEdureka!
 
Software Testing - Online Guide
Software Testing - Online GuideSoftware Testing - Online Guide
Software Testing - Online Guidebigspire
 
Do you have a #bug? Your unit tests are not well planned
Do you have a #bug? Your unit tests are not well plannedDo you have a #bug? Your unit tests are not well planned
Do you have a #bug? Your unit tests are not well plannedJosé San Román A. de Lara
 
Continuous Testing - The Final Frontier
Continuous Testing - The Final FrontierContinuous Testing - The Final Frontier
Continuous Testing - The Final FrontierJaco Greyling
 
Software testing 2012 - A Year in Review
Software testing 2012 - A Year in ReviewSoftware testing 2012 - A Year in Review
Software testing 2012 - A Year in ReviewJohan Hoberg
 
User Acceptance Testing in the Testing Center of Excellence
User Acceptance Testing in the Testing Center of ExcellenceUser Acceptance Testing in the Testing Center of Excellence
User Acceptance Testing in the Testing Center of ExcellenceTechWell
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)Javier Gonzalez-Sanchez
 
Fundamental Of Testing
Fundamental Of TestingFundamental Of Testing
Fundamental Of Testingsuci maisaroh
 
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
 
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedSwiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedMichael Palotas
 
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...Edureka!
 
NG_TEST_Presentation_0510
NG_TEST_Presentation_0510NG_TEST_Presentation_0510
NG_TEST_Presentation_0510techweb08
 
NGTEST_Presentation
NGTEST_PresentationNGTEST_Presentation
NGTEST_Presentationtechweb08
 
NG_TEST_SR_Presentation
NG_TEST_SR_PresentationNG_TEST_SR_Presentation
NG_TEST_SR_Presentationtechweb08
 

Similar a 20140925 fistb keynote (20)

An exploratory study of the state of practice of performance testing in Java-...
An exploratory study of the state of practice of performance testing in Java-...An exploratory study of the state of practice of performance testing in Java-...
An exploratory study of the state of practice of performance testing in Java-...
 
Developers’ mDay u Banjoj Luci - Milan Popović, PHP Srbija – Testimony (about...
Developers’ mDay u Banjoj Luci - Milan Popović, PHP Srbija – Testimony (about...Developers’ mDay u Banjoj Luci - Milan Popović, PHP Srbija – Testimony (about...
Developers’ mDay u Banjoj Luci - Milan Popović, PHP Srbija – Testimony (about...
 
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...
 
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
 
Assessing the business value of Agile Engineering Practices
Assessing the business value of Agile Engineering PracticesAssessing the business value of Agile Engineering Practices
Assessing the business value of Agile Engineering Practices
 
Software Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaSoftware Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | Edureka
 
Top 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | EdurekaTop 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | Edureka
 
Software Testing - Online Guide
Software Testing - Online GuideSoftware Testing - Online Guide
Software Testing - Online Guide
 
Do you have a #bug? Your unit tests are not well planned
Do you have a #bug? Your unit tests are not well plannedDo you have a #bug? Your unit tests are not well planned
Do you have a #bug? Your unit tests are not well planned
 
Continuous Testing - The Final Frontier
Continuous Testing - The Final FrontierContinuous Testing - The Final Frontier
Continuous Testing - The Final Frontier
 
Software testing 2012 - A Year in Review
Software testing 2012 - A Year in ReviewSoftware testing 2012 - A Year in Review
Software testing 2012 - A Year in Review
 
User Acceptance Testing in the Testing Center of Excellence
User Acceptance Testing in the Testing Center of ExcellenceUser Acceptance Testing in the Testing Center of Excellence
User Acceptance Testing in the Testing Center of Excellence
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
 
Fundamental Of Testing
Fundamental Of TestingFundamental Of Testing
Fundamental Of Testing
 
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
 
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedSwiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
 
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
 
NG_TEST_Presentation_0510
NG_TEST_Presentation_0510NG_TEST_Presentation_0510
NG_TEST_Presentation_0510
 
NGTEST_Presentation
NGTEST_PresentationNGTEST_Presentation
NGTEST_Presentation
 
NG_TEST_SR_Presentation
NG_TEST_SR_PresentationNG_TEST_SR_Presentation
NG_TEST_SR_Presentation
 

Más de James Coplien

Scale-Free Networks: How to Fix Problems in Hierarchical Scaled Organizations
Scale-Free Networks: How to Fix Problems in Hierarchical Scaled OrganizationsScale-Free Networks: How to Fix Problems in Hierarchical Scaled Organizations
Scale-Free Networks: How to Fix Problems in Hierarchical Scaled OrganizationsJames Coplien
 
Real Object-Oriented Programming: Empirically Validated Benefits of the DCI P...
Real Object-Oriented Programming: Empirically Validated Benefits of the DCI P...Real Object-Oriented Programming: Empirically Validated Benefits of the DCI P...
Real Object-Oriented Programming: Empirically Validated Benefits of the DCI P...James Coplien
 
Scale-Free Organizations: A Sober View, Some History, and How to Make One
Scale-Free Organizations: A Sober View, Some History, and How to Make OneScale-Free Organizations: A Sober View, Some History, and How to Make One
Scale-Free Organizations: A Sober View, Some History, and How to Make OneJames Coplien
 
Scrum Patterns: The New Defacto Scrum Standard
Scrum Patterns: The New Defacto Scrum StandardScrum Patterns: The New Defacto Scrum Standard
Scrum Patterns: The New Defacto Scrum StandardJames Coplien
 
Balancing the tension between Lean and Agile
Balancing the tension between Lean and AgileBalancing the tension between Lean and Agile
Balancing the tension between Lean and AgileJames Coplien
 

Más de James Coplien (6)

Scrum Patterns
Scrum PatternsScrum Patterns
Scrum Patterns
 
Scale-Free Networks: How to Fix Problems in Hierarchical Scaled Organizations
Scale-Free Networks: How to Fix Problems in Hierarchical Scaled OrganizationsScale-Free Networks: How to Fix Problems in Hierarchical Scaled Organizations
Scale-Free Networks: How to Fix Problems in Hierarchical Scaled Organizations
 
Real Object-Oriented Programming: Empirically Validated Benefits of the DCI P...
Real Object-Oriented Programming: Empirically Validated Benefits of the DCI P...Real Object-Oriented Programming: Empirically Validated Benefits of the DCI P...
Real Object-Oriented Programming: Empirically Validated Benefits of the DCI P...
 
Scale-Free Organizations: A Sober View, Some History, and How to Make One
Scale-Free Organizations: A Sober View, Some History, and How to Make OneScale-Free Organizations: A Sober View, Some History, and How to Make One
Scale-Free Organizations: A Sober View, Some History, and How to Make One
 
Scrum Patterns: The New Defacto Scrum Standard
Scrum Patterns: The New Defacto Scrum StandardScrum Patterns: The New Defacto Scrum Standard
Scrum Patterns: The New Defacto Scrum Standard
 
Balancing the tension between Lean and Agile
Balancing the tension between Lean and AgileBalancing the tension between Lean and Agile
Balancing the tension between Lean and Agile
 

Último

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
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.
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
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
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
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
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
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
 
(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
 

Último (20)

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
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...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
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
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
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
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
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
 
(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...
 

20140925 fistb keynote

  • 1. Beyond Agile Testing to Lean Development James O. Coplien Gertrud & Cope BEYOND AGILE TESTING TO LEAN DEVELOPMENT - Jim Coplien • Testing is a business function that should be focused on risk  • Lean defines testing as waste — why do it?  • Automated tests should reflect requirements, but testers shouldn't test requirements  • Testers are the team's conscience 50 Minutes 1 20140925FiSTBKeynote.key - 27 Sep 2014
  • 11. What  we  Wish  Agile  Testing  Were (Big thanks to Michael Bolton and James Bach) 7 20140925FiSTBKeynote.key - 27 Sep 2014
  • 12. Agile Testing means “Test-first” … and almost always at the unit level Specification by example. “Context-driven testing is sometimes considered a ‘flavor' of agile software development.” — http:// searchsoftwarequality.techtarget.com/definition/context-driven-testing 8-1 20140925FiSTBKeynote.key - 27 Sep 2014
  • 13. Agile Testing means “Test-first” … and almost always at the unit level Specificatio n by E xam ple Contextualtesting Autom ation JUnit TDD "At the basis of the test automation pyramid is unit testing. Unit testing should be the foundation of a solid test automation strategy and as such represents the largest part of the pyramid.” — Mike Cohn Specification by example. “Context-driven testing is sometimes considered a ‘flavor' of agile software development.” — http:// searchsoftwarequality.techtarget.com/definition/context-driven-testing 8-2 20140925FiSTBKeynote.key - 27 Sep 2014
  • 14. Agile Testing means “Test-first” … and almost always at the unit level Specificatio n by E xam ple Contextualtesting Autom ation JUnit TDD Processes and tools over Individuals and Interactions Specification by example. “Context-driven testing is sometimes considered a ‘flavor' of agile software development.” — http:// searchsoftwarequality.techtarget.com/definition/context-driven-testing 8-3 20140925FiSTBKeynote.key - 27 Sep 2014
  • 15. Part I: (Unit) Testing is Muda 9 20140925FiSTBKeynote.key - 27 Sep 2014
  • 16. Unit Testing is One of the Least Efficient Ways we Know to Remove Defects Removal Step Efficiency Formal Inspections 93% Static Analysis 55% System Test 36% Functional Test 35% Component Test 32% Unit Test 32% Desk Check 27% Prototyping 20% Acceptance Tests 17% Regression Tests 14% (“Software Defect Origins and Removal Methods,” Draft 5, 28 December 2012, http://www.ifpug.org/Documents/Jones- SoftwareDefectOriginsAndRemovalMethodsDraft5.pdf 10 20140925FiSTBKeynote.key - 27 Sep 2014
  • 17. Why doesn’t unit testing work? We can’t test things of business value Not knowing what to test, we test many things that don’t need testing Automated crap is still crap 11 20140925FiSTBKeynote.key - 27 Sep 2014
  • 18. Unit tests can’t test things of business value In an OO world you can’t tell, from the code, whether a method will ever be executed — or in what sequence There is rarely any explicit link from unit tests to anything of business value What’s amazing is that we continue to test… Paths that will never be exercised Methods that are never used Ungrounded method invocation sequences 12 20140925FiSTBKeynote.key - 27 Sep 2014
  • 19. Not knowing what to test, we test things that don’t need testing We test scenarios that will never be exercised in the real world We test methods that will never be invoked 13 20140925FiSTBKeynote.key - 27 Sep 2014
  • 20. Automated crap is still crap Automation for its sake is waste Design requires intelligence: intelligence cannot be automated Autonomation instead of automation You still need exploratory and experience-based testing Get manual procedures working first and then automate the mundane parts Design for Test like they do in hardware 14 20140925FiSTBKeynote.key - 27 Sep 2014
  • 21. Automated testing is not testing http://qz.com/196200/toyota-is-becoming-more-efficient-by-replacing-robots-with-humans/ Max Niesen, April 7, 2014 James Bach: “Testing Requires Inference.” “Exploratory inference may sound like a strange idea. It means one idea leading to another in ways you can’t predict in advance” [and, therefore, can’t script]. 15 20140925FiSTBKeynote.key - 27 Sep 2014
  • 22. The software is trained to pass the tests "In software testing, it gets progressively harder and harder to find defects. If we run the same test or use the same technique over and over, the effort becomes less effective each time we do it, because we find only the easy-to-find bugs. The software is trained to pass the test. …” — Ross Smith, Microsoft 16 20140925FiSTBKeynote.key - 27 Sep 2014
  • 23. That kind of test thinking, leads to a bottom-up procedural architecture Citation: Siniaalto and Abrahamsson, Does Test-Driven Development Improve the Program Code? Alarming results from a Comparative Case Study. Proceedings of Cee-Set 2007, 10 - 12 October, 2007, Poznan, Poland. 17 20140925FiSTBKeynote.key - 27 Sep 2014
  • 25. Part II: Why do we unit test? Because we can It doesn’t require teamwork We don’t have to talk with the business We get to interact with tools instead of people Our decisions are emotional, not rational Last point: Most tests are irrational: i.e., you can never presume software correctness from the tests. But we do feel better by having checked, so we test anyhow. 19 20140925FiSTBKeynote.key - 27 Sep 2014
  • 26. Nokia Test Score 2: Testing No dedicated QA - 0 Unit tested - 1 Feature tested - 5 Feature tested as soon as completed - 7 Software passes acceptance testing - 8 Software is deployed - 10 20 20140925FiSTBKeynote.key - 27 Sep 2014
  • 27. Part III: You Will Have Bugs! Scenarios we test in the lab ! ! ! ! ! ! Scenarios exhibiting faults ! Scenarios invoked in the field 21 20140925FiSTBKeynote.key - 27 Sep 2014
  • 28. Testing waste Scenarios we test in the lab ! ! ! ! ! ! Scenarios exhibiting faults ! Scenarios invoked in the field Type 2: Weinberg’s Law of Decomposition Type 4: Keeping tests that never fail 22-1 20140925FiSTBKeynote.key - 27 Sep 2014
  • 29. Testing waste Scenarios we test in the lab ! ! ! ! ! ! Scenarios exhibiting faults ! Scenarios invoked in the field Type 1 Muda Type 1: Defects Type 2: Weinberg’s Law of Decomposition Type 4: Keeping tests that never fail 22-2 20140925FiSTBKeynote.key - 27 Sep 2014
  • 30. Testing waste Scenarios we test in the lab ! ! ! ! ! ! Scenarios exhibiting faults ! Scenarios invoked in the field Type 2 Muda Type 1 Muda Type 1: Defects Type 2: Stuff customers don’t ask for Type 2: Weinberg’s Law of Decomposition Type 4: Keeping tests that never fail 22-3 20140925FiSTBKeynote.key - 27 Sep 2014
  • 31. Testing waste Scenarios we test in the lab ! ! ! ! ! ! Scenarios exhibiting faults ! Scenarios invoked in the field Type 2 Muda Type 1 Muda Type 4 Muda Type 1: Defects Type 2: Stuff customers don’t ask for Type 4: Overprocessing Type 2: Weinberg’s Law of Decomposition Type 4: Keeping tests that never fail 22-4 20140925FiSTBKeynote.key - 27 Sep 2014
  • 32. Testing waste ! ! ! Scenarios exhibiting faults ! Scenarios invoked in the field Type 1 Muda Type 4 Muda Type 1: Defects Type 2: Stuff customers don’t ask for Type 4: OverprocessingType 1 Muda (field) Type 2: Weinberg’s Law of Decomposition Type 4: Keeping tests that never fail 22-5 20140925FiSTBKeynote.key - 27 Sep 2014
  • 33. Testing waste ! ! ! Scenarios exhibiting faults ! Scenarios invoked in the field Type 1 Muda Type 4 Muda Type 1: Defects Type 2: Stuff customers don’t ask for Type 4: OverprocessingType 1 Muda (field) Removing tests leaves field faults undetected! Type 2: Weinberg’s Law of Decomposition Type 4: Keeping tests that never fail 22-6 20140925FiSTBKeynote.key - 27 Sep 2014
  • 34. Reduction of Waste Type 1: Better testing (e.g., going beyond contextual testing to exploratory & experience- based testing) (and better yet, better analysis and design, where the real payoffs are) Type 2: Just get rid of the tests Type 4: Remove redundant and tautalogical tests Type 1 in the field: Ship your tests! 23 20140925FiSTBKeynote.key - 27 Sep 2014
  • 35. Don’t take the tests out when you ship! Remember, you will have bugs in the field! Deployment is your largest test driver Ship your tests as part of the code IN case of a failure, it saves you from Type 9 muda (unsafe execution) Be customer-focused 24 20140925FiSTBKeynote.key - 27 Sep 2014
  • 36. Defensive Programming … is largely the incorporation of tests in the code Long known for high-reliability systems The value of asserting the obvious Design by Contract 25 20140925FiSTBKeynote.key - 27 Sep 2014
  • 37. Assertions make code readable! - (void) prepareForSegue: (UIStoryboardSegue*) segue sender: (id) sender { assert(segue != nil); if ([[segue identifier] isEqualToString: @"SegueAvatarPickerToPickOneLoginPlayer"]) { assert((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)); // The field parentViewController_ (instance variable) is // maybe null if we are in iPhone mode and doing a real // segue, instead of a popover as we do on the iPad. So // get the right object from the segue record. KnowsyPlayerPickerCommonViewController *parentViewController = [segue destinationViewController]; [parentViewController setKnowsyData: knowsyData_]; } else { // iPad - no special processing - should be no popover assert(parentViewController_ == nil); } } 26 20140925FiSTBKeynote.key - 27 Sep 2014
  • 38. Agile testing isn’t about tools! It’s about the test effort being customer- focused It’s about partners instead of customers It’s about “stopping the line” when discovering a defect — even in deployment It’s about quality at every step These are all Lean ideas 27 20140925FiSTBKeynote.key - 27 Sep 2014
  • 39. Part IV: Beyond agile testing, Lean testing When a test finds a bug, it’s about fixing the process — not the bug The long-term payoff is higher! No bug-tracking systems: we fix problems NOW. The tester should be the team’s conscience Conscience… Curmudgeonly and like Emperor’s New Clothes — not in the sense of standing in the way. That’s business’s job. 28 20140925FiSTBKeynote.key - 27 Sep 2014
  • 40. Other Lean-isms Deming: Quality is inversely proportional to the number of testers GM kept around its cars for 1 - 6 weeks for test and repair: Toyota drove them off the end of the assembly line onto the car carriers. No unit - subsystem - system - integration - acceptance test leveling. 29 20140925FiSTBKeynote.key - 27 Sep 2014
  • 41. Conclusion Be humble about what tests can accomplish It’s not about testing, but value Design tests to assess properties of business value Go beyond unit testing to defensive programming and design-by-contract As agile testers, focus on process first and product second 30 20140925FiSTBKeynote.key - 27 Sep 2014