Michael mahlberg exploratory-testing-the_missing_half_of_bdd

Michael Mahlberg
Michael MahlbergCEO, TCG The Consulting Guild GmbH and Computer Software Consultant at TCG The Consulting Guild GmbH
Michael Mahlberg, 05.06.2012


                Exploratory Testing –
                The missing half of BDD?

Tuesday, June 5, 2012
Testing?



Tuesday, June 5, 2012
AGAIN?



Tuesday, June 5, 2012
It’s not about Rails




                                      http://www.flickr.com/photos/chris_gin/2490980153/

Tuesday, June 5, 2012
Several Stories
Tuesday, June 5, 2012
BDD           Specification       Design by
                         TDD    by Example        Contract

                                      Defensive
                                    Programming


                         Software-
                        Development
Tuesday, June 5, 2012
Exploratory
                          Testing




Tuesday, June 5, 2012
Tuesday, June 5, 2012
Tuesday, June 5, 2012
Tuesday, June 5, 2012
Tuesday, June 5, 2012
Paul Carvalho




                                    @can_test


Tuesday, June 5, 2012
Michael Bolton




                                    No, Not this one

Tuesday, June 5, 2012
Michael Bolton




                                     @michaelbolton


Tuesday, June 5, 2012
Markus Gärtner




                                   @mgaertne

Tuesday, June 5, 2012
Players in the Game

                    • James Bach
                    • Michael Bolten (not the singer)
                    • Cem Kaner
                    • Paul Carvalho

Tuesday, June 5, 2012
Ressources
                              Human                      Resource
                           Paul Carvalho           http://swtester.blogspot.de/


                           Michael Bolton       http://www.developsense.com/blog/


                             James Bach           http://www.satisfice.com/blog/


                        Elisabeth Hendrickson        http://testobsessed.com/


                          Markus Gärtner            http://www.shino.de/blog/




Tuesday, June 5, 2012
Ressources by James Bach
                                Topic                     Ressource
                        SBTM Session Based       http://satisfice.com/articles/sbtm.pdf
                         Test Management
                                                 http://people.eecs.ku.edu/~saiedian/
                         Exploratory Testing        Teaching/Fa07/814/Resources/
                                                        exploratory-testing.pdf

                        Hands-on Exploratory       http://www.satisfice.com/tools/
                                                           procedure.pdf
                              Testing
                        Rapid Software Testing     http://www.satisfice.com/rst.pdf




Tuesday, June 5, 2012
The basic misunderstanding



                    • <X> is necessary but not sufficient



Tuesday, June 5, 2012
An example from agile
                        software development




Tuesday, June 5, 2012
An example from agile
                        software development

           Working Software
                              over

                               Comprehensive Documentation




Tuesday, June 5, 2012
Derived Assumption:
       Working software is sufficient




Tuesday, June 5, 2012
Reality:
                        Working software is necessary,
                        but not sufficient!



Tuesday, June 5, 2012
Tuesday, June 5, 2012
Tuesday, June 5, 2012
Tuesday, June 5, 2012
So what’s the problem?


                ■ Software testing, the process of verifying that a
                  software program works as expected
                                       Source: http://en.wikipedia.org/wiki/Test




Tuesday, June 5, 2012
So what’s the problem?

                         ... but ...



Tuesday, June 5, 2012
So what’s the problem?

                ■ Test
                  [...]
                  Etymology
                  From Old French test (“an earthen vessel,
                  especially a pot in which metals were tried”)
                                       Source: http://en.wiktionary.org/wiki/test




Tuesday, June 5, 2012
What do test pilots do?




Tuesday, June 5, 2012
What do test pilots do?




Tuesday, June 5, 2012
What do test pilots do?




Tuesday, June 5, 2012
What do test pilots do?




Tuesday, June 5, 2012
What do test pilots do?




Tuesday, June 5, 2012
Pushing the envelope




Tuesday, June 5, 2012
Checking things




Tuesday, June 5, 2012
Scripted testing

                        With a script, you miss the
                        same things every time.
                                 Exploratory Testing @ QUEST 2008" Copyright © 2008 Cem Kaner




Tuesday, June 5, 2012
Defensive programming
                           - Check all input parameters
                        - Ascertain availability of resources
                                         etc.

         Defensive programming defends against the currently
                        impossible (c2 Wiki)




Tuesday, June 5, 2012
Design by Contract
                        Betrand Meyer
                        Since 1986
                        Programming language: Eiffel




Tuesday, June 5, 2012
Design by Contract
                        Betrand Meyer
                        Since 1986
                        Programming language: Eiffel


                                                       Preconditions
                                                       Postconditions
                                                       Invariants



Tuesday, June 5, 2012
TDD

                    • Unit Tests
                    • Black-Box Tests
                    • White-Box Tests
                    • RSpec etc.

Tuesday, June 5, 2012
BDD

                    • Acceptance Tests
                    • (Mostly) Black-Box Tests
                    • Based on Scenarios


Tuesday, June 5, 2012
ATDD

                    • Bigger gap between test creation and
                        execution
                    • Exclusively Black Box Testing


Tuesday, June 5, 2012
An adage from agile software
                               development




Tuesday, June 5, 2012
An adage from agile software
                               development


                          INVEST in stories and
                        come up with SMART tasks



Tuesday, June 5, 2012
INVEST
                        Independent
                        Negotiable
                        Valuable
                        Estimatable
                        Small
                        Testable


Tuesday, June 5, 2012
SMART
                        Specific
                        Mesuarable
                        Achievable
                        Realistic
                        Tangible



Tuesday, June 5, 2012
Independent
                                      Specific
                        Negotiable
                                      Mesuarable
                        Valuable
                                      Achievable
                        Estimatable
                                      Realistic
                        Small
                                      Tangible
                        Testable


Tuesday, June 5, 2012
Acceptance Criteria
                    • To accomodate pre-conditions
                        Acceptance Criteria can be expressed as
                    • Given [Precondition]
                        When [Actor and Action]
                        Then [Observable Result]
                    • Naresh Jain Slide 29
Tuesday, June 5, 2012
Specification by Example

                        ... It is the result of a research on
                        how teams all over the world specify,
                        develop, test and deliver the right
                        software, without defects, in very
                        short iterative delivery cycles. ...




Tuesday, June 5, 2012
What’s left for the
                           Testers?


Tuesday, June 5, 2012
DbC vs. TDD
         Design by Contract
         implies automated defensive
         programming
          pre- and postconditions and   Test Driven Design is
          invariants are checked at     mostly applied during design-
          runtime                       time.
          Expensive checks are          Tests are executed whenever
          inhibitive                    appropriate - but usually not
                                        in the production
                                        environment
                                        Expensive checks are
                                        possible but unwarranted


Tuesday, June 5, 2012
Checking vs. Testing
      Checking is something that
      we do with the motivation of
      confirming existing beliefs




                                       Testing is something that we
                                       do with the motivation of
                                       finding new information.

                                     http://www.developsense.com/blog/2009/08/testing-vs-checking/




Tuesday, June 5, 2012
Test Driven Development
                             is an oxymoron


                        Check Driven Development?




Tuesday, June 5, 2012
The Test-Cycles



Tuesday, June 5, 2012
Red-Green-Refactor
                               Failing
                                Test




           Simplify                      Coding
 Remove Redundancy


Tuesday, June 5, 2012
Exploratory Testing




                                                                              From: Paul Carvalho
                              http://swtester.blogspot.de/2012/05/what-is-exploratory-testing.html



Tuesday, June 5, 2012
So what is Exploratory Testing?

                          "Exploratory Testing is simultaneously
                        learning about the system while designing
                         and executing tests, using feedback from
                             the last test to inform the next."

                                              Elisabeth Hendrickson, @testobsessed
                                                           Quoted by Paul Carvalho




Tuesday, June 5, 2012
Cone of uncertainty




                            Agile and Iterative Development: A Manager's Guide, Craig Larman 2003



Tuesday, June 5, 2012
Cone of uncertainty




Tuesday, June 5, 2012
Cone of test-cases




                        http://swtester.blogspot.de/2012/05/what-is-exploratory-testing.html


Tuesday, June 5, 2012
Agile testing quadrants




                        http://lisacrispin.com/wordpress/2011/11/08/using-the-agile-testing-quadrants/



Tuesday, June 5, 2012
The Prime Directive
                Be Thoughtful and Methodical
                Throughout the test procedure, as you complete the tasks, you
                have lots of freedom about how you do the work. But you must
                work methodically, and follow the procedure. In the course of
                creating the result for each task, you’ll find that you have to
                make a lot of guesses, and some of them will be wrong. But you
                must think. If you find yourself making wild and uneducated
                guesses about how the product works, areas of instability, or
                anything else, stop and talk to the Test Manager.

                                            James Bach, 08/26/99, http://www.satisfice.com/tools/procedure.pdf




Tuesday, June 5, 2012
Scientific Method
                           Formulate a question
                               Hypothesis
                                Prediction
                                   Test
                                 Analysis



Tuesday, June 5, 2012
Scientific Method
                           Formulate a question
                               Hypothesis
                                Prediction
                                   Test
                                 Analysis



Tuesday, June 5, 2012
Exploratory Testing
                Complete these five tasks:
                ✓  Identify the purpose of the product.
                ✓  Identify functions.
                ✓  Identify areas of potential instability.
                ✓  Test each function and record problems.
                ✓  Design and record a consistency verification
                   test.
                                Source: http://www.satisfice.com/tools/procedure.pdf
                                                    pg. 11 to 22



Tuesday, June 5, 2012
Identify the purpose of the
                                  product

                    • With a tangible result (i.e. Document)
                     • Value for others - verifiable etc.
                     • Value for the tester - builds
                         understanding




Tuesday, June 5, 2012
Identify functions

                    • By actually using (skimming) the product
                    • Explorative (not based on documentation)
                    • Tangible output (Function outline)


Tuesday, June 5, 2012
From James Bach:




                                http://www.satisfice.com/tools/procedure.pdf




Tuesday, June 5, 2012
Identify areas of potential
                                 instability

                    • Results:
                     • Documented areas (before testing)
                     • Documented data for testing
                     • Documented Strategies

Tuesday, June 5, 2012
Test each function and record
                                  problems
                    • Actually this means: Try to do things the
                         development teams did not think of.

                    • Remember: A Problem is just the
                         difference between the expected behavior
                         and the observed behavior - whether it is
                         cause for action has to be decided by the
                         customer


Tuesday, June 5, 2012
Design and record a
                        consistency verification test

                    • Try to extrapolate if the Software would
                        run in (slightly) modified environments.

                        (The original 5 steps are from 1999 (gasp)
                        and relate to specific windows versions -
                        the basic requirements still hold through)



Tuesday, June 5, 2012
Tool Support
                          Area            Tool               URL
                                                             http://
                        Recording       spector        www.spectorsoft.com/

                                                              http://
                        Recording    BBTestAssistant   www.bbsoftware.co.uk/
                                                          products.aspx
                                                             http://
                        Recording        Wink          www.debugmode.com/
                                                              wink/

                                                        http://www.sirius-
                        All in One    TestExplorer           sqa.com/

                                           http://www.satisfice.com/blog/archives/77
Tuesday, June 5, 2012
Session Based Test Management
                    • Original description of ET : 1999
                    • Today : 2012
                    • SBTM: A way to organize exploratory
                        testing
                        • Working in 45 to 90 min Session based
                          on Charters
                        • See: http://satisfice.com/articles/sbtm.pdf
Tuesday, June 5, 2012
What are Charters
             Counterpart to the use case / user story
             Some of the same attributes
             - Roles, activities, actors, systems
             Examples:
             - “Analyze <Product>’s View menu functionality and
             report on areas of potential risk.”



Tuesday, June 5, 2012
Hierarchy




Tuesday, June 5, 2012
Hierarchy




                        Ad-Hoc Testing


Tuesday, June 5, 2012
Hierarchy



                        Exploratory Testing

                          Ad-Hoc Testing


Tuesday, June 5, 2012
Hierarchy


                        Session Based Testing

                        Exploratory Testing

                          Ad-Hoc Testing


Tuesday, June 5, 2012
Hierarchy
                        Session Based Test Management

                            Session Based Testing

                             Exploratory Testing

                               Ad-Hoc Testing


Tuesday, June 5, 2012
ET-Spectrum




Tuesday, June 5, 2012
ET-Spectrum




                          Exploratory Testing according to:
                           http://www.satisfice.com/rst.pdf


Tuesday, June 5, 2012
Can we prove it?
                            Testing shows the presence,
                            not the absence of bugs
                                                         J.N. Buxton and B. Randell, eds, Software Engineering Techniques,
                                                         April 1970, p. 16. Report on a conference sponsored by the NATO
                                                         Science Committee, Rome, Italy, 27–31 October 1969.

                                                         via http://en.wikiquote.org/wiki/Edsger_W._Dijkstra



                            Program testing can be used to
                            show the presence of bugs, but
                            never to show their absence!
                             Source: Notes On Structured Programming, 1972, at the end of section 3, On The
    Edsger Wybe Dijkstra                                        Reliability of Mechanisms. EWD249 (1970).




Tuesday, June 5, 2012
TDD
                    • Technique to drive the design of your code

                                                   y, t!
                                                  r n
                                                sa cie
                                               s fi
                                             ce uf
                                           e s
                                         N ot
                                           t n
                                        Bu

Tuesday, June 5, 2012
BDD
                    • Technique to capture requirements and
                        drive desired functionality


                                                     y, t!
                                                    r n
                                                  sa cie
                                                 s fi
                                               ce uf
                                             e s
                                           N ot
                                             t n
                                          Bu

Tuesday, June 5, 2012
ET
                    • Technique to drive the discovery of
                        unwanted, unexpected and unpredicted
                        behaviour

                                                   y, t!
                                                  r n
                                                sa cie
                                               s fi
                                             ce uf
                                           e s
                                         N ot
                                           t n
                                        Bu

Tuesday, June 5, 2012
About me
                           “Consulting on software development
                        processes and software architecture since
                        the last millennium”
                                                     - @MMahlberg


                        Google me: “Michael Mahlberg”



Tuesday, June 5, 2012
Discussion?




Tuesday, June 5, 2012
Flight-Envelope
                                    Photo Credits
 http://en.wikipedia.org/wiki/File:PerformanceEnvelope.gif

 Testpilots:
 http://www.flickr.com/photos/x-ray_delta_one/4106250812/in/photostream/

 Spreading junction
 http://www.flickr.com/photos/elsie/4164899/in/photostream/

 Tokio Tower
 http://www.flickr.com/photos/wilhelmja/330965980/in/photostream/

 Eiffel Tower
 http://www.flickr.com/photos/gcattiaux/2565101112/in/photostream/

 Spectrum
 http://www.flickr.com/photos/eiriknewth/132859486/in/photostream/

 Armor
 http://www.flickr.com/photos/nicmcphee/1563082378/in/photostream/

 Aerobatics
 http://www.flickr.com/photos/ssandars/6827302/in/photostream/

 Airbus
 http://www.flickr.com/photos/mwanasimba/4097232435/

Tuesday, June 5, 2012
1 of 89

Recommended

What is this exploratory testing thing by
What is this exploratory testing thingWhat is this exploratory testing thing
What is this exploratory testing thingtonybruce
20.5K views27 slides
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you... by
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...QASymphony
420 views31 slides
What is Testing and Who are Testers? by
What is Testing and Who are Testers?What is Testing and Who are Testers?
What is Testing and Who are Testers?Arslan Ali
469 views16 slides
TestNGvsJUnit by
TestNGvsJUnitTestNGvsJUnit
TestNGvsJUnitСергей Гоменюк
283 views21 slides
Exploratory Testing Basics, Experiences, and Future in SSTC2016 by
Exploratory Testing Basics, Experiences, and Future in SSTC2016Exploratory Testing Basics, Experiences, and Future in SSTC2016
Exploratory Testing Basics, Experiences, and Future in SSTC2016Kari Kakkonen
511 views36 slides
Exploratory testing by Rik Marselis by
Exploratory testing by Rik MarselisExploratory testing by Rik Marselis
Exploratory testing by Rik MarselisRik Marselis
498 views54 slides

More Related Content

Viewers also liked

Introduction of TestNG framework and its benefits over Junit framework by
Introduction of TestNG framework and its benefits over Junit frameworkIntroduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit frameworkBugRaptors
1.3K views11 slides
A Taste of Exploratory Testing by
A Taste of Exploratory TestingA Taste of Exploratory Testing
A Taste of Exploratory TestingAnne-Marie Charrett
3.1K views35 slides
TestNG vs JUnit: cease fire or the end of the war by
TestNG vs JUnit: cease fire or the end of the warTestNG vs JUnit: cease fire or the end of the war
TestNG vs JUnit: cease fire or the end of the warOleksiy Rezchykov
16.3K views30 slides
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael... by
 Tips for Writing Better Charters for Exploratory Testing Sessions by Michael... Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...TEST Huddle
12.4K views28 slides
Exploratory Testing for Developers by
Exploratory Testing for DevelopersExploratory Testing for Developers
Exploratory Testing for DevelopersJohan Hoberg
1.2K views10 slides
Mind maps tutorial Agile Testing Days by
Mind maps tutorial Agile Testing DaysMind maps tutorial Agile Testing Days
Mind maps tutorial Agile Testing DaysHuib Schoots
20.5K views108 slides

Viewers also liked(6)

Introduction of TestNG framework and its benefits over Junit framework by BugRaptors
Introduction of TestNG framework and its benefits over Junit frameworkIntroduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit framework
BugRaptors1.3K views
TestNG vs JUnit: cease fire or the end of the war by Oleksiy Rezchykov
TestNG vs JUnit: cease fire or the end of the warTestNG vs JUnit: cease fire or the end of the war
TestNG vs JUnit: cease fire or the end of the war
Oleksiy Rezchykov16.3K views
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael... by TEST Huddle
 Tips for Writing Better Charters for Exploratory Testing Sessions by Michael... Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
TEST Huddle12.4K views
Exploratory Testing for Developers by Johan Hoberg
Exploratory Testing for DevelopersExploratory Testing for Developers
Exploratory Testing for Developers
Johan Hoberg1.2K views
Mind maps tutorial Agile Testing Days by Huib Schoots
Mind maps tutorial Agile Testing DaysMind maps tutorial Agile Testing Days
Mind maps tutorial Agile Testing Days
Huib Schoots20.5K views

Similar to Michael mahlberg exploratory-testing-the_missing_half_of_bdd

Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (... by
Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...
Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...Wooga
1.7K views156 slides
Ruby CI with Jenkins by
Ruby CI with JenkinsRuby CI with Jenkins
Ruby CI with Jenkinscowboyd
65.3K views31 slides
Help Me Design A Better Homepage by
Help Me Design A Better HomepageHelp Me Design A Better Homepage
Help Me Design A Better Homepagejtcchan
755 views26 slides
Data Journalism 2: cleaning, combining, communicating by
Data Journalism 2: cleaning, combining, communicatingData Journalism 2: cleaning, combining, communicating
Data Journalism 2: cleaning, combining, communicatingPaul Bradshaw
881 views39 slides
Math 4.1 by
Math 4.1Math 4.1
Math 4.1Melinda MacDonald
625 views11 slides
Strata New York 2012: Continuous Experimentation with Continuous Deployment by
Strata New York 2012: Continuous Experimentation with Continuous DeploymentStrata New York 2012: Continuous Experimentation with Continuous Deployment
Strata New York 2012: Continuous Experimentation with Continuous DeploymentSteve Mardenfeld
707 views64 slides

Similar to Michael mahlberg exploratory-testing-the_missing_half_of_bdd(20)

Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (... by Wooga
Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...
Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...
Wooga1.7K views
Ruby CI with Jenkins by cowboyd
Ruby CI with JenkinsRuby CI with Jenkins
Ruby CI with Jenkins
cowboyd65.3K views
Help Me Design A Better Homepage by jtcchan
Help Me Design A Better HomepageHelp Me Design A Better Homepage
Help Me Design A Better Homepage
jtcchan755 views
Data Journalism 2: cleaning, combining, communicating by Paul Bradshaw
Data Journalism 2: cleaning, combining, communicatingData Journalism 2: cleaning, combining, communicating
Data Journalism 2: cleaning, combining, communicating
Paul Bradshaw881 views
Strata New York 2012: Continuous Experimentation with Continuous Deployment by Steve Mardenfeld
Strata New York 2012: Continuous Experimentation with Continuous DeploymentStrata New York 2012: Continuous Experimentation with Continuous Deployment
Strata New York 2012: Continuous Experimentation with Continuous Deployment
Steve Mardenfeld707 views
Quinones jorge visualresume_august2012 by Jorge Quinones
Quinones jorge visualresume_august2012Quinones jorge visualresume_august2012
Quinones jorge visualresume_august2012
Jorge Quinones584 views
Which research when by Laura Klein
Which research whenWhich research when
Which research when
Laura Klein2K views
Capstone studios 3csofsocialmediaapril2012 by Jo-Anne Redwood
Capstone studios 3csofsocialmediaapril2012Capstone studios 3csofsocialmediaapril2012
Capstone studios 3csofsocialmediaapril2012
Jo-Anne Redwood676 views
Capstone studios 3Cs of Social Mediaapril2012 by Jo-Anne Redwood
Capstone studios 3Cs of Social Mediaapril2012Capstone studios 3Cs of Social Mediaapril2012
Capstone studios 3Cs of Social Mediaapril2012
Jo-Anne Redwood716 views
Declare independence from your it department sysadmin skills for symfony dev... by Pablo Godel
Declare independence from your it department  sysadmin skills for symfony dev...Declare independence from your it department  sysadmin skills for symfony dev...
Declare independence from your it department sysadmin skills for symfony dev...
Pablo Godel4.6K views
TwitterDots: Presentation at LinkedIn by riverguardian
TwitterDots: Presentation at LinkedInTwitterDots: Presentation at LinkedIn
TwitterDots: Presentation at LinkedIn
riverguardian610 views
Multilingual solutions florian loretan by drupalconf
Multilingual solutions florian loretanMultilingual solutions florian loretan
Multilingual solutions florian loretan
drupalconf1.2K views
Validation Board Livestream by Trevor Owens
Validation Board LivestreamValidation Board Livestream
Validation Board Livestream
Trevor Owens14.3K views

More from Michael Mahlberg

Heavyweight agile Processes? Let's make them leaner! by
Heavyweight agile Processes? Let's make them leaner!Heavyweight agile Processes? Let's make them leaner!
Heavyweight agile Processes? Let's make them leaner!Michael Mahlberg
33 views54 slides
Skaliert Arbeiten statt zu skalieren - 2022.pdf by
Skaliert Arbeiten statt zu skalieren - 2022.pdfSkaliert Arbeiten statt zu skalieren - 2022.pdf
Skaliert Arbeiten statt zu skalieren - 2022.pdfMichael Mahlberg
5 views55 slides
Agile Tuesday München: Was ist eigentlich aus Lean geworden? by
Agile Tuesday München: Was ist eigentlich aus  Lean geworden?Agile Tuesday München: Was ist eigentlich aus  Lean geworden?
Agile Tuesday München: Was ist eigentlich aus Lean geworden?Michael Mahlberg
220 views49 slides
Process-Tinder – Wenn ich mich nur nach den schönen Bildern entscheide… by
Process-Tinder – Wenn ich mich nur nach den schönen Bildern entscheide…Process-Tinder – Wenn ich mich nur nach den schönen Bildern entscheide…
Process-Tinder – Wenn ich mich nur nach den schönen Bildern entscheide…Michael Mahlberg
77 views49 slides
Was ist aus dem L-Wort (in Lean Kanban) geworden? by
Was ist aus dem L-Wort (in Lean Kanban) geworden?Was ist aus dem L-Wort (in Lean Kanban) geworden?
Was ist aus dem L-Wort (in Lean Kanban) geworden?Michael Mahlberg
250 views52 slides
Immer Ärger mit Jira - LWIPCGN#118 (2021) by
Immer Ärger mit Jira - LWIPCGN#118 (2021)Immer Ärger mit Jira - LWIPCGN#118 (2021)
Immer Ärger mit Jira - LWIPCGN#118 (2021)Michael Mahlberg
150 views114 slides

More from Michael Mahlberg(20)

Heavyweight agile Processes? Let's make them leaner! by Michael Mahlberg
Heavyweight agile Processes? Let's make them leaner!Heavyweight agile Processes? Let's make them leaner!
Heavyweight agile Processes? Let's make them leaner!
Michael Mahlberg33 views
Skaliert Arbeiten statt zu skalieren - 2022.pdf by Michael Mahlberg
Skaliert Arbeiten statt zu skalieren - 2022.pdfSkaliert Arbeiten statt zu skalieren - 2022.pdf
Skaliert Arbeiten statt zu skalieren - 2022.pdf
Agile Tuesday München: Was ist eigentlich aus Lean geworden? by Michael Mahlberg
Agile Tuesday München: Was ist eigentlich aus  Lean geworden?Agile Tuesday München: Was ist eigentlich aus  Lean geworden?
Agile Tuesday München: Was ist eigentlich aus Lean geworden?
Michael Mahlberg220 views
Process-Tinder – Wenn ich mich nur nach den schönen Bildern entscheide… by Michael Mahlberg
Process-Tinder – Wenn ich mich nur nach den schönen Bildern entscheide…Process-Tinder – Wenn ich mich nur nach den schönen Bildern entscheide…
Process-Tinder – Wenn ich mich nur nach den schönen Bildern entscheide…
Michael Mahlberg77 views
Was ist aus dem L-Wort (in Lean Kanban) geworden? by Michael Mahlberg
Was ist aus dem L-Wort (in Lean Kanban) geworden?Was ist aus dem L-Wort (in Lean Kanban) geworden?
Was ist aus dem L-Wort (in Lean Kanban) geworden?
Michael Mahlberg250 views
Immer Ärger mit Jira - LWIPCGN#118 (2021) by Michael Mahlberg
Immer Ärger mit Jira - LWIPCGN#118 (2021)Immer Ärger mit Jira - LWIPCGN#118 (2021)
Immer Ärger mit Jira - LWIPCGN#118 (2021)
Michael Mahlberg150 views
Continuous Integration - I Don't Think That Word Means What You Think It Means by Michael Mahlberg
Continuous Integration - I Don't Think That Word Means What You Think It MeansContinuous Integration - I Don't Think That Word Means What You Think It Means
Continuous Integration - I Don't Think That Word Means What You Think It Means
Michael Mahlberg27 views
What's in a Story? Drei Ansätze, um mit Anforderungen gemeinsam erfolgreich z... by Michael Mahlberg
What's in a Story? Drei Ansätze, um mit Anforderungen gemeinsam erfolgreich z...What's in a Story? Drei Ansätze, um mit Anforderungen gemeinsam erfolgreich z...
What's in a Story? Drei Ansätze, um mit Anforderungen gemeinsam erfolgreich z...
Michael Mahlberg29 views
Lwipcgn#110 2020-die agilekeuleueberleben by Michael Mahlberg
Lwipcgn#110 2020-die agilekeuleueberlebenLwipcgn#110 2020-die agilekeuleueberleben
Lwipcgn#110 2020-die agilekeuleueberleben
Michael Mahlberg117 views
Michael Mahlberg - Leichtgewichtige Kanban-Metriken auf der LKCE 2018 by Michael Mahlberg
Michael Mahlberg - Leichtgewichtige Kanban-Metriken auf der LKCE 2018Michael Mahlberg - Leichtgewichtige Kanban-Metriken auf der LKCE 2018
Michael Mahlberg - Leichtgewichtige Kanban-Metriken auf der LKCE 2018
Michael Mahlberg140 views
The Product Owner's Survival Kit - ein Überblick [DE] by Michael Mahlberg
The Product Owner's Survival Kit - ein Überblick [DE]The Product Owner's Survival Kit - ein Überblick [DE]
The Product Owner's Survival Kit - ein Überblick [DE]
Michael Mahlberg389 views
What coaching stances can do for you in Kanban settings... by Michael Mahlberg
What coaching stances can do for you in Kanban settings... What coaching stances can do for you in Kanban settings...
What coaching stances can do for you in Kanban settings...
Michael Mahlberg1.2K views
A3 thinking - background, process and examples by Michael Mahlberg
A3 thinking - background, process and examplesA3 thinking - background, process and examples
A3 thinking - background, process and examples
Michael Mahlberg2.2K views
Ökonomie und Architektur als effektives Duo by Michael Mahlberg
Ökonomie und Architektur als effektives DuoÖkonomie und Architektur als effektives Duo
Ökonomie und Architektur als effektives Duo
Michael Mahlberg703 views

Recently uploaded

Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...ShapeBlue
74 views17 slides
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...ShapeBlue
121 views15 slides
Data Integrity for Banking and Financial Services by
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesPrecisely
76 views26 slides
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueShapeBlue
191 views23 slides
State of the Union - Rohit Yadav - Apache CloudStack by
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStackShapeBlue
218 views53 slides
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...ShapeBlue
105 views15 slides

Recently uploaded(20)

Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue74 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue121 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely76 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue191 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue218 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue105 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue172 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue120 views
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates by ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue178 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue48 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue113 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue134 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue75 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue97 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue81 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue69 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc130 views
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue56 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue52 views

Michael mahlberg exploratory-testing-the_missing_half_of_bdd

  • 1. Michael Mahlberg, 05.06.2012 Exploratory Testing – The missing half of BDD? Tuesday, June 5, 2012
  • 4. It’s not about Rails http://www.flickr.com/photos/chris_gin/2490980153/ Tuesday, June 5, 2012
  • 6. BDD Specification Design by TDD by Example Contract Defensive Programming Software- Development Tuesday, June 5, 2012
  • 7. Exploratory Testing Tuesday, June 5, 2012
  • 12. Paul Carvalho @can_test Tuesday, June 5, 2012
  • 13. Michael Bolton No, Not this one Tuesday, June 5, 2012
  • 14. Michael Bolton @michaelbolton Tuesday, June 5, 2012
  • 15. Markus Gärtner @mgaertne Tuesday, June 5, 2012
  • 16. Players in the Game • James Bach • Michael Bolten (not the singer) • Cem Kaner • Paul Carvalho Tuesday, June 5, 2012
  • 17. Ressources Human Resource Paul Carvalho http://swtester.blogspot.de/ Michael Bolton http://www.developsense.com/blog/ James Bach http://www.satisfice.com/blog/ Elisabeth Hendrickson http://testobsessed.com/ Markus Gärtner http://www.shino.de/blog/ Tuesday, June 5, 2012
  • 18. Ressources by James Bach Topic Ressource SBTM Session Based http://satisfice.com/articles/sbtm.pdf Test Management http://people.eecs.ku.edu/~saiedian/ Exploratory Testing Teaching/Fa07/814/Resources/ exploratory-testing.pdf Hands-on Exploratory http://www.satisfice.com/tools/ procedure.pdf Testing Rapid Software Testing http://www.satisfice.com/rst.pdf Tuesday, June 5, 2012
  • 19. The basic misunderstanding • <X> is necessary but not sufficient Tuesday, June 5, 2012
  • 20. An example from agile software development Tuesday, June 5, 2012
  • 21. An example from agile software development Working Software over Comprehensive Documentation Tuesday, June 5, 2012
  • 22. Derived Assumption: Working software is sufficient Tuesday, June 5, 2012
  • 23. Reality: Working software is necessary, but not sufficient! Tuesday, June 5, 2012
  • 27. So what’s the problem? ■ Software testing, the process of verifying that a software program works as expected Source: http://en.wikipedia.org/wiki/Test Tuesday, June 5, 2012
  • 28. So what’s the problem? ... but ... Tuesday, June 5, 2012
  • 29. So what’s the problem? ■ Test [...] Etymology From Old French test (“an earthen vessel, especially a pot in which metals were tried”) Source: http://en.wiktionary.org/wiki/test Tuesday, June 5, 2012
  • 30. What do test pilots do? Tuesday, June 5, 2012
  • 31. What do test pilots do? Tuesday, June 5, 2012
  • 32. What do test pilots do? Tuesday, June 5, 2012
  • 33. What do test pilots do? Tuesday, June 5, 2012
  • 34. What do test pilots do? Tuesday, June 5, 2012
  • 37. Scripted testing With a script, you miss the same things every time. Exploratory Testing @ QUEST 2008" Copyright © 2008 Cem Kaner Tuesday, June 5, 2012
  • 38. Defensive programming - Check all input parameters - Ascertain availability of resources etc. Defensive programming defends against the currently impossible (c2 Wiki) Tuesday, June 5, 2012
  • 39. Design by Contract Betrand Meyer Since 1986 Programming language: Eiffel Tuesday, June 5, 2012
  • 40. Design by Contract Betrand Meyer Since 1986 Programming language: Eiffel Preconditions Postconditions Invariants Tuesday, June 5, 2012
  • 41. TDD • Unit Tests • Black-Box Tests • White-Box Tests • RSpec etc. Tuesday, June 5, 2012
  • 42. BDD • Acceptance Tests • (Mostly) Black-Box Tests • Based on Scenarios Tuesday, June 5, 2012
  • 43. ATDD • Bigger gap between test creation and execution • Exclusively Black Box Testing Tuesday, June 5, 2012
  • 44. An adage from agile software development Tuesday, June 5, 2012
  • 45. An adage from agile software development INVEST in stories and come up with SMART tasks Tuesday, June 5, 2012
  • 46. INVEST Independent Negotiable Valuable Estimatable Small Testable Tuesday, June 5, 2012
  • 47. SMART Specific Mesuarable Achievable Realistic Tangible Tuesday, June 5, 2012
  • 48. Independent Specific Negotiable Mesuarable Valuable Achievable Estimatable Realistic Small Tangible Testable Tuesday, June 5, 2012
  • 49. Acceptance Criteria • To accomodate pre-conditions Acceptance Criteria can be expressed as • Given [Precondition] When [Actor and Action] Then [Observable Result] • Naresh Jain Slide 29 Tuesday, June 5, 2012
  • 50. Specification by Example ... It is the result of a research on how teams all over the world specify, develop, test and deliver the right software, without defects, in very short iterative delivery cycles. ... Tuesday, June 5, 2012
  • 51. What’s left for the Testers? Tuesday, June 5, 2012
  • 52. DbC vs. TDD Design by Contract implies automated defensive programming pre- and postconditions and Test Driven Design is invariants are checked at mostly applied during design- runtime time. Expensive checks are Tests are executed whenever inhibitive appropriate - but usually not in the production environment Expensive checks are possible but unwarranted Tuesday, June 5, 2012
  • 53. Checking vs. Testing Checking is something that we do with the motivation of confirming existing beliefs Testing is something that we do with the motivation of finding new information. http://www.developsense.com/blog/2009/08/testing-vs-checking/ Tuesday, June 5, 2012
  • 54. Test Driven Development is an oxymoron Check Driven Development? Tuesday, June 5, 2012
  • 56. Red-Green-Refactor Failing Test Simplify Coding Remove Redundancy Tuesday, June 5, 2012
  • 57. Exploratory Testing From: Paul Carvalho http://swtester.blogspot.de/2012/05/what-is-exploratory-testing.html Tuesday, June 5, 2012
  • 58. So what is Exploratory Testing? "Exploratory Testing is simultaneously learning about the system while designing and executing tests, using feedback from the last test to inform the next." Elisabeth Hendrickson, @testobsessed Quoted by Paul Carvalho Tuesday, June 5, 2012
  • 59. Cone of uncertainty Agile and Iterative Development: A Manager's Guide, Craig Larman 2003 Tuesday, June 5, 2012
  • 61. Cone of test-cases http://swtester.blogspot.de/2012/05/what-is-exploratory-testing.html Tuesday, June 5, 2012
  • 62. Agile testing quadrants http://lisacrispin.com/wordpress/2011/11/08/using-the-agile-testing-quadrants/ Tuesday, June 5, 2012
  • 63. The Prime Directive Be Thoughtful and Methodical Throughout the test procedure, as you complete the tasks, you have lots of freedom about how you do the work. But you must work methodically, and follow the procedure. In the course of creating the result for each task, you’ll find that you have to make a lot of guesses, and some of them will be wrong. But you must think. If you find yourself making wild and uneducated guesses about how the product works, areas of instability, or anything else, stop and talk to the Test Manager. James Bach, 08/26/99, http://www.satisfice.com/tools/procedure.pdf Tuesday, June 5, 2012
  • 64. Scientific Method Formulate a question Hypothesis Prediction Test Analysis Tuesday, June 5, 2012
  • 65. Scientific Method Formulate a question Hypothesis Prediction Test Analysis Tuesday, June 5, 2012
  • 66. Exploratory Testing Complete these five tasks: ✓ Identify the purpose of the product. ✓ Identify functions. ✓ Identify areas of potential instability. ✓ Test each function and record problems. ✓ Design and record a consistency verification test. Source: http://www.satisfice.com/tools/procedure.pdf pg. 11 to 22 Tuesday, June 5, 2012
  • 67. Identify the purpose of the product • With a tangible result (i.e. Document) • Value for others - verifiable etc. • Value for the tester - builds understanding Tuesday, June 5, 2012
  • 68. Identify functions • By actually using (skimming) the product • Explorative (not based on documentation) • Tangible output (Function outline) Tuesday, June 5, 2012
  • 69. From James Bach: http://www.satisfice.com/tools/procedure.pdf Tuesday, June 5, 2012
  • 70. Identify areas of potential instability • Results: • Documented areas (before testing) • Documented data for testing • Documented Strategies Tuesday, June 5, 2012
  • 71. Test each function and record problems • Actually this means: Try to do things the development teams did not think of. • Remember: A Problem is just the difference between the expected behavior and the observed behavior - whether it is cause for action has to be decided by the customer Tuesday, June 5, 2012
  • 72. Design and record a consistency verification test • Try to extrapolate if the Software would run in (slightly) modified environments. (The original 5 steps are from 1999 (gasp) and relate to specific windows versions - the basic requirements still hold through) Tuesday, June 5, 2012
  • 73. Tool Support Area Tool URL http:// Recording spector www.spectorsoft.com/ http:// Recording BBTestAssistant www.bbsoftware.co.uk/ products.aspx http:// Recording Wink www.debugmode.com/ wink/ http://www.sirius- All in One TestExplorer sqa.com/ http://www.satisfice.com/blog/archives/77 Tuesday, June 5, 2012
  • 74. Session Based Test Management • Original description of ET : 1999 • Today : 2012 • SBTM: A way to organize exploratory testing • Working in 45 to 90 min Session based on Charters • See: http://satisfice.com/articles/sbtm.pdf Tuesday, June 5, 2012
  • 75. What are Charters Counterpart to the use case / user story Some of the same attributes - Roles, activities, actors, systems Examples: - “Analyze <Product>’s View menu functionality and report on areas of potential risk.” Tuesday, June 5, 2012
  • 77. Hierarchy Ad-Hoc Testing Tuesday, June 5, 2012
  • 78. Hierarchy Exploratory Testing Ad-Hoc Testing Tuesday, June 5, 2012
  • 79. Hierarchy Session Based Testing Exploratory Testing Ad-Hoc Testing Tuesday, June 5, 2012
  • 80. Hierarchy Session Based Test Management Session Based Testing Exploratory Testing Ad-Hoc Testing Tuesday, June 5, 2012
  • 82. ET-Spectrum Exploratory Testing according to: http://www.satisfice.com/rst.pdf Tuesday, June 5, 2012
  • 83. Can we prove it? Testing shows the presence, not the absence of bugs J.N. Buxton and B. Randell, eds, Software Engineering Techniques, April 1970, p. 16. Report on a conference sponsored by the NATO Science Committee, Rome, Italy, 27–31 October 1969. via http://en.wikiquote.org/wiki/Edsger_W._Dijkstra Program testing can be used to show the presence of bugs, but never to show their absence! Source: Notes On Structured Programming, 1972, at the end of section 3, On The Edsger Wybe Dijkstra Reliability of Mechanisms. EWD249 (1970). Tuesday, June 5, 2012
  • 84. TDD • Technique to drive the design of your code y, t! r n sa cie s fi ce uf e s N ot t n Bu Tuesday, June 5, 2012
  • 85. BDD • Technique to capture requirements and drive desired functionality y, t! r n sa cie s fi ce uf e s N ot t n Bu Tuesday, June 5, 2012
  • 86. ET • Technique to drive the discovery of unwanted, unexpected and unpredicted behaviour y, t! r n sa cie s fi ce uf e s N ot t n Bu Tuesday, June 5, 2012
  • 87. About me “Consulting on software development processes and software architecture since the last millennium” - @MMahlberg Google me: “Michael Mahlberg” Tuesday, June 5, 2012
  • 89. Flight-Envelope Photo Credits http://en.wikipedia.org/wiki/File:PerformanceEnvelope.gif Testpilots: http://www.flickr.com/photos/x-ray_delta_one/4106250812/in/photostream/ Spreading junction http://www.flickr.com/photos/elsie/4164899/in/photostream/ Tokio Tower http://www.flickr.com/photos/wilhelmja/330965980/in/photostream/ Eiffel Tower http://www.flickr.com/photos/gcattiaux/2565101112/in/photostream/ Spectrum http://www.flickr.com/photos/eiriknewth/132859486/in/photostream/ Armor http://www.flickr.com/photos/nicmcphee/1563082378/in/photostream/ Aerobatics http://www.flickr.com/photos/ssandars/6827302/in/photostream/ Airbus http://www.flickr.com/photos/mwanasimba/4097232435/ Tuesday, June 5, 2012