What does a green test suite mean?
A passing test suite means the experiment can begin.What does “” mean to you?
“No bugs present?” No, probably not. I think we all know we can’t prove the absense of bugs with tests.
“No known bugs present?” Maybe. Assuming a zero-bug policy, and no defects in the backlog, (which are rarely valid assumptions). But how confident are we that we would or should know about bugs? How vigerously are we looking for bugs?
So maybe the meaning of “” is a bit ambiguous, at least from a technical standpoint.
What does it mean from a business standpoint?
“We’re confident that customers will not find bugs in this software?” Hmm. Probably not. Customers of most products use it in ways we couldn’t imagine.
“We’re confident that customers will not finde serious bugs?” Maybe we can make this claim. Although how we define “serious” becomes an interesting question now.
I like the framing Mark Schwartz proposes in his book A Seat at the Table: IT Leadership in the Age of Agility. He suggests that a passing test suite indicates that we’re now ready to begin the experiment that is exposing this feature to customers.
I like this framing, for two key reasons:
- It embraces the reality that all software changes are (or at least should be) viewed as experiments. We don’t know if customers will use a new feature, or if it will perform well under real-world load.
- There’s no built-in assumption about some ambiguous or undefinable sense of “quality.” We don’t need to find and fix “all the (serious) bugs” first, we just need to have software that works well enough that we can learn something useful when our customers interact with it.