TESTING COMPUTER SOFTWARE
Cem Kaner, 1999, Second Edition, Wiley Computer Publishing
Created: July 31th, 2003, Thursday, 21:49, Ankara
Notes that I took while reading:
- "This book is about testing when your coworkers don't, won't and don't have to follow the rules." (p.vii)
- "The best tester isn't the one who finds the most bugs or who embarrasses the most programmers. The best tester is the one who gets the most bugs fixed." (p.15)
- "If you think your task is to find problems, you will work harder for them than if you think your task is to verify that the program has none." (p.24)
- "A test that reveals a problem is a success. A test that did not reveal a problem was a waste of time." (p.25)
- "Project managers often try to schedule two cycles of testing: one to find all the bugs, the second to verify the fixes. Eight cycles are more likely." (p.51)
- "Typically, error routines contain more serious bugs than the one that led there." (p.77)
- "...automated tests require careful planning and organizing, and this is often the most time-consuming part of testing." (p.196)
- "Assertion Checks" (p.201)
- "A test plan is a valuable tool to the extent that it helps you manage your testing project and find bugs. Beyond that, it is a deversion of resources." (p.205)
- "The program's error handling will be one of your most consistent sources of bugs." (p.222)
- "The real world project manager must constantly make tradeoffs among four types of factors: reliablity, feature set, project cost, and release date." (p.255)
- "Start writing the test plan as early as possible because this will force you to critically analyze the specifications." (p.262)
- "From a business point of view, you have a testing budget because the cost of testing is lower than the cost of dealing with customer complaints about undiscovered bugs." (p.263)
- "...alpha software is preliminary, buggy, but usable, while beta software is almost complete." (p.265)
- "In an evolutionary development group, the first functionality milestone is reached when the program's core functionality (with almost no features) is complete...the goal is to make this core software as reliable as a finished product, so formal testing starts here." (p.274)
- "A system's level of functionality is out of control if the presence of rarely used features significantly complicates the use of basic features." (p.375)
- "Your regression test series always includes tests of recent bug fixes." (p.285)
- "Guerilla raids: a short series of the nastiest tests you can quickly imageine (informal)." (p.283)
- "Exploit what you learned from old bugs to find new ones." (p.289)
- "Software products are never released - they escape!" (p.296)
- "The product's design, functional capabilities, usability and reliability all contribute to the product's quiality." (p.297)
- "First day of use reliability: Use the product in ways that typical customers will use it during their first day. Carefully check the manual, tutorials, and other training aids. What problems will new users likely have?" (p.300)
- "Project Post Mortems: Be constructive. Say what can be done better, more than what was not done well." (p.301)
- "The waterfall model protects the contractor (the software developer) from the ignorance or sharp practices of the buyer." (p.309)
- "The ability to distinguish between tort-relevant and contract-relevant bugs is important to your work because bugs that will expose your company to tort liability should never be closed as deferred without executive approval." (p.325)


