Testing is about feedback. Working through the questions of what and how of testing, we’ve refined a tester-facing discipline of Exploratory testing and a developer-facing discipline of Unit Testing. We’ve built in-depth skills in those disciplines, their belief systems and their variations. We’ve brought specialists of each discipline to same teams to deliver software that is closer to ready for its stakeholders, together. In addition to understanding and valuing both the disciplines, we still need to mix the people of different disciplines with hands-on collaboration to harness the right insights of exploration to protect code. Cross-pollination of the two is needed for both sides to truly flourish.
5. 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
UnitTesting
ExploratoryTesting
6. Testers don’t break your
code, they break your
illusions about the
code.
-- adapted from James Bach
7. What Testing Gives Us
UnitTesting
ExploratoryTesting
SPEC
FEEDBACK
REGRESSION
GRANULARITY
GUIDANCE
SERENDIPITY
MODELS
UNDERSTANDING
Testing as
artifact
creation
Testing as
performanc
e
8. A Few Ideas of Exploratory
Testing
• It’s not just about GUI and finalized features
– You can explore an API
– You can adapt to known limitations
• It’s not just for functional
– You should do exploratory performance testing
• It’s not without automation
– Sometimes you need to do things humans can’t
do! – exploratory test automation
• Repeating is seldom an issue
– Vary the data, the environment, the story around
your testing – exploratory regression testing
9. A Few Ideas of Unit Testing
• There’s units of many sizes, really
– Gravitating towards behaviors as units
• It works great for expressing and recording
intent
– Spec, Feedback, Regression, Granularity!
• There’s more than xUnit
– E.g. ApprovalTests for more powerful asserts
11. 1st session on unit testing
* http://visible-quality.blogspot.fi/2015/01/a-learning-journey-with-unit-tests-
12. 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
19. Quality
Some devs care about testinPairing & Mobbing
Remote desktop
More powerful unit tests
Some testers are great product owners
MindMaps are amazing
Skilled tester exist
Testers don’t
report
everything
Testing is about feedback. Working through the questions of what and how of testing, we’ve refined a tester-facing discipline of Exploratory testing and a developer-facing discipline of Unit Testing. We’ve built in-depth skills in those disciplines, their belief systems and their variations. We’ve brought specialists of each discipline to same teams to deliver software that is closer to ready for its stakeholders, together. In addition to understanding and valuing both the disciplines, we still need to mix the people of different disciplines with hands-on collaboration to harness the right insights of exploration to protect code. Cross-pollination of the two is needed for both sides to truly flourish.
We both find there’s core aspects of the other’s work that are just plain boring.
Unit testing focuses on what we know should exist.
Does not give as regression; serendipity (safety against things happening randomly) / unwanted serendipity events.
This is what it is and what it could be. There’s a direction to it, not just statement of what it is.
Coaching is not just feedback, it’s pointing them to the right way.
Safety.
EXPERIENCE (the verb) rather than facts ; emotions over facts. REACTIONS.
HISTORY, Lessons learned, checklists. Modeling.
UNDERSTANDING – where you start (knowing the thing (code & environment), knowing the user, knowing the problems, knowing the developers (how to help them and what they do so that you can efficiently test), knowing the hackers (weird use cases outside common ‘have you tried reading it upside down’) , knowing all stakeholders, knowing the business priorities)
Uncovering things I cannot know, giving the application a change to reveal information for me.
“there’s a process of knowing” – learning
This allows you to know things.