Home About News Contact
 

Lessons Learned in Software Testing

Overview

Title Lessons Learned in Software Testing: A Context-Driven Approach
Author Cem Kaner, James Bach, and Bret Pettichord
Published Dec 2001 by Wiley (www.wiley.com)
ISBN 0-471-08112-4
Pages 320
Category software quality
User Level intermediate to advanced
Reviewer Anthon Pang
Rating 5 / 5

Synopsis

In "Lessons Learned in Softare Testing", the authors share their considerable test experience through "293 pieces of experience-tested advice" -- lessons (rather than "best practices") that have broad (rather than universal) applicability to different situations. Aimed at software testers, test managers, and anyone who interacts with testers (e.g., programmers, project managers, and executives), the topic areas include test design, test automation, test documentation, test management, testing strategies, and bug reporting.

Table of Contents

Chapter 1: The Role of the Tester
Chapter 2: Thinking Like a Tester
Chapter 3: Testing Techniques
Chapter 4: Bug Advocacy
Chapter 5: Automating Testing
Chapter 6: Documenting Testing
Chapter 7: Interacting with Programmers
Chapter 8: Managing the Testing Project
Chapter 9: Managing the Testing Group
Chapter 10: Your Career in Software Testing
Chapter 11: Planning the Testing Strategy
Appendix: The Context-Driven Approach to Software Testing

Praises

The context-driven approach to software testing complements agile methods. The basic principles of thought (pp  261-262):

  1. The value of any practice depends on its context.
  2. There are good practices in context, but there are no best practices.
  3. People, working together, are the most important part of any project's context.
  4. Projects unfold over time in ways that are often not predictable.
  5. The product is a solution. If the problem isn't solved, the product doesn't work.
  6. Good software testing is a challenging intellectual process.
  7. Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products.

The authors convincingly argue their opposition to the licensure of software engineers, dismissal of the "Software Engineering Body of Knowledge" (SWEBOK) as a consensus-based document, and fault-finding with IEEE Standard 829 (Software Testing Documentation).

Criticisms

Project managers, executives, and perhaps functional managers will find few absolutes or certainties here. [Addendum: 2004.08.22] Many companies have inadequate, arbitrary, and ad hoc development and testing processes -- a context-driven argument could be (mis-)used to continue those practices.

Generalizations are qualified as the result of authors' personal experience, e.g.,

"Many testers report that they have trouble getting information from programmers. We find that programmers are often eager to talk about their work." (p 148)

Since the book's publication, the "school" of the context-driven software testing approach appears to have lost momentum. For example, the referenced web-site (p 214) at www.context-driven-software.com no longer exists.

Correction (2004.08.22): The "school" of context-driven testing is reportedly alive and well at www.context-driven-testing.com. (The URL in the book is a typo.)

Final Analysis

As a programmer with experience in projects both with and without full-time testers, "Lessons Learned in Software Testing" provides a broader and deeper understanding of the tester role, mindset, techniques, and challenges in software testing. The authors provide many of the questions that need to be continually asked, of ourselves and others, to adapt to the situation at hand.

Copyright

Copyright © 2003 Anthon Pang.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".