Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a...
Transcript of Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a...
![Page 1: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/1.jpg)
Exploratory Testing
Software Testing: INF3121 / INF4121
27.04.2017 / Yulai de Meer Fjeld
![Page 2: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/2.jpg)
Learning Outcomes
Understanding the system to be tested
Building quality, not only checking for it
Scripted testing vs. exploratory testing
Let’s play: The Witness
Exploratory testing: A Definition
Testing is context-dependent
Testing as a sapient activity
Heuristics and questioning strategies
![Page 3: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/3.jpg)
What is a computer program?
![Page 4: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/4.jpg)
Computer Program: A Definition
“A set of instructions for a computer”
“A collection of instructions to perform a
specific task when executed by a
computer”
“A list of instructions that tell a computer
what to do”
![Page 5: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/5.jpg)
Is the definition complete?
![Page 6: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/6.jpg)
What is a house?
![Page 7: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/7.jpg)
House: A Definition
“A collection of construction materials
assembled according to house-design
patterns”
![Page 8: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/8.jpg)
House: Other Definitions
“A building for human habitation”
“A building that functions as a home”
“A building in which people meet for a
particular activity”
“A residence for a community”
![Page 9: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/9.jpg)
Computer Program: A New Definition What are computer programs?
“A set of instructions for a computer”
![Page 10: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/10.jpg)
Computer Program: A New Definition What are computer programs?
“A set of instructions for a computer”
Missing factors
![Page 11: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/11.jpg)
Computer Program: A New Definition What are computer programs?
“A set of instructions for a computer”
Missing factors
Intent → Why?
Stakeholders → Who?
![Page 12: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/12.jpg)
Computer Program: A New Definition What are computer programs?
“A set of instructions for a computer”
Missing factors
Intent → Why?
Stakeholders → Who?
Cem Kaner’s alternative definition
The purpose of a program is to provide value to people
“A communication among several individuals and computers, who are
distributed across space and time, that contains instructions that can be
executed by a computer”
![Page 13: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/13.jpg)
Quality To provide value, we expect a certain degree of quality
A computer program is far more than its code
A software product is far more than the instructions for the device
![Page 14: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/14.jpg)
Quality To provide value, we expect a certain degree of quality
A computer program is far more than its code
A software product is far more than the instructions for the device
Quality is far more than the absence of errors
Have you ever bought a program simply because it was bug-free?
![Page 15: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/15.jpg)
Quality To provide value, we expect a certain degree of quality
A computer program is far more than its code
A software product is far more than the instructions for the device
Quality is far more than the absence of errors
Have you ever bought a program simply because it was bug-free?
Most likely, you have not
Instead, we use programs because we believe they provide some benefit
![Page 16: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/16.jpg)
Quality To provide value, we expect a certain degree of quality
A computer program is far more than its code
A software product is far more than the instructions for the device
Quality is far more than the absence of errors
Have you ever bought a program simply because it was bug-free?
Most likely, you have not
Instead, we use programs because we believe they provide some benefit
Quality is value experienced
Improvement | Solution
![Page 17: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/17.jpg)
How to strive for quality?
![Page 18: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/18.jpg)
Quality Assurance
![Page 19: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/19.jpg)
What is software testing?
![Page 20: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/20.jpg)
Software Testing: A Definition Generally defined as:
“A process of executing a program or application with the intent of finding
software bugs”
![Page 21: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/21.jpg)
Software Testing: A Definition Generally defined as:
ISTQB defines software testing as:
“A process of executing a program or application with the intent of finding
software bugs”
“The process consisting of all lifecycle activities, both static and dynamic,
concerned with planning, preparation and evaluation of software products
and related work products to determine that they satisfy specified
requirements, to demonstrate that they are fit for purpose and to detect
defects”
![Page 22: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/22.jpg)
Testing: An Investigation Testing is far more than writing code
Testing is investigative work
![Page 23: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/23.jpg)
Testing: An Investigation Testing is far more than writing code
Testing is investigative work
Testers examine
Code and documents
Systems
People
And the relationships between them
![Page 24: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/24.jpg)
Testing: An Investigation Testing is far more than writing code
Testing is investigative work
Testers examine
Code and documents
Systems
People
And the relationships between them
We need to understand the objective
Why are we testing in the first place?
![Page 25: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/25.jpg)
Testing: A Search for Information Testing is always a search for information
What information do we search for?
![Page 26: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/26.jpg)
Testing: A Search for Information Testing is always a search for information
Find important bugs in order to get them fixed
Assess the quality of the product
Assess conformance to specifications
Find safe scenarios for use of the product
![Page 27: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/27.jpg)
Testing: A Search for Information Testing is always a search for information
Find important bugs in order to get them fixed
Assess the quality of the product
Assess conformance to specifications
Find safe scenarios for use of the product
How do we search for information?
![Page 28: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/28.jpg)
Testing: A Search for Information Testing is always a search for information
Find important bugs in order to get them fixed
Assess the quality of the product
Assess conformance to specifications
Find safe scenarios for use of the product
How do we search for information?
We examine the work products
We compare the results to expected outcomes
We explore!
![Page 29: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/29.jpg)
Scripted testing
![Page 30: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/30.jpg)
Scripted Testing A test script specifies
Test data and operations
Expected results
Comparisons to be made by humans / machines
![Page 31: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/31.jpg)
Scripted Testing A test script specifies
Test data and operations
Expected results
Comparisons to be made by humans / machines
Scripts can control
Manual testing by humans
Automated test execution or comparison by a machine
![Page 32: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/32.jpg)
Scripted Testing: Example Testing login functionality on a simple site
Test data
?
![Page 33: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/33.jpg)
Scripted Testing: Example Testing login functionality on a simple site
Test data
Username and Password
Test procedure
?
![Page 34: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/34.jpg)
Scripted Testing: Example Testing login functionality on a simple site
Test data
Username and Password
Test procedure
Go to site
Type in username and password
Click “Login”
![Page 35: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/35.jpg)
Scripted Testing: Example Let us write a manual script for testing login functionality
Note that we have not included error handling (e.g. incorrect username / password)
![Page 36: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/36.jpg)
Scripted Testing Benefits of scripted testing
What are the benefits of using scripts in testing?
![Page 37: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/37.jpg)
Scripted Testing Benefits of scripted testing
Division of labour
Planning / Analysis / Implementation / Execution / Evaluation
![Page 38: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/38.jpg)
Scripted Testing Benefits of scripted testing
Division of labour
Planning / Analysis / Implementation / Execution / Evaluation
Careful thinking about the design of each test
Created from requirements, code, etc.
Covers all attributes of the system that have been defined
![Page 39: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/39.jpg)
Scripted Testing Benefits of scripted testing
Division of labour
Planning / Analysis / Implementation / Execution / Evaluation
Careful thinking about the design of each test
Created from requirements, code, etc.
Covers all attributes of the system that have been defined
Review by other stakeholders
Reuse- and repeatability
Other testers can replicate the test in no time
![Page 40: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/40.jpg)
Scripted Testing Problems with test scripts
What are the problems with test scripts?
![Page 41: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/41.jpg)
Scripted Testing Problems with test scripts
Programs fail in many ways, some of which may seem inexplicable
![Page 42: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/42.jpg)
Scripted Testing Problems with test scripts
Programs fail in many ways, some of which may seem inexplicable
Scripts are “hit and miss”
Unintentional blindness
Pay attention to certain things, not to others
![Page 43: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/43.jpg)
Scripted Testing Problems with test scripts
Programs fail in many ways, some of which may seem inexplicable
Scripts are “hit and miss”
Unintentional blindness
Pay attention to certain things, not to others
Computers focus only on what they are programmed to look at
Blind by design → Can leave many stones unturned
With a script, you miss the same things every single time
![Page 44: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/44.jpg)
Scripted Testing Problems with test scripts
Programs fail in many ways, some of which may seem inexplicable
Scripts are “hit and miss”
Unintentional blindness
Pay attention to certain things, not to others
Computers focus only on what they are programmed to look at
Blind by design → Can leave many stones unturned
With a script, you miss the same things every single time
We have to explore!
![Page 45: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/45.jpg)
The need for exploration
![Page 46: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/46.jpg)
The Witness: An Example
“Explore an abandoned island”
A video game by Jonathan Blow
Released in 2016
Gameplay
Walk around an island
Solve puzzles
Let’s play!
![Page 47: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/47.jpg)
The Witness: On Exploration What can we learn from The Witness?
![Page 48: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/48.jpg)
The Witness: On Exploration
Failure
Without failing, there can be no learning
The need to embrace
![Page 49: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/49.jpg)
The Witness: On Exploration
Failure
Without failing, there can be no learning
Curiosity
Exploring leads to discovery
The need to embrace
![Page 50: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/50.jpg)
The Witness: On Exploration
Failure
Without failing, there can be no learning
Curiosity
Exploring leads to discovery
Logic
Acknowledge, and adhere to the rules
The need to embrace
![Page 51: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/51.jpg)
The Witness: On Exploration
Failure
Without failing, there can be no learning
Curiosity
Exploring leads to discovery
Logic
Acknowledge, and adhere to the rules
Nonsense
Discard the rules; they are meant to be broken
The need to embrace
![Page 52: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/52.jpg)
What is Exploratory Testing?
![Page 53: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/53.jpg)
Exploratory Testing As defined by the ISTQB
“An informal test design technique where the tester actively controls
the design of the tests as those tests are performed, and uses
information gained during testing to design new and better tests”
![Page 54: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/54.jpg)
Exploratory Testing As defined by the ISTQB
However, it was a term first coined by Cem Kaner
“An informal test design technique where the tester actively controls
the design of the tests as those tests are performed, and uses
information gained during testing to design new and better tests”
“A style of software testing that emphasises the personal freedom
and responsibility of the individual tester, to continually optimise the
value of his/her work, by treating test-related learning, test design,
test execution, and test result interpretation as mutually supportive
activities that run in parallel throughout the project”
![Page 55: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/55.jpg)
Testers Explore For each software / application:
![Page 56: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/56.jpg)
Doing Exploratory Testing Anything that can guide us in
What to test / How to test / Recognise a problem
![Page 57: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/57.jpg)
Doing Exploratory Testing Anything that can guide us in
What to test / How to test / Recognise a problem
Creating / fashioning / constructing according to plan
Design is not scripting
![Page 58: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/58.jpg)
Doing Exploratory Testing Anything that can guide us in
What to test / How to test / Recognise a problem
Creating / fashioning / constructing according to plan
Design is not scripting
Executing the test and collecting the results
Can be automated or manual
![Page 59: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/59.jpg)
Doing Exploratory Testing Anything that can guide us in
What to test / How to test / Recognise a problem
Creating / fashioning / constructing according to plan
Design is not scripting
Executing the test and collecting the results
Can be automated or manual
What we learn from the system under test
Information about the system
Information about how we are testing the system
![Page 60: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/60.jpg)
Testing is Context-Dependent Software systems are different
How are they different?
![Page 61: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/61.jpg)
Testing is Context-Dependent Software systems are different
Intended for different users
Used in different ways
Pose different risks
![Page 62: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/62.jpg)
Testing is Context-Dependent Software systems are different
Intended for different users
Used in different ways
Pose different risks
Require different focus in testing
We cannot test all systems the same way
We need information about the system under test
We let this information guide the test effort
![Page 63: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/63.jpg)
Testing is Context-Dependent Testing depends on the following
![Page 64: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/64.jpg)
Testing is Context-Dependent Testing depends on the following
Even for the same product → Testing differs from release to release
First release → Positive testing | Subsequent releases → Performance testing
Patch → Negative, regression testing
![Page 65: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/65.jpg)
Testing is Context-Dependent Questions to understand the context and build quality
What do we need to understand?
![Page 66: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/66.jpg)
Testing is Context-Dependent Questions to understand the context and build quality
Who are the customers and who are the users?
Is the customer the same as the user?
How can we describe the typical user?
![Page 67: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/67.jpg)
Testing is Context-Dependent Questions to understand the context and build quality
Who are the customers and who are the users?
Is the customer the same as the user?
How can we describe the typical user?
What will the product be used for?
How important is feature X to the customers?
Can they live without this feature?
![Page 68: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/68.jpg)
Testing is Context-Dependent Questions to understand the context and build quality
Who are the customers ad who are the users?
Is the customer the same as the user?
How can we describe the typical user?
What will the product be used for?
How important is feature X to the customers?
Can they live without this feature?
What is the time to market?
How much is invested in the development / testing of the product?
![Page 69: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/69.jpg)
Testing is Context-Dependent Questions to understand the context and build quality
Who are the customers and who are the users?
Is the customer the same as the user?
How can we describe the typical user?
What will the product be used for?
How important is feature X to the customers?
Can they live without this feature?
What is the time to market?
How much is invested in the development / testing of the product?
What are the customers’ and users’ expectations?
![Page 70: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/70.jpg)
Testing: A Sapient Activity Sapience
“The ability to act with judgement”
Homo sapiens → “The Wise Man”
![Page 71: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/71.jpg)
Testing: A Sapient Activity Sapience
“The ability to act with judgement”
Testing always happens under conditions of uncertainty
Good testing stands up to scrutiny
Without scrutiny, software testing would be an easy task
One could test badly, and no one would ever notice / care
![Page 72: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/72.jpg)
Testing: A Sapient Activity Sapience
“The ability to act with judgement”
Testing always happens under conditions of uncertainty
Good testing stands up to scrutiny
Without scrutiny, software testing would be an easy task
One could test badly, and no one would ever notice / care
The test effort will (at some point) be judged
Either by users, management, peers, etc.
This makes testing difficult!
![Page 73: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/73.jpg)
Sapience in Testing Example requirement
“The system shall operate at an input voltage range of 100-250 VAC”
How would you test this?
![Page 74: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/74.jpg)
Sapience in Testing Example requirement
“The system shall operate at an input voltage range of 100-250 VAC”
How would you test this?
Poor answer
“Test with an input voltage in the range of 100-250 VAC”
![Page 75: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/75.jpg)
Sapience in Testing Example requirement
“The system shall operate at an input voltage range of 100-250 VAC”
How would you test this?
Poor answer
“Test with an input voltage in the range of 100-250 VAC”
An improved, but still poor answer
First: “Test with input voltage below 100 VAC”
Then: “Within 100-250 VAC”
Last: “Above 250 VAC”
![Page 76: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/76.jpg)
Sapience in Testing Good testing should answer some fundamental questions
What are some good questions to ask?
![Page 77: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/77.jpg)
Sapience in Testing Good testing should answer some fundamental questions
What happens when the system receives voltage outside its range?
Does it shut down? Blow up? Give erroneous results / error message?
If it is designed to pause and recover; what actually happens?
![Page 78: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/78.jpg)
Sapience in Testing Good testing should answer some fundamental questions
What happens when the system receives voltage outside its range?
Does it shut down? Blow up? Give erroneous results / error message?
If it is designed to pause and recover; what actually happens?
Is there a special gear that can supply voltage at different levels?
If so; we could probably use it
What does it cost? / What are the risks?
![Page 79: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/79.jpg)
Sapience in Testing Good testing should answer some fundamental questions
What happens when the system receives voltage outside its range?
Does it shut down? Blow up? Give erroneous results / error message?
If it is designed to pause and recover; what actually happens?
Is there a special gear that can supply voltage at different levels?
If so; we could probably use it
What does it cost? / What are the risks?
What happens if there is a power spike?
What happens if the power input suddenly drops and then recovers?
![Page 80: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/80.jpg)
Sapience in Testing Good testing should answer some fundamental questions
How long can the product run above or below the rated levels?
Run the product for a long time at the upper and lower voltage ranges
![Page 81: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/81.jpg)
Sapience in Testing Good testing should answer some fundamental questions
How long can the product run above or below the rated levels?
Run the product for a long time at the upper and lower voltage ranges
What happens when we turn the product on and off?
Does the product need time to reach some state before use?
If so; how long does that take?
![Page 82: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/82.jpg)
Sapience in Testing Good testing should answer some fundamental questions
How long can the product run above or below the rated levels?
Run the product for a long time at the upper and lower voltage ranges
What happens when we turn the product on and off?
Does the product need time to reach some state before use?
If so; how long does that take?
Run the system with varying input voltages
Varying slowly and rapidly as we run other tests
![Page 83: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/83.jpg)
Sapience in Testing Good testing should answer some fundamental questions
How long can the product run above or below the rated levels?
Run the product for a long time at the upper and lower voltage ranges
What happens when we turn the product on and off?
Does the product need time to reach some state before use?
If so; how long does that take?
Run the system with varying input voltages
Varying slowly and rapidly as we run other tests
What are the correlations between input voltage and output?
![Page 84: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/84.jpg)
Can we improve this process?
![Page 85: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/85.jpg)
Heuristics How can we structure our problem-solving skills?
Why is this important?
![Page 86: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/86.jpg)
Heuristics How can we structure our problem-solving skills?
Testing happens under constraints → Limited resources
Exhaustive testing is impossible
Need to speed up the process of finding satisfactory solutions
![Page 87: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/87.jpg)
Heuristics How can we structure our problem-solving skills?
Testing happens under constraints → Limited resources
Exhaustive testing is impossible
Need to speed up the process of finding satisfactory solutions
Heuristic → Heuriskein (greek) → Find
Experience-based technique
Problem-solving, learning, and discovery
![Page 88: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/88.jpg)
Heuristics How can we structure our problem-solving skills?
Testing happens under constraints → Limited resources
Exhaustive testing is impossible
Need to speed up the process of finding satisfactory solutions
Heuristic → Heuriskein (greek) → Find
Experience-based technique
Problem-solving, learning, and discovery
Example heuristics
Rule of thumb | Educated guess | Intuitive judgement | Stereotyping
![Page 89: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/89.jpg)
Heuristics: Different Types
![Page 90: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/90.jpg)
Guideword Heuristics Simple strategy for making decisions and finding solutions
Does not provide the answers
Instead: Suggests key elements to consider
Keywords direct attention to the details that are most likely to matter
![Page 91: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/91.jpg)
Guideword Heuristics Simple strategy for making decisions and finding solutions
Does not provide the answers
Instead: Suggests key elements to consider
Keywords direct attention to the details that are most likely to matter
Based on experience and probability
Ensure most crucial aspects are covered
Regardless of how little knowledge the tester has about a program
![Page 92: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/92.jpg)
Guideword Heuristics Simple strategy for making decisions and finding solutions
Does not provide the answers
Instead: Suggests key elements to consider
Keywords direct attention to the details that are most likely to matter
Based on experience and probability
Ensure most crucial aspects are covered
Regardless of how little knowledge the tester has about a program
Words or labels to access your full spectrum of knowledge
Used to effectively analyse and approach a problem
![Page 93: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/93.jpg)
Heuristics: SFDPO What is it?
What files does it have? Is it one program or many?
![Page 94: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/94.jpg)
Heuristics: SFDPO What is it?
What files does it have? Is it one program or many?
What does it do?
What are its functions? What kind of user interface does it have?
![Page 95: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/95.jpg)
Heuristics: SFDPO What is it?
What files does it have? Is it one program or many?
What does it do?
What are its functions? What kind of user interface does it have?
What does it process?
What does the input / output look like? What are the modes / states?
![Page 96: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/96.jpg)
Heuristics: SFDPO What is it?
What files does it have? Is it one program or many?
What does it do?
What are its functions? What kind of user interface does it have?
What does it process?
What does the input / output look like? What are the modes / states?
What does it depend on?
What operating systems does it run on? Special configurations?
![Page 97: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/97.jpg)
Heuristics: SFDPO What is it?
What files does it have? Is it one program or many?
What does it do?
What are its functions? What kind of user interface does it have?
What does it process?
What does the input / output look like? What are the modes / states?
What does it depend on?
What operating systems does it run on? Special configurations?
How will it be used?
Who will use it? Where and how will it be used?
![Page 98: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/98.jpg)
Heuristics: Cheat Sheet
http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf
![Page 99: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/99.jpg)
Trigger Heuristics Ideas associated with an event or condition
Recognise when it is time to take further action
Shift focus to think in a different way
![Page 100: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/100.jpg)
Trigger Heuristics Ideas associated with an event or condition
Recognise when it is time to take further action
Shift focus to think in a different way
Emotions and feelings are powerful sources for trigger heuristics
Impatience → An intolerable delay?
Frustration → A poorly conceived workflow?
Surprise → Inconsistency with expectations?
Confusion → Unclear interface? Poor testability?
Annoyance → A missing feature?
Boredom → An uninteresting feature / test?
![Page 101: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/101.jpg)
Heuristics for The Witness Guideword heuristics
Dots → Cover all
Different coloured squares → Separate them
Trigger heuristics
Frustration → Use the environment, find the right perspective
Confusion → Check your assumptions
Tiredness → Time for a break?
![Page 102: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/102.jpg)
Heuristics in Testing We use heuristics the same way when testing
![Page 103: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/103.jpg)
Heuristics in Testing We use heuristics the same way when testing
Notice what you do when trying to approach a problem
What do you do?
What made you succeed?
What made you fail?
![Page 104: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/104.jpg)
Heuristics in Testing We use heuristics the same way when testing
Notice what you do when trying to approach a problem
What do you do?
What made you succeed?
What made you fail?
Find an evocative label or phrase for that thought or process
Should be easy to remember
![Page 105: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/105.jpg)
Heuristics in Testing We use heuristics the same way when testing
Notice what you do when trying to approach a problem
What do you do?
What made you succeed?
What made you fail?
Find an evocative label or phrase for that thought or process
Should be easy to remember
Try using the labels next time you approach a problem
See how effective they can be!
![Page 106: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/106.jpg)
Questioning Strategies Each test case is viewed as a question we ask the product
“Can you do this?”
“What happens if I do that?”
![Page 107: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/107.jpg)
Questioning Strategies Each test case is viewed as a question we ask the product
“Can you do this?”
“What happens if I do that?”
Shifting the focus from designing test cases
To designing a set of questions
Use heuristics to come up with appropriate questions
![Page 108: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/108.jpg)
Questioning Strategies Each test case is viewed as a question we ask the product
“Can you do this?”
“What happens if I do that?”
Shifting the focus from designing test cases
To designing a set of questions
Use heuristics to come up with appropriate questions
Phoenix Checklist
Developed by the CIA → Guides the operatives when facing a problem
Context-free questions → Can be applied to exploratory software testing
![Page 109: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/109.jpg)
Phoenix Checklist
The problem
Why is it necessary to solve the problem?
What is the unknown?
What is it you don’t yet understand?
What is not the problem?
What is the information you have?
Sufficient? Redundant? Contradictory?
Should you draw a diagram of the problem?
Can you separate various parts of the problem?
Have you seen this problem before?
Do you know of related problems?
Can these methods be used?
What are the most probable cases you can imagine?
The plan
Can you solve the whole problem? Part of it?
Can you derive something useful from the given info?
Have you used all the information?
Can you separate steps …
in the problem-solving process?
What should be done?
How should it be done?
What do you need to do at this time?
Who will be responsible for what?
What milestones can best mark your progress?
How will you know when you succeed?
How will you know when you are done?
![Page 110: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/110.jpg)
Phoenix Checklist
The problem
Why is it necessary to solve the problem?
What is the unknown?
What is it you don’t yet understand?
What is not the problem?
What is the information you have?
Sufficient? Redundant? Contradictory?
Should you draw a diagram of the problem?
Can you separate various parts of the problem?
Have you seen this problem before?
Do you know of related problems?
Can these methods be used?
What are the most probable cases you can imagine?
The problem: Testing Wikipedia
The world’s most popular online encyclopaedia
Do not know all of the site’s functionality
The internal structure of the site
Testing the graphical user interface
Access to the site
Access to the database
Could be helpful
Yes → Content / User profiles / Tools
Yes
Testing other websites
Of course
Information search and editing
![Page 111: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/111.jpg)
Phoenix Checklist
The Plan: Testing Wikipedia
Yes
Given info provides an overview of the functionality
Not as of yet
Yes
Plan, Analyse, Implement, Execute, Evaluate
Categorise functionality into areas of use
Create specific tests for each usage area
Examine Wikipedia’s functionality to identify patterns
Has yet to be decided
Completed testing of various usage areas
When my efforts pass someone else’s scrutiny
When all usage areas have been tested
The plan
Can you solve the whole problem? Part of it?
Can you derive something useful from the given info?
Have you used all the information?
Can you separate steps …
in the problem-solving process?
What should be done?
How should it be done?
What do you need to do at this time?
Who will be responsible for what?
What milestones can best mark your progress?
How will you know when you succeed?
How will you know when you are done?
![Page 112: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/112.jpg)
Assessing Exploratory Testing Exploratory testing can prove hugely beneficial
However, it must be applied in the right context
When can it be useful?
![Page 113: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/113.jpg)
Assessing Exploratory Testing Exploratory testing can prove hugely beneficial
However, it must be applied in the right context
Lacking specifications and documentation
When requirements are not available
When under extreme time pressure
![Page 114: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/114.jpg)
Assessing Exploratory Testing Exploratory testing can prove hugely beneficial
However, it must be applied in the right context
Lacking specifications and documentation
When requirements are not available
When under extreme time pressure
Other considerations
What are the disadvantages of exploratory testing?
What should you pay extra attention to?
![Page 115: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/115.jpg)
Assessing Exploratory Testing Exploratory testing can prove hugely beneficial
However, it must be applied in the right context
Lacking specifications and documentation
When requirements are not available
When under extreme time pressure
Other considerations
Quality of test effort depends on the tester’s skill
Limited by the domain knowledge of the tester
Should be used to complement other test techniques
![Page 116: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/116.jpg)
Summary
Scripted testing Exploratory testing
![Page 117: Exploratory Testing · Exploratory testing: A Definition Testing is context-dependent Testing as a sapient activity Heuristics and questioning strategies . What is a computer program?](https://reader033.fdocuments.net/reader033/viewer/2022053007/5f0b61eb7e708231d4303ec8/html5/thumbnails/117.jpg)
Closing Remarks
The lecture slides were based on
Previous lecture slides by Raluca Florea (2016)
Black, R., van Veenendal, E., Graham, D. (2012). Foundations of Software
Testing: ISTQB Certification 3E. Cengage Learning.
IEEE 829: Standard for Software and System Documentation