Software Testing
What is software testing for: to avoid additional costs, to ensure security, to ensure product quality, to gain customer trust, to optimize business.
The causes of software failure are human factor, time constraints, code complexity, infrastructure complexity, technology change.
Testing can only find defects, not prove their absence.
Terminology used in testing: error (human action that produces an incorrect result (error/mistake)), defect (system error that can cause the system to fail or malfunction (defect/fault/bug)), failure (deviation in software) from expected behavior or service (failure)). The error is detected by the programmer, the defect by the quality assurance specialist, the failure by the customer.
A software error can harm people, the organization, and the environment.
Software failure can result in: loss of money, loss of time, loss of organizational reputation, injury, death.
Software testing checks whether the actual software meets the expected requirements and ensures that the software does not contain defects.
The goals of testing are to improve the quality of the software, to detect defects.
Quality assurance is the process of forming the required properties and characteristics of a product during its creation. Prerequisites for the development of quality assurance are economic expediency, competition, reputation. The earlier the error is detected, the easier and with less damage it can be corrected.
If there is plenty of testing time, test all relevant domains, execute all test cases. If there is a time limit, test only the high-risk areas, perform the high-priority tests first.
Common principles of testing are: testing reveals the presence of defects, exhaustive testing is impossible, early testing, clustering of defects, pesticide paradox, testing is context dependent, misconception of absence of defects.
The core testing process: test planning and control, analysis and design, implementation and execution, evaluation of output criteria and reporting, test completion activities.