The document provides an introduction to the fundamentals of software testing. It discusses why testing is needed, its limitations and objectives. It explains that software defects can cause problems for users and companies. Testing is necessary to find these defects and promote quality. It also introduces some fundamental testing principles. The document notes that testing context matters and safety-critical software requires different testing than an e-commerce site. It discusses the roles of defects, failures, and errors and the causes of software defects. Finally, it outlines the role of testing in software development, maintenance and operations in validating requirements and verifying correct implementation.