
THE book on software testing and its role in system development. Covers "black box" and "white box" testing, with emphasis on choosing the right tests to get maximum mileage from them. [abstract by Dan Franklin].
https://www.ebay.com/sch/i.html?_from=R40&_trksid=p3671980.m...
This was originally published before TDD was a thing, but is highly applicable.
https://en.wikipedia.org/wiki/Glenford_Myers [1]
The anecdote in the beginning of the book, where he poses a simple question - how many test cases can you write for this simple program? about the geometry of a triangle - is mind-blowing, and sticks in my mind many years after reading it.
He says most people he gave it to, even experienced devs, did somewhat poorly or just average on it. I gave it as a test to a team (of juniors) on a project I was leading, once, and it made them see some light. We subsequently went on to deliver a pretty well-tested project.
[1] Excerpts:
[ Glenford Myers (born December 12, 1946) is an American computer scientist, entrepreneur, and author. He founded two successful high-tech companies (RadiSys and IP Fabrics), authored eight textbooks in the computer sciences, and made important contributions in microprocessor architecture. He holds a number of patents, including the original patent on "register scoreboarding" in microprocessor chips.[1] He has a BS in electrical engineering from Clarkson University, an MS in computer science from Syracuse University, and a PhD in computer science from the Polytechnic Institute of New York University. ]
[ During this period, Myers also authored his first four books, including The Art of Software Testing, a book that became a classic and a best-seller in the computer science field, staying in print for 26 years before it was replaced by a second edition in 2004.[3] Myers also served as a lecturer in computer science at the Polytechnic Institute of New York University, where he taught graduate-level courses in computer science. Years later, he was the 1988 recipient of the J.-D. Warnier Prize for his contributions to the field of software engineering. ]
Unconventional perspective on management
"How Buildings Learn" by Stewart Brand
One of the best books about designing long-term architectures. Excellent coffee table book
"Envisioning Information" by Edward Tufte
"Walt Disney" by Neal Gabler
Excellent biography of maybe the greatest imagineer ever
"The Art of Software Testing" by Glenford J. Myers
~100 page classic. The central premise is that the successful test is one that finds bugs/issues not one that doesn't.