Chapter 12: Scripted Testing
Chapter 13: Exploratory Testing
Chapter 14: Test Planning
In his book, Paradigms: The Business of Discovering the Future, Joel Barker defines a paradigm as "a set of rules and regulations (written or unwritten) that does two things: (1) it establishes or defines boundaries, and (2) it tells you how to behave inside the boundaries in order to be successful." Futurist Marilyn Ferguson sees a paradigm as "a framework of thought ... a scheme for understanding and explaining certain aspects of reality."
Paradigms are useful because they help us make sense of the complexities of the world around us. In this way, paradigms sharpen our vision. But paradigms can blind us to realities. Paradigms act as psychological filters. Data that does not match our paradigms is blocked. In this way, paradigms cloud our vision.
In software testing today, two very different paradigms are battling for adherents—scripted testing and exploratory testing.
Scripted testing is based on the sequential examination of requirements, followed by the design and documentation of test cases, followed by the execution of those test cases. The scripted tester's motto is, "Plan your work, work your plan."
Exploratory testing is a very different paradigm. Rather than a sequential approach, exploratory testing emphasizes simultaneous learning, test design, and test execution. The tester designs and executes tests while exploring the product.
|Word Of Warning !||
In the following chapters the scripted and exploratory paradigms are defined at the extreme ends of the spectrum. Rarely will either be used as inflexibly as described.
The next two chapters describe these paradigms. A word of warning though—each paradigm is described at the extreme end of the process spectrum. Rarely will either paradigm be used as inflexibly as described. More often, scripted testing may be somewhat exploratory and exploratory testing may be somewhat scripted.
Planning has been defined as simply "figuring out what to do next." To be most effective and efficient, planning is important. But when and how should that planning be done? Scripted testing emphasizes the value of early test design as a method of detecting requirements and design defects before the code is written and the system put into production. Its focus is on accountability and repeatability. Exploratory testing challenges the idea that tests must be designed so very early in the project, when our knowledge is typically at its minimum. Its focus is on learning and adaptability.
Barker, Joel Arthur (1992). Paradigms: The Business of Discovering the Future. HarperCollins.
Ferguson, Marilyn (1980). The Aquarian Conspiracy: Personal and Social Transformation in Our Time. Putnam Publishing Group.