This document discusses software testing and provides guidance on best practices. It defines software testing as empirically investigating a product to provide stakeholders with quality information. The key aspects of testing discussed are modeling the system, making observations, asking useful questions, using logical reasoning, and taking a process of discovery approach. Testing is distinguished from checking and the importance of test design, exploratory testing, and testability over large automated test suites is emphasized. Credits are given to influential thinkers in the field.
11. EXPLORING SCIENCE
• Tests can be easy to construct and easily observable,
but don’t offer much information.
• Skill in
• Knowing where to look (experimental design)
• Understand what is seen (hypothesis formation)
• Interaction between these two is required for
successful scientific discovery
• Think of hypothesis upfront results in faster discovery
• Hypothesis formation is critical to finding the x2 button
• Confirmation Bias: “Tendency for people to seek
evidence to verify their hypothesis rather than refute
them”