|
[Note]
Unit regression testing cost little than system regression testing. Because unit test the programmer can deal with the problem self. But system test the bug will be found by tester and report to manager and assign to programmer etc. the process of these costs much.
Regression testing: repeat testing after changes
· Procedural: run the same tests again
· Risk-oriented: expose errors caused by change
· Refactoring support: help the programmer discover implications of her code changes
Good regression testing gives clients confidence that they can change the product or product environment
Risk-oriented regression testing: test after changes
· Goal: manage the risks that a bug did not fix the bug or the fix had a side effect.
· Paradigmatic cases: bug regression; old fix regression; general functional regression.
Common way to test a program more harshly while retesting in the same area:
· Do more iterations (one test hits the same function many times)
· Do more combinations( Interactions among variables including the function under test’s variables).
· Do more things (sequences of functions that include the function under test)
· Methodically cover the code (all N-length sequences that include the function under test; all N-wide combinations that include the function under test’s variables and variables that are expected to interact with or constrain or be constrained by the function under test).
· Look for specific errors (such as similar products’ problems) that involve the function under test.
· Try other types of tests such as scenarios that involve the function under test.
· Try to break it (take a perverse view, get creative)
Procedural regression testing: run the same tests again
· Paradigmatic cases: manual scripted regression testing; automated GUI regression testing; Smoke testing
· Benefit: the tests exist already; many regulators and process inspectors like them; because we are investing in re-use, we can afford to take the time to craft each test carefully making it more likely to be powerful in future use; this is the dominant paradigm for automated testing, so it is relatively easy to justify and there are lots of commercial tools; implementation of automated tests is often relatively quick and easy.
Refactoring support: change detectors: change detectors
· Goal: support refactoring: help the programmer discover implications of her code changes.
· Notes: the programmer creates these tests and runs them every time she compiles the code; If a test suite takes more than 2 minutes the programmer might split tests into 2 groups; the intent of the tests is to exercise every function in interesting ways so that when the programmer refactors code she can quickly see.
· Differences between unit-level black box regression testing and system-level black box regression testing |
|