
The art of software testing
by Glenford J. Myers · first published 1979
14mentions
6recommended by
11HN commenters
2008–2026first – last mentioned
55% recommend45% neutral
Why HN recommends it
A short, practical guide to software testing fundamentals. It covers concrete techniques such as cause-effect graphing, test case design, and a walkthrough checklist, useful for anyone writing tests.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








The Art of Software Testing by Glenford Myers has an excellent language-agnostic checklist. See the chapter on “walkthroughs”
on “On the Impact of Programming Languages on Code Quality” ↗…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.
on “Ask YC: What would you put on a hacker's bookshelf?” ↗The Art of Software Testing by Glenford Myers is great. 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…
on “The most mentioned books on Stack Overflow” ↗For some classic wisdom about writing tests see the classic "Art of Software Testing" by Glenford Myers. It's $149+++ on Amazon, but only $5 on ebay: 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.
on “The Big TDD Misunderstanding” ↗I found Art of Software testing to be a good guide on the subject. I recommend reading it.
on “Ask HN: Resources for learning manual software testing?” ↗Generally speaking, you can reduce the combinatorics in tests by using techniques like cause effect graphing (from The Art of Software Testing). It also contains notation for cases that "can't happen". It's very technical so I'm not sure if it will solve your problem.
on “Ask HN: How can I help my devs solve “combinatorial test case scope creep”?” ↗…equivalence partitioning [1] used much in the industry in software testing? [1] https://en.wikipedia.org/wiki/Equivalence_partitioning I came across the concept some years ago, IIRC, in the classic book The Art of Software Testing by Glenford Myers [2], and used it in a few projects. But have not really heard or read of it being used much, from people or on forums. [2] https://en.wikipedia.org/wiki/Glenford_Myers I think it can…
on “The tragedy of 100% code coverage (2016)” ↗Glenford Myers in "The Art of Software Testing" said: "Testing is the process of executing a program with the intent of finding errors." The preface to this is even more enlightening: "When you test a program, you want to add some value to it. Adding…
on “All of us test in production all the time (2019)” ↗…ask them to write (paper or whiteboard) test cases for it. Can then either run the test cases and see if they can find (all) the bug(s), or simply review vs a known list. Classic example in Myers The Art Of Software Testing is a method that takes 3 numbers as the length of the sides of a triangle and prints out whether it is scalene, isosceles, or equilateral. Many people miss a lot of corner cases.
on “Bug squash: An underrated interview question” ↗…match the accepted definition of unit tests very well." -- Kent Beck, __Test Driven Development By Example__ The short version is that "unit test" did actually mean something (see Glenford Myers, __The Art of Software Testing__ or Boris Beizer, __Software Testing Techniques__), although it wasn't necessarily clear how those definitions applied to object-oriented programming (see Robert Binder, __Testing Object-Oriented Systems__).…
on “The Big TDD Misunderstanding (2022)” ↗There was a slim volume called the "The Art of Software Testing" that I borrowed once from my mentor. In it, the author posits the following perspective: a successful test is not one that finds zero errors, a successful test is one that finds errors.
on “Testing is Overrated” ↗…actually classifying modules by their boundaries and data. I should note, I haven't audited his design methodologies, which I'm sure are quite dated. His taxonomy concerning modules was enough for me. "The Art of Software Testing" is another of his. I picked up his whole corpus concerning software on thriftbooks for like $20.
on “You Want Modules, Not Microservices” ↗The Art of Software Testing. New York: Wiley, 1979 The Art of Software Testing, Second Edition. with Tom Badgett and Todd M. Thomas, New York: Wiley, 2004. It is by Glenford Myers (and others). https://en.m.wikipedia.org/wiki/Glenford_Myers…
on “Testing is better than data structures and algorithms” ↗Definitely not. The Art of Software Testing wrote about "module testing" in 1979, which was revised as "unit testing" in a later revision after "unit test" was part of the popular lexicon. Perhaps that is what you are thinking of? Beck is clear…
on “Ask HN: How much emphasis to put on unit testing and when?” ↗