Sei sulla pagina 1di 40

Intro To

Exploratory Testing
Exploratory Testing
Using Heuristics
Michelle Lagare

QE-360 FOUNDER
QE Transition Coach / QE Is the New QA
CSM
Agile Evangelist
Exploratory
testing, anyone?
Simultaneous learning,
test design and test
execution
- James Bach
Why Exploratory Testing?

✓ Keep up with dev’t. pace


✓ Tester is an integral part of test process
✓ Core of Agile Testing
Advantages

✓ Less time on prep, more time on actual testing


✓ Flexible - high level / low level details of tests
✓ Focus of the testing is within the context of what is
needed
✓ Increase chances of finding new errors
✓ Tests are less prone to being immune to tired, old
test cases
Disadvantages

– Demands testing expertise


– Tester should have system’s domain knowledge
– Difficult to reproduce steps
– Harder to spot conflicting requirements

HEURISTIC is a fallible
method of solving a
problem or making a
decision
- James Bach & Cem Kaner
Test Design Thru
HEURISTICS

There are different heuristics and
we can come up with our own
heuristic sets to make it more
suitable to the project we’re
testing
Test Heuristics in
Mnemonics
General Test
Techniques Heuristics -
DUFFSSCRA
Domain
Divide and conquer data
Inputs and Outputs
- Boundary values
- Typical values
- Convenient values
- Invalid values
- Best representatives
User
Involve the users
- Categories and roles of users
- What do each user do?
- Real user data or real user to test
- Simulate a real user
Function
What can it do?
What isn’t supposed to do?
Flow
Do one thing after another
- End-to-end
- Don’t reset the system between actions
- Vary timing and sequencing
- Parallel threads
Stress
Overwhelm the product
- Sub-systems to be overloaded or “broken”
- Challenging data
- Large or complex data structures
- High loads
- Long test runs
- Low memory conditions
‘ ‘‘ ‘ ‘ ‘
‘ ‘ ‘
Scenario
Compelling story
- Meaningful and complex interactions
- Someone who matters might do something that matters with
the product
Claims
Challenge every claim
- SLA
- EULA
- Ads
- Specs
- Manuals
\
Risk
Imagine a problem
- Problems the products could have
- Which ones matters most?
- How do you detect them?
- List of problems and how to reveal them
- Consult experts, docs and past bugs
Automatic Checking
Check a million different facts
- Look/develop tools that can perform lots of actions and
check lots of things
- Partially automate test coverage
- Partially automate oracles
- Change detector
- Test data generator
- What can make human testing more powerful
Product Element
Heuristics - SFDIPOT
Structure
Everything that comprises the physical product

Code Non-executable files

Hardware Collateral
Function
Everything that the product does

Application Transformation Error-handling

Calculation Startup / Shutdown Interactions

Time-related Multimedia Testability


Data
Everything that the product processes

Input Persistent Big / Little

Sequences /
Output Noise
Combinations

Preset Cardinality Lifecycle


Interfaces
Every conduit by which the product is accessed or expressed

User Interfaces API / SDK

System Interfaces Import / Export


Platform
Everything on which the product depends (and is outside
your project)

External External Internal


Hardware Software Components
Operations
How will the product be used

Users Common Use

Environment Disfavored Use

Extreme Use
Time
Any relationship between product and time

Input / Output Changing Rates

Fast / Slow Concurrency


Quality Criteria Heuristics -
CRUSSPICSTMPL
● Capability ● Installability
● Reliability ● Compatibility
● Usability ● Supportability
● Security ● Testability
● Scalability ● Maintainability
● Performance ● Portability
● Localizability
Project Environment - CIDTEST
● Customer
● Information
● Developer Relations
● Test Team
● Equipment & Tools
● Schedule
● Test Items
● Deliverables
Test Oracles - MB & JB
FEW HICCUPPS
● Familiarity ● History
● Explainability ● Image
● World ● Comparable Products
● Claims
● User’s expectations
● Product
● Purpose
● Statutes &
Standards
Regression Testing - Karen Johnson
RCRCRC
● Recent
● Core
● Risk
● Configuration
● Repaired
● Chronic
Data Type Attacks -
Elisabeth Hendrickson
● Paths / Files
● Time and Date
● Numbers
● Strings
● General
Web Test -
Elisabeth Hendrickson
● Navigation
● Input
● Syntax
● Preferences
SMS Test - Karen Johnson
RSTLLL
● Reply
● Sender
● Timestamp
● List
● Links
● Language
● Length
Mobile App Testing - Jonathan Kohl
I SLICED UP FUN
● Inputs
● Data
● Store
● Usability
● Location
● Platform
● Interactions/Interruptions
● Function
● Communications
● User Scenarios
● Ergonomics
● Network
Create your own Test
Heuristics Mnemonics!
Q&A
Michelle Chua - Lagare
michelle.chua.lagare@gmail.com
@qeisthenewqa
@prew18

Potrebbero piacerti anche