Thoughts on Systematic Exploratory Testing of Important Products James Bach, Satisfice, Inc.

Slides:



Advertisements
Similar presentations
See...Think…Respond Adam White Founder Manager Test Engineering and Escalations Context Driven Testing.
Advertisements

©2011 1www.id-book.com Evaluation studies: From controlled to natural settings Chapter 14.
Chapter 14: Usability testing and field studies
Research Methods in Psychology
Design, prototyping and construction
More and Better Test Ideas Rikard Edgren TIBCO Spotfire EuroSTAR share one-liner test ideas.
Chapter 1: Introduction
Verification and Validation
© Michael Bolton, Thanks to James Bach Why Does Testing Take So Long? Michael Bolton DevelopSense.
Four Schools of Software Testing Workshop on Teaching Software Testing, Florida Tech, February 2003.
I’m Michael Bolton. I teach people how to test software.
Test Automation Success: Choosing the Right People & Process
Activity Design Goal: work from problems and opportunities of problem domain to envision new activities.
Agile Testing and/or Agility in Testing? Juha Itkonen SoberIT Teknillinen Korkeakoulu Test Summit, , Savonlinna.
Copyright © Allyn & Bacon (2007) Research is a Process of Inquiry Graziano and Raulin Research Methods: Chapter 2 This multimedia product and its contents.
Chapter 14: Usability testing and field studies. 2 FJK User-Centered Design and Development Instructor: Franz J. Kurfess Computer Science Dept.
Chapter 14: Usability testing and field studies. Usability Testing Emphasizes the property of being usable Key Components –User Pre-Test –User Test –User.
Chapter 5 Transfer of Training.
An evaluation framework
New Basic Skills. The Original Basic Skills Reading Writing Arithmetic.
SE 555 – Software Requirements & Specifications Introduction
From Controlled to Natural Settings
Testing Dojo Łukasz Kempny Autor: Łukasz KempnyCopyright© Future Processing 2012.
Emotions and Oracles Michael Bolton
Chapter 14: Usability testing and field studies
Marketing Research  Def. - Formal communication link with the environment to provide accurate and useful information for better decision making.  Systematic.
CompSci 230 Software Design and Construction
Performance Technology Dr. James J. Kirk Professor of HRD.
Evaluation Framework Prevention vs. Intervention CHONG POH WAN 21 JUNE 2011.
Chapter 11: An Evaluation Framework Group 4: Tony Masi, Sam Esswein, Brian Rood, & Chris Troisi.
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
Software Testing Course Shmuel Ur
Part 1-Intro; Part 2- Req; Part 3- Design  Chapter 20 Why evaluate the usability of user interface designs?  Chapter 21 Deciding on what you need to.
A COMPETENCY APPROACH TO HUMAN RESOURCE MANAGEMENT
Welcome to AP Biology Mr. Levine Ext. # 2317.
What do we know about exploratory testing? Implications for Practice
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
Black Box Software Testing Copyright © Cem Kaner & James Bach 1 Black Box Software Testing Fall 2005 Overview—Part 2 (Mission of Testing) Cem Kaner,
Testing & modeling users. The aims Describe how to do user testing. Discuss the differences between user testing, usability testing and research experiments.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
CHAPTER 1 Understanding RESEARCH
Teaching and Mentoring Student Researchers Part 2: Scientific Research Dr. Nancy Allen College of Education, Qatar University Dr. Gene Jongsma Education.
Session # Rational User Conference 2002 Author Note: To edit Session # go to: View/Master/Title Master ©1998, 1999, 2000, 2001, 2002 Rational Software.
The Case Against Test Cases
Smart Home Technologies
Human Factors and Ergonomics I (056:144) Timothy L. Brown Adjunct Professor Department of Mechanical &Industrial Engineering.
TESTING (S,S,AND A,B) By KARTHIKEYAN KANDASAMY. TESTING Scenario testing – 1.System & 2. Usecase Defect bash System o Functional and non functional testing.
World Conference – Next Generation Testing 08 – 12 July, Le-Meridien, Bangalore Mindmaps and Exploratory Testing Ajay Balamurgadas Meeta Prakash
Research Methods in Psychology Introduction to Psychology.
Inquiry Primer Version 1.0 Part 4: Scientific Inquiry.
WestEd.org The Theory Underlying the California Infant/Toddler Curriculum Framework J. Ronald Lally, Co-Director WestEd Center for Child & Family Studies.
Activity Design Goal: work from problems and opportunities of problem domain to envision new activities.
ISQB Software Testing Section Meeting 10 Dec 2012.
SIE 515 Design Evaluation Lecture 7.
Exploratory Testing By Alo Roots.
Beer Testing - An Exploratory Approach
Software testing
Dilbert Scott Adams Manage It! Your Guide to Modern, Pragmatic Project Management. Johanna Rothman.
A test technique is a recipe these tasks that will reveal something
1 What is Organizational Behavior? McGraw-Hill/Irwin
Applying Psychology to Teaching
Cem Kaner, J.D., Ph.D. Director
THE NATURE OF SCIENCE.
Applying Psychology to Teaching
HCI Evaluation Techniques
Manage testing by time boxes
The Nature of Science.
Think about your view of QA
Exploring Exploratory Testing
Presentation transcript:

Thoughts on Systematic Exploratory Testing of Important Products James Bach, Satisfice, Inc.

Exploratory Testing and Risk  If the stakes are high, how can you justify using unproductive approaches to testing?  Highly scripted testing means testing without using your brain. This is unproductive.  If you are using your brain; if you are designing tests throughout the project based on all the information available; then you are doing exploratory testing.

Exploratory Testing and Risk  I predict that within ten years it will widely be considered reckless to ship a product that has not been tested systematically using exploratory methods.  Exploratory testing is extremely productive. All testers do it. The problem is that very few take it seriously, or have any training in it.

 The “questions” consist of various ways of configuring and operating the product. (Asking questions about the product without operating it is usually called review rather than testing)  The product “answers” by exhibiting behavior, which the tester observes and evaluates.  To evaluate a product is to infer from its observed behavior how it will behave in the field, and to identify important problems in the product. Testing is questioning a product in order to evaluate it. I teach testing as a sort of martial art.

Exploratory Testing Defined Exploratory testing is simultaneous learning, test design, and test execution. pure scripted freestyle exploratory When I say “exploratory testing” and don’t qualify it, I mean anything on the exploratory side of this continuum. chartersvague scripts fragmentary test cases roles

Exploratory Testing Can Be Done…  …on an idea before it’s a product.  …on a product to model it for test planning.  …to augment or improvise upon scripts.  …to investigate a problem uncovered by some other test process.  …to test a product after changes are made.  …as the principal method of finding problems on a complex product.

Explore the meaning of requirements.  How do you test this requirement? – “When the user presses a button on the touchscreen, the system shall respond within 300 milliseconds”  Possibilities: – Performance analysis instrumentation? – Use a stopwatch? – Estimate it by eye? – Just report whether the product seems annoyingly slow?  Key questions: – What does this requirement really mean? – What risk corresponds to it? – Why is it written that way? – How important is it compared to other requirements?

Explore implications and scenarios.  How do you test this requirement? – “The movie [of x-ray images] shall be played at the frame rate set by the frame rate slider control.”  Possibilities: – Performance analysis instrumentation? – Use a stopwatch? – Estimate it by eye?  Key questions: – No tolerance is given. How close is close enough? – How much variation is acceptable? – Could a doctor come to a false diagnosis because of problems with this feature?

Things I explore when I play with a product.  Composition – Affordances: Ways the product can be used. – Dimensions & Variables: Product space and what changes within it. – Relationships & Interactions: functions that cooperate or interfere. – Navigation: Where things are and how to get to them.  Conformance – Benefits: What the product is good for-- when it has no bugs in it. – Consistencies: Fulfillment of logical, factual, and cultural expectations. – Oracles: Specific mechanisms or principles by which you can spot bugs. – Bugs and Risks: Specific problems and potential problems that matter.  Context (of the Product) – History: Where the product has been, and how it came to be. – Operations: Its users and the conditions under which it will be used.  Conditions (of Testing) – Attitudes: What your clients care about and what they want from you. – Complexities & Challenges: Discover the hardest things to test. – Resources: Discover tools and information that might help you test.

Exploration is a feedback loop  Configure  Operate  Observe  Evaluate execution  Understand Testing Mission  Understand Project Environment  Understand Risk Factors & Areas  Understand Product & Problem Domain  Configure Test Lab planning  Model Product  Identify Risks  Select Coverage  Determine Oracles  Determine Operations design learning Follow Risk Rumors

“How do you organize your work?” Customers Information Developer relations Team Equipment & tools Schedule Test Items Deliverables Structures Functions Data Platforms Operations Capability Reliability Usability Scalability Performance Installability Compatibility Supportability Testability Maintainability Portability Localizability Function testing Domain testing Stress testing Flow testing Scenario testing Claims testing User testing Risk testing Automatic testing

Analyzing Non-Routine Risks is About Learning, not Calculating  This learning… – is a heuristic process, not a rote procedure. – unfolds over time. – involves many different sources and people. – is a model-building process. – involves comparing risks predicted to risks manifested. – is highly social and psychological. – is largely self-correcting.

Develop Your Skills! TESTING SKILL CONSISTS OF THE SKILLS OF  General Systems Thinking  Critical Thinking & Research Methods  Rapid & Exploratory Learning PLUS KNOWLEDGE OF  Cognitive Science & Human Factors  Decision & Utility Theory  Folklore & Heuristics (most testing textbooks are folklore) PLUS  Context-Specific Technology and Social Skills