False Positive False Negative
False Positive False Negative
Test basis: The body of knowledge used as the basis for test analysis
and design.
Test condition: An aspect of the test basis that is relevant in order to
achieve specific test objectives.
Test case: A set of preconditions, inputs, actions (where applicable),
expected results and postconditions, developed based on test
conditions.
Test procedure: A sequence of test cases in execution order, and any
associated actions that may be required to set up the initial
pre-conditions and any wrap up activities post execution.
Principles
Testing shows the presence, not absence, of defects
Exhaustive testing is impossible
Early testing saves time and money
Defect Clustering:
○ A small number of modules or functionalities typically
contain the majority of defects. By focusing testing
efforts on these high-risk areas, testers can uncover a
significant portion of potential issues.
Pesticide Paradox:
Testing Is Context-Dependent:
Absence-of-Errors Fallacy:
Testing Is Iterative:
equivalence partitioning;
PyTest:
- Install / setup / run test
- Starting With Basic Test
- File Execution
- Execute a Subset of Test Suite
- Substring Matching of Test Names
- Grouping the Tests
- Fixtures (Scopes, yeald, autouse, etc)
- Conftest.py
- Parameterizing Tests/Fixtures
- Xfail/Skip Tests
- Stop Test Suite after N Test Failures
- Run Tests in Parallel
- Test Execution Results in XML/HTML