Collaborative Exploratory and Unit Testing
Maaret Pyhäjärvi & Llewellyn Falco
@maaretp & @LlewellynFalco
Strong Style Pairing“For an idea to go from your head to
the computer it must go though someone else’s hands”
*http://llewellynfalco.blogspot.fi/2014/06/llewellyns-strong-style-pairing.html
THINGS TO LEARN TODAY
What is Unit Testing (Llewellyn way)
What is Exploratory Testing (Maaret way)
Collaboration of two different skill sets
Types of Insights Doing Exploratory Testing
Doing Unit Testing
Tools: Mindmup & Approvals
Mob Programming Rulesfor Exploratory Testing Activity
• No thinking as the driver• Yes, and…
• Kindness, consideration and respect
Certainty“I know what I
know”Exploit
Caution“I know what I don’t
know”Explore
Amnesia“I don’t know what I
know”Expose
Ignorance“I don’t know what I
don’t know”Experiment
Looking at World from Different Angles
Unit
Test
ing
Expl
orat
ory
Test
ing
Builder view
Tester view
What Testing Gives UsUn
it Te
stin
g
Expl
orat
ory
Test
ing
SPECFEEDBACKREGRESSIONGRANULARITY
GUIDANCEUNDERSTANDING
MODELSSERENDIPITYTesting as
artifact creation
Testing as performan
ce
17
Exploration SkillsSource: Adapted from James Bach, Jon Bach, Michael Bolton. Exploratory Testing
Dynamics. v.2.2. 2009
Self-manageme
nt
Developing ideas
Examining product
DoneTo DoIssuesCoverage
All sources available Best use of time – effective and efficient work
Making modelsTool support – creative solutionsRisk-based testing – scientific approachKeeping one’s eyes open
18
Exploratory Testing: Frame of Management
”A day’s work”
Vision (“Sandbox”) Current Charter
Other Charters Details
Bug Reports
Perception of quality
and coverage
Quality ReportDebriefin
g
Tester
Test Manager
PastResultsObstaclesOutlookFeelings
?#
xCharter backlog of the future testing
Out of budget
Next in importanc
e!#, ?, x, +20:20:60
Session sheets of the past testing
Idea of exploratio
n
Metrics summary
Coaching
PlaybooksCoverage outlines
NON-FunctionalGet inputs as needed (global state, file, database…)
Result vary (dates, random, environment)Store results (global, disk, database, transient)
Why is Testing Hard?1. XPath2. Finding
Elements3. Global state4. Dates5. Failure
cases6. Wait Times7. Mobile
8. Setup9. Lot’s of
paths10.Environme
nt11.Uncontrolla
ble Variables
12.UI
13.Money14.Dates15.Database16.Integration17.Finding
Elements18.Timing
Maaret PyhäjärviEmail: [email protected]: @maaretpBlog: visible-quality.blogspot.fi
Get in Touch
Llewellyn FalcoEmail: [email protected]: @LlewellynFalcoBlog: llewellynfalco.blogspot.com
Getting the Software to Test• http://darkfunction.com/editor/ Download the jar• http://lfal.co/DfExamples• Download as zip
The App: Dark Function Editor• Eclipse:
– Open dfEditorApp (Ctrl+Shift+T)– Run (Ctrl+F11)
• A 2D sprite and animation tool for game developer
• Two main uses:– Sprite sheet creator: Create sprite sheets by adding coordinates or
by putting together individual sprites (New / Sprite sheet)– Image animator: Create animations from sprite sheets (New /
Animation set)• Test data to start from:
– In darkFunction-Editor/TestingResources/StarWarsImages/SWAll.sprites