Jump to ratings and reviews
Rate this book

The Art of Software Testing

Rate this book
This long-awaited revision of a bestseller provides a practical discussion of the nature and aims of software testing. You'll find the latest methodologies for the design of effective test cases, including information on psychological and economic principles, managerial aspects, test tools, high-order testing, code inspections, and debugging. Accessible, comprehensive, and always practical, this edition provides the key information you need to test successfully, whether a novice or a working programmer. Buy your copy today and end up with fewer bugs tomorrow.

256 pages, Hardcover

First published January 1, 1979

Loading interface...
Loading interface...

About the author

Glenford J. Myers

9 books20 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
60 (23%)
4 stars
89 (34%)
3 stars
77 (29%)
2 stars
23 (8%)
1 star
9 (3%)
Displaying 1 - 30 of 31 reviews
Profile Image for Alejandro Teruel.
1,207 reviews234 followers
September 13, 2014
I have very mixed feelings about this third edition of what was clearly a landmark book when the first edition came out, over thirty years ago. I first read this book, way back in 1979. It was a godsend and I and relied on it very heavily to cover the testing topics in what was the first undergraduate software engineering course ever taught at the university I was at. Reading the third edition after putting aside the first edition for about a decade, I was immediately struck by how much my thinking on testing owes to Glenford Myers and to this book in particular.

However, as I continued reading, I became more and more uneasy. In a sense, how do you update a classic book? If the book purports to cover a field, you update it by keeping up with the field, adding heavily and judiciously pruning stuff which becomes obsolete. This has worked pretty well for Ian Sommerville´s or Roger Pressman´s massive tomes on Software Engineering, but this goes counter to Myer´s whole approach, which aimed at the heart rather than the body of the field and struck thrilling insights into the psychology of testing. The book had its faults, of course, such as Myers dutiful, plodding but ultimately not very convincingly coverage of cause-effect graphing and of higher-order testing, which though striking at first, slowly collapsed in time.

So, how do you update a classic book. Corey Sandler and Tom Badgett seem to have approached the task gingerly and with great trepidation. They seem to have decided to touch Myer´s original book as lightly as possible, adding some sidebars on the "history" of Fortran, Cobol and PL/1 were, so that the modern day reader can wonder why on earth Myers talks about COMMON statements -a horrible and error-prone construct which, to its shame, is still carried around in Fortran-90 even though there are more elegant ways to circumvent it (see for example http://iprc.soest.hawaii.edu/users/fu... for details). Then, I can imagine Sandler and Badgett huddling together and deciding that, well the chapters on debugging and usability testing have to be redone and the book will probably become extinct unless some chapters are added on more contemporary issues such as usability testing, agile development´s impact on testing and testing web and mobile applications. So the chapter on debugging is duly, if not inspiringly rewritten, the chapter on usability is expanded (leaving some really obsolete Myers examples intact) and four new chapters are duly added.

The worst of the new chapters is the one on agile development, which spends a great deal of time repetitively telling us what agile development is, but very little discussing its impact on testing and barely managing to slip in the JUnit tool. The chapter on web application testing devotes some time to the classic three-tier architecture (presentation, business and data levels) and goes on to provide a brief and sometimes repetitive overview of testing issues for the three levels. However, I fail to understand why the authors failed to tie the ideas on testing the presentation layer more strongly to the chapter on usability and why they skimped so much on testing the data layer -if there is a chapter on usability, I don´t understand why theey failed to add a chapter on database testing. The chapter on mobile application testing provides a good introduction to the topic but falls into the temptation, as in the chapter on usability, of mentioning so many topics, that the reader is left feeling helpless in the face of so many shadowy hinted-at complexities. Some of these new chapters have been edited rather carelessly -there is, for example a typo ("donstraints" instead of "constraints") and a spelling mistake ("shear" for "sheer") in just one page (page 215) and they are not as tightly written as the best of Myers.

Even twenty years ago, I would have recommended this book without hesitation, now I am not so sure. Some readers will still enjoy the key insights from both old and new chapters, others will simply yawn and pass them by. Glenford Myers´ book was a landmark, but like many landmarks, the sheer volume of new developments has severely eroded it -however, the perceptive reader should still be able to appreciate its legacy. I wavered between giving the book three or four stars, but Sandler and Badgett deserve recognition for bravery and Myers still has my gratitude for introducing me to testing, so four it is.
Profile Image for Drew.
17 reviews9 followers
January 30, 2013
Three stars is pretty good for a book about software testing, since it is the most boring thing in the world. It hooked me with an early test of my own skills (which I know are bad, but I didn't realize they were THAT bad) and I am pretty sure I at least read the whole thing. Good general ideas about how to divide up testing in a way that has strong coverage without infinite tests, but it didn't do anything to inspire me to test more.
30 reviews2 followers
January 17, 2015
I read this cover to cover and I sadly am walking away with very little. This book feels extremely dated. Especially the section on mobile testing. It's very naive and didn't provide any useful information. 2 stars instead of 1 for historical interest on what probably was a good testing book 30 years ago, but overall I would never recommend.
Profile Image for Babak Ghadiri.
33 reviews9 followers
August 12, 2021
با این کتاب از اینجا آشنا شدم
https://www.yegor256.com/2014/08/22/a...
به نظرم جالب ترین قسمت کتاب این چند تا جمله است.
Testing is the process of executing a program with the intent of finding errors.
Testing is a destructive, even sadistic, process, which explains why most people find it difficult.
When you find an error in a section on a program, the probability of the existence of another error in that same section is higher than if you hadn't already found on error (errors tend to cluster).
به نظرم مطالعه فصل دومش فقط جالبه و کافیه.
The Psychology and Economics of Software Testing
44 reviews5 followers
January 2, 2015
Gave up after they started explaining how to draw horendously complicate diagrams in order to derive test cases in a large test space. Either the work I've done doesn't require the same level of testing stringency as others or it was just bad. Either way, it just wasn't very applicable at present. Good coverage of terminology in basic black-box and white-box testing though.
Profile Image for Iuliia.
9 reviews2 followers
February 22, 2018
This book was recommended to me by my friend whose expertise I trust but in the end, I was disappointed. I read second, not the latest, edition, and thought that it would not matter because the book contains timeless theory that I'll be able to apply today. But my expectations were wrong and I was able to take away very little.
Profile Image for Laura.
3 reviews
July 19, 2016
A good book for beginners as it states principles and methods of work. It is not enough if you want to realy learn about software testing, but it's a very good starting point. It is also a nice reminder for testers with some experience in the field.
25 reviews16 followers
November 23, 2013
This book is a very good introductory book about Software testing. I found Chapter 4 on Test-Case design the most informative.
Profile Image for Piotr Lewkowicz.
4 reviews2 followers
February 2, 2023
For anyone considering reading this book, I highly recommend taking a look at the reader comments first. I agree with most of the information provided by other readers. While the book was probably great 20-30 years ago, the information contained in it may not be as exciting today. Despite this, the book provides a solid foundation of information and is worth reading.

In today's world, there is a shortage of good books on testing, making any book on the market a valuable resource. Although I found that not everything in the book was immediately clear to me in terms of practical application, this is okay since I am aware that I still have a long way to go in my learning journey.

Despite working in the industry for 10 years and at different companies, I cannot say that this book has impacted the way I work. Personally, I feel a little disappointed as the market may have completely changed and a new approach may be needed. Nevertheless, it's still a valuable resource for anyone in the field of testing.
November 15, 2022
Книга в первую очередь для разработчиков, но в ней есть полезные моменты и для тестеров. Один из самых ценных, на мой взгляд - трактовка цели тестирования. Тестирование нужно не чтобы показать, что приложение работает как надо - оно должно показать, что в приложении есть ошибки

Есть отдельная глава, описывающая формальные процедуры определения необходимых тестовых сценариев; некоторые из них довольно мозгобойные, рассматривающие комбинаторное покрытие или графы условий. В этой же главе описано, почему даже таких формальных процедур может быть недостаточно

Из недостатков можно отметить некое старперство - есть тестовые примеры на Коболе и даже на PL/1, и некоторые рекомендации кажутся неактуальными для современных языков и методов разработки. Тем не менее, издание периодически обновляется, в последнее даже включена глава о тестировании мобильных приложений

Будет полезно прочитать и тестировщикам, и девелоперам
Profile Image for David Snook.
30 reviews
April 16, 2022
I read the first edition, and I can see why it was a classic. Even though the examples, especially the code samples, don't fare that well after 40-some years, the principles are surprisingly applicable today.

I especially appreciate the rigor with which the author develops basic techniques like boundary-value analysis and equivalence partitioning. In many ways, I feel that the testing that we do today does not live up to those high standards, as we seem to struggle with mere code coverage (statement coverage), let alone modified-condition/decision coverage, except perhaps in rarified sub-fields such as flight-control software.
202 reviews1 follower
December 31, 2021

I just got done reading the first edition.

One comment: In the self-assessment test at the front of the book, I scored about 11/14, and then found two more questions.
Profile Image for Zane.
357 reviews7 followers
Read
February 7, 2022
I will not rate this book. As a newbie I got useful information from this book to guide me further and some info that messed with my head as well :D Soo.. no comments, let's see if this book provided me with enough material to kick-start this new path.
Profile Image for Paul Pryce.
336 reviews
June 19, 2021
Came as a recommendation from a colleague- chapter 1 on its own it astounding.
87 reviews2 followers
January 20, 2023
I read the 3rd edition. Really badly written. Hard to understand. Bad examples. Barely learned anything
Profile Image for ทixi৳ท.
211 reviews12 followers
December 15, 2023
It could have been an interesting read on testing if it had more recent information and covered several layers (e.g. game testing, app testing...).
9 reviews
May 2, 2013
When I was readling the book I thought that it is very boring, that there are too few specific testing techniques I wanted to learn about. The only chapter that really grabbed my attention was the chapter about different types of testing (unit, integration, system and acceptance). Other chapters were not very informative and interesting for me.
Now, having the book read and looking over what I have read, I think that my original expectations were too high and were in the wrong direction. There are no specific solutions to test software. There are some techniques and common language you can use to better understand each other while testing software. But concrete methods are too domain-specific to be generalized. This thought, this high-level overview of techniques and language the book gives us. And that, I think, is a good thing.
Profile Image for Jennifer James.
108 reviews
January 5, 2015
Read chapter 8 on debugging. Very helpful. Summary -- common debugging techniques like multiple print statements, breakpoints, and memory/variable dumps are less helpful than THINKING. Induction is gathering the evidence and developing and testing a hypothesis. Deduction is coming up with multiple hypotheses and eliminating wrong ones. Collect information such as what the error was, where and when it does and does not occur, etc. If you spend more than 30 minutes on a problem for a short program, or two hours on a long one, sleep on it. Your brain will work on it while you sleep.
Profile Image for Dima.
12 reviews2 followers
November 8, 2012
I think that "The Art of Software Testing" deserves the title "The classic guide to software testing". It is a great introduction to main testing techniques and it has a very good chapter on test-case design (the most useful part for me). I found it very inspiring to perform careful testing. Also, I appreciate that the book that was first published in 1979 is updated to contain chapter on mobile applications testing.
5 reviews
January 26, 2016
It's a nice book to introduce someone to the testing concepts and notions, but not to be taken as a definite guide, since some examples and descriptions are not up to date nor totally clear. However, the main concepts of software testing are presented and explained.
Profile Image for Austin.
49 reviews8 followers
October 14, 2016
I think every aspiring software engineer should read this book.
Displaying 1 - 30 of 31 reviews

Can't find what you're looking for?

Get help and learn more about the design.