# Testing * * * <i> Topics: * black box testing * glass box testing * testing data abstractions * randomized testing * debugging </i> * * * 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 <!-- ## Further reading * -->