How do we improve ourselves as software testers? What are the thinking skills we should develop? How do we refine these skills? Observing is one of the essential skills for software testers. We need to detect changes and differences even when they are subtle. Visual imaging helps us to imagine software that doesn’t exist, to plot testing possibilities. Abstracting helps us to see the outline of a product while not losing focus on small details. Managing distraction and focusing are also vital skills. Recognizing patterns enhances a tester’s ability to detect software defects. Mental modeling helps testers understand information and gives us a method for forming strategies and problem solving. Karen N. Johnson draws immediate connections from theory to practical application of each of these skills. She explores why these skills are necessary and how we can explicitly apply these skills to our craft.