To test a program is to try
to make it fail.
Principle 2: Tests versus specs
Tests are no substitute for specifications.
Principle 3: Regression
testing
Any failed execution must
yield a test case, to remain a permanent part of the project’s test suite.
Principle 4: Applying
oracles
Determining success or
failure of tests must be an automatic process.
Principle 4 (variant):
Contracts as oracles
Oracles should be part of
the program text, as contracts. Determining test success or failure should be
an automatic process consisting of monitoring contract satisfaction during
execution.
Principle 5: Manual and
automatic test cases
An effective testing
process must include both manually and automatically produced test cases.
Principle
6: Empirical assessment of testing strategies
Evaluate any testing
strategy, however attractive in principle, through objective assessment using
explicit criteria in a reproducible testing process.
Principle 7: Assessment
criteria
Ingen kommentarer:
Send en kommentar