Basic concepts of software testing
Test the "tested object" manually or with tools to verify whether there is any difference between the actual results and the expected results.
Software testing role
Through testing work, defects in the software can be discovered and repaired, thereby improving users' confidence in the product. Testing can reduce the risk of problems encountered in the development of similar products.
Software testing principles
Testing shows the presence of defects
Testing can only prove the existence of a defect, not its absence.
Exhaustive testing is impossible
It is not possible to test all situations, and testing should be terminated when certain test exit criteria are met.
Test early intervention
Early intervention, early detection and early treatment will result in lower costs for early resolution.
Defect clustering (2/8 rule)
80% of the problems exist in 20% of the functional modules. Many problems were found in one module, and it can be determined that there may be more problems. Are there complex logic, ambiguous requirements, functional design issues, etc.
The pesticide paradox
If you use the same test case multiple times, the software will become "resistant" and it will be difficult to find problems. When the same test case is used over and over again, the ability to find defects will become worse and worse.
Test activities depend on test content
Different software systems use different testing techniques and tools. Different software systems will not use exactly the same testing methods.
It is a fallacy that there is no mistake, it is good or not.
No software system will be perfect. If no errors are found, more attention should be paid.
software test objects
Requirements analysis stage: requirements documents, interface documents
Coding implementation phase: source code
System Function Usage: Software Program
test case
A document that is a set of test inputs, execution steps, and expected results designed for a specific purpose to test whether a product meets a specific requirement