!
!
W14$
Session!
6/24/2015! !
3:00!PM!
!
!
!
!
“Testing$Hyper1Complex$Systems:$What$Can$We$
Know?$What$Can$We$Claim?”$$
Presented$by:$
Lee$Copeland$
Software$Quality$Engineering$
$
$
$
$
$
Brought$to$you$by:$
$
$
$
$
$
$
340!Corporate!Way,!Suite!300,!Orange!Park,!FL!32073!
888C268C8770!D!904C278C0524!D!sqeinfo@sqe.com!D!www.sqe.com!
!
!
!
!
!
!!!!! !
!!!!
With more than thirty years of experience as an information systems professional at
commercial and nonprofit organizations, Lee Copeland has held technical and
managerial positions in applications development, software testing, and software
process improvement. At Software Quality Engineering, Lee has developed and taught
numerous training courses on software development and testing issues, and is a
sought-after speaker at software conferences in the United States and abroad. He is the
author of the popular reference book, A Practitioner’s Guide to Software Test Design.
Lee Copleand
Software Quality Engineering
6/15/15
1
Lee Copeland
lee@sqe.com
© SQE 2012
Testing
Hyper-Complex
Systems
What Can We Know?
What Can We Claim?
Topics
•  Types, examples, and failures of systems
•  Simple
•  Complex
•  Hyper-complex
•  What can testing actually claim?
•  The ethical aspects
•  What to do
6/15/15
2
Simple Systems
•  Features
–  Linear relationships (perturbations cause a
proportional effect).
–  Do not contain feedback loops.
–  Do not have memory (prior states do not influence
current behavior).
Example: Simple System
y=mx+b
6/15/15
3
Complex Systems
•  Features
–  Non-linear relationships (small perturbations may
cause no effect, a proportional effect, or a large
effect).
–  Contain feedback loops (both positive and
negative).
–  Have memory (prior states may influence current
behavior).
–  Are often nested (composed of other complex
systems – networks of networks and systems of
systems).
Example: Complex System
<< Insert your company s current product here >>
6/15/15
4
Emergent Behavior
•  Emergent behavior is that which cannot be
predicted through analysis at any level simpler
than that of the system as a whole. Explanations
of emergence, like simplifications of complexity,
are inherently illusory and can only be achieved
by sleight of hand. Emergent behavior is what's
left after everything else has been explained.
– George Dyson
Emergent Behavior
•  In complex systems, failures are often
intermittent, transient, and convoluted. We are
creating designs so complicated that we
cannot anticipate all the possible interactions
and all the inevitable failures.
6/15/15
5
Example: Emergent Behavior
•  Highway traffic jams – you know
there s someone up there going
only 25 mph.
•  The movement of the Stock
Market – who knows what
tomorrow will bring?
•  The Millennium Bridge
in London – as people
walked across, it started
to sway.
The Swiss Cheese Failure Model
Component-4
Trigger
Defects
Component-1
Component-2
Component-3
FAILURE !!!
- James Reason
6/15/15
6
Example: Emergent Behavior
•  On May 11, 1996, ValuJet 592 crashed into the
Florida Everglades killing all 110 passengers
and crew.
•  A massive fire doomed the aircraft.
•  The proximate cause was oxygen generators,
inadvertently loaded into the cargo hold, that
ignited and burned, BUT …
Reason s Model: ValuJet 592
•  SabreTech (outsourced maintenance vendor)
–  To complete work before deadline, required their
technicians to work 12 hours/day, 7 days/week.
–  Outsourced half its work to other vendors.
–  For accuracy, they used work cards to detail the
steps for every maintenance procedure. Work card
0069 called for disabling the oxygen generation
canisters with locking caps or emptying them –
neither was done.
–  Procedure called for red tags (condemned
components) to be applied to the canisters, No red
tags were available so green tags were used.
6/15/15
7
Reason s Model: ValuJet 592
•  SabreTech (continued)
–  Four technicians signed off that they had correctly
performed the steps on card 0069 – none had.
–  Several days later, another technician placed three
boxes of the oxygen generators on a shelf holding
other ValuJet materials.
–  Because the work area was to be inspected, a clerk
placed the canisters in other boxes and wrapped
them in bubble pack and labeled them ValuJet
aircraft parts, to be returned to the airline.
–  On May 11, 1996, they were loaded
onto flight 592.
Example: Emergent Behavior
•  Tacoma Narrows Bridge, 1940
6/15/15
8
Example: Emergent Behavior
Warning On Emergent Behavior
•  Too often, the potential range
of behavior of complex systems
has to be guessed at from a
small set of data. When a system
works normally, staying within a
narrow range of parameters, engineers make
their observations and hope they can
extrapolate more or less linearly to less
usual behavior.
- James Gleick
6/15/15
9
The Butterfly Effect
•  The Butterfly Effect – sensitive
dependence on initial conditions
– is the essence of Chaos Theory.
•  The term was coined by Edward Lorenz, a
meteorologist, who gave a paper entitled
Predictability: Does the Flap of a Butterfly s
Wings in Brazil set off a Tornado in Texas?
The Butterfly Effect
•  You would expect that a set of
inputs that were very close
together would result in very
similar system behaviors.
•  Lorenz was modeling the atmosphere with a
set of three simple partial differential
equations.
•  One day he wanted to restart his computations
where he ended the day before. The previous
day s last output was 0.506127. He entered
0.506 expecting to continue on.
6/15/15
10
The Butterfly Effect
•  This is what he observed:
Sensitive dependence on initial conditions.
Restart point
Extreme
Differences
Hyper-Complex Systems
•  Features:
–  All the features of complex systems PLUS
–  Components are dynamically located and
composed into systems,
–  From multiple sources and with multiple versions,
–  With unknown component histories in terms of
design, coding, testing, performance, security,
–  Communicating over non-reliable networks.
6/15/15
11
Example: Hyper-Complex System
<< Insert your company s NEXT product here >>
A Warning To All
•  It is time to recognize that the standard
education of a scientist gives the wrong
impression. No matter how elaborate linear
mathematics could get … it inevitably misleads
scientists about their overwhelmingly
nonlinear world. The mathematical intuition so
developed ill equips the student to confront the
bizarre behavior exhibited by the simplest of
discrete nonlinear systems.
- James Gleick
6/15/15
12
What Can Testing Actually Know?
•  Modern view
–  Find defects
–  Count them
–  Report them
Testing? So simple,
even a caveman
can do it.
What Can Testing Actually Know?
•  Post-Modern view – testing is an activity
that provides information that others use
to improve product and process quality
–  Testing status – number of tests planned,
developed, executed, passed, failed
–  Defect status – count, severity, characteristics,
patterns
–  Coverage assessment
Tester
6/15/15
13
Coverage Assessment
•  Coverage is defined as
But, in hyper-complex systems, because of
their emergent behavior, we cannot know the
denominator.
Stuff we ve tested
Stuff there is to test
Coverage Assessment
•  In defining coverage that includes
emergent behavior, we have
NO CLUE !!!!!
•  It s like saying:
–  I ve pulled 54 dandelions
–  I ve painted 124 ft2 of fence
–  I ve driven 432 kilometers
•  It s data without context, it s numbers
without information.
6/15/15
14
The Ethical Aspects
•  ISTQB Code of Ethics (excerpts)
–  Certified software testers shall act
consistently with the public interest
–  Certified software testers shall ensure that that the
deliverables they provide (on the products and
systems they test) meet the highest professional
standards possible
–  Certified software testers shall maintain integrity
and independence in their professional judgment
–  Certified software testers shall advance the
integrity and reputation of the profession
Who
knew?
The Ethical Aspects
•  How can we remain ethical when testing
hyper-complex systems?
6/15/15
15
What To Do?
•  We re going to have to change from
Quantitative testing
to
Qualitative testing
What To Do?
•  We need to orient ourselves
less towards confirmation,
verification, and validation
and more towards investigation
and discovery.
— Michael Bolton
•  And our stakeholders may not like this!
They ll still ask for guarantees, and will ignore
our disclaimers
6/15/15
16
Thanks
•  Thanks for joining with me today.
•  If I can be of assistance, or if you d just like to
chat, please contact me at
lee@sqe.com
References
•  Gleick, James. Chaos: Making a New Science. Penguin
Books, 1987.
•  Mogul, Jeffery C. Emergent (Mis)behavior vs. Complex
Software Systems
http://www.hpl.hp.com/techreports/2006/HPL-2006-2.pdf
•  Petroski, Henry. Success Through Failure: The Paradox
of Design. Princeton University Press, 2006.
•  Reason, James. Human Error. Cambridge University
Press, 1990.
•  Strauch, Barry. Investigating Human Error: Incidents,
Accidents, and Complex Systems. Ashgate, 2002.

Testing Hyper-Complex Systems: What Can We Know? What Can We Claim?

  • 1.
  • 2.
    ! ! ! ! !!!!! ! !!!! With morethan thirty years of experience as an information systems professional at commercial and nonprofit organizations, Lee Copeland has held technical and managerial positions in applications development, software testing, and software process improvement. At Software Quality Engineering, Lee has developed and taught numerous training courses on software development and testing issues, and is a sought-after speaker at software conferences in the United States and abroad. He is the author of the popular reference book, A Practitioner’s Guide to Software Test Design. Lee Copleand Software Quality Engineering
  • 3.
    6/15/15 1 Lee Copeland lee@sqe.com © SQE2012 Testing Hyper-Complex Systems What Can We Know? What Can We Claim? Topics •  Types, examples, and failures of systems •  Simple •  Complex •  Hyper-complex •  What can testing actually claim? •  The ethical aspects •  What to do
  • 4.
    6/15/15 2 Simple Systems •  Features – Linear relationships (perturbations cause a proportional effect). –  Do not contain feedback loops. –  Do not have memory (prior states do not influence current behavior). Example: Simple System y=mx+b
  • 5.
    6/15/15 3 Complex Systems •  Features – Non-linear relationships (small perturbations may cause no effect, a proportional effect, or a large effect). –  Contain feedback loops (both positive and negative). –  Have memory (prior states may influence current behavior). –  Are often nested (composed of other complex systems – networks of networks and systems of systems). Example: Complex System << Insert your company s current product here >>
  • 6.
    6/15/15 4 Emergent Behavior •  Emergentbehavior is that which cannot be predicted through analysis at any level simpler than that of the system as a whole. Explanations of emergence, like simplifications of complexity, are inherently illusory and can only be achieved by sleight of hand. Emergent behavior is what's left after everything else has been explained. – George Dyson Emergent Behavior •  In complex systems, failures are often intermittent, transient, and convoluted. We are creating designs so complicated that we cannot anticipate all the possible interactions and all the inevitable failures.
  • 7.
    6/15/15 5 Example: Emergent Behavior • Highway traffic jams – you know there s someone up there going only 25 mph. •  The movement of the Stock Market – who knows what tomorrow will bring? •  The Millennium Bridge in London – as people walked across, it started to sway. The Swiss Cheese Failure Model Component-4 Trigger Defects Component-1 Component-2 Component-3 FAILURE !!! - James Reason
  • 8.
    6/15/15 6 Example: Emergent Behavior • On May 11, 1996, ValuJet 592 crashed into the Florida Everglades killing all 110 passengers and crew. •  A massive fire doomed the aircraft. •  The proximate cause was oxygen generators, inadvertently loaded into the cargo hold, that ignited and burned, BUT … Reason s Model: ValuJet 592 •  SabreTech (outsourced maintenance vendor) –  To complete work before deadline, required their technicians to work 12 hours/day, 7 days/week. –  Outsourced half its work to other vendors. –  For accuracy, they used work cards to detail the steps for every maintenance procedure. Work card 0069 called for disabling the oxygen generation canisters with locking caps or emptying them – neither was done. –  Procedure called for red tags (condemned components) to be applied to the canisters, No red tags were available so green tags were used.
  • 9.
    6/15/15 7 Reason s Model:ValuJet 592 •  SabreTech (continued) –  Four technicians signed off that they had correctly performed the steps on card 0069 – none had. –  Several days later, another technician placed three boxes of the oxygen generators on a shelf holding other ValuJet materials. –  Because the work area was to be inspected, a clerk placed the canisters in other boxes and wrapped them in bubble pack and labeled them ValuJet aircraft parts, to be returned to the airline. –  On May 11, 1996, they were loaded onto flight 592. Example: Emergent Behavior •  Tacoma Narrows Bridge, 1940
  • 10.
    6/15/15 8 Example: Emergent Behavior WarningOn Emergent Behavior •  Too often, the potential range of behavior of complex systems has to be guessed at from a small set of data. When a system works normally, staying within a narrow range of parameters, engineers make their observations and hope they can extrapolate more or less linearly to less usual behavior. - James Gleick
  • 11.
    6/15/15 9 The Butterfly Effect • The Butterfly Effect – sensitive dependence on initial conditions – is the essence of Chaos Theory. •  The term was coined by Edward Lorenz, a meteorologist, who gave a paper entitled Predictability: Does the Flap of a Butterfly s Wings in Brazil set off a Tornado in Texas? The Butterfly Effect •  You would expect that a set of inputs that were very close together would result in very similar system behaviors. •  Lorenz was modeling the atmosphere with a set of three simple partial differential equations. •  One day he wanted to restart his computations where he ended the day before. The previous day s last output was 0.506127. He entered 0.506 expecting to continue on.
  • 12.
    6/15/15 10 The Butterfly Effect • This is what he observed: Sensitive dependence on initial conditions. Restart point Extreme Differences Hyper-Complex Systems •  Features: –  All the features of complex systems PLUS –  Components are dynamically located and composed into systems, –  From multiple sources and with multiple versions, –  With unknown component histories in terms of design, coding, testing, performance, security, –  Communicating over non-reliable networks.
  • 13.
    6/15/15 11 Example: Hyper-Complex System <<Insert your company s NEXT product here >> A Warning To All •  It is time to recognize that the standard education of a scientist gives the wrong impression. No matter how elaborate linear mathematics could get … it inevitably misleads scientists about their overwhelmingly nonlinear world. The mathematical intuition so developed ill equips the student to confront the bizarre behavior exhibited by the simplest of discrete nonlinear systems. - James Gleick
  • 14.
    6/15/15 12 What Can TestingActually Know? •  Modern view –  Find defects –  Count them –  Report them Testing? So simple, even a caveman can do it. What Can Testing Actually Know? •  Post-Modern view – testing is an activity that provides information that others use to improve product and process quality –  Testing status – number of tests planned, developed, executed, passed, failed –  Defect status – count, severity, characteristics, patterns –  Coverage assessment Tester
  • 15.
    6/15/15 13 Coverage Assessment •  Coverageis defined as But, in hyper-complex systems, because of their emergent behavior, we cannot know the denominator. Stuff we ve tested Stuff there is to test Coverage Assessment •  In defining coverage that includes emergent behavior, we have NO CLUE !!!!! •  It s like saying: –  I ve pulled 54 dandelions –  I ve painted 124 ft2 of fence –  I ve driven 432 kilometers •  It s data without context, it s numbers without information.
  • 16.
    6/15/15 14 The Ethical Aspects • ISTQB Code of Ethics (excerpts) –  Certified software testers shall act consistently with the public interest –  Certified software testers shall ensure that that the deliverables they provide (on the products and systems they test) meet the highest professional standards possible –  Certified software testers shall maintain integrity and independence in their professional judgment –  Certified software testers shall advance the integrity and reputation of the profession Who knew? The Ethical Aspects •  How can we remain ethical when testing hyper-complex systems?
  • 17.
    6/15/15 15 What To Do? • We re going to have to change from Quantitative testing to Qualitative testing What To Do? •  We need to orient ourselves less towards confirmation, verification, and validation and more towards investigation and discovery. — Michael Bolton •  And our stakeholders may not like this! They ll still ask for guarantees, and will ignore our disclaimers
  • 18.
    6/15/15 16 Thanks •  Thanks forjoining with me today. •  If I can be of assistance, or if you d just like to chat, please contact me at lee@sqe.com References •  Gleick, James. Chaos: Making a New Science. Penguin Books, 1987. •  Mogul, Jeffery C. Emergent (Mis)behavior vs. Complex Software Systems http://www.hpl.hp.com/techreports/2006/HPL-2006-2.pdf •  Petroski, Henry. Success Through Failure: The Paradox of Design. Princeton University Press, 2006. •  Reason, James. Human Error. Cambridge University Press, 1990. •  Strauch, Barry. Investigating Human Error: Incidents, Accidents, and Complex Systems. Ashgate, 2002.