Manifesto for software testing

1. Testing is investigating in order to evaluate a product.

2. An evaluation is a judgement about quality – quality being value to persons who matter.

3. This makes testing a fundamentally human and contextual activity.

4. As such, testing is an exploratory and open-ended activity, requiring continuous evaluation of and experimentation with our practices.

5. As such, testing cannot be automated. We do use a wide variety of tools to support, extend and amplify our testing. We may also delegate some decisions to our tools. However, without a human context, these decisions are meaningless.

6. Anything that can be observed, can be investigated: the product, artifacts, interactions, and tools.

7. This means that testing is fundamentally interwoven with all activities within a product’s existence: conception, development, operation, and disposal.

8. And the core question during the product’s lifecycle is: how do we discover what we need to discover in the most effective way?

Many thanks to reviewers Ruud Cox, Elizabeth Zagroba, and Jean-Paul Varwijk.

For a version of this manifesto that includes my reflections, see this post.

4 thoughts on “Manifesto for software testing

  1. for me, #8 is what makes a QA team successful within an organization – if they don’t waste time and find results that are of value, in a reasonable time frame. it’s also a sign of a good, intuitive tester if they have that ability to understand the nature of the development changes made and get to the most effective testing closer to the start of their test effort.

    [Joep’s reply: And not just the QA team. I don’t define who the “we” is in my manifesto, but it is a testing manifesto covering all all activities within a product’s existence. So this applies to everyone involved in any of these activities.]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s