# Testing
* * *
Topics:
* black box testing
* glass box testing
* testing data abstractions
* randomized testing
* debugging
* * *
In this lecture we covered chapter 10 of [*Program Development in Java:
Abstraction, Specification, and Object-Oriented Design*,][liskov-guttag] by
Barbara Liskov with John Guttag. The book can be freely accessed through the
Cornell Library. I refer you to it in place of writing my own notes.
Prof. Liskov (MIT) is a winner of the Turing Award and was our own Prof.
Andrew Myers's PhD advisor. Since Prof. Myers was my own PhD advisor,
that makes Prof. Liskov my grand-advisor.
[liskov-guttag]: https://newcatalog.library.cornell.edu/catalog/9494027
## Terms and concepts
* black box
* boundary case
* bug
* debugging by scientific method
* glass box
* inputs for classes of output
* inputs that satisfy of precondition
* inputs that trigger exceptions
* path coverage
* paths through implementation
* paths through specification
* producer and consumer operations
* randomized testing
* representative inputs
* typical input