Introduction
•	Reading: Kaner et al., Preface
•	Challenges of testing
•	Mindset
Useful quotes on testing
•	Dijkstra: "Testing can show bugs are present, but can never show there are no bugs"
•	Kaner et al.: "The purpose of testing a program is to find problems in it" (p. 25) 
Testing So Far
•	How do you test your homework assignments?
•	Are you sure that your program will work on data that you have not tried yet?
•	Do you think your approach will work on larger programs?
•	Why or why not?
•	Why is it difficult/impossible for big companies to produce bug-free software?
Challenges of testing
•	Often a first job
•	lower status job
•	lower priority part of project
•	Limited resources -- people, money, time
•	Project requirements frequently change
•	documentation frequently outdated or nonexistent
Exceptions
•	"Life-critical software"
•	Program bug can cause serious injury
•	Ex: nuclear reactor management, medical monitoring, autopilot
•	This software still has non-critical quality issues
Mindset
•	Goal is to find problems, improve product
•	Not just execution errors, but user interface design
•	Speak up!
•	Expect change -- deal with it
•	Protect yourself
•	Internal politics -- developers have different interests
Importance of structure
•	What does "speaking up" mean to the authors?
•	"submit these reports" (p. ix) -- example format in fig 1.3
•	Testing activities include
•	Estimating, planning, scheduling, documenting
•	Lack of resources means prioritizing, efficiency are crucial
•	Documentation helps protect you
Quality issues
•	Testers check not just correctness, but quality
•	"Yet many of their programs are of very satisfactory quality" (p. vii)
•	Car example is poor -- car does not have to be a Rolls Royce, but it must be reliable
•	Product standards are lower when no better options are present
•	Initial success of Japanese autos based on better quality control