Foreword
Imagine that you are holding a bottle of 50-year-old port. There is a way to drink port. It is not
the only way, but most folks who have enjoyed port for many years have found some
guidelines that help them maximize their port- drinking experience. Here are just a few:
Lesson 1: Don't drink straight from the bottle. If you have no glass, nor any other
possible containers available, pour a tiny amount of port into the palm of your hand
and sip from there. The port aroma should be smelled as you sip. Let the port swirl
over your tongue. Don't gulp down the port.
Lesson 2: Don't drink the entire bottle. If you are drinking because you are thirsty,
put down the port and drink a big glass of water. A small amount of port each time
maximizes the enjoyment of the entire bottle.
Lesson 3: Don't pollute the port. If someone tells you that you ought to try a new
cocktail made with orange juice, seawater, and port, politely refuse. With a big smile,
say, "But I would enjoy a glass of port."
Lesson 4: Don't covet the port. Hoarding your port means that you will never have
the pleasure of gentle conversation while sipping. Port is best shared with friends who
also enjoy a glass. Remember, they have a bottle somewhere, too.
You are not holding a bottle of port in your hands. You are holding Lessons Learned in
Software Testing, a very valuable book about software testing. This book has been ripening to
perfection throughout the 50 work-years of the authors' experiences. While port is for your
taste buds, this book is for your brain. I think that you will find any other differences to be
marginal. I have savored this book and offer you this advice to maximize your reading
experience.
Lesson 1. Don't drink straight from the bottle. Bring your own vessel to the reading of this
book. That is, bring all of your experiences in software development and testing. If you have
never participated in a serious software effort, this book will be too heady for you. It will leave
you confused and unable to operate heavy machinery for some time. If you are experienced,
savor the book's contents in the context of your own projects.
Lesson 2. Don't drink the entire bottle. Don't read this book in one sitting. Read a lesson or
two, close the book, and decide how you respond to the words of Messrs. Kaner, Bach, and
Pettichord. As you will discover, they call their approach to testing "context-driven." Only you
know the context of your own work. You must determine where there is a fit between a given
lesson and your particular work.
Lesson 3. Don't pollute the port. Somebody out there is going to make a list of the titles of
the 293 lessons contained in this book. Please don't let it be you. The heart of the book is the
explanation attached to each of the lessons. Be warned as well that someone else will
immediately try to ISO- ify or CMM-ummify the contents. I can see the article title now,
"Getting to CMM Level 293 using the 293 Lessons of Lessons Learned in Software Testing."
Argh! As the authors explain, "… we don't believe in ‘best practices.’ We believe some
2