Software testing is the process of executing a program to identify errors. It involves evaluating a program's capabilities and determining if it meets requirements. Software can fail in many complex ways due to its non-physical nature. Exhaustive testing of all possibilities is generally infeasible due to complexity. The objectives of testing include finding errors through designing test cases that systematically uncover different classes of errors with minimal time and effort. Principles of testing include traceability to requirements, planning tests before coding begins, and recognizing that exhaustive testing is impossible.
Related topics: