CSE 7314/5314 (Spring 2012): Additional Books/References

Other Useful Books

The following books might be good additional reading if you want to explore further, or in more depth, the topics covered in our main textbook. They also offer different perspectives and a "second opinion" on various topics. I provide some general comments to relate each to our class.

Books on Testing, general

  1. Boris Beizer, "Software Testing Techniques, 2nd edition", International Thomson Computer Press, 1990.
    A classic on software testing techniques, suitable for in-depth discussions of specific testing models and related techniques. Most relevant to various coverage-based testing topics.

  2. Paul Ammann and Jeff Offutt, "Introduction to Software Testing", Cambridge University Press, 2008.
    A good alternative to Beizer book above, and actually more suitable as a textbook instead of a reference book due to its genesis. Coverage criteria play a central role in this textbook, and therefore it is more relevant to various coverage-based testing topics we "cover" in our class.

  3. Paul C. Jorgensen, "Software Testing: A Craftsman's Approach", 3rd edition, Auerbach Publications, 2008.
    Another comprehensive alternative to the books above. A feature I particularly liked is the parts on prereq (Part I: A Methematical Context) and some recent development (Part VI: Millennnium Testing, which includes exploratory testing, use-case-based testing, and test-driven development).

  4. Rex Black, "Pragmatic Software Testing", Wiley, 2007.
    A good companion to the other Rex Black book below, and a more "pragmatic" alternative to the two books above, still with good coverage of "technical" aspects often missing in books claim to be "practical" or "pragmatic".

  5. James A. Whittaker, "How to Break Software", Addison-Wesley, 2002.
    According to the message on the back cover, this is "a very applied and non-rigid approach", test "on the fly", and a "nose for where bugs are hiding". Should be enjoyable reading for many, especially as an alternative/companion to more traditional testing books (either the type focuses on "systematic" testing techniques or on formalized processes).

  6. Mauro Pezze and Michal Young, "Software Testing and Analysis: Process, Principles, and Techniques", Wiley, 2009.
    Comprehensive coverage of the three things they mentioned about testing, but presented in the altered order of principles, techniques (and models), and process. Nice reference, but related topics might thread through several different parts.

  7. William E. Perry, "Effective Methods for Software Testing, 3rd Edition", Wiley, 2006.
    "Includes Complete Guidelines and Checklists" was printed on the title page, and it is truly "complete" in just under 1000 pages. Besides the core "7-step testing process", there is also good coverage about testing competencies, environments, specializations, and agility.

Books on Testing, more specialized

  1. Robert Binder, "Testing Object-Oriented Systems: Models, Patterns, and Tools", Addison-Wesley, 1999.
    Very comprehensive, with 1100+ pages (longest book on our list). Good reference, not just limited to OO testing.

  2. Ken Beck, "Test-Driven Development", Addison-Wesley, 2003.
    If you are into agile development or extreme programming (XP), this should be part of the basic resources for you.

  3. Rex Black, "Critical Testing Processes" Addison-Wesley, 2004.
    More of an operational/managerial perspective on testing, breaking down testing into four major steps (4Ps: plan/prepare/perform/perfect). Works well in combination with our main textbook.

  4. Gerald D. Everett and Raymond McLeod Jr., "Software Testing: Testing Across the Entire Software Development Life Cycle", Wiley, 2007.
    Life cycle perspective: Fitting testing into the overall software development life cycle. -- Just as the subtitle accurately indicated. More suitable for managers and some practioners.

  5. William E. Lewis, Software Testing and Continuous Quality Improvement", Auerbach, 2000.
    If you are interested in testing in software maintenance environment, this is a unique book for you, although it also covers testing in the "development" lifecycle and other topics.

  6. Bart Broekman and Edwin Notenboom, "Testing Embedded Software", Addison-Wesley, 2003.
    Well, it might be suitable students in industries dealing with embedded systems, such as aerospace, automotive, etc. Very much domain-specific, complement the technical focus in our main textbook.

  7. Elfriede Dustin, Jeff Rashka, and John Paul, "Automated Software Testing: Introduction, Management, and Performance", Addison-Wesley, 1999.
    "Automated" must involve tools, and the chapter on tool evaluation/selection, and the survey of tools in the appendix are particularly useful.

Books on QA and other Quality Related Topics, not Limited to Testing

  1. Shari Lawrence Pfleeger, Les Hatton and Charles C. Howell, "Solid Software", Prentice-Hall, 2004
    The topics covered resemble the QA part (Ch. 1, 2, 6, 7, 13-17) in this class, but from the perspective of safety-critical systems point of view, i.e., quality assurance for safety-critical systems.

  2. Robert Culbertson, Chris Brown, and Gary Cobb, "Rapid Testing", Prentice-Hall, 2002.
    More comprehensive than the title implies, particularly in the "static testing" part, which includes metrics, formal reviews, checklists, audits, inspections, formal verification, theorem proofs, requirements traceability, symbolic execution, etc. covered in "other QA" and elsewhere of our main textbook. Emphasizes streamlining of test planning, execution, and reporting.

  3. John Musa, "Software Reliability Engineering", McGraw-Hill, 1998. or
    John Musa, "Software Reliability Engineering: More Reliable Software Faster and Cheaper, 2nd Edition", (order info at http://members.aol.com/JohnDMusa), AuthorHouse.
    The original title "Software Reliability Engineered Testing" relates more to this class: A book on statistical testing with Musa's operational profiles as the usage models to achieve the goals of "More Reliable Software Faster and Cheaper. Most relevant to our usage-based statistical testing topics.

  4. Michael R. Lyu, editor, "Handbook of Software Reliability Engineering", McGraw-Hill, 1995.
    The entire book is now online
    Besides general coverage on software reliability engineering, this books also include issues such as defect analysis (ODC chapter by Chillarege), metrics for reliability, operational profile (Chapter by Musa) and usage-based statistical testing, etc.

Other References

Prepared by Jeff Tian (tian@engr.smu.edu).
Posted: Jan. 18, 2012. Last update: Aug. 27, 2015

Back to CSE 5314/7314 webpage