Software Testing Books
Related Subjects: Training and Seminars
More Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107

Used price: $26.25

Great stuffReview Date: 2008-06-16
Terrific compilation of works to help you deliver better softwareReview Date: 2008-05-17
Unfortunately, I only heard parts of Neal Ford's "Polyglot Programming" at his keynote at CodeMash 2008. I was thrilled to get to read his article in this book on how to leverage different languages on the same platform to solve different problems.
Jeff Bay's piece "Object Calisthenics" strongly reminded me of the glorious work The Practice of Programming from Kernigan and Pike in its emphasis on clean, simple, clear code. I'm all fired up to refresh my coding practices with Bay's exercise using nine points for pushing yourself into writing better object oriented code.
"Refactoring Ant Build Files" from Julian Simpson, along with Hatcher's Java Development with Ant, should be mandatory reading for anyone dealing with build files -- regardless of what build environment you're using.
Other big winners for me were the testing articles by Kristan Vingrys and James Bull, Dave Farley's work on one-click release, and Stelios Pantazopoulos's article on project vital signs. Of course, the remaining articles are also winners, it's just that these six or so really struck home with me.
Overall it's a fantastic work and I'm really glad I've got it on my bookshelf!
Enjoyable & Thoughtful ReadReview Date: 2008-06-02
Recommended.
A good way to reflect on your profession, with a minor caveat...Review Date: 2008-05-26
Contents:
Solving the Business Software "Last Mile" by Rog Singham and Michael Robinson
One Lair and Twenty Ruby DSLs by Martin Fowler
The Lush Landscape of Languages by Rebecca J. Parsons
Polyglot Programming by Neal Ford
Object Calistentics by Jeff Bay
What Is an Iteration Manager Anyway? by Tiffany Lentz
Project Vital Signs by Stelios Pantazopoulos
Consumer-Driven Contracts: A Service Evolution Pattern by Ian Robinson
Domain Annotations by Erik Doernenburg
Refactoring Ant Build Files by Julian Simpson
Single-Click Software Release by Dave Farley
Agile vs. Waterfall Testing for Enterprise Web Apps by Kristan Vingrys
Pragmatic Performance Testing by James Bull
Based on the type of work that ThoughtWorks does and their development methodology, you'll understand and relate a lot more to the material if you're into things like agile development, Ruby, Ant, and other various open source software offerings. Granted, the argument could be made that *everyone* should be using those things, but the reality is that there are plenty of developers who don't or can't for various reasons. But once you get past that point, there's plenty of material here that should get you to think a bit... Lush Languages does a great job in turning the Java vs Ruby argument into one where you're considering multiple language options based on the problem domain. Polyglot Programming is also very insightful, as it addresses the use of multiple languages within a single project so that you can get the best of all possible worlds. If they are all running under the same JVM, there's few reasons not to take advantage of the various strengths. I also enjoyed the Object Calisthenics entry, as the exercises force you to rethink program design without resorting to techniques that can get out of control very quickly. Many of the other chapters are a bit more focused on topics that might or might not work for you if you're not already using that software/approach. You can always dig out one or two items that are not specific to the tool (as in development tool programming should fall under the same level of control and planning as production code), but you have to work a bit harder to get there.
If you're into the particular tools outlined here, by all means get the book and read it. If you're not at that spot for whatever reason, it's still worth reading. Just be prepared to work a little harder and/or realize that some of the chapters just won't do much for you.


TimelessReview Date: 2003-11-27
Simply the bestReview Date: 2005-11-14
GoodReview Date: 1997-11-05


Works greatReview Date: 2008-10-19
Very ConvenientReview Date: 2008-08-31
Great Product, Hard to downloadReview Date: 2007-07-27

Used price: $30.73

Pragmatic AdviceReview Date: 2008-03-09
OK But Nothing New HereReview Date: 2007-10-15
A "must have" for your software testing libraryReview Date: 2007-02-28

Used price: $27.00

A critically important and core additionReview Date: 2007-05-08
VERY VERY HIGHLY RECOMMENDED!!Review Date: 2007-07-26
Spillner, Linz and Schaefer, begin by discussing the basics of software testing. Then, the authors discuss which test activities should be done during the software development process, and how they relate to other development tasks. Next, they discuss static methods. The authors also deal with testing in a narrower sense. Finally, the authors show you which aspects should be considered in test management, how systematic incident handling appears, and some basics about establishing sufficient configuration management.
This most excellent book is written in such a way that it does not presume previous knowledge of software quality assurance. Perhaps more importantly, this book is designed as a textbook and is meant for self-study.
Towards certified testingReview Date: 2007-07-30
The difficulty about a testing book is that it will be read by testers, trained to find faults as part of our role in life. This book may to be aimed at the non-English, European market place, following its origins. Some of the translation is `interesting', and is more literal than catching the meaning of the words, so can read in a stilted fashion. Annoyingly, there is reference to `chapters' in the chapter on techniques, when it clearly means `sections' or part-chapters. The discussion of the value of a certified tester in chapter 6 would be better in the introductory chapter 1.
Spillner, Linz and Schaefer are well respected in the testing community, and have written a book that covers the syllabus. However, it is not greatly geared towards the examination; although there are revision questions, these are neither multiple choice, nor are the answers provided. There are also areas where there is significant extension beyond the syllabus content (standards is a case in point - and can probably be correctly attributed to a specific one of the authors).
There is a good glossary of testing terms, and the text clearly identifies items that appear in the glossary. It is useful to not only have web links, but also to specify when the web links were known to be valid. I found the use of a case study that runs throughout the book to be helpful. There are some key thoughts that are well worth remembering; one for me was "Robustness has its costs".
Strangely, I would say that there is both too much code (pseudo-code) present, and too little. It is perfectly possible to pass the ISTQB examination with little or no knowledge of how to read or write code, and references to code in early chapters could have non-coders pressing the panic button. Conversely, any discussion of structural test techniques should have examples of code, as exams routinely have code-based questions concerning techniques. The treatment of statement testing was somewhat shallow, with the cases where there are `empty' branches and non-empty branches barely distinguished. However, the coverage of when to use particular techniques was good and comprehensive.
Discussion in an early chapter postulates determining whether a set is code is ready to exit a particular stage of testing by examining the number of incidents raised per testing hour. It even suggests than when down below 2, it may be time to ship. This is a good notion, but I suspect the numbers are out by some way. To be still finding 2 incidents per testing hour, even on very large, complex systems, would indicate to me that the product is NOT ready for shipping. Additionally, the treatment of cyclomatic complexity is adequate, but this useful measurement is only calculated one way, not using the alternatives that are available (the most straightforward being `the number of decisions + 1').
There is a lot of material covered, and in some places, this appears rather list-like in appearance, unclear when lists are contained in the syllabus, and when not. It is better to say that the book assists candidates in preparation for the ISTQB Foundation, rather than being a direct aid as the sole point of reference. Read it take good things from it and mind the short-comings, but do not use it as your only testing book.
Peter Morgan, Bath, UK (morganp@supanet.com)

Used price: $0.81

Best book to learn Visual Test 4.0 !Review Date: 1997-03-24
The best (and only) practical guide to VT 4.0Review Date: 1998-07-29
Software Test Automation explained, a must have & read!!Review Date: 1997-01-01

Used price: $45.00

The most complete and readable book on software testingReview Date: 2008-04-20
I have known Paul for a number of years and we worked together on the ISTQB Advanced Level syllabus, so I can vouch that this is really a compendium of techniques, methods and thoughts that can be used by all, including as basis for Advanced Level courses.
Even though the previous (2nd) edition was good, this one expands on it, and touches topics such as multiprocessor testing (look up the term "threads"), All Pairs and Exploratory Testing. And always with the cheerful yet thought provoking way, one has come to associate with Paul.
A book to have not only on one's shelf, but as a reference on one's bedside table.
I really enjoyed it Paul, and I hope that all of you who buy it will enjoy it too.
Yes, but...Review Date: 2007-10-09
so far in class. I could not find an errata sheet on the publisher's
web site. The instructor of my Software Testing class says the author
has left these errors in the 2nd edition "for the students to discover".
Apparently, a student will know the subject of Software Testing very well
IF they can find the errors throughout the text!
In other words, a student can't trust the text as an authority on the
subject, but has to discover the errors in the text WHILE attempting
to LEARN what the text is teaching?
FollowUp: I have received an errata sheet from the publisher.
I had to request it through their "Contact Us" link.
Unfortunately it also contains errors that were corrected in the 2nd edition.
but at least one "glaring" error (the year 2000, instead of 1900 in the
NextDate program) is not mentioned. I hope they get that fixed with the
3rd edition (due soon).
Focused on techniques and on doing them rightReview Date: 2002-07-05
Techniques are presented within the context of formal mathematics. This isn't because the material is academic - it's all based on realistic testing scenarios - but, instead, provides you with proven and effective techniques for testing software in a systematic manner. Because many testers have not been exposed to the formal techniques and underlying math, the first section covers the basics: discrete math, set theory and graph theory. Once you've mastered the basics, which are heavily used in the chapters that address the actual techniques, you'll have all the knowledge that you need to go forward.
The remainder of the book is divided into four sections, each of which covers a specific type of testing. These types are: functional, structural, integration and system, and object-oriented testing. For each there are two to three techniques, plus a retrospective on the section that ties everything together. Also, issues and factors associated with each test type, as well as testing in the whole are discussed, giving you a complete picture of the full suite of testing categories.
Overall, this book is well written and illustrated, but requires effort to get through. This isn't a criticism of the author, who did an outstanding job of conveying information and clearly explaining complex concepts and topics, but reflects the depth of the material. In my opinion a copy of this book should be among the top five in any serious software test professional's library.

Used price: $29.77

Very good for testers, not so much for othersReview Date: 2006-05-16
The book is well-written, concise, and in a good voice. The authors carry a common project through much of the book, using the development of a bug reporting system to lay out .NET fundamentals. They use a nice building block approach along the way, starting out sections with the extreme basics and moving on to mid-level topics. (You won't find anything particularly advanced in the book, but again, the focus isn't on pointy-headed developers, it's on pointy-headed testers.)
There are several things I don't care for in the book, mostly from a software engineer's viewpoint. One thing would be the authors' notion of code reuse via copying in code or classes vice simply referencing a different assembly and keeping code in one central spot, but that's from a SE's viewpoint...
This isn't a book for any developer to fool with, but it's an invaluable book for testers looking to learn programming in .NET, specifically tailored for their work as a tester.
Excellent ReferenceReview Date: 2006-08-29
Tester's Guide is a ClassicReview Date: 2006-02-19


Boundary Scan HandbookReview Date: 2008-03-10
Informatinal guide to IEEE1149.1Review Date: 2003-03-13
Fundamentally, the in-circuit bed-of-nails technique relies on physical access to all devices on a board. Such was the technique in the mid-1980s when a group of concerned test engineers got together to examine the problem and its solutions. The method of solution was based on the concept of a serial shift register around the boundary of the device - hence the name "boundary scan".
Principles of Boundary Scan
Each primary input signal and primary output
signal is supplemented with a multi-purpose memory element called a boundary-scan cell. Cells on device primary inputs are
referred to as "input cells"; cells on the primary output are referred to as "output cells". The input and outputs is relative
to the core logic of the device. The collection of the boundary cells is configured into a parallel-in, parallel-out shift
register. A parallel load operation, called a "capture" operation, causes signal values on device input pins to be loaded
into input cells and, signal values passing from the core logic to the device output pins to be loaded into output cells.
A parallel unload operation called an "update" operation causes signal values already present in the output scan cells to
be passes out through the device output pins. Signal values already present in the input scan cells will be passed into the
core logic.
Data can also be shifted around the shift register, in serial mode, starting from a dedicated device input called TDI and terminating at a dedicated device output pin called TDO. The test clock TCK, is fed in via another dedicated device input pin and the mode of operation is controlled by a dedicated TMS serial control signal. At the device level, the boundary scan elements contribute nothing to the functionality of the core logic. In fact, the boundary scan path is independent of the function of the device. On board the four; boundary scan devices are connected from one to the next in a serial format. The TDI input to the board is connected to the TDI input of the first device; the TDO output of the first device is connected to the TDI input of the next device; and so forth; creating a global scan path terminating at the TDO connecter output. TCK is connected in parallel to each device, TMS the control pin works similarly.
In this way, particular tests can be applied to the device interconnects via the global scan path by loading the stimulus into the appropriate device output scan cells via the edge connecter TDI (shift-in operation), applying the stimulus (update operation), capturing the responses at the device input scan cells (capture operation), and shifting the response values out to the edge connector TDO (shift-out operation). Essentially the boundary scan cells can be thought of as the "virtual nail".
There are four modes to be aware of normal, update, capture, and serial shift. During normal mode, data_in is passed straight through to Data_out. During update mode, the content of the output register is passed through the Data_out. During capture mode, the Data_in signal is routed to the shift register and the value is captured by the next ClockDr state. During shift mode, the scan_out of the register flip flop is passed through to the scan_in of the next via a hard wired path.

Everything you need to know about testing non-Windows S.W.Review Date: 1998-07-23
Testing for non-technical peopleReview Date: 2001-04-06
Related Subjects: Training and Seminars
More Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
For me, the part about the Iteration Manager and the performance testing were particularly interesting because I've had quite a few problems with this in the past.
Keep it up Thoughtworks!