James Bach on Software Testing


Jerry Weinberg has suggested that “it works” may mean “We haven’t tried very hard to make it fail, and we haven’t been running it very long or under very diverse conditions, but so far we haven’t seen any failures, though we haven’t been looking too closely, either.” In this pessimistic view, you have to be on guard for people who say it works without checking even once to see if it could work.


“No user would do that” really means “No user I can think of, who I like, would do that on purpose.”

Who aren’t you thinking of?

Who don’t you like who might really use this product? What might good users do by accident?


In general it can vastly simplify testing if we focus on whether the product has a problem that matters, rather than whether the product merely satisfies all relevant standards. . . . Instead of thinking pass vs. fail, consider thinking problem vs. no problem.

  2 comments for “James Bach on Software Testing

  1. Avatar
    14 Jan 2008 at 2:08 pm

    Just a note to tell you where “it works” comes from.

    “It” is the most ambiguous noun or pronoun in the English language. “It” can refer to anything.

    “Works” is quite likely the most ambiguous verb in the English language.

    Put them together and “It works” has got to be the most ambiguous sentence in English. When anybody tells you “it works,” that should be like a red flag to a bull. Don’t let it pass unquestioned.

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: