What is being examined.
WHAT FUNCTIONAL TESTING EXAMINES
Whether the software does what it should.
WHAT NON-FUNCTIONAL TESTING EXAMINES
How well it does it.
WHAT NON-FUNCTIONAL CATEGORIES EXIST
Performance Security Usability Accessibility Compatibility Reliability Maintainability
WHY THOSE ARE FREQUENTLY NEGLECTED
They have no obvious pass or fail, and are rarely specified.
WHAT TO ESTABLISH
Explicit targets for each that matters.
WHAT REGRESSION TESTING IS
Verifying that what worked still works.
WHY IT DOMINATES OVER TIME
Most testing effort in a mature product is confirming nothing broke.
WHAT SMOKE TESTING IS
A quick check that the build is worth testing further.
WHAT EXPLORATORY TESTING IS
Simultaneous learning, design and execution, guided by what is found.
WHY IT REMAINS VALUABLE
It finds defects scripted tests cannot, because scripts encode what was anticipated.
WHAT CONFIRMATION TESTING IS
Verifying that a fix actually fixed it.
WHAT TO ALSO CHECK AFTER A FIX
Whether it broke something else.
WHAT TO COMBINE
Scripted and exploratory approaches.
WHY
Each finds what the other misses.