Tomas Petricek
email: t.petricek@kent.ac.uk
twitter: @tomaspetricek
office: S129A
Hacker - hands-on practice learned through tinkering
Mathematical - formal activity relying on proofs
Managerial - organized factory-like production process
Engineering - relying on good tools and practices
Hacker culture
Program checkout comprising testing
and debugging
Early days of testing, still dominant in debugging
Mathematical culture
Program testing can be used to show the presence of bugs, but never to show their absence
(Dijkstra, 1970)
Managerial culture
Testing as a part of a structured development process
From Waterfall to
Agile methods
Engineering culture
Tools and good practices for testing
What to test? How to test? How can tools help?
Verification
Validation
Testing as part of a development lifecycle
Many different approaches!
When should you
design tests?
When should you
start testing?
Waterfall (1950s)
Testing happens
after coding
Verification and validation of a done system
Errors can get expensive
V-Model (1990s)
Matching development and testing phases
Plan testing in advance during development
Requirements plan for Acceptance test
System design plan for System test
Architecture plan for Integration test
Coding plan for Unit tests
V Model does not work
Testing in Agile methods
TDD in practice
Development process
Questions about testing
How do we know our
tests are good?
How to design good tests?
What tools and theories can help us?
Black-box (functional)
White-box (structural)
Equivalence classes
Designing tests
Boundary value analysis
Heuristic for finding good partition representatives
Use boundary values!
White-box testing metric
Coverage metrics
Cultures of programming
Hacker culture, mathematical culture
Engineering culture, managerial culture
Managerial take
Testing as part of a development process
Waterfall, V-model, agile methods
Mathematical and engineering take
White box vs. black box methods
Equivalence class partitioning etc.
What you should remember from this lecture
Tomas Petricek
t.petricek@kent.ac.uk | @tomaspetricek
Online resources