際際滷

際際滷Share a Scribd company logo
The Butterfly Test
Perspectives on Systems Theory and
Software Testing
<> Systems Thinking
The Butterfly Test
The Butterfly Test
General System Theory (1968)
18 Disciplines
 Cybernetics
 Theory of automata
 Set theory
 Information theory
 Communication theory
 Decision theory
 Game theory
 Complexity theory
 Dynamical systems theory
 Chaos theory
 Hierarchy theory
 Network theory
 Probability theory
 Possibility theory
 System dynamics
 Social systems theory
 Control systems theory
 Artificial intelligence
A bit of history
20th century
 Andrey Markov  Markov chain (1906)
 Alan Turing - Turing machines (1936)
 John von Neumann - Game theory (1944)
 Norbert Wiener - Cybernetics (1948)
 Claude Shannon - Communication theory (1948)
 Talcott Parsons - The Social System (1951)
 Stanford Goldman - Information Theory (1953)
 William Ross Ashby  An Introduction to Cybernetics (1956)
 Jay Forrester - Industrial Dynamics (1961)
 Edward Lorenz - Deterministic Nonperiodic Flow (1963)
 Ludwig von Bertalanffy - General System Theory (1968)
Some fundamental questions
question 1
Were doing great without Systems theory so
why bother at all?
Aspects of systems
 Non-lineair
 Causal loop
 Feedback loop
 Homeostasis (self-regulation)
 Autopoiesis (self-creation)
 Equilibrium
 (Non-)deterministic behavior
 Deviation-amplifying behavior
 Purposeful behavior
 Equifinality
 Emergence
 Co-evolution
 (Requisite) variety
 Probabalistic design
Some fundamental questions
question 2
Is Systems theory used in the design of
software?
Some fundamental questions
question 3
Even if system aspects are not designed, they
may still emerge.
So what about software behavior?
Some fundamental questions
question 4
Isnt software (testing) already an integral part
of Systems theory?
Some fundamental questions
question 5
Do we need new software testing techniques,
new ways of experimenting on software?
Some fundamental questions
question 6
Do we need new perspectives on software
(systems) quality?

More Related Content

The Butterfly Test

  • 1. The Butterfly Test Perspectives on Systems Theory and Software Testing
  • 6. 18 Disciplines Cybernetics Theory of automata Set theory Information theory Communication theory Decision theory Game theory Complexity theory Dynamical systems theory Chaos theory Hierarchy theory Network theory Probability theory Possibility theory System dynamics Social systems theory Control systems theory Artificial intelligence
  • 7. A bit of history 20th century Andrey Markov Markov chain (1906) Alan Turing - Turing machines (1936) John von Neumann - Game theory (1944) Norbert Wiener - Cybernetics (1948) Claude Shannon - Communication theory (1948) Talcott Parsons - The Social System (1951) Stanford Goldman - Information Theory (1953) William Ross Ashby An Introduction to Cybernetics (1956) Jay Forrester - Industrial Dynamics (1961) Edward Lorenz - Deterministic Nonperiodic Flow (1963) Ludwig von Bertalanffy - General System Theory (1968)
  • 8. Some fundamental questions question 1 Were doing great without Systems theory so why bother at all?
  • 9. Aspects of systems Non-lineair Causal loop Feedback loop Homeostasis (self-regulation) Autopoiesis (self-creation) Equilibrium (Non-)deterministic behavior Deviation-amplifying behavior Purposeful behavior Equifinality Emergence Co-evolution (Requisite) variety Probabalistic design
  • 10. Some fundamental questions question 2 Is Systems theory used in the design of software?
  • 11. Some fundamental questions question 3 Even if system aspects are not designed, they may still emerge. So what about software behavior?
  • 12. Some fundamental questions question 4 Isnt software (testing) already an integral part of Systems theory?
  • 13. Some fundamental questions question 5 Do we need new software testing techniques, new ways of experimenting on software?
  • 14. Some fundamental questions question 6 Do we need new perspectives on software (systems) quality?

Editor's Notes

  1. Why this presentationI started thinking about systems about a year ago, we test systems all the time, yet Systems Theory is seldom referenced.I am looking for ways to use Systems Theory in software investigation, experimentation.
  2. Feedback loopsNice diagrams but hardly a solid basis from which to start designing testsNot looking for loops, stock and delays in software systemsNot looking for points of leverage.Applied to management, which is not software testing, not experimentation.Jurgen Appelo, management thinking.Meadows: zen-like thinking, software testing is not about Buddhism.
  3. Systems Theory in popular culture:Butterfly effectForest and the treesTip of the icebergA new kind of science
  4. Developed in 1930s, biology is investigating parts that do not tell us a lot about the whole (human body)Aspects that sciences have in common, a common languageBased on mathematical laws.Not looking at parts, looking at the whole
  5. Meadows &amp; Senge are in System dynamics, which is a small part of Systems theoryThis is the solid groudn we can build on.
  6. Thinking about systems may have started with AristotleControl Theory was important in the 19th century
  7. Do we actually need to look towards Systems theory for some kind of resque?Are many bugs slipping through?
  8. Point of view on software systemsAutonomy of systems
  9. We already have graph theory, state transition testing, use case testingDoes the evaluation of current software systems call for new types of tests.Systems theory is used (graph theory, network theory, hierarchy theory, but in a linear way!
  10. We already have graph theory, state transition testing, use case testingDoes the evaluation of current software systems call for new types of tests.