|
System Testing: Intent to find errors.
Software must be tested to allow errors to be identified and removed before delivery to the customer. While it is not possible to remove every error in a large software package, the software engineers goal is to remove as many as possible early in the software development cycle. It is important to remember that testing can only find errors, it cannot prove that a program is bug free. Two basic test techniques involve testing module input/output (black-box) and exercising internal logic of software components (white-box).
Software Testing Objectives
Testing is the process of executing a program with the intent of finding errors.
A good test case is one with a high probability of finding an as-yet undiscovered error.
A successful test is one that discovers an as-yet-undiscovered error.
Software Testing Principles
All tests should be traceable to customer requirements.
Tests should be planned long before testing begins.
The Pareto principle (80% of all errors will likely be found in 20% of the code) applies to software testing.
Testing should begin in the small and progress to the large.
Exhaustive testing is not possible.
To be most effective, testing should be conducted by an independent third party.
|