Testers need to be good at articulating why we think something is a bug. One approach is PEW. State the Problem, provide an Example, explain Why it matters.

“How many test cases?” is usually a silly question.

There are two reasons why all tests do not get executed:

The tester didn’t think of it.

The tester thought of it but decided not to execute it. Hopefully it’s the latter. It may be worth while to brainstorm on tests.

One way to communicate coverage to stakeholders is to use a mind map.

If you get bored testing, you may be doing something wrong (e.g., you are doing repetitive tests, you are not finding anything interesting).

Testing is about looking for a “problem”. A “problem” is an undesirable situation that is solvable.

(I need to stop being so militant about this) All bugs don’t need repro steps. Repro steps may be expensive.

Consider referencing your oracle (the way of recognizing a problem you used to find the bug) in your bug report.

When asked to perform significantly time consuming or complex testing, consider the Orange Juice Test: A client asked three different hotels if the hotels could supply said client with two thousand glasses of fresh squeezed orange juice tomorrow morning. Hotel #1 said “no”. Hotel #2 said “yes”. Hotel #3 said “yes, but here’s what it’s going to cost you”. The client didn’t really want orange juice. They picked Hotel #3.

No test can tell us about the future.

Nobody really knows what 100% test coverage means. Therefore, it may not make sense to describe test coverage as a percentage. Instead, try explaining it as the extent to which we have travelled over some agreed upon map. And don’t talk about coverage unless you talk about the kind of coverage you are talking about (e.g., Functions, Platforms, Data, Time, etc.)

Asking how long a testing phase should be is like asking how long I have to look out the windshield as I drive to Seattle.

Skilled testers are like crime scene investigators. Testers are not in control (the police are). Testers give the police the information they need. If there is another crime committed, you may not have time to investigate as much with the current crime scene.

No test can prove a theory is correct. A test can only disprove it.

(I still have a hard time with this one) Exploratory Testing (ET) is not an activity that one can do. It is not a technique. It is an approach. A test is exploratory if the ideas are coming from the tester in the here and now. ET can be automated. Scripts come from exploration.

Exploratory behavior = Value seeking.

Scripted behavior = Task seeking

Tests should not be concerned with the repeatability of computers. It’s important to induce variation.

ET is a structured approach. One of the most important structures is the testing story. A skilled tester should be able to tell three stories:

A story about the product (e.g., is the product any good?).

A story about how you tested it (e.g., how do I know? Because I tested it by doing this…).

A story about the value of the testing (e.g., here is why you should be pleased with my work…).

Who am I?

My typical day: get up, maybe hit the gym, drop my kids off at daycare, listen to a podcast or public radio, do not drink coffee (I kicked it), test software or help others test it, break for lunch and a Euro-board game, try to improve the way we test, walk the dog and kids, enjoy a meal with Melissa, an IPA, and a movie/TV show, look forward to a weekend of hanging out with my daughter Josie, son Haakon, and perhaps a woodworking or woodturning project.